Konwertowanie danych na standard FHIR dla usługi Azure API for FHIR
Ważne
Usługa Azure API for FHIR zostanie wycofana 30 września 2026 r. Postępuj zgodnie ze strategiami migracji, aby przejść do usługi Azure Health Data Services FHIR® do tej daty. Ze względu na wycofanie usługi Azure API for FHIR nowe wdrożenia nie będą możliwe od 1 kwietnia 2025 r. Usługa FHIR usług Azure Health Data Services to rozwinięta wersja usługi Azure API for FHIR, która umożliwia klientom zarządzanie usługami FHIR, DICOM i MedTech z integracją z innymi usługami platformy Azure.
Niestandardowy $convert-data
punkt końcowy w usłudze FHIR® jest przeznaczony do konwersji danych z różnych typów danych na FHIR. Używa aparatu szablonu Liquid i szablonów z projektu FHIR Converter jako szablonów domyślnych. Te szablony konwersji można dostosować zależnie od potrzeb.
$convert-data
Obecnie niestandardowy punkt końcowy obsługuje cztery typy konwersji danych:
Format danych źródła | Format danych docelowych |
---|---|
C-CDA | FHIR |
HL7v2 | FHIR |
JSON | FHIR |
FHIR STU3 | FHIR R4 |
Uwaga
Punkt $convert-data
końcowy może służyć jako składnik w potoku eksportu, przekształcania, ładowania (ETL) na potrzeby konwersji nieprzetworzonych danych opieki zdrowotnej ze starszych formatów na format FHIR. Jednak nie jest to potok ETL. Zalecamy użycie aparatu ETL, takiego jak Logic Apps lub Azure Data Factory, do pełnego przepływu pracy w przygotowaniu danych FHIR do utrwalania na serwerze FHIR. Przepływ pracy może obejmować odczytywanie i pozyskiwanie danych, walidację danych, wykonywanie $convert-data
wywołań interfejsu API, przetwarzanie wstępne/końcowe danych, wzbogacanie danych i deduplikowanie danych.
Korzystanie z punktu końcowego $convert-data
Operacja $convert-data
jest zintegrowana z usługą FHIR do uruchomienia w ramach usługi. Po włączeniu $convert-data
na serwerze można wykonywać wywołania interfejsu API na serwerze w celu przekonwertowania danych na środowisko FHIR przy użyciu polecenia https://<<FHIR service base URL>>/$convert-data
.
Zasób parametru
$convert-data
Pobiera zasób Parametr w treści żądania zgodnie z opisem w poniższej tabeli. W treści żądania wywołania interfejsu API należy uwzględnić następujące parametry:
Nazwa parametru | opis | Dopuszczalne wartości |
---|---|---|
inputData | Dane do przekonwertowania. | 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 (ACR). Jest to obraz zawierający szablony Liquid do użycia do konwersji. Może to być odwołanie do szablonów domyślnych lub obrazu szablonu niestandardowego zarejestrowanego w usłudze FHIR. Zapoznaj się z poniższymi tematami, aby dowiedzieć się więcej na temat dostosowywania szablonów, hostowania ich w usłudze ACR i rejestrowania 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_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" FHIR STU3": Zasób STU3, na przykład Nazwa, "Pacjent", "Obserwacja", "Organizacja". |
Uwaga
Szablony FHIR STU3 do R4 są "różnicowe" szablony Liquid, które zapewniają mapowania różnic pól tylko między zasobem STU3 i jego równoważnym zasobem w standardzie FHIR R4. Nazwa niektórych zasobów STU3 została zmieniona lub usunięta z R4. Zapoznaj się z tematem Różnice zasobów i ograniczenia dotyczące konwersji STU3 do R4.
Uwaga
Szablony JSON to przykładowe szablony do użycia, a nie "domyślne" szablony zgodne ze wstępnie zdefiniowanymi typami komunikatów JSON. Format JSON nie ma standardowych typów komunikatów, w przeciwieństwie do komunikatów HL7v2 ani dokumentów C-CDA. Zamiast szablonów domyślnych udostępniamy przykładowe szablony, których można użyć jako przewodnika początkowego dla własnych dostosowanych szablonów.
Ostrzeżenie
Szablony domyślne są wydawane w ramach licencji MIT i nie są obsługiwane przez pomoc techniczna firmy Microsoft.
Szablony domyślne są udostępniane tylko w celu ułatwienia rozpoczęcia pracy. Mogą one zostać zaktualizowane podczas aktualizowania wersji interfejsu API platformy Azure for FHIR. Musisz zweryfikować zachowanie konwersji i hostować własną kopię szablonów w usłudze Azure Container Registry, zarejestrować je w interfejsie AZURE API for FHIR do użycia w wywołaniach interfejsu API. Jest to konieczne w przypadku spójnego zachowania konwersji danych w różnych wersjach usługi Azure API for FHIR.
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": "transaction",
"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"
}
}
]
}
Dostosowywanie szablonów
Możesz użyć rozszerzenia FHIR Converter dla programu Visual Studio Code, aby dostosować szablony zgodnie z potrzebami. Rozszerzenie zapewnia interaktywne środowisko edycji i ułatwia pobieranie opublikowanych przez firmę Microsoft szablonów i przykładowych danych. Aby uzyskać więcej informacji, zapoznaj się z dokumentacją w rozszerzeniu.
Uwaga
Rozszerzenie FHIR Converter dla programu Visual Studio Code jest dostępne dla szablonów HL7v2, C-CDA i JSON Liquid. Szablony FHIR STU3 do R4 Liquid nie są obecnie obsługiwane.
Hostowanie szablonów i używanie ich
Zaleca się hostowanie własnej kopii szablonów w usłudze ACR. Istnieją cztery kroki związane z hostem własnej kopii szablonów i używanie ich w $convert-data
operacji:
- Wypchnij szablony do usługi Azure Container Registry.
- Włącz tożsamość zarządzaną w wystąpieniu usługi Azure API for FHIR.
- Zapewnianie dostępu do usługi ACR do tożsamości zarządzanej usługi Azure API for FHIR.
- Zarejestruj serwery usługi ACR w usłudze Azure API for FHIR.
- Opcjonalnie skonfiguruj zaporę usługi ACR pod kątem bezpiecznego dostępu.
Wypychanie szablonów do usługi Azure Container Registry
Po utworzeniu wystąpienia usługi ACR można użyć polecenia FHIR Converter: Push Templates w rozszerzeniu FHIR Converter, aby wypchnąć dostosowane szablony do usługi ACR. Alternatywnie możesz użyć narzędzia interfejsu wiersza polecenia zarządzania szablonami.
Włączanie tożsamości zarządzanej w usłudze Azure API for FHIR
Przejdź do wystąpienia usługi Azure API for FHIR w witrynie Azure Portal, a następnie wybierz blok Tożsamość . Zmień stan na Wł. , aby włączyć tożsamość zarządzaną w usłudze Azure API for FHIR.
Zapewnianie dostępu do usługi ACR do usługi Azure API for FHIR
Przejdź do bloku Kontrola dostępu (IAM).
Wybierz pozycję Dodaj, a następnie wybierz pozycję Dodaj przypisanie roli, aby otworzyć stronę Dodawanie przypisania roli.
Aby uzyskać więcej informacji na temat przypisywania ról w witrynie Azure Portal, zobacz Role wbudowane platformy Azure.
Rejestrowanie serwerów usługi ACR w usłudze Azure API for FHIR
Serwer usługi ACR można zarejestrować w witrynie Azure Portal lub przy użyciu interfejsu wiersza polecenia.
Rejestrowanie serwera usługi ACR przy użyciu witryny Azure Portal
Przejdź do bloku Artefakty w obszarze Przekształcanie danych w wystąpieniu usługi Azure API for FHIR. Zostanie wyświetlona lista aktualnie zarejestrowanych serwerów usługi ACR. Wybierz pozycję Dodaj, a następnie wybierz serwer rejestru z menu rozwijanego. Musisz wybrać pozycję Zapisz , aby rejestracja weszła w życie. Zastosowanie zmiany i ponowne uruchomienie wystąpienia może potrwać kilka minut.
Rejestrowanie serwera usługi ACR przy użyciu interfejsu wiersza polecenia
W usłudze Azure API for FHIR można zarejestrować maksymalnie 20 serwerów usługi ACR.
W razie potrzeby zainstaluj interfejs wiersza polecenia usługi Azure Health Data Services z poziomu programu Azure PowerShell:
az extension add -n healthcareapis
Zarejestruj serwery acr w usłudze Azure API for FHIR, wykonując następujące przykłady:
Rejestrowanie pojedynczego serwera usługi ACR
az healthcareapis acr add --login-servers "fhiracr2021.azurecr.io" --resource-group fhir-test --resource-name fhirtest2021
Rejestrowanie wielu serwerów usługi ACR
az healthcareapis acr add --login-servers "fhiracr2021.azurecr.io fhiracr2020.azurecr.io" --resource-group fhir-test --resource-name fhirtest2021
Konfigurowanie zapory usługi ACR
Wybierz pozycję Sieć dla konta usługi Azure Storage w portalu.
Wybierz pozycję Wybrane sieci.
W sekcji Zapora określ adres IP w polu Zakres adresów. Dodaj zakresy adresów IP, aby zezwolić na dostęp z Internetu lub sieci lokalnych.
W poniższej tabeli znajdziesz adres IP regionu świadczenia usługi Azure, w którym aprowizowana jest usługa Azure API for FHIR.
Azure Region | Publiczny adres IP |
---|---|
Australia Wschodnia | 20.53.47.210 |
Brazylia Południowa | 191.238.72.227 |
Kanada Środkowa | 20.48.197.161 |
Indie Centralne | 20.192.47.66 |
Wschodnie stany USA | 20.62.134.242, 20.62.134.244, 20.62.134.245 |
Wschodnie stany USA 2 | 20.62.60.115, 20.62.60.116, 20.62.60.117 |
Francja Środkowa | 51.138.211.19 |
Niemcy Północne | 51.116.60.240 |
Niemcy Środkowo-Zachodnie | 20.52.88.224 |
Japonia Wschodnia | 20.191.167.146 |
Japonia Zachodnia | 20.189.228.225 |
Korea Środkowa | 20.194.75.193 |
Północno-środkowe stany USA | 52.162.111.130, 20.51.0.209 |
Europa Północna | 52.146.137.179 |
Katar Środkowy | 20.21.36.225 |
Północna Republika Południowej Afryki | 102.133.220.199 |
South Central US | 20.65.134.83 |
Southeast Asia | 20.195.67.208 |
Szwecja Środkowa | 51.12.28.100 |
Szwajcaria Północna | 51.107.247.97 |
Południowe Zjednoczone Królestwo | 51.143.213.211 |
Zachodnie Zjednoczone Królestwo | 51.140.210.86 |
Zachodnio-środkowe stany USA | 13.71.199.119 |
West Europe | 20.61.103.243, 20.61.103.244 |
Zachodnie stany USA 2 | 20.51.13.80, 20.51.13.84, 20.51.13.85 |
Zachodnie stany USA 3 | 20.150.245.165 |
Uwaga
Powyższe kroki są podobne do kroków konfiguracji opisanych w dokumencie Jak wyeksportować dane FHIR. Aby uzyskać więcej informacji, zobacz Bezpieczny eksport do usługi Azure Storage
Weryfikacja
Wywołaj interfejs API określając odwołanie do $convert-data
szablonu w parametrze templateCollectionReference.
<RegistryServer>/<imageName>@<imageDigest>
Następne kroki
W tym artykule przedstawiono konwersję danych dla usługi Azure API for FHIR. Aby uzyskać więcej informacji na temat powiązanych projektów GitHub dla interfejsu API platformy Azure for FHIR, zobacz
Uwaga
FHIR® jest zastrzeżonym znakiem towarowym HL7 i jest używany z uprawnieniem HL7.