EMPI に対する PIX クエリと PDQ クエリの実行
InterSystems は、外部の EMPI (エンタープライズ・マスタ患者インデックス) に対して確率論的クエリと決定論的クエリの両方を実行できます。
EMPI に対する決定論的クエリの実行 (PIXv3)
インターシステムズ製品は、IHE “PIXv3” プロファイルを介した EMPI に対する決定論的クエリをサポートします。PIX クエリは、MRN (医療レコード番号) と割り当て機関を提供し、単一の患者の名前と MPI ID を受信します。
このセクションでは、以下の項目について説明します。
PIX クエリのメッセージ・トレース
以下の図に、アノテーション付きの PIX クエリのメッセージ・トレースを示します。
図に示されているテスト・サービスは、単純なメッセージ・ルータです。トレース操作は、中間処理の各段階を可視化するユーティリティです。図中の番号は、以下の手順の各段階に一致します。
PIX クエリの手順
-
MRN と割り当て機関が含まれる Patient Search RequestOpens in a new tab メッセージを InterSystems PIX Consumer 操作に提供します。
-
InterSystems PIX Consumer 操作は、TransformPatientSearchToPIX 設定で指定された変換を使用して、メッセージを IHE “PIXv3_QueryRequest” に変換します。
-
続いて、InterSystems PIX Consumer 操作は、ServiceName 設定で指定されたサービスに PIX 要求を転送します。この設定は通常は PIXv3.Manager で、別のシステム内にある PIX Manager アクターのエンドポイントの場所を指すサービス・レジストリ・エントリを参照します。
-
他のシステム上にある PIX Manager は、一致がある場合、単一の患者の名前と MPI ID が含まれる PIX 応答メッセージを返します。
-
InterSystems PIX Consumer 操作は、TransformPIXToPatientSearch で指定された変換を使用して、応答を Patient Search ResponseOpens in a new tab メッセージに変換します。
-
InterSystems PIX Consumer は、患者が見つかった場合、その患者の名前と MPI ID が含まれる Patient Search ResponseOpens in a new tab メッセージを返します。患者が見つからない場合、応答メッセージはゼロの <ResultsCount> を示します。エラーが発生した場合、PIX Consumer は null を返します。
PIX クエリのコンポーネントと設定
コンポーネント | 設定 |
---|---|
ビジネス・ホスト | PIX Consumer : HS.IHE.PIXv3.Consumer.OperationsOpens in a new tab |
プロダクション設定 | PIX Consumer 操作内の TransformPatientSearchToPIX |
プロダクション設定 | PIX Consumer 操作内の ServiceName |
プロダクション設定 | PIX Consumer 操作内の TransformPIXToPatientSearch |
プロダクション・メッセージ | HS.Message.PatientSearchRequestOpens in a new tab |
プロダクション・メッセージ | HS.Message.PatientSearchResponseOpens in a new tab |
XSL 変換 | IHE/PIX/Version1/PatientSearchToPRPAIN201309UV.xsl |
XSL 変換 | IHE/PIX/Version1/PRPAIN201310UVToPatientSearchResponse.xsl |
サービス・レジストリ・エントリ | PIXv3.Manager |
外部 IHE アクター・エンドポイント | PIX Manager |
PIX クエリの例
以下のメソッドは PIX クエリを生成します。
ClassMethod PIXQuery()
{
/// Create Patient Search Request message
Set obj=##class(HS.Message.PatientSearchRequest).%New()
//Provide the Patient MRN
Set obj.AssigningAuthority="EXTERNAL" //refers to an Assigning Authority entry in the OID Registry
Set obj.MRN="1111222"
// Send to the routing service (or directly to HS.IHE.PIXv3.Consumer.Operations)
Do ##class(HS.Test.Service).SendSync(obj,.pr)
quit
}
EMPI に対する確率論的クエリの実行 (PDQv3)
インターシステムズ製品は、IHE “PDQv3” プロファイルを介した EMPI に対する確率論的クエリをサポートします。PDQ クエリでは、患者基本情報の部分セットを提供し、指定した基本情報に一致する 1 つ以上の MPI ID (患者) の完全な基本情報を受信します。
このセクションでは、以下の項目について説明します。
PDQ クエリのメッセージ・トレース
以下の図に、アノテーション付きの PDQ クエリのメッセージ・トレースを示します。
図に示されているテスト・サービスは、単純なメッセージ・ルータです。トレース操作は、トレース内の中間処理の各段階を可視化するユーティリティです。図中の番号は、以下の手順の各段階に一致します。
PDQ クエリの手順
-
部分的な基本情報が含まれる Patient Search RequestOpens in a new tab メッセージを InterSystems PDQ Consumer に提供します。
-
InterSystems PDQ Consumer は、TransformPatientSearchToPDQ 設定で指定された変換を使用して、メッセージを IHE “PDQv3_QueryRequest” に変換します。
-
その後、InterSystems PDQ Consumer は、ServiceName 設定で指定された別のシステム上にある PDQ Supplier エンドポイントに PDQ 要求を転送します。
-
他のシステム上にある PDQ Supplier は、提供された部分的な基本情報に一致するすべての患者の完全な基本情報が含まれる PDQ 応答メッセージを返します。
-
InterSystems PDQ Consumer は、TransformPDQToPatientSearch で指定された変換を使用して、応答を Patient Search ResponseOpens in a new tab メッセージに変換します。
-
InterSystems PDQ Consumer は、一致する患者の完全な基本情報と MPI ID が含まれる Patient Search ResponseOpens in a new tab メッセージを返します。患者が見つからない場合、応答メッセージはゼロの <ResultsCount> を示します。エラーが発生した場合、PDQ Consumer は null を返します。
PDQ クエリのコンポーネントと設定
コンポーネント | 設定 |
---|---|
ビジネス・ホスト | PDQ Consumer : HS.IHE.PDQv3.Consumer.OperationsOpens in a new tab |
プロダクション設定 | PDQ Consumer 内の TransformPatientSearchToPDQ |
プロダクション設定 | PDQ Consumer 内の ServiceName |
プロダクション設定 | PDQ Consumer 内の TransformPDQToPatientSearch |
プロダクション・メッセージ | HS.Message.PatientSearchRequestOpens in a new tab |
プロダクション・メッセージ | HS.Message.PatientSearchResponseOpens in a new tab |
XSL 変換 | IHE/PDQ/Version1/PatientSearchToPRPAIN201305UV.xsl |
XSL 変換 | IHE/PDQ/Version1/PRPAIN201306UVToPatientSearchResponse.xsl |
サービス・レジストリ・エントリ | PDQv3.Supplier |
外部 IHE アクター・エンドポイント | PDQ Supplier |
PDQ クエリの例
以下のメソッドは PDQ クエリを生成します。
ClassMethod PDQQuery()
{
// Create Patient Search Request message
Set obj=##class(HS.Message.PatientSearchRequest).%New()
// Provide patient demographics
Set obj.FirstName="James"
Set obj.LastName="Smith"
// Required only for HS.Test.Service to distinguish between PIX/PDQ
Do obj.AdditionalInfo.SetAt(1,"PDQ")
// Send to the routing service (or directly to HS.IHE.PDQv3.Consumer.Operations)
Do ##class(HS.Test.Service).SendSync(obj,.sr)
quit
}