140.4. HL7 DataFormat
HL7 コンポーネントには HL7 データフォーマットが同梱されており、HL7 モデルオブジェクトをマーシャリングまたはアンマーシャリングするために使用できます。
HL7 データフォーマットは、以下に示す 2 つのオプションをサポートします。
Name | デフォルト | Java タイプ | 説明 |
---|---|---|---|
validate |
|
| HL7 メッセージを検証するかどうか。デフォルトは true です。 |
contentTypeHeader |
|
| データフォーマットがデータ形式を実行できる場合に、データ形式がデータ形式の型で Content-Type ヘッダーを設定するかどうか。たとえば、XML へのデータフォーマットの application/xml、または JSon へのデータフォーマットの application/json など。 |
-
marshal
= from Message からバイトストリーム(HL7 MLLP コーデックを使用して応答する場合に使用できます)。 -
unmarshal
= バイトストリームからメッセージへの送信(HL7 MLLP からストリーミングデータを受信するときに使用可能)
データフォーマットを使用するには、インスタンスをインスタンス化し、ルートビルダーでマーシャリングまたはアンマーシャリング操作を呼び出します。
DataFormat hl7 = new HL7DataFormat(); from("direct:hl7in") .marshal(hl7) .to("jms:queue:hl7out");
上記の例では、HL7 は HAPI Message オブジェクトからバイトストリームにマーシャリングされ、JMS キューに置かれます。
次の例は逆になります。
DataFormat hl7 = new HL7DataFormat(); from("jms:queue:hl7out") .unmarshal(hl7) .to("patientLookupService");
ここでは、バイトストリームを、患者の検索サービスに渡される HAPI Message オブジェクトにアンマーシャリングします。
140.4.1. pidgin messages
HAPI 2.0( Camel 2.11で使用される)の時点で、HL7v2 モデルクラスは完全にシリアライズ可能です。そのため、HL7v2 メッセージを直接 JMS キューに置くことができます(例: marshal()
を呼び出しせずに)、再度キューから再度( unmarshal()
を呼び出すことなく)読み取ることができます。