MRM HL7 メッセージ・セットを使用しているアプリケーションおよびインターフェースのマイグレーション・アドバイス
IBM Integration Bus Healthcare Pack バージョン 3.0.0.1 以降のバージョンでは、HL7 メッセージでの繰り返し (maxOccurs > 1) フィールドおよびコンポーネントの構文解析が変更されました。
IBM Integration Bus Healthcare Pack バージョン 3.0.0.1 より前の Healthcare のバージョンでは、繰り返しフィールドまたは繰り返しコンポーネントの空のオカレンスが検出されると、その繰り返し項目の構文解析は強制終了されます。その繰り返し項目の残りのデータがある場合は、次のフィールドまたはコンポーネントに割り当てられます。この動作は、MRM パーサーの文書化されている動作に整合していますが、HL7 には最適とはいえません。
IBM Integration Bus Healthcare Pack バージョン 3.0.0.1 以降のバージョンでは、フィールドまたはコンポーネントが繰り返せる (maxOccurs > 1) 場合、そこにはメッセージ・セット内で nillable のマークが付きます。 その項目のすべての空のオカレンスは、NULL の値でメッセージ・ツリーに入れられます。空でないオカレンスは、通常どおりに構文解析されます。
ほとんどのメッセージ・フローは、この動作変化の影響を受けません。ただし、前のバージョンの Healthcare の動作を補正するために、繰り返しフィールドおよび繰り返しコンポーネントを処理する一部のメッセージ・フローを変更している場合があります。それらのメッセージ・フローの一部は、この動作変化の影響を受ける可能性があります。
既存の HL7 アプリケーションが、以前のバージョンの Healthcare の動作に依存していない場合は、IBM Integration Bus Healthcare Pack バージョン 3.0.0.1 以降のバージョンで提供されているメッセージ・セットを使用できます。
Healthcare の以前のバージョンの動作を補正するために既存のメッセージ・フローのコードを変更した場合は、HL7v25P メッセージ・セットの既存のバージョンを使用する必要があります。IBM Integration Bus Healthcare Pack バージョン 3.0.0.1 以降のバージョンに標準装備されている HL7v25P メッセージ・セットを使用してはなりません。 Healthcare のメッセージ・セットの既存のバージョンを使用することにより、既存のバージョンの動作が維持され、メッセージ・フローの予期しない動作変更が回避されます。
HL7 の DFDL スキーマは、HL7DFDLInput ノード、およびすべての DFDL ベース・パターンによって使用されます。IBM Integration Bus Healthcare Pack バージョン 3.0.0.1 以降のバージョンでは、空の繰り返しフィールドが検出されると、これらのスキーマがメッセージ・ツリーに NULL を挿入します。繰り返しでないフィールドおよびコンポーネントには影響はありません。 NULL の挿入により、メッセージ・セットを使用しているパターンとの整合性が維持されます。IBM Integration Bus Healthcare Pack バージョン 3.0.0.1 以降のバージョンでは、NULL が挿入されると、メッセージ・ツリーにフィールドまたはコンポーネントが表示される可能性があります。前のバージョンの Healthcare では、DFDL スキーマによって省略されていました。 特別なマイグレーション手順は必要ありません。