受信したメッセージが使用する HL7 のバージョンを検査するため、HL7 DFDL モデルを構成します。
始める前に:
- ワークスペースにいずれかの HL7 DFDL ライブラリーをインポートします。
ライブラリーは Healthcare: HL7 から HL7 DFDL パターンからインポートできます。詳しくは HL7 アプリケーションとの統合を参照してください。
HL7 DFDL モデルには、HL7 バージョン 2.7 用のもの、HL7 バージョン 2.6 用のもの、HL7 バージョン 2.5.1 以前用のものの 3 つのバージョンがあります。
処理するメッセージで使用されている HL7 のバージョンと一致する DFDL モデルを使用することをお勧めします。
ただし、デフォルトでは、着信する HL7 メッセージで使用されている HL7 バージョンの検査はモデルで行われません。
想定しているバージョンの HL7 を使用してメッセージを処理していることを確認するには、以下の手順を使用してモデルのバージョン検査を有効にすることができます。
- 「アプリケーション開発」パースペクティブから HL7 DFDL ライブラリー (HL7v251DFDLLibrary、HL7v26DFDLLibrary、または HL7v27DFDLLibrary) を検索します。
- ライブラリー名をクリックしてから、とクリックします。
- GenericHL7.xsd を右クリックして、をクリックします。 DFDL エディター・ウィンドウが開きます。
- DFDL エディター・ウィンドウで、とクリックしてから、「MSH.12.VersionID」を選択します。 「表明および判別」タブが開きます。
- 「表明および判別」タブをクリックし、「表明の追加」リンクをクリックします。 新しい行が「表明」表に追加されます。
- 「テストの種類」列の値が「式」であることを確認します。
- 「テスト条件」列をクリックし、HL7 バージョンを検証するための必須の式を追加します。 以下に例を示します。
- メッセージが使用している HL7 バージョンが特定の HL7 バージョンに等しいことを検査するには、次の式を入力します。
{./VID.1 eq '<value>'}
ここで、<value> は、メッセージが使用していると想定している HL7 のバージョンです。
例えば、2.7、2.6、または 2.5 です。
- メッセージが使用している HL7 バージョンが特定の HL7 バージョンより前であることを検査するには、次の式を入力します。
{./VID.1 lt '<value>'}
ここで、<value> は、メッセージが使用していると想定している HL7 のバージョンです。
例えば、2.7、2.6、または 2.5 です。
有効な表明式の作成について詳しくは、DFDL 仕様を参照してください。
- 「メッセージ」列をクリックし、条件が成立しない場合にトレースに表示する適切なメッセージを追加します。 例えば、「HL7 バージョンが非互換です」とします。
- 次いで DFDL スキーマを保存し、とクリックし、DFDL エディターを閉じます。
これで、
DFDL スキーマが更新されました。
必要なHL7 バージョンに一致しないメッセージを受け取ると (更新された DFDL スキーマ定義を使用している場合)、DFDL 構文解析は MSH.12 フィールドで停止し、表明で定義したエラー・メッセージがツールキットとトレースに表示されます。
例えば、
'MSH.12.VersionID' を解析中に、条件 '{./VID.1 eq '2.7'}' を指定した DFDL 表明が false と評価され、メッセージ 'HL7 バージョンが非互換です' が返されました