$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ć zgodnie z potrzebami.

Operacja $convert-data obsługuje cztery typy konwersji danych:

  • HL7v2 do FHIR R4
  • C-CDA do FHIR R4
  • Format JSON do FHIR R4 (przeznaczony do mapowań konwersji niestandardowych)
  • 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 Hl7v2ciągu :
Dla Ccda: XML
Dla Json: JSON
Dla FHIR STU3: JSON
inputDataType Typ danych wejściowych. Hl7v2, , Ccda, , JsonFhir
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. Dlatego 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:

  1. Hostowanie własnej kopii szablonów w wystąpieniu usługi Azure Container Registry.
  2. Zarejestruj szablony w usłudze FHIR.
  3. Użyj zarejestrowanych szablonów w wywołaniach interfejsu API.
  4. 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 danymi $convert

często zadawane pytania dotyczące $convert danych

Uwaga

FHIR® jest zastrzeżonym znakiem towarowym HL7 i jest używany z uprawnieniem HL7.