この章では、Oracle SOA Suite for healthcare integrationでサポートされるドキュメント・プロトコルとメッセージ・タイプに関する情報を示し、ヘルスケア統合ユーザー・インタフェースでドキュメント定義を操作する方法について説明します。
この章には次のトピックが含まれます:
Oracle SOA Suite for healthcare integrationでは、次のドキュメント・プロトコルがサポートされます。
カスタム
HL7 V2.x
図3-1は、Oracle SOA Suite for healthcare integrationでサポートされているドキュメント・プロトコルを示しています。
図3-1 Oracle SOA Suite for healthcare integrationのドキュメント・プロトコル
ドキュメント定義の一部として、ドキュメント・ガイドライン・ファイルを指定します。このファイルは通常、Oracleドキュメント・エディタで作成されます。(カスタム・ドキュメントの場合、Oracle Document Editorは使用できません。また、ドキュメントの検証も実行できません。)検証が有効な場合、実行時のペイロードは、使用するドキュメント定義ファイルのタイプに準拠している必要があります。
図3-2に示すように、ドキュメント・プロトコルは階層とみなすことができます。
ドキュメント・プロトコルは、複数のドキュメント・プロトコル・バージョンで構成できます。ドキュメント・プロトコル・バージョンは、複数のドキュメント・タイプで構成できます。ドキュメント・タイプは、複数のドキュメント定義で構成できます。通常、1つのドキュメント定義で作業を開始し、そのドキュメント定義を様々なエンドポイント向けにカスタマイズします。
図3-3に、HL7 V2.3.1に適用されるドキュメント・プロトコル階層を示します。
Oracle SOA Suite for healthcare integrationユーザー・インタフェースでは、ドキュメント定義を作成するとき、ドキュメント・プロトコル階層が定義に反映されます。
ドキュメント・プロトコル-バージョン-ドキュメント・タイプ-ドキュメント定義名
例3-1に、HL7ドキュメントに対する定義に反映される階層を示します。
Oracle SOA Suite for healthcare integrationでは、独自のトランザクションに必要なドキュメントを作成するためのカスタム・ドキュメント・プロトコルがサポートされます。XMLメッセージでは、スキーマ適用(XSD)の利点があります。
非XMLメッセージでは、特定のメッセージ・タイプに対するエンドポイントを作成できます。
カスタム・ドキュメントの作成時には、着信ドキュメントを識別するルールを指定します。XMLドキュメントでは、XPath式またはXPath式と値(式の予想される結果)を指定します。
フラット・ファイルなどの非XMLドキュメントでは、「識別開始位置」、「終了位置」および「識別値」を指定できます。
カスタム・ドキュメント定義を作成するときは(ドキュメント定義の作成の詳細は、3.4項「ドキュメント定義の作成」を参照)、識別タイプ(XMLまたはフラット)を選択し、タブ領域でパラメータを設定します。図3-4に、XMLタイプ・カスタム・ドキュメントのドキュメント定義パラメータを示します。
図3-5に、フラット・ファイル・カスタム・ドキュメントのドキュメント定義パラメータを示します。
表3-1に、カスタム・ドキュメントのドキュメント定義パラメータを示します。
表3-1 カスタム・ドキュメントのドキュメント定義パラメータ
パラメータ | 説明 |
---|---|
「XML」タブ |
(「識別タイプ」から「XML」を選択した場合に使用可能) |
XMLペイロードのノードを特定します。 |
|
識別式で識別されたノードに照合する値を指定します。値が一致した場合、ドキュメントは正常に識別されます。この値を空欄にしておくと、Oracle SOA Suite for healthcare integrationがノードの存在をチェックし、ドキュメントが正常に識別されます。 |
|
「なし」、「両方」、「インバウンド」、「アウトバウンド」の中から選択します。 |
|
「ルーティング」タブ |
- |
ドキュメント・ルーティングID |
バックエンド・アプリケーションに対してコンシューマ名を設定します。 |
「XPath」タブ |
3.2.2.1項「カスタムXMLドキュメントのXPath式の構成方法」を参照してください。 |
ペイロードから値を取得するためのXML XPath名。 |
|
ペイロードから値を取得するためのXML XPath式。 |
|
ペイロードから値を取得するためのXML XPath名。 |
|
ペイロードから値を取得するためのXML XPath式。 |
|
ペイロードから値を取得するためのXML XPath名。 |
|
ペイロードから値を取得するためのXML XPath式。 |
|
「相関」 タブ |
- |
相関を開始するための相関プロパティの名前。 |
|
相関を開始するためにペイロードから値を取得するためのXML XPath。 |
|
相関のための相関プロパティの名前。 |
|
相関のためにペイロードから値を取得するためのXML XPath。 |
|
「フラット」タブ |
- |
終了位置と組み合せて使用し、開始位置と終了位置の間のペイロードから値を取得します。 |
|
開始位置と組み合せて使用し、開始位置と終了位置の間のペイロードから値を取得します。 |
|
開始位置と終了位置の間の値。 |
|
「アプリケーション」タブ |
- |
内部アプリケーション・ドキュメントの名前。 |
|
ドキュメント内のサブ分類。 |
|
XSLTファイルの名前。 |
カスタムXMLドキュメントは、XPath式によって識別されます。XPath式は、ドキュメント・タイプ・パラメータを指定する際に構成します。
XPath式の構成時のオプションは、次のとおりです。
トランザクションIDが12345だとします。各パラメータを次のように設定します。
Oracle SOA Suite for healthcare integrationでは、ペイロードの識別式の値と、「識別値」に指定した値が比較されます。値が一致するとドキュメントが正常に識別され、対応するドキュメント・タイプとドキュメント・プロトコル・バージョンを使用してエンドポイントが識別されます。例3-2に、このオプションのXMLペイロードの一部を示します。
例3-2 XPathおよび一致する値の指定
<?xml version="1.0" encoding="UTF-8" ?>
<Message xmlns:ns1="http://www.example1.org" xmlns:ns2="http://www.example2.org"
xmlns="http://www.example3.org"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns="http://www.example4.org">
<MessageHeader>
<Source>201944019</Source>
<Destination>205704856</Destination>
<TransactionID>123456</TransactionID>
<Version>1-0-0</Version>
</MessageHeader>
<Body>
<ns:Case xsi:schemaLocation="http://www.example4.org" ns1:caseCategoryID="1">
<ns1:OfficialProvisionNumber>String</ns1:OfficialProvisionNumber>
</ns:Case>
</Body>
</Message>
registerCommand
というノードの存在をチェックする場合を想定します。各パラメータを次のように設定します。
フィールド | 値 |
---|---|
空欄 |
|
/*[local-name()='envelope']/body/transaction/command/*[local-name()='registerCommand'] |
「識別値」フィールドを空欄のままにした場合、Oracle SOA Suite for healthcare integrationでは識別式に指定したノードがチェックされます。ペイロードのノードが一致すると、ドキュメントが正常に識別されます。例3-3に、このオプションのXMLペイロードの一部を示します。
例3-3 ノードの存在のチェック
<uccnet:envelope xmins:eanucc="http://www.ean-ucc.org/schemas/1.3/eanucc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uccnet="http://www.uccnet.org/schemas/2.2/uccnet" communicationVersion="2.2" xsi:schemaLocation="http://www.uccnet.org/schemas/2.2/uccnet http://www.testregistry.net/xmlschema/uccnet/2.2/Envelope.xsd"> <messageHeader> <messageIdentifier> <value>791:1_EB3CDC749A1F2BABE03014906CC4605A</value> </messageIdentifier> <userId>oraclesupXSD</userId> <representingParty> <gin>0060974050142</gin> </representingParty> </messageHeader> <body> <transaction> <entityIdentification> <uniqueCreatorIdentification>856</uniqueCreatorIdentification> <globalLocationNumber> <gin>0060974050142</gin> </globalLocationNumber> </entityIdentification> <command> <uccnet:registerCommand> <registerCommandHeader type="ADD" /> </uccnet:registerCommand> </command> </transaction> </body> </uccnet:envelope>
国属性の値がUSであるとします。各パラメータを次のように設定します。
Oracle SOA Suite for healthcare integrationでは、国属性の値と、「識別値」に設定した値が比較されます。値が一致するとドキュメントが正常に識別されます。例3-4に、このオプションのXMLペイロードの一部を示します。
例3-4 属性の値のチェック
<?xml version="1.0" encoding="windows-1252" ?>
<MyAddress country="US" xmlns="http://www.example.org"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="PO.xsd">
<name>B2B Buyer</name>
<street>100 Oracle Parkway</street>
<city>Redwood City</city>
<state>CA</state>
<zip>94065</zip>
</MyAddress>
Oracle SOA Suite for healthcare integrationには、Generic交換またはMLLP交換を使用して医療情報を含むドキュメントを交換するためのHealth Level 7 (HL7)バージョン2.xが実装されています。HL7使用時には、標準のOracle SOA Suite for healthcare integrationの機能(検証、変換、アウトバウンド・エンベロープ・ヘッダーの自動生成および確認など)を使用できます。
HL7標準を作成し、管理している組織の情報は、次を参照してください。
http://www.hl7.org
HL7ドキュメント・バージョンを作成する場合は、様々なパラメータを設定できます。図3-6に、HL7ドキュメントのドキュメント・バージョン・パラメータを示します。
表3-2に、HL7ドキュメントのドキュメント・バージョン・パラメータを示します。
表3-2 HL7ドキュメントのドキュメント・バージョン・パラメータ
パラメータ | 説明 |
---|---|
「メッセージ・ヘッダー」タブ |
- |
HL7の一部のアプリケーションでは、このフィールドがセキュリティ機能の実装に使用されます。 |
|
MSH.11。このフィールドは、HL7アプリケーション(レベル7)処理ルールの定義に従ってメッセージを処理するかどうかを決定するために使用されます。最初のコンポーネントでは、メッセージが本番、トレーニングまたはデバッグ・システムのいずれに属しているかを定義します(有効な値については、HL7表0103 - 処理IDを参照してください)。2番目のコンポーネントでは、メッセージがアーカイブ・プロセスまたは初期ロードのいずれに属しているかを定義します(有効な値については、HL7表0207 - 処理モードを参照してください)。この結果、異なる処理モードに異なる優先度を設定できます。 |
|
メッセージに対する応答でアプリケーション確認の返信が必要となる条件を設定します。値「AL」(常時)が指定されます。 Oracle SOA Suite for healthcare integrationでは、確認を生成する必要があるかどうかを調べるために、着信メッセージのペイロード(MSH.15)がチェックされます。一部のHL7システムでは、ペイロードでMSH.15は送信されないため、確認の送信が必要です。 |
|
MSH.16。値「AL」(常時)が指定されます。 |
|
メッセージの作成国を設定します。値「US」が指定されます。 |
|
メッセージ全体の文字セットを設定します。値「ASCII」が指定されます。 |
|
MSH.19 |
|
MSH.19 |
|
MSH.19 |
|
MSH.19 |
|
MSH.19 |
|
MSH.19 |
|
MSH.12 |
|
MSH.12 |
|
MSH.12 |
|
MSH.12 |
|
MSH.12 |
|
MSH.12 |
|
「バッチ・ヘッダー」タブ |
- |
バッチ・ヘッダーを作成する場合は、ボックスを選択します。 |
|
「参照」ボタンを使用して、標準ファイルをオーバーライドするECSファイルを検索します。指定しない場合、用意されているデフォルト・ファイルが使用されます。 |
|
BHS.8 |
|
BHS.7。システム日付タイムスタンプが指定されます( |
|
「ファイル・ヘッダー」タブ |
- |
ファイル・ヘッダーを作成する場合は、チェック・ボックスを選択します。 |
|
「参照」ボタンを使用して、標準ファイルをオーバーライドするECSファイルを検索します。指定しない場合、用意されているデフォルト・ファイルが使用されます。 |
|
FHS.8 |
|
FHS.7。システム日付タイムスタンプが指定されます( |
|
「デリミタ」タブ |
デリミタ・フィールドの横にある「16進文字の選択」をクリックすると値が指定されます。 |
セグメント識別子の後に続く1文字で、セグメント内の各データ要素(最後の要素を除く)を区切ります。値「0x7c」が指定されます。 |
|
値「0x5c」が指定されます。 |
|
繰返しデータ要素の隣接する出現を区切るため、またはフィールドの複数の出現を区切るために使用されるサービス文字。値「0x7e」が指定されます。 |
|
メッセージ内のセグメント(データ・フィールドの論理的なグループ)の終了を示す構文文字。値「0x0d」が指定されます。 |
|
値「0x26」が指定されます。 |
|
値「0x5e」が指定されます。 |
|
「その他」タブ |
- |
このオプションを使用して、参照検証時に無視するエンベロープ要素のリストをカンマ区切りで指定します。HL7アグリーメントの場合、指定可能な値は、MessageSendingApp、MessageReceivingApp、MessageSendingFacilityおよびMessageReceivingFacilityです。 |
|
このオプションを選択して、インバウンド・バッチHL7メッセージの対して確認を1つ送信するか複数送信するかを指定します。 |
HL7ドキュメント・タイプを作成する場合は、様々なパラメータを設定できます。図3-7に、HL7ドキュメントのドキュメント・タイプ・パラメータを示します。
表3-3に、HL7ドキュメントのドキュメント・タイプ・パラメータを示します。
表3-3 HL7ドキュメントのドキュメント・タイプ・パラメータ
パラメータ | 説明 |
---|---|
「トランザクション」タブ |
- |
選択した場合、Oracle SOA Suite for healthcare integrationから汎用確認が送信されます。 |
|
ビジネス・メッセージのMSH.10から確認のMSH.10へのマッピングを有効にする場合に選択します。 注意: この「確認制御IDのマップ」パラメータは、機能確認用です。 |
|
機能確認は、MSH.15に値がない場合に生成されます。アクションを実行しない場合は「なし」を選択します。確認の生成は、ビジネス・メッセージのMSH.15内の値に依存します。どのような条件でも確認を生成する場合は、「AL」(常時)を選択します。メッセージ・エラーまたはメッセージが拒否されたときに確認を生成する場合は、「ER」(エラー/拒否)を選択します。メッセージが正常に処理されたときに確認を生成する場合は、「SU」(正常終了)を選択します。 |
HL7ドキュメント定義を作成するときは(ドキュメント定義の作成の詳細は、3.4項「ドキュメント定義の作成」を参照)、様々なパラメータを設定できます。図3-8に、HL7ドキュメントのドキュメント定義パラメータを示します。
表3-4に、HL7ドキュメントのドキュメント定義パラメータを示します。
表3-4 HL7ドキュメントのドキュメント定義パラメータ
パラメータ | 説明 |
---|---|
「トランザクション」タブ |
- |
「参照」ボタンを使用して、ECSファイルを検索します。 |
|
「ルーティング」タブ |
- |
バックエンド・アプリケーションに対してコンシューマ名を設定します。 |
|
「XPath」タブ |
詳細は、3.2.2.1項「カスタムXMLドキュメントのXPath式の構成方法」を参照してください。 |
ペイロードから値を取得するためのXML XPath名。 |
|
ペイロードから値を取得するためのXML XPath式。 |
|
ペイロードから値を取得するためのXML XPath名。 |
|
ペイロードから値を取得するためのXML XPath式。 |
|
ペイロードから値を取得するためのXML XPath名。 |
|
ペイロードから値を取得するためのXML XPath式。 |
|
「相関」タブ |
- |
相関を開始するための相関プロパティの名前。 |
|
相関を開始するためにペイロードから値を取得するためのXML XPath。 |
|
相関のための相関プロパティの名前。 |
|
相関のためにペイロードから値を取得するためのXML XPath。 |
|
「アプリケーション」タブ |
- |
内部アプリケーション・ドキュメントの名前。 |
|
ドキュメント内のサブ分類。 |
|
XSLTファイルの名前。 |
ドキュメント定義では、メッセージの検証に使用されるドキュメント・プロトコル(ドキュメント・プロトコル・バージョンおよびドキュメント・タイプ)が指定されます。ドキュメント定義には、HL7メッセージの場合はECSファイル、XMLメッセージの場合はXSD/DTDを使用できます。
トランザクションにエンドポイントを参加させると、同じドキュメント定義が使用されます。ドキュメント定義は、ドキュメント・プロトコル、プロトコル・バージョンおよびドキュメント・タイプの標準に準拠する必要があります。
注意: ドキュメント定義が標準に準拠するようにするには、Oracleドキュメント・エディタを使用してドキュメントのガイドライン・ファイルを作成し、ドキュメント定義の作成時にはOracle SOA Suite for healthcare integrationユーザー・インタフェースを使用して、それらのファイルをインポートします。 |
Oracleドキュメント・エディタを使用してトランザクション・セット・ファイルを作成したら、Oracle SOA Suite for healthcare integrationユーザー・インタフェースを使用して、ドキュメント定義を作成し、トランザクション・セット・ファイルをインポートします。
注意: ドキュメント・バージョン、ドキュメント・タイプおよびドキュメント定義は、作成後は編集できません。特定のドキュメント要素(バージョン、タイプまたは定義)を削除して、新しく作成する必要があります。作成後にドキュメント要素を更新すると、メタデータの不整合、メタデータ検証の問題、ランタイム・エラーが発生する原因となる場合があります。 |
ドキュメント定義を作成するには:
Oracle SOA Suite for healthcare integrationにログオンします。「構成」タブが選択された状態でOracle SOA Suite for healthcare integrationユーザー・インタフェースが開きます。
左側のナビゲーション・パネルで「ドキュメント・プロトコル」を開きます。サポートされているプロトコル、すなわちカスタムとHL 7 V2.xのリストが表示されます。
図3-9に示すように、いずれかのドキュメント・プロトコル(たとえばHL7)を選択し、「作成」ボタンをクリックします。「ドキュメント・バージョンの作成」ウィンドウが表示されます。
注意: または、ドキュメント・プロトコル名を右クリックして、ショートカット・メニューから「作成」を選択することもできます。 |
注意: ドキュメント・プロトコル・バージョンの作成ダイアログ・ボックスに、プロトコル・バージョン名(例: 2.3.1)を入力します。 |
「名前」フィールドにドキュメント・プロトコル・バージョン名を入力します。
必要に応じてドキュメント・バージョンのパラメータを指定し、「OK」をクリックします。
このバージョンがドキュメントの識別に使用されます。大/小文字を区別できます。プロトコル標準に準拠した固定構文を使用します。
図3-10に、HL7 V2.3.1ドキュメントのドキュメント・プロトコル・バージョンのページを示します。
パラメータの詳細は、表3-2「HL7ドキュメントのドキュメント・バージョン・パラメータ」を参照してください。
新たに作成したバージョン名をクリックして、「作成」ボタンをクリックすると、「ドキュメント・タイプの作成」ウィンドウが表示されます。または、バージョン名を右クリックして、ショートカット・メニューから「作成」を選択することもできます。
ドキュメント・タイプ名を入力し、ドキュメント・タイプ・パラメータを必要に応じて指定して、「OK」をクリックします。
図3-11に、HL7 V2.3.1ドキュメントのドキュメント・タイプ・パラメータのページを示します。
ドキュメント・タイプ・パラメータの詳細は、表3-3「HL7ドキュメントのドキュメント・タイプ・パラメータ」を参照してください。
新しいドキュメント・タイプ名を選択した状態で、「作成」をクリックすると、「ドキュメント定義の作成」ウィンドウが表示されます。
ドキュメント定義名を入力して、次を行います:
任意のドキュメント・プロトコルに対して、オプションの定義ファイル(XSDファイル)を参照します。
必要なHL7用トランザクション・セットECSファイルまたは位置指定フラット・ファイルを参照します。
必要に応じてドキュメント定義のパラメータを指定し、「OK」をクリックします。
図3-12に、HL7 V2.3.1ドキュメントのドキュメント定義パラメータのページを示します。
定義パラメータの詳細は、次の表を参照してください。
注意: インストール後スクリプトを使用して標準ライブラリをインストールし、hl7 doctypesファイルをインポートしてHealthcareコンソールにドキュメント・ツリーを作成することもできます。 |