Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

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  
ChieftComplaint.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 に使用する説明です。

healthFundImportMode

enabled

値が 1 であれば、この設定は有効です。これが既定の設定です。得られた SDA への Encounter ごとに Health Fund ストリームレットが追加されます。

healthFundImportMode

disabled

値が 0 であれば、この設定は無効です。Encounter ごとに Health Fund ストリームレットが作成されることはありません。

memberEnrollmentImportMode

enabled

値が 1 であれば、この設定は有効です。CCD/CCDA に Payor を受け取るたびに、得られた SDA に Member Enrollment ストリームレットが作成されます。

memberEnrollmentImportMode

disabled

値が 0 であれば、この設定は無効です。これが既定の設定です。得られた SDAに Member Enrollment ストリームレットは作成されません。

エクスポート・プロファイル

エクスポート・プロファイルのほとんどの要素には、<emptySection> 要素、<narrativeLinkPrefixes> 要素、またはその両方があります。<emptySection> 要素は、情報を含まないセクションをエクスポートするかどうかを制御します。<narrativeLinkPrefixes> には、CDA ドキュメントの叙述部分、すなわち人間が読める部分に含めるテキストを入力できます。

さらに、セクションによっては他の設定が含まれることもあります。このような設定は、エクスポートするデータに応じて編集および拡張できます。次の表に、このような一意の設定、および設定が存在するセクションとその値を示します。

エクスポート・プロファイルの設定

セクション

設定

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 をエクスポートするかどうかを指定します。

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