C-CDA 2.1 ドキュメントの前処理
インターシステムズの医療製品では、XSLT 1.0 を使用した C-CDA 2.1 から SDA へのインポート変換をサポートしています。XSLT 2.0 を使用した C-CDA 2.1 から SDA への変換はサポートしていません。
C-CDA 2.1 のサポートに関連するインポート機能の強化の 1 つとして、インポート用の変換を実行する前に C-CDA 入力ファイルを前処理する機能が追加されました。 前処理サポートの導入により、変換が大幅に簡素化され、変換に要する合計処理時間が削減されます。
考えられるユース・ケースは次の 2 つです。
-
要素がない、またはその形式が正しくない
-
日付スタンプの変換
C-CDA を前処理して句読点を取り除き、特定の要素に必要な子ノードを追加する方法、およびプリプロセッサ変換のサンプル・コード、トップレベル変換の変更、入力ファイルの詳細は、InterSystems Developer Community の記事 "C-CDA 2.1 からインポートトランスフォーメーションを実行する際の前処理サポートOpens in a new tab" を参照してください。
一般に、以下のような手順になります。
-
組織のドメイン名の管理者の協力を得て、コード拡張に使用するサブドメイン名を取得します。
-
前処理のカスタム・モードに使用するプレフィックスと名前を選択します。
-
XSL プリプロセッサを作成します。
-
stylesheet 要素は以下の形式にします。
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:hl7="urn:hl7-org:v3" xmlns:custom_mode_prefix="<subdomain>" exclude-result-prefixes="hl7 <custom_mode_prefix>"></xsl:stylesheet>
カスタム・モードのプレフィックスを含めることに注意してください。
-
トップレベルの要素を複製してすべての属性、要素、テキスト・ノードをコピーするテンプレートを含めます。両方のテンプレートで、カスタム・モードを使用する必要があります。
-
C-CDA の変更ごとにテンプレートを作成します。これらのテンプレートでもカスタム・モードを使用する必要があります。
-
-
XSL プリプロセッサを ../CDA-Support-Files/Import/ にコピーします。
-
CCDAv21-to-SDA.xsl または CCDAv21-nonXML-to-SDA.xsl を複製し、以下のように変更して、カスタムのトップレベル変換を作成します。
-
stylesheet 要素にカスタム・ネームスペースを含めます。
-
XSL プリプロセッサのパス名を指定する include 文を追加します。
-
次の行を見つけます。
<xsl:variable name="input" select="/hl7:ClinicalDocument"/>
これを次のブロックに置き換えます。
<xsl:variable name="inputRTF"> <xsl:apply-templates select="/hl7:ClinicalDocument" mode="<custom_mode_prefix>:<mode>"/> </xsl:variable> <xsl:variable name="input" select="exsl:node-set($inputRTF)/hl7:ClinicalDocument"></xsl:variable>
-
-
プロダクションで、C-CDA > SDA 変換用のファイル入力を取るビジネス・サービスを見つけます。
-
そのサービスの InputXSL という追加設定の値を、カスタムのトップレベル変換のファイル名に設定します。
-
C-CDA ファイルを通常どおりにインポートします。