FHIR サービスの $convert-data
Note
2024 年 5 月に、FHIR サービスから分離され、プレビュー用のコンテナー (Docker) イメージとしてパッケージ化されたスタンドアロンの FHIR コンバーター API をリリースしました。 FHIR コンバーターは、レコードのソースから FHIR R4 バンドルへのデータ変換を可能にするだけでなく、次のような多くの新しい機能を備えています。
- レコードのソースと FHIR R4 バンドルの間の双方向データ変換。 FHIR コンバーターは、たとえば、FHIR R4 形式のデータを元の HL7v2 形式に戻す変換を行うことができます。
- 既定の Liquid テンプレートのカスタマイズに関するエクスペリエンスの向上。
- Azure Data Factory (ADF) を使用して ETL (抽出、変換、読み込み) パイプラインを作成する方法を示すサンプル。
FHIR コンバーターのコンテナー イメージを実装するには、 「FHIR コンバーターの GitHub プロジェクト」を参照してください。
FHIR® サービスの $convert-data
操作を使用すると、さまざまな形式の健康データを FHIR R4 データに変換することができます。 $convert-data
操作では、FHIR Converter プロジェクトの Liquid テンプレートを FHIR データ変換に使用します。 これらの変換テンプレートは必要に応じてカスタマイズすることができます。
$convert-data
操作では、次の 4 種類のデータ変換がサポートされています。
- HL7v2 から FHIR R4
- C-CDA から FHIR R4
- JSON から FHIR R4 (カスタム変換マッピング用)
- FHIR STU3 から FHIR R4
$convert-data エンドポイントを使用する
$convert-data
エンドポイントを ETL (抽出、変換、読み込み) パイプライン内のコンポーネントとして使用して、さまざまな形式 (HL7v2、CCDA、JSON、FHIR STU3 など) から FHIR 形式に健康データを変換します。 健康データを変換するときは、完全なワークフローの ETL パイプラインを作成します。 Azure Logic Apps または Azure Data Factory に基づく ETL エンジンを使用することをお勧めします。 たとえば、ワークフローには、データ インジェスト、 $convert-data
操作の実行、検証、データの前処理および後処理、データ エンリッチメント、データ重複除去、FHIR サービスで永続化するためのデータの読み込みが含まれます。
$convert-data
操作は、REST API アクションとして FHIR サービスに統合されます。 次のように $convert-data
エンドポイントを呼び出すことができます。
POST {{fhirurl}}/$convert-data
変換用の健康データは、$convert-data
要求の本文で FHIR サービスに配信されます。 要求が成功すると、FHIR サービスは、FHIR R4 に変換されたデータを FHIR バンドル応答で返します。
パラメーター
$convert-data
操作呼び出しでは、要求の本文に含まれる JSON 形式のパラメーター内に変換用の健康データをパッケージ化します。 パラメーターについては次の表で説明します。
パラメーター名 | 説明 | 指定可能な値 |
---|---|---|
inputData | FHIR に変換されるデータ ペイロード。 | Hl7v2 の場合: string Ccda の場合: XML Json の場合: JSON FHIR STU3 の場合: JSON |
inputDataType | データ入力の種類。 | Hl7v2 、Ccda 、Json , Fhir |
templateCollectionReference | Azure Container Registry の OCI イメージ テンプレート コレクションへの参照。 参照先は、変換に使用する Liquid テンプレートを含むイメージです。 既定のテンプレートまたは FHIR サービス内に登録されたカスタム テンプレート イメージのどちらかを参照できます。 次以降のセクションでは、テンプレートのカスタマイズ、Azure Container Registry でのテンプレートのホスト、FHIR サービスへの登録について説明します。 | 既定/サンプル テンプレートの場合: HL7v2 テンプレート: microsofthealth/fhirconverter:default microsofthealth/hl7v2templates:default C-CDA テンプレート: microsofthealth/ccdatemplates:default JSON テンプレート: microsofthealth/jsontemplates:default FHIR STU3 テンプレート: microsofthealth/stu3tor4templates:default カスタム テンプレートの場合: <RegistryServer>/<imageName>@<imageDigest> 、<RegistryServer>/<imageName>:<imageTag> |
rootTemplate | データの変換中に使用するルート テンプレート。 | HL7v2 の場合: ADT_A01、ADT_A02、ADT_A03、ADT_A04、ADT_A05、ADT_A08、ADT_A11、ADT_A13、ADT_A14、ADT_A15、ADT_A16、ADT_A25、ADT_A26、ADT_A27、ADT_A28、ADT_A29、ADT_A31、ADT_A47、ADT_A60、OML_O21、ORU_R01、ORM_O01、VXU_V04、SIU_S12、SIU_S13、SIU_S14、SIU_S15、SIU_S16、SIU_S17、SIU_S26、MDM_T01、MDM_T02 C-CDA の場合: CCD、ConsultationNote、DischargeSummary、HistoryandPhysical、OperativeNote、ProcedureNote、ProgressNote、ReferralNote、TransferSummary JSON の場合: ExamplePatient、Stu3ChargeItem FHIR STU3 の場合: FHIR STU3 リソース名 (例: Patient、Observation、Organization) |
考慮事項
FHIR STU3 から FHIR R4 へのテンプレートは Liquid テンプレートであり、FHIR STU3 リソースと FHIR R4 仕様における同等のリソースとの間のフィールドの違いのみのマッピングを提供します。 一部の FHIR STU3 リソースは、名前が変更されるか、FHIR R4 から削除されます。 FHIR STU3 から FHIR R4 への変換のリソースの違いと制約の詳細については、「FHIR STU3 から FHIR R4 への変換のリソースの相違点と制約」を参照してください。
JSON テンプレートは、独自の変換マッピングを構築する際に使用するサンプル テンプレートです。 これらは、定義済みの健康データ メッセージの種類に準拠する既定のテンプレートではありません。 HL7v2 や C-CDA と異なり、JSON 自体は健康データ形式として指定されていません。 その結果、当社では既定の JSON テンプレートを提供する代わりに、ユーザー独自のカスタマイズされたマッピングの開始点として、いくつかのサンプル JSON テンプレートを提供します。
警告
既定のテンプレートは MIT ライセンスに基づいてリリースされており、Microsoft ではサポートされていません。
既定のテンプレートは、データ変換ワークフローの開始を補助するためにのみ用意されています。 これらの既定のテンプレートは運用環境向けではなく、Microsoft が FHIR サービスの更新プログラムをリリースするときに変更される可能性があります。 FHIR サービスの異なるバージョン間で一貫したデータ変換動作を行うには、次の操作を行う必要があります。
- Azure Container Registry インスタンスでテンプレートの独自のコピーをホストします。
- テンプレートを FHIR サービスに登録します。
- 登録したテンプレートを API 呼び出しで使用します。
- 変換動作が要件を満たしていることを確認します。
独自のテンプレートをホストする方法の詳細については、「独自のテンプレートをホストする」を参照してください。
要求のサンプル
{
"resourceType": "Parameters",
"parameter": [
{
"name": "inputData",
"valueString": "MSH|^~\\&|SIMHOSP|SFAC|RAPP|RFAC|20200508131015||ADT^A01|517|T|2.3|||AL||44|ASCII\nEVN|A01|20200508131015|||C005^Whittingham^Sylvia^^^Dr^^^DRNBR^D^^^ORGDR|\nPID|1|3735064194^^^SIMULATOR MRN^MRN|3735064194^^^SIMULATOR MRN^MRN~2021051528^^^NHSNBR^NHSNMBR||Kinmonth^Joanna^Chelsea^^Ms^^D||19870624000000|F|||89 Transaction House^Handmaiden Street^Wembley^^FV75 4GJ^GBR^HOME||020 3614 5541^PRN|||||||||C^White - Other^^^||||||||\nPD1|||FAMILY PRACTICE^^12345|\nPV1|1|I|OtherWard^MainRoom^Bed 183^Simulated Hospital^^BED^Main Building^4|28b|||C005^Whittingham^Sylvia^^^Dr^^^DRNBR^D^^^ORGDR|||CAR|||||||||16094728916771313876^^^^visitid||||||||||||||||||||||ARRIVED|||20200508131015||"
},
{
"name": "inputDataType",
"valueString": "Hl7v2"
},
{
"name": "templateCollectionReference",
"valueString": "microsofthealth/fhirconverter:default"
},
{
"name": "rootTemplate",
"valueString": "ADT_A01"
}
]
}
応答のサンプル
{
"resourceType": "Bundle",
"type": "batch",
"entry": [
{
"fullUrl": "urn:uuid:9d697ec3-48c3-3e17-db6a-29a1765e22c6",
"resource": {
"resourceType": "Patient",
"id": "9d697ec3-48c3-3e17-db6a-29a1765e22c6",
...
...
},
"request": {
"method": "PUT",
"url": "Location/50becdb5-ff56-56c6-40a1-6d554dca80f0"
}
}
]
}
FHIR 変換の結果は、バッチとしての FHIR バンドルです。
- FHIR バンドルは、FHIR R4 仕様 - バンドル - FHIR v4.0.1 の期待に沿ったものである必要があります。
- 特定のプロファイルに対して検証を行う場合は、FHIR $validate 操作を使用して後処理を行う必要があります。
次のステップ
Azure portal を使用して $convert-data の設定を構成する
Note
FHIR® は HL7 の登録商標であり、HL7 の許可を得て使用しています。