CDA ドキュメントと XSL 変換
このページでは、インターシステムズ製品での CDA ドキュメントの処理方法について説明します。まず、CDA ドキュメントの構造の概要を示し、次に CDA ドキュメントと SDA を相互に変換する XSLT (XSL 変換) のライブラリについて説明します。
CDA ドキュメントの構造
すべての CDA ドキュメントのルート・ノードは <ClinicalDocument> です。その下に 3 つの論理ディビジョンがあります。ヘッダ、1 つ以上の Section、および各 Section 内の 1 つ以上の Entry です。
-
ヘッダには、メタデータ、患者基本情報、およびプロバイダ情報が含まれます。
-
Section では、Allergies や Medication などの広範な概念を設定します。Section には、Entry 形式の構造化データのほかに、構造化されていない“叙述”データも記述できます。
-
Entry は Section 内に埋め込まれており、より大きい概念の中でインスタンスを表します。例えば、Allergies セクションのある Entry でピーナッツ・アレルギーを表し、別の Entry で花粉アレルギーを表すことができます。
CDA ドキュメントを変換する際、Section と Entry はサポート・ファイルから変換命令を受け取ります。これについては、”CDA ドキュメントの XSLT ディレクトリ構造” で説明します。
CDA ドキュメントのすべての部分は、IHE または他の組織によって定義されたテンプレートに準拠します。これらのテンプレートは、OID (オブジェクト識別子) によって識別されます。テンプレートにより、CDA ドキュメントの臨床データを構造化された再利用可能な形式にすることができます。またテンプレートは、CDA ドキュメントが準拠すべき仕様も示します。複数のテンプレートを相互に継承し合い、さらに制約を課すことができます。OID はピリオドで区切られた整数の文字列で構成されます (例 : 2.16.840.1.113883.3.88.11.83.102)。特定のテンプレートに関する詳細は、インターネットの検索エンジンに OID を入力してください。OID の仕様を詳しく説明したオンライン・リソースが多数あります。
各 Section には、構造化データと非構造化データが含まれます。非構造化データにはテキスト、数値、段落全体などのアイテムが含まれ、Section の叙述部分に配置されます。非構造化データの役目は 2 つあります。第 1 に、CDA 仕様で要求される、人間が読める CDA のセクションを提供します。第 2 に、後続の構造化データから参照できる参照ポイントを提供します。
構造化データは、Section 内に Entry として記述します。その名前のとおり、構造化データはより多くの仕様に準拠する必要があります。各 Entry にはテンプレートが 1 つ以上関連付けられていて、その Entry が準拠する標準が指定されています。Entry には、日付、間隔、文字列、OID などさまざまなデータが格納されます。また、コード化データを格納し、特定のフィールドで特定の入力パターンを要求することもできます。例えば、codeSystem 属性は有効な OID でなければならず、空白にすることはできません。
次の表に、インターシステムズでサポートされる CCDA v2.1 のSection を示します。左の列に XSL を示し、右の列に対応するセクション名を示します。
XSL | CCDA セクション | メモ |
---|---|---|
AdvanceDirectives.xsl | Advance Directives | |
AllergiesAndOtherAdverseReactions.xsl | Allergies and Intolerances | |
AssessmentAndPlan.xsl | Assessment and Plan | |
Assessments.xsl | Assessment | |
ChiefComplaint.xsl | Chief Complaint | エクスポートでのみサポートされます。 |
ChiefComplaintAndReasonForVisit.xsl | Chief Complaint and Reason for Visit | エクスポートでのみサポートされます。 |
CarePlan.xsl |
この XSL は以下の SDA 要素を定義します。
|
|
DiagnosticResults.xsl | Results | |
DischargeDiagnosis.xsl | Discharge Diagnosis | |
EncounterDiagnoses.xsl | 既定の Encounter セクションの仕様を補完するために使用します。 | |
FamilyHistory.xsl | Family History | |
FunctionalStatus.xsl | Functional Status | |
Goals.xsl | Goals | |
HealthConcerns.xsl | Health Concerns | |
HistoryOfPastIllness.xsl | History of Past Illness | |
HistoryOfPresentIllness.xsl | History of Present Illness | |
HospitalAdmissionDiagnosis.xsl | Admission Diagnosis | |
HospitalCourse.xsl | Hospital Course | エクスポートでのみサポートされます。 |
HospitalDischargeInstructions.xsl | Hospital Discharge Instructions | |
HospitalDischargeMedications.xsl | Discharge Medications | |
Immunizations.xsl | Immunizations | |
Instructions.xsl | Instructions | |
Interventions.xsl | Interventions | |
Medications.xsl | Medications | |
MedicationsAdministered.xsl | Medications Administered | |
Non-RatifiedSections.xsl |
この XSL は、Care Considerations の SDA 要素を定義し、以下のサブフィールドが含まれます。
|
|
Outcomes.xsl | Health Status Evaluations and Outcomes | |
Payers.xsl | Payers | |
PhysicalExams.xsl | Physical Exam | エクスポートでのみサポートされます。 |
PlanOfTreatment.xsl | Plan of Treatment | |
ProblemList.xsl | Problem | |
ProceduresAndInterventions.xsl | Procedures | |
ReasonForReferral.xsl | Reason for Referral | エクスポートでのみサポートされます。 |
ReasonForVisit.xsl | Reason for Visit | |
SocialHistory.xsl | Social History | |
VitalSigns.xsl | Vital Signs |
CDA ドキュメントの XSLT ディレクトリ構造
インターシステムズの医療製品には、CDA ドキュメントと SDA を相互に変換する XSLT のライブラリが付属しています。
使用可能なルートレベルの XSLT を表示するには、インストール・ディレクトリに移動して、パス install-dir\CSP\xslt\SDA3 に従います。XSLT はこのディレクトリに含まれており、そのほとんどに XSLT が実行するアクションの名前が付いています。
例えば、CCDA-to-SDA は Consolidated CDA 1.1 の CCD を SDA に変換し、CCDAv21-to-SDA は Consolidated CDA 2.1 の CCD を SDA に変換し、SDA-to-C32v25 は SDA を C32 に変換します。その後、これらのファイルは、install-dir\CSP\xslt\SDA3\CDA-Support-Files の CDA-Support-Files ディレクトリにある他のファイルを呼び出します。
ルートレベルの XSLT (CDA-to-SDA.xsl など) はそれぞれ、CDA-Support-Files ディレクトリにある適切なファイルをインクルードする xsl:include 宣言で始まります。
ここでは、CDA-Support-Files 内のさまざまなディレクトリとその機能について説明します。イメージからわかるように、CDA-Support-Files には以下のディレクトリが含まれます。
-
System — OID やテンプレートなどの幅広く使用されるアイテムを定義する、ソース・コントロールされた構成不可能なファイル。
-
Site — さまざまな XSLT で使用される構成可能なファイル。
-
Import と Export — CDA と SDA を相互に変換する際に呼び出されるファイル。
-
Reports — 主に、CDA ドキュメントを HTML に変換して Web ブラウザで表示できるようにする変換。このディレクトリについては、以下では説明しません。
XSLT はキャッシュされるため、変換の編集後に変更を反映させるには、該当するネームスペースでプロダクションを再起動する必要があります。
System ディレクトリ
System ディレクトリには、広範なアイテムを定義する静的ファイルが含まれます。このフォルダのアイテムは構成不可能です。
System 内には、次のディレクトリがあります。
-
Common — あまり使用されないユーティリティ・テンプレートです。
-
OIDs — OID に関連付けられている変数です。
-
Site-Defaults — Site ディレクトリのソース・コントロール・バージョンです。このディレクトリは、実行時には呼び出されません。詳細は、”Site ディレクトリ” を参照してください。
-
Templates — テンプレート ID に関連付けられている変数です。
Site ディレクトリ
Site ディレクトリには、一意に構成可能なファイルが含まれます。
このディレクトリ内のファイルはアップグレード時に変更されないため、カスタマイズ内容が保持されます。アップグレード後、これらのファイルを install-dir\CSP\xslt\SDA3\CDA-Support-Files\System\Site-Defaults にある新規バージョンのファイルで手動で調整する必要があります。この作業は、これらのファイルをカスタマイズしているかどうかに関係なく行う必要があります。Site ディレクトリ内にあるカスタマイズしていないファイルもすべてこのディレクトリに手動でコピーし、Site-Defaults にある新規バージョンで更新する必要があります。
Site 内には、次のファイルが含まれます。
-
ImportProfile および ExportProfile — CDA ドキュメントをインスタンスにインポートするプロセス、およびインスタンスから CDA ドキュメントをエクスポートするプロセスで使用する構成設定です。”インポート・プロファイル” と ”エクスポート・プロファイル” を参照してください。
-
OutputEncoding — 出力される CDA ドキュメントのエンコードを制御するために使用される XSLT です。既定値は UTF-8 です。
-
Variables — インポートまたはエクスポートの際に使用される構成可能な変数です。これらの変数は組織を表し、“ホーム” 情報を設定します。
インポート・プロファイル
インポート・プロファイルは、CDA ドキュメントのインポート時に構成設定を制御します。インポート・プロファイルのほぼすべての変数には、<sectionTemplateId>、<entryTemplateId>、またはその両方があります。例外は resultsImportConfiguration で、代わりに <sectionC32TemplateId> と <sectionC37TemplateId> に別個のテンプレート ID が付けられています。<sectionTemplateId> または <entryTemplateId> のどちらが存在するかは、問題の変数が Section モジュールと Entry モジュールのどちらにあるかによって決まります。
さらに、変数によっては他の設定が含まれることもあります。次の表に、このような設定、および設定が属する変数とその値を示します。
変数名 |
設定 |
値 |
---|---|---|
generalImportConfiguration/ blockImportCTDCodeFromText |
disabled |
CDA の @code 属性が利用できない場合に、CDA 文字列、叙述テキスト、または originalText の SDA CodeTableDetail コード・プロパティへのインポートをブロックします。 この設定が有効化されていて、コード化要素が nullFlavor の場合、テキストは SDA のコード・プロパティにロードされません。ただし、ターゲットの SDA 要素が OrderItem であり、構成パラメータ orderItemDefaultCode または orderItemDefaultDescription が有効になっている場合を除きます。 blockImportCTDCodeFromText が有効になっていない場合、インポート動作は前バージョンと同じです。 |
generalImportConfiguration/ sdaActionCodes |
enabled |
SDA アクション・コードが有効化されているかどうかを示します。SDA アクション・コードは、データの更新と削除を制御します。 |
generalImportConfiguration/ sdaActionCodes |
overrideExternalId |
該当する場合、CDA <id> 要素を使用して SDA ExternalId プロパティ値をインポートする必要があるかどうかを示します。 |
generalImportConfiguration |
enableOtherOrders |
有効化されていて、CDA の Result を SDA の LabOrder または RadOrder として分類できない場合、Result は SDA OtherOrder としてインポートされます。それ以外の場合、Result はインポートされません。 |
generalImportConfiguration/ representedOrganizationId |
concatRootAndNumericExtension |
値が 1 の場合、hl7:representedOrganization/hl7:id @root が OID で、@extension が数値であれば、両者が 1 つの施設 OID に連結されます。 |
generalImportConfiguration |
narrativeImportMode |
値 1 では、叙述セクションをテキストとしてインポートし、<br/> と叙述行フィードを両方とも行フィードとしてインポートします。値 2 では、<br/> のみを行フィードとして使用して、テキストとしてインポートします。Result Text、Hospital Discharge Instructions、および Reason for Visit のインポートにのみ適用されます。 |
dischargeMedicationsImportConfiguration medicationsImportConfiguration medicationsAdministeredImportConfiguration |
pharmacyStatus |
Medication のステータスを示します。値はどの変数に配置されているかによって異なり、Medication のインポート元の CDA セクションを示します。 |
planImportConfiguration | effectiveTimeCenter |
0 に設定すると、effectiveTime/center 値は FromTime にインポートされます。 1 に設定すると、effectiveTime/center 値は FromTime と ToTime にインポートされます。 注意 : effectiveTime/center を特定の care plan に対して生成する場合、その care plan に effectiveTime/high および effectiveTime/low を入力しないでください。 |
resultsImportConfiguration |
resultOrganizerTemplateId |
hl7:organizer が複数ある場合に、指定された結果エントリ内で正しい hl7:organizer を選択するのに役立ちます。指定される可能性がある代替値の 1 つとして、$ihe-PCC-LabBatteryOrganizer があります。 |
resultsImportConfiguration |
orderItemDefaultCode |
OrderItem Code または Description を導出するための情報が CDA の Result に含まれない場合に、SDA の OrderItem Code に使用するコードです。 |
resultsImportConfiguration |
orderItemDefaultDescription |
SDA の OrderItem Code または Description を導出するための情報が CDA の Result に含まれない場合に、SDA の OrderItem Code に使用する説明です。 |
encountersImportConfiguration |
healthFundImportMode |
値が 1 であれば、この設定は有効です。これが既定の設定です。得られた SDA への Encounter ごとに Health Fund ストリームレットが追加されます。値が 0 であれば、この設定は無効です。Encounter ごとに Health Fund ストリームレットが作成されることはありません。 |
payersImportConfiguration |
memberEnrollmentImportMode |
値が 1 であれば、この設定は有効です。CCD/CCDA に Payor を受け取るたびに、得られた SDA に Member Enrollment ストリームレットが作成されます。値が 0 であれば、この設定は無効です。これが既定の設定です。得られた SDAに Member Enrollment ストリームレットは作成されません。 |
socialHistoryImportConfiguration |
patientGenderIdentityImportMode |
0 の値は、Gender Identity Social History エントリが Patient ストリームレットの GenderIdentity プロパティにインポートされないことを意味します。これが既定値です。1 の値は、Gender Identity エントリが Patient ストリームレットの GenderIdentity プロパティにインポートされることを意味します。この設定は CCDA v1.1 と CCDA v2.1 にのみ適用されます。 |
socialHistoryImportConfiguration |
socialHistoryGenderIdentityImportMode |
1 の値は、Social History CCDA エントリを SDA3 に変換する際に Gender Identity が SocialHistory ストリームレットとしてインポートされることを意味します。これが既定値です。0 の値は、Gender Identity が SocialHistory ストリームレットとしてインポートされないことを意味します。この設定は CCDA v1.1 と CCDA v2.1 にのみ適用されます。 |
以下の表の設定は、CCDA v2.1 の注記セクションを SDA ドキュメントのストリームレットにインポートする方法を制御します。これらの設定は、CCDA v2.1 にのみ適用されます。
変数名 |
設定 |
値 |
---|---|---|
notesImportConfiguration |
includesections |
注記のインポートを、指定の LOINC コードに一致するセクションのみに限定します。既定のバージョンのファイルには、インポートする既定の注記セクションが多数リストされています。含まれていないものはインポートされません。 |
notesImportConfiguration |
excludesections |
指定の LOINC コードに一致するセクションからの注記のインポートを除外します。 |
notesImportConfiguration |
includeNotes |
対応するセクションがインポートされない場合でも、指定した LOINC コードと一致する注記エントリを常にインポートします。 現在、Review of Systems などの一部の注記セクションはインポートされません。これは、インポートに必要な対応する .xsl ファイルが install-dir \CSP\xslt\SDA3\CDA-Support-Files\Import\Section-Modules\CCDAv21 に存在しないためです。このようなセクションの LOINC コードを includeNotes に含めた場合、すべての <text> ブロックは、その LOINC コードによって特定された SDA に、ドキュメントとしてインポートされます。この場合、エントリ・データはインポートされません。既定ではこの設定は空です。 |
notesImportConfiguration |
excludeNotes |
対応するセクションがインポートされる場合でも、指定した LOINC コードと一致する注記エントリはインポートされません。既定ではこの設定は空です。 |
以下の表の設定は、<text> タグの CCDAv2.1 セクション内に表示される叙述部分を CCDA v2.1 から SDA にインポートする方法を制御します。これらの設定は、CCDAv2.1 にのみ適用されます。
narrativeImportConfiguration/section 変数には、Admission Medication など、叙述部分のインポート元の CCDA v2.1 のセクションのリストが含まれます。
変数名 |
設定 |
値 |
---|---|---|
narrativeImportConfiguration |
wrapWidth |
叙述部分がインポートされる際に、生成される SDA <NoteText> 内で行をどのように折り返すかを制御します。既定では、長い行は 80 文字で折り返されます。行末の単語は、空白で改行されます。 wrapWidth の既知の問題により、SDA にインポートされた叙述テキストは適切に折り返されません。 |
narrativeImportConfiguration |
exclude |
オプション。除外設定に含まれた語句がある叙述部分はインポートからスキップされます。<exclude mode="full"> オプション内の語句と正確に一致する叙述部分はインポートからスキップされます。nullFlavor 属性を持つ叙述部分は常にスキップされます。importProfile.xsl ファイルには、<exclude> 内の既定の語句がいくつか含まれています。 この除外設定により語句を除外して叙述部分のインポート元のすべてのセクションをフィルタで除去することも、以下に説明するセクション固有の除外設定を使用して特定のセクションから除外することもできます。 |
narrativeImportConfiguration/section |
title |
推奨されます。この設定は、Clinical Viewer での SDA の表示方法に影響し、SDA ドキュメントのストリームレット内の DocumentName として SDA に変換されて、Clinical Viewer のグループ化に使用されます。具体的には、この値は、DocumentName にマップされる hl7:section/hl7:title 値をオーバーライドします。 |
narrativeImportConfiguration/section |
code |
オプション。Clinical Viewer での SDA の表示方法に作用します。この設定は、DocumentType 内のコードになります。 コードの displayName オプションは、SDA ドキュメントのストリームレットの documentType プロパティの説明になります。 |
narrativeImportConfiguration/section |
templateId |
必須項目。臨床データのすべてのカテゴリには、一意の templateID、または OID が定義されています。存在する場合、この templateID で指定されたセクションの叙述部分がインポートされます。 |
エクスポート・プロファイル
エクスポート・プロファイルのほとんどの要素には、<emptySection> 要素、<narrativeLinkPrefixes> 要素、またはその両方があります。<emptySection> 要素は、情報を含まないセクションをエクスポートするかどうかを制御します。<narrativeLinkPrefixes> により、叙述セクション (<text> タグ内) と結果として生成される CCDA 内のエントリ・セクションを識別する ID の接頭語を決定できます。これらの ID を使用すると、叙述セクションと結果として生成されるエントリ・セクション間にリンクを提供できます。以下はどちらも、叙述セクションとエントリ・セクション間のリンクが必要なセクションになるため、<narrativeLinkPrefixes> があります。
-
<allergies> や <assessmentPlan> などの最上位の ExportProfile.xml セクション
-
ExportProfile.xml の注記セクションのエクスポートに使用される <notes> セクション
さらに、セクションによっては他の設定が含まれることもあります。このような設定は、エクスポートするデータに応じて編集および拡張できます。次の表に、このような一意の設定、および設定が存在するセクションとその値を示します。
セクション |
設定 |
値 |
---|---|---|
admissionDiagnoses/ diagnosisType |
codes |
Admission の追加の診断タイプとして使用できるコード。 |
advanceDirectives/ advanceDirectiveType |
codes |
Resuscitation や intubation など、さまざまな事前指示タイプに対応するコード。 |
assessment/ diagnosisType |
codes |
Assessment の追加の診断タイプとして使用できるコード。 |
dischargeDiagnoses/ diagnosisType |
codes |
Discharge の追加の診断タイプとして使用できるコード。 |
encounterDiagnoses/ exportToC32 |
disabled | 有効な場合 (値 = 1)、encounter diagnosis を CDA C32 にエクスポートできます。 |
medications/ currentMedication |
includeHistoricalMedications |
現在の Medications リストに、Medications 履歴を含めるかどうかを制御します。 |
medications/ currentMedication |
windowInDays |
Medication の有効期間と、Medication を引き続き現在の Medications リストに含めることができる期間を制限します (日数)。 |
medications/ currentMedication |
hideNarrativeColumn |
叙述列を非表示にします。 |
planOfCare | effectiveTimeCenter |
0 に設定すると、FromTime が effectiveTime/low にエクスポートされ、ToTime が effectiveTime/high にエクスポートされます。 1 に設定すると、FromTime と ToTime は同じ NULL 以外の値になり、その値が effectiveTime/center にエクスポートされます。それ以外の場合は、FromTime に値があれば、その値が effectiveTime/low にエクスポートされます。ToTime に値があれば、その値が effectiveTime/high にエクスポートされます。 例外 : ProcedureTime に値がある場合、その値が FromTime の代わりに effectiveTime/Center にエクスポートされます。 |
problems/ currentCondition |
codes |
ACTIVE や CHRONIC など、さまざまな問題タイプに対応するコード。 |
problems/ currentCondition |
windowInDays |
Medication の有効期間と、Medication を引き続き現在の問題リストに含めることができる期間を制限します (日数)。 |
socialHistory/ emptySmokingStatus |
exportData |
データが含まれていない場合に smokingStatus をエクスポートするかどうかを指定します。 |
exportConfiguration/ Immunizations |
checkAdministrations |
下位互換性のために提供されています。これにより、以下の両方が含まれている場合に、ユーザは SDA の Vaccination を正常に処理し、Immunization を含む CDA/C-CDA データを作成することができます。
0 に設定されている場合 : これが既定です。Immunization のエントリは、Vaccination SDA に正しく Administration が含まれる場合にのみ作成されます。 1 に設定されている場合 : CDA/C-CDA の Immunization Processing Correction を受け取る前後に作成された SDA の Vaccination について、Immunization のエントリが CDA/C-CDA で作成されます。 |
以下の表の設定は、Progress Note や Procedure Note など、CCDA の注記セクションを表す SDA ドキュメントのストリームレットを CCDA v2.1 の注記セクションにエクスポートする方法を制御します。これらの設定は、CCDA v2.1 にのみ適用されます。
notes/category セクションには、CCDA v2.1 の注記セクションへのエクスポートのための、SDA ドキュメントのカテゴリを記述する設定が含まれています。特定の SDA ドキュメント・タイプのカテゴリ・セクションを含めると、その特定の SDA ドキュメントが SDA から CCDA v2.1 にエクスポートされます。
セクション |
設定 |
値 |
---|---|---|
notes |
singleSection |
値 0 は、指定された各カテゴリが、結果として生成される CCDA v2.1 ドキュメント内の独自の別個のセクションにエクスポートされることを意味します。これが既定値です。この値を 1 に設定すると、すべての注記が 1 つの単一の注記として 1 つの既定のセクションにエクスポートされます。既定のセクションは、この表で後述する default 設定で指定します。 |
notes |
uncategorized |
値 0 は、notes/category セクションで指定されるカテゴリと一致しない SDA ドキュメントは CCDA v2.1 にエクスポートされないことを意味します。この値を 1 に設定すると、これらのドキュメントは、この表で後述する default 設定で指定される既定のセクションにエクスポートされます。 |
notes |
default |
定義する必要があります。singlesection および uncategorized が 1 に設定された場合に、既定の注記セクションとして使用するカテゴリを指定します。 |
notes |
code |
ドキュメント・タイプの LOINC コード。エクスポート時に正しい注記カテゴリと照合するために使用されます。 |
notes/category |
name |
ドキュメント・タイプの LOINC 表示名。 |
notes/category |
title |
使用するセクション・タイトル。 |
notes/category |
typecodes |
この SDA ドキュメント・カテゴリに該当する LOINC コードのパイプ区切りリスト。各 typecode は、現在のドキュメント・カテゴリのサブカテゴリを表す LOINC コードです。これらの LOINC コードは、ドキュメント・カテゴリで表される CCDA 注記セクションのサブカテゴリです。システムでは、これらの LOINC コードで表される注記のタイプを、結果として得られる CCDAv2.1 内の包括的な注記セクション内に配置します。 例えば、病理学研究の一部である、|11526-1|34122-2|34819-3| のようないくつかのタイプコードを入力する場合があります。これらのタイプコードで表される注記はすべて、結果として得られる CCDA v2.1 内の Pathology Study Note に配置されます。 含まれていない LOINC コードはエクスポートされません。 |
以下の表の設定は、<text> タグの CCDAv2.1 セクション内に表示される叙述部分を SDA から CCDA v2.1 にエクスポートする方法を制御します。これらの設定は、CCDAv2.1 にのみ適用されます。<narrative> 変数には、叙述部分がエクスポートされるセクションのリストが含まれます。各 <section> には、上記の叙述部分のインポートで使用される narrativeImportConfiguration/section と同じ設定が含まれます。
既定の ExportProfile.xml ファイルでは、<narrative> が以下の 3 つのセクションに分割されます。
-
標準セクション — SDA から CCDAv2.1 にエクスポートするための .xsl ファイルが install-dir\CSP\xslt\SDA3\CDA-Support-Files\Export\Section-Modules\CCDAv21 に存在するセクション。これらのセクションでは、叙述部分とエントリの両方がエクスポートされます。
-
特別セクション — システムが以前にエントリと叙述部分をエクスポートしたセクション。この場合、システムは既定で従来のエクスポート・ロジックに戻ります。
-
スタンドアロン・セクション — InterSystems IRIS for Health には、install-dir\CSP\xslt\SDA3\CDA-Support-Files\Export\Section-Modules\CCDAv21 に、エクスポートするための .xsl ファイルがないセクション。すなわち、エントリも叙述部分もエクスポートされません。<narratives> 変数にセクションがスタンドアロン・セクションとして含まれている場合、エントリはエクスポートされずに、セクション内の叙述部分のみがエクスポートされます。叙述部分のインポートでサポートされている多くのセクションは、叙述部分のエクスポートではサポートされていません。
インポートとエクスポートのプロファイルは、叙述部分の処理の対象となるセクションを制御します。どのセクションもインポートの対象です。ただし、エクスポートに対しては、標準セクションのサブセットのみが有効です。例えば、Allergy セクションはエクスポートに含まれませんが、FunctionalStatus セクションは含まれます。ほとんどの場合、既定で含まれるセクションには、エントリで参照されない叙述部分の関連データが含まれる傾向があります。
セクション |
設定 |
値 |
---|---|---|
narrative/section |
title |
標準またはスタンドアロン・セクションに存在する場合、エントリベースの叙述部分の後にセパレータ見出しとして使用されます。特別セクションの場合、結果として得られる CCDA では使用されません。 |
narrative/section |
code |
情報のみであり、3 つのタイプのどのセクションの場合も、結果として得られる CCDA では使用されません。 |
narrative/section |
templateId |
必須項目。臨床データのすべてのカテゴリには、一意の templateID、または OID があります。指定したセクションの叙述部分がエクスポートされます。 |
叙述部分のエクスポートのための追加のスタンドアロン・セクションの追加
ExportProfile.xml の narrative/section セクションでエクスポートするスタンドアロン・セクションのリストにまだ含まれていないスタンドアロン・セクションを追加でエクスポートするには、以下の手順を実行します。
-
ExportProfile.xml の <narrative> セクション内に適切な <section> を追加します。以下に例を示します。
<section> <title>Admission Medication</title> <code code="42346-7" displayName="Medications on Admission"/> <templateId root="2.16.840.1.113883.10.20.22.2.44" extension="2015-08-01/> </section>
-
install-dir\CSP\xslt\SDA3\CDA-Support-Files\Export\Entry-Modules\CCDAv21 に、SDA から CCDA v2.1 へのエクスポートに使用する適切なルートレベルの .xsl ファイルのカスタム・バージョンを作成します (まだ作成していない場合)。
叙述部分のエクスポートがサポートされているのは CCDA v2.1 のみであるため、ほとんどの場合は、SDA-to-CCDAv21-CCD.xsl ファイルを編集することになります。CCDA のエクスポートに使用する変換によっては、SDA-to-CCDAv21-ClinicalSummary.xsl や SDA-to-CCDAv21-CON.xsl など、別のファイルを編集する必要が生じる場合があります。
-
カスタム・バージョンのルートレベルの .xsl ファイルで、<xsl:apply-templates mode="narrative-export-sections" select="."> セクションに以下のような行を追加します。
<item root="{$ccda-PhysicalExamSection}"/>
.xsl ファイルの <xsl:apply-templates mode="narrative-export-sections" select="."> セクションは、エクスポートに含めるスタンドアロンの叙述部分を指定します。追加する必要のある変数の名前 ($ccda-PhysicalExamSection など) は、install-dir\CSP\xslt\SDA3\CDA-Support-Files\System\Templates ディレクトリにある TemplateIdentifers-CCDA.xsl ファイルで、エクスポートするセクションに対応する変数名を探すことで特定できます。
この行を追加すると、templates パラメータの各項目で、叙述部分のエクスポートに必要な narrative-export-sections テンプレートが呼び出されます。
叙述部分のエクスポートのための追加の標準セクションの追加
特定の標準セクションでは、既定で叙述部分のエクスポートをサポートしています。他の標準セクションの叙述部分のエクスポートを有効にするには、Section-Modules および Entry-Modules サブディレクトリにあるそのセクションの .xml ファイルをカスタマイズする必要があります。以下に、FunctionalStatus 標準セクションの叙述部分のエクスポートを有効にする方法の例を示します (ただし、FunctionalStatus は叙述部分のエクスポートが既定で有効になっています)。
-
ExportProfile.xml の <narrative> 内に適切な <section> を追加します。
-
install-dir\CSP\xslt\SDA3\CDA-Support-Files\Export\Section-Modules ディレクトリに移動し、編集する FunctionalStatus.xml ファイルを開きます。
-
セクションの SDA ドキュメントのノードセットを保持する変数を定義します。
<xsl:variable name="docs" select="Documents/Document[(Category/Code/text() = 'SectionNarrative') and (DocumentType/Code/text() = $exportConfiguration/narrative/section[templateId/@root = $ccda-FunctionalStatusSection]/code/@code)]"/>
これは、エクスポート構成を使用して、構造化された叙述部分のエクスポートに対してこのセクションが有効かどうかをチェックします。
-
対象となるドキュメントがあるかどうかを示す別の変数を定義します。
<xsl:variable name="hasDocs" select="count($docs)"/>
-
このセクションに新しい hasDocs 変数を使用するデータがあるかどうかをチェックする条件を更新します。以下に例を示します。
<xsl:if test="($hasDocs > 0) or ($hasData > 0) or ($exportSectionWhenNoData='1') or ($sectionRequired='1')">
<xsl:if test="($hasDocs = 0) and ($hasData = 0)"><xsl:attribute name="nullFlavor">NI</xsl:attribute></xsl:if>
-
docs 変数を渡すように、Entry-Module テンプレートの呼び出しを更新します。
<xsl:apply-templates select="." mode="eFS-functionalStatus-Narrative"> <xsl:with-param name="docs" select="$docs"/> </xsl:apply-templates>
-
エントリはないが使用可能な SDA ドキュメントがある場合にそのセクションをエクスポートするよう、xsl:when 節を追加します。
<xsl:when test="$hasDocs > 0"> <text> <xsl:apply-templates mode="narrative-export-documents" select="."> <xsl:with-param name="docs" select="$docs"/> </xsl:apply-templates> </text></xsl:when>
-
install-dir\CSP\xslt\SDA3\CDA-Support-Files\Export\Entry-Modules\CCDAv21 ディレクトリに移動し、編集する FunctionalStatus.xml ファイルを開きます。
-
docs パラメータを叙述テンプレートに追加します。
<xsl:template match="*" mode="eFS-functionalStatus-Narrative"> <xsl:param name="docs"/>
-
標準のエントリ・テーブルの後に、セクション・エクスポータを呼び出します。
<text> <table border="1" width="100%"> ... </table> <!-- structured narrative documents --> <xsl:apply-templates mode="narrative-export-documents" select="."> <xsl:with-param name="docs" select="$docs"/> <xsl:with-param name="header" select="$exportConfiguration/narrative/section[templateId/@root=$ccda-FunctionalStatusSection]/title/text()"/> </xsl:apply-templates> </text>
Import ディレクトリと Export ディレクトリ
Import ディレクトリと Export ディレクトリには、XSLT がデータを変換する際に呼び出されるファイルが含まれます。
-
Import ディレクトリには、CDA を SDA に変換する際に呼び出されるファイルが含まれます。
-
Export ディレクトリには、SDA を CDA に変換する際に呼び出されるファイルが含まれます。
Import ディレクトリと Export ディレクトリの両方に、Common、Entry-Modules、Section-Modules というラベルが付いたサブディレクトリが含まれます。
-
Common ディレクトリには、さまざまな変換でよく使用されるグローバル変数を設定する XSLT が含まれます。また、これらの XSLT は、よく使用されるロジック (address-Home など) が含まれるテンプレートを提供します。
-
Section-Modules ディレクトリには、指定された CDA セクションとの間でデータを変換する XSLT が含まれます。各 XSLT の名前は、その XSLT で変換する CDA セクションの名前に厳密に一致します。
-
Entry-Modules ディレクトリには、変換をドキュメントの正しい Entry にマップしてからコード化データを解析する XSLT が含まれます。このため、このディレクトリ内の XSLT は、Section-Modules ディレクトリ内の XSLT と比べて大幅に長くなる傾向があります。
ルートレベルの XSLT (CDA-to-SDA.xsl など) はそれぞれ、適切な Section-Modules のファイル、Entry-Modules のファイル、Common のファイル、必要な他のファイルをインクルードする xsl:include 宣言で始まります。