実行時の患者更新の統合処理の概要
この項では、患者の更新を処理するためにhandleHL7_MLLP_6200_INBOUND親統合によって起動されるprocessADT_A08子統合における主要なコンポーネント職責の実行時概要を示します。 processADT_A08子統合は、EMRアプリケーションで最初に更新された患者詳細を使用して、FHIR患者リポジトリおよび病理システムを自動的に更新します。
統合の処理
- 「RESTアダプタ」トリガー接続(ReceiveMessage)は、handleHL7_MLLP_6200_INBOUND親統合からインバウンド・メッセージを受信します。

子統合には、同じ名前のマップ・アクションの後にヘルスケア・アクション(ConvertMessage)が含まれます。
- ヘルスケア・アクション構成のビューには、「メッセージ参照をドキュメントに変換」操作が選択されていることが示されます。 この操作により、インバウンドHL7ドキュメントがOracle Integration-mappable形式に変換されます。

- マップ・アクション(ConvertMessage)はマッピングを示します。

- switchアクションの「ルート1」ブランチ内のassignアクション(assignID)は、メッセージ内のFHIR患者IDをチェックします。 IDがある場合は、メッセージから抽出されます。

- 抽出されたIDで、患者がFHIR患者リポジトリに存在することを確認するチェックが行われます。

次のアクションが実行されます。
- 「FHIRアダプタ」 (check4Patient)が呼び出され、患者がFHIRサーバー・リポジトリに存在するかどうかが確認されます。

- マップ・アクション(check4Patient)は、FHIR患者IDを渡します。

- 「FHIRアダプタ」 (check4Patient)が呼び出され、患者がFHIRサーバー・リポジトリに存在するかどうかが確認されます。
- リポジトリで患者IDが見つかった場合、変数はassignアクション(Assignment5)で割り当てられます。
patientExists = 'TRUE'
- FHIR IDは、2つのブランチを持つパラレル・アクション(「パラレル」)に渡されます。 パラレル・アクションを使用すると、統合のパスを複数のブランチに分割できます。 各分岐は互いに独立しているため、並行して処理されます。 このユース・ケースでは、両方の外部アプリケーションを更新するためにパラレル・ブランチが提供されます:
- FHIR患者リポジトリ(ブランチ1)
- 病理システム(ブランチ2)
FHIR患者リポジトリの更新
- パラレル・アクションの最初のブランチには、2つのルートを持つswitchアクションが含まれます。
- switchアクションの最初のブランチは、新しい患者をFHIR患者リポジトリに追加するかどうかを識別します。 最初のブランチのポップアップ・メッセージは、patientExistsの代入がfalseの場合、患者をFHIR患者リポジトリに挿入することを示します。

次のアクションが実行されます。
- 「FHIRアダプタ」 (insertPatient)は、患者をFHIRサーバー・リポジトリに挿入します。

- マップ・アクション(insertPatient)は、ターゲット「患者」にマップされている「トランザクション・データ」の下にあるソースHL7メッセージ・ペイロードを示します。

- 展開されたPID:PID要素には、患者名、性別、自宅電話番号などの特定の患者マッピングが表示されます。

- 「FHIRアダプタ」 (insertPatient)は、患者をFHIRサーバー・リポジトリに挿入します。
- switchアクションの2番目のブランチは、既存の患者を更新するかどうかを識別します。 最初のブランチのポップアップ・メッセージは、patientExistsの割当てがtrueと等しい場合、FHIR患者リポジトリで患者を更新することを示します。

次のアクションが実行されます。
- 「FHIRアダプタ」 (updatetPatient)は、FHIRサーバー・リポジトリ内の患者を更新します。

- マップ・アクション(updatetPatient)は、ターゲット「患者」にマップされている「トランザクション・データ」の下にあるソースHL7メッセージ・ペイロードを示します。

- 展開されたPID:PID要素には、患者ID、名前、性別、自宅電話番号などの特定の患者マッピングが表示されます。

- switchアクションの最初のブランチは、新しい患者をFHIR患者リポジトリに追加するかどうかを識別します。 最初のブランチのポップアップ・メッセージは、patientExistsの代入がfalseの場合、患者をFHIR患者リポジトリに挿入することを示します。
- 展開されたアクティビティ・ストリームは、患者がすでに存在し、FHIRサーバー・リポジトリで更新されたことを示しています。

病理システムの更新
- パラレル・アクションの2番目のブランチは、病理システムを更新します。 EMRアプリケーションではHL7バージョン2.5が使用され、病理システムではHL7バージョン2.3.1が使用されるため、以前のバージョンへのメッセージ変換を実行する必要があります。

- 展開されたマッパー(Translate2NativeHL7)には、設計時にユーザーが実行したHL7バージョンの2.5ソースおよびHL7バージョンの2.3.1ターゲット要素のマッピング(患者ID、患者名、生年月日など)が表示されます。

ドキュメントを病理システムに送信する前に、ヘルスケア・アクションでOracle Integration XML形式からHL7形式に変換する必要があります。
- ヘルスケア・アクション(Translate2NativeHL7)構成のビューは、「アウトバウンド・メッセージへの変換」操作が選択されていることを示しています。 この操作により、アウトバウンドXML形式のペイロード・メッセージが、「ドキュメントの選択」フィールドで選択されたHL7バージョンの2.3.1形式のペイロード・メッセージに変換されます。 ヘルスケア・アクションは、MLLPアダプタ呼出し接続に直接渡すヘルスケア・メッセージ参照を生成します。

- 「MLLPアダプタ」呼出し接続(MLLPAdapter_Outbound)は、更新のためにHL7バージョンの2.3.1メッセージを病理システムに送信します。

- 展開されたアクティビティ・ストリームのログ出力アクション(logOutboundMessage)は、HL7 2.3.1メッセージが送信されたことを示しています。

統合が完了しました。 EMRアプリケーション患者詳細の更新は、FHIR患者リポジトリおよび病理システムで自動的に同期されています。