Skip to main content

CDA ドキュメントと XSL 変換

このページでは、インターシステムズ製品での CDA ドキュメントの処理方法について説明します。まず、CDA ドキュメントの構造の概要を示し、次に CDA ドキュメントと SDA を相互に変換する XSLT (XSL 変換) のライブラリについて説明します。

CDA ドキュメントの構造

すべての CDA ドキュメントのルート・ノードは <ClinicalDocument> です。その下に 3 つの論理ディビジョンがあります。ヘッダ、1 つ以上の Section、および各 Section 内の 1 つ以上の Entry です。

  • ヘッダには、メタデータ、患者基本情報、およびプロバイダ情報が含まれます。

  • Section では、Allergies や Medication などの広範な概念を設定します。Section には、Entry 形式の構造化データのほかに、構造化されていない“叙述”データも記述できます。

  • EntrySection 内に埋め込まれており、より大きい概念の中でインスタンスを表します。例えば、Allergies セクションのある Entry でピーナッツ・アレルギーを表し、別の Entry で花粉アレルギーを表すことができます。

CDA ドキュメントを変換する際、SectionEntry はサポート・ファイルから変換命令を受け取ります。これについては、”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 要素を定義します。

  • Care Plan Type

  • Care Plan Provider

  • Care Plan Support Contacts

  • Care Plan SetId

  • Care Plan Version

  • Care Plan Authors

  • Care Plan Organizations

  • Care Plan Health Concern IDs

  • Care Plan Goal IDs

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 要素を定義し、以下のサブフィールドが含まれます。

  • Entered By

  • Entered At

  • Entered On

  • External ID

  • Document Time

  • Document Number

  • Document Name

  • Document Type

  • File Type

  • Document Stream

  • Document Status

  • Clinician

  • Custom SDA Data

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-FilesCDA-Support-Files ディレクトリにある他のファイルを呼び出します。

ルートレベルの XSLT (CDA-to-SDA.xsl など) はそれぞれ、CDA-Support-Files ディレクトリにある適切なファイルをインクルードする xsl:include 宣言で始まります。

ここでは、CDA-Support-Files 内のさまざまなディレクトリとその機能について説明します。イメージからわかるように、CDA-Support-Files には以下のディレクトリが含まれます。

  • System — OID やテンプレートなどの幅広く使用されるアイテムを定義する、ソース・コントロールされた構成不可能なファイル。

  • Site — さまざまな XSLT で使用される構成可能なファイル。

  • ImportExport — CDA と SDA を相互に変換する際に呼び出されるファイル。

  • Reports — 主に、CDA ドキュメントを HTML に変換して Web ブラウザで表示できるようにする変換。このディレクトリについては、以下では説明しません。

Important:

XSLT はキャッシュされるため、変換の編集後に変更を反映させるには、該当するネームスペースでプロダクションを再起動する必要があります。

System ディレクトリ

System ディレクトリには、広範なアイテムを定義する静的ファイルが含まれます。このフォルダのアイテムは構成不可能です。

System 内には、次のディレクトリがあります。

  • Common — あまり使用されないユーティリティ・テンプレートです。

  • OIDs — OID に関連付けられている変数です。

  • Site-DefaultsSite ディレクトリのソース・コントロール・バージョンです。このディレクトリは、実行時には呼び出されません。詳細は、”Site ディレクトリ” を参照してください。

  • Templates — テンプレート ID に関連付けられている変数です。

Site ディレクトリ

Site ディレクトリには、一意に構成可能なファイルが含まれます。

Important:

このディレクトリ内のファイルはアップグレード時に変更されないため、カスタマイズ内容が保持されます。アップグレード後、これらのファイルを 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 TextHospital 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 にのみ適用されます。

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 のセクションのリストが含まれます。

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

ACTIVECHRONIC など、さまざまな問題タイプに対応するコード。

problems/

currentCondition

windowInDays

Medication の有効期間と、Medication を引き続き現在の問題リストに含めることができる期間を制限します (日数)。

socialHistory/

emptySmokingStatus

exportData

データが含まれていない場合に smokingStatus をエクスポートするかどうかを指定します。

exportConfiguration/

Immunizations

checkAdministrations

下位互換性のために提供されています。これにより、以下の両方が含まれている場合に、ユーザは SDA の Vaccination を正常に処理し、Immunization を含む CDA/C-CDA データを作成することができます。

  • SDA で予防接種の投与日が誤変換され、Administration が含まれない、誤った SDA (CDA/C-CDA の Immunization Processing Correction を受け取る前に SDA が生成された場合)。

  • 問題のない、新しい SDA。ここでは、予防接種の投与日が正しく Vaccination.Administrations.Administration.FromTime に変換されています。

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 にエクスポートされます。

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 セクションは含まれます。ほとんどの場合、既定で含まれるセクションには、エントリで参照されない叙述部分の関連データが含まれる傾向があります。

CCDA v2.1 の叙述部分のエクスポート・プロファイルの設定

セクション

設定

narrative/section

title

標準またはスタンドアロン・セクションに存在する場合、エントリベースの叙述部分の後にセパレータ見出しとして使用されます。特別セクションの場合、結果として得られる CCDA では使用されません。

narrative/section

code

情報のみであり、3 つのタイプのどのセクションの場合も、結果として得られる CCDA では使用されません。

narrative/section

templateId

必須項目。臨床データのすべてのカテゴリには、一意の templateID、または OID があります。指定したセクションの叙述部分がエクスポートされます。

叙述部分のエクスポートのための追加のスタンドアロン・セクションの追加

ExportProfile.xml の narrative/section セクションでエクスポートするスタンドアロン・セクションのリストにまだ含まれていないスタンドアロン・セクションを追加でエクスポートするには、以下の手順を実行します。

  1. 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>
    
  2. 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.xslSDA-to-CCDAv21-CON.xsl など、別のファイルを編集する必要が生じる場合があります。

  3. カスタム・バージョンのルートレベルの .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 は叙述部分のエクスポートが既定で有効になっています)。

  1. ExportProfile.xml の <narrative> 内に適切な <section> を追加します。

  2. install-dir\CSP\xslt\SDA3\CDA-Support-Files\Export\Section-Modules ディレクトリに移動し、編集する FunctionalStatus.xml ファイルを開きます。

  3. セクションの 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)]"/>
    

    これは、エクスポート構成を使用して、構造化された叙述部分のエクスポートに対してこのセクションが有効かどうかをチェックします。

  4. 対象となるドキュメントがあるかどうかを示す別の変数を定義します。

    <xsl:variable name="hasDocs" select="count($docs)"/>
    
  5. このセクションに新しい 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>
    
  6. docs 変数を渡すように、Entry-Module テンプレートの呼び出しを更新します。

    <xsl:apply-templates select="." mode="eFS-functionalStatus-Narrative">  
       <xsl:with-param name="docs" select="$docs"/>
    </xsl:apply-templates>
    
  7. エントリはないが使用可能な 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>
    
  8. install-dir\CSP\xslt\SDA3\CDA-Support-Files\Export\Entry-Modules\CCDAv21 ディレクトリに移動し、編集する FunctionalStatus.xml ファイルを開きます。

  9. docs パラメータを叙述テンプレートに追加します。

    <xsl:template match="*" mode="eFS-functionalStatus-Narrative">
       <xsl:param name="docs"/>
    
  10. 標準のエントリ・テーブルの後に、セクション・エクスポータを呼び出します。

    <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 ディレクトリの両方に、CommonEntry-ModulesSection-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 宣言で始まります。

FeedbackOpens in a new tab