$convert danych w usłudze FHIR
Uwaga
W maju 2024 r. opublikowaliśmy autonomiczny interfejs API FHIR oddzielony od usługi FHIR® i spakowany jako obraz kontenera (Docker) w wersji zapoznawczej. Oprócz umożliwienia konwersji danych ze źródła rekordu na pakiety FHIR R4 konwerter FHIR oferuje wiele nowych możliwości sieciowych, takich jak:
- Dwukierunkowa konwersja danych ze źródła rekordu na pakiety FHIR R4 i z powrotem. Na przykład konwerter FHIR może konwertować dane z formatu FHIR R4 z powrotem na format HL7v2.
- Ulepszone środowisko dostosowywania domyślnych szablonów Liquid .
- Przykłady pokazujące sposób tworzenia potoku ETL (wyodrębnianie, przekształcanie, ładowanie) za pomocą usługi Azure Data Factory (ADF).
Aby zaimplementować obraz kontenera konwertera FHIR, zobacz projekt GitHub konwerterA FHIR.
Operacja $convert-data
w usłudze FHIR umożliwia konwertowanie danych kondycji z różnych formatów na dane FHIR® R4 . Operacja $convert-data
używa szablonów Liquid z projektu FHIR Converter na potrzeby konwersji danych FHIR. Te szablony konwersji można dostosować zależnie od potrzeb.
Operacja $convert-data
obsługuje cztery typy konwersji danych:
- HL7v2 do FHIR R4
- C-CDA do FHIR R4
- JSON do FHIR R4 (przeznaczony do niestandardowych mapowań konwersji)
- FHIR STU3 to FHIR R4
Korzystanie z punktu końcowego $convert-data
$convert-data
Użyj punktu końcowego jako składnika w potoku ETL (wyodrębnianie, przekształcanie i ładowanie) na potrzeby konwersji danych kondycji z różnych formatów (na przykład: HL7v2, CCDA, JSON i FHIR STU3) do formatu FHIR. Utwórz potok ETL dla kompletnego przepływu pracy podczas konwertowania danych dotyczących kondycji. Zalecamy korzystanie z aparatu ETL opartego na usłudze Azure Logic Apps lub Azure Data Factory. Na przykład przepływ pracy może obejmować pozyskiwanie danych, wykonywanie $convert-data
operacji, walidację, przetwarzanie wstępne i końcowe danych, wzbogacanie danych, deduplikację danych i ładowanie danych w celu trwałości w usłudze FHIR.
Operacja $convert-data
jest zintegrowana z usługą FHIR jako akcją interfejsu API REST. Punkt końcowy można wywołać $convert-data
w następujący sposób:
POST {{fhirurl}}/$convert-data
Dane dotyczące kondycji konwersji są dostarczane do usługi FHIR w treści $convert-data
żądania. Jeśli żądanie zakończy się pomyślnie, usługa FHIR zwraca odpowiedź pakietu FHIR z danymi przekonwertowanymi na FHIR R4.
Parametry
Wywołanie $convert-data
operacji pakuje dane kondycji do konwersji wewnątrz parametrów w formacie JSON w treści żądania. Parametry zostały opisane w poniższej tabeli.
Nazwa parametru | Opis | Dopuszczalne wartości |
---|---|---|
inputData | Ładunek danych, który ma zostać przekonwertowany na FHIR. | Dla Hl7v2 ciągu : Dla Ccda : XML Dla Json : JSON Dla FHIR STU3 : JSON |
inputDataType | Typ danych wejściowych. | Hl7v2 , , Ccda , , Json Fhir |
templateCollectionReference | Odwołanie do kolekcji szablonów obrazów OCI w usłudze Azure Container Registry. Odwołanie dotyczy obrazu zawierającego szablony Liquid do użycia do konwersji. Może odwoływać się do szablonów domyślnych lub do niestandardowego obrazu szablonu zarejestrowanego w usłudze FHIR. W poniższych sekcjach omówiono dostosowywanie szablonów, hostowanie ich w usłudze Azure Container Registry i rejestrowanie się w usłudze FHIR. | W przypadku szablonów domyślnych/przykładowych : Szablony HL7v2 : microsofthealth/fhirconverter:default microsofthealth/hl7v2templates:default Szablony C-CDA : microsofthealth/ccdatemplates:default Szablony JSON : microsofthealth/jsontemplates:default Szablony FHIR STU3 : microsofthealth/stu3tor4templates:default W przypadku szablonów niestandardowych : <RegistryServer>/<imageName>@<imageDigest> , <RegistryServer>/<imageName>:<imageTag> |
rootTemplate | Szablon główny do użycia podczas przekształcania danych. | Dla 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 W przypadku C-CDA: CCD, ConsultationNote, DischargeSummary, HistoryandPhysical, OperativeNote, ProcedureNote, ProgressNote, ReferralNote, TransferSummary W przypadku formatu JSON: ExamplePatient, Stu3ChargeItem Dla FHIR STU3: Nazwa zasobu FHIR STU3 (na przykład: Pacjent, Obserwacja, Organizacja) |
Kwestie wymagające rozważenia
Szablony FHIR STU3 to FHIR R4 to Szablony Liquid, które zapewniają mapowania różnic pól tylko między zasobem FHIR STU3 a jego równoważnym zasobem w specyfikacji FHIR R4. Niektóre zasoby FHIR STU3 zostały zmienione lub usunięte z FHIR R4. Aby uzyskać więcej informacji na temat różnic zasobów i ograniczeń konwersji FHIR STU3 na FHIR R4, zobacz Różnice zasobów i ograniczenia konwersji FHIR STU3 do FHIR R4.
Szablony JSON to przykładowe szablony do użycia podczas tworzenia własnych mapowań konwersji. Nie są one domyślnymi szablonami, które są zgodne z żadnymi wstępnie zdefiniowanymi typami komunikatów o kondycji. Sam kod JSON nie jest określony jako format danych kondycji, w przeciwieństwie do formatu HL7v2 lub C-CDA. W związku z tym zamiast udostępniać domyślne szablony JSON, udostępniamy przykładowe szablony JSON jako punkt wyjścia dla własnych dostosowanych mapowań.
Ostrzeżenie
Szablony domyślne są wydawane w ramach licencji MIT i nie są obsługiwane przez firmę Microsoft.
Szablony domyślne są udostępniane tylko w celu ułatwienia rozpoczęcia pracy konwersji danych. Te szablony domyślne nie są przeznaczone do produkcji i mogą ulec zmianie, gdy firma Microsoft wyda aktualizacje usługi FHIR. Aby zapewnić spójne zachowanie konwersji danych w różnych wersjach usługi FHIR, należy wykonać następujące czynności:
- Hostowanie własnej kopii szablonów w wystąpieniu usługi Azure Container Registry.
- Zarejestruj szablony w usłudze FHIR.
- Użyj zarejestrowanych szablonów w wywołaniach interfejsu API.
- Sprawdź, czy zachowanie konwersji spełnia Twoje wymagania.
Aby uzyskać więcej informacji na temat hostowania własnych szablonów, zobacz Hostowanie własnych szablonów
Przykładowe żądanie
{
"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"
}
]
}
Przykładowa odpowiedź
{
"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"
}
}
]
}
Wynikiem konwersji FHIR jest pakiet FHIR jako partia.
- Pakiet FHIR powinien być zgodny z oczekiwaniami specyfikacji FHIR R4 - Bundle - FHIR v4.0.1.
- Jeśli próbujesz zweryfikować określony profil, musisz wykonać pewne czynności po przetworzeniu, korzystając z operacji $validate FHIR.
Następne kroki
Konfigurowanie ustawień $convert danych przy użyciu witryny Azure Portal
Rozwiązywanie problemów z $convert-data
Często zadawane pytania dotyczące $convert-data
Uwaga
FHIR® jest zastrzeżonym znakiem towarowym HL7 i jest używany z uprawnieniem HL7.