FHIR 서비스의 $convert-data
참고 항목
2024년 5월에는 FHIR 서비스에서 분리된 독립 실행형 FHIR® 변환기 API를 릴리스하고 미리 보기를 위한 컨테이너(Docker) 이미지가 패키징되었습니다. FHIR 변환기는 레코드 원본의 데이터를 FHIR R4 번들로 변환하는 것 외에도 다음과 같은 다양한 새로운 기능을 제공합니다.
- 레코드 원본에서 FHIR R4 번들로 또는 그 반대로 양방향 데이터 변환. 예를 들어, FHIR 변환기는 FHIR R4 형식의 데이터를 다시 HL7v2 형식으로 변환할 수 있습니다.
- 기본 Liquid 템플릿 사용자 지정 환경이 개선되었습니다.
- ADF(Azure Data Factory)를 사용하여 ETL(추출, 변환, 로드) 파이프라인을 만드는 방법을 보여 주는 샘플.
FHIR 변환기 컨테이너 이미지를 구현하려면 FHIR 변환기 GitHub 프로젝트를 참조하세요.
FHIR® 서비스의 $convert-data
작업을 사용하면 다양한 형식의 상태 데이터를 FHIR R4 데이터로 변환할 수 있습니다. $convert-data
작업은 FHIR 데이터 변환을 위해 FHIR 변환기 프로젝트의 Liquid 템플릿을 사용합니다. 필요에 따라 이러한 변환 템플릿을 사용자 지정할 수 있습니다.
$convert-data
작업은 네 가지 형식의 데이터 변환을 지원합니다.
- 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 의 경우: 문자열 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로의 템플릿은 FHIR STU3 리소스와 FHIR R4 사양의 해당 리소스 간에만 필드 차이의 매핑을 제공하는 Liquid 템플릿입니다. 일부 FHIR STU3 리소스는 FHIR R4에서 이름이 변경되거나 제거되었습니다. FHIR STU3-FHIR R4 변환에 대한 리소스 차이 및 제약 조건에 대한 자세한 내용은 FHIR STU3-FHIR R4 변환에 대한 리소스 차이점 및 제약 조건을 참조하세요.
JSON 템플릿은 사용자의 변환 매핑을 빌드하는 데 사용할 샘플 템플릿입니다. 이는 미리 정의된 상태 데이터 메시지 유형을 준수하는 기본 템플릿이 아닙니다. JSON 자체는 HL7v2 또는 C-CDA와 달리 상태 데이터 서식으로 지정되지 않습니다. 이로 인해 기본 JSON 템플릿을 제공하지 않고 사용자 지정 매핑의 시작점으로 몇 가지 샘플 JSON 템플릿을 제공합니다.
Warning
기본 템플릿은 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에 대한 설정 구성
참고 항목
FHIR®은 HL7의 등록 상표이며, HL7의 사용 허가 하에 사용됩니다.