Exportera dina FHIR-data
Genom att använda massåtgärden $export
i FHIR-tjänsten® kan du exportera data enligt beskrivningen i specifikationen HL7 FHIR Bulk Data Access.
Innan du försöker använda $export
kontrollerar du att FHIR-tjänsten är konfigurerad för att ansluta till ett Azure Data Lake Storage Gen2-konto. Information om hur du konfigurerar exportinställningar och skapar ett Data Lake Storage Gen2-konto finns i Konfigurera inställningar för export.
$export
Anropa slutpunkten
När du har konfigurerat FHIR-tjänsten för att ansluta till ett Data Lake Storage Gen2-konto kan du anropa $export
slutpunkten och FHIR-tjänsten exporterar data till en Azure Blob Storage-container i lagringskontot. Följande exempelbegäran exporterar alla resurser till en container, som anges med namn ({{containerName}}
). Obs! Du måste skapa containern i Data Lake Storage Gen2-kontot före hand om du vill ange {{containerName}}
i begäran.
GET {{fhirurl}}/$export?_container={{containerName}}
Om du inte anger ett containernamn i begäran (till exempel genom att anropa GET {{fhirurl}}/$export
) skapas en ny container med ett automatiskt genererat namn för exporterade data.
Allmän information om FHIR $export
API-specifikationen finns i dokumentationen för HL7 FHIR Export Request Flow .
FHIR-tjänsten stöder $export
på följande nivåer:
- System:
GET {{fhirurl}}/$export
- Patient:
GET {{fhirurl}}/Patient/$export
- Grupp av patienter*:
GET {{fhirurl}}/Group/[ID]/$export
*FHIR-tjänsten exporterar alla refererade resurser men exporterar inte egenskaperna för själva gruppresursen.
Data exporteras i flera filer. Varje fil innehåller endast resurser av en typ. Antalet resurser i en enskild fil är. Det maximala antalet resurser baseras på systemprestanda. Den är för närvarande inställd på 5 000, men kan ändras.
Resultatet är att du kan få flera filer för en resurstyp. Filnamnen följer formatet <resourceName>-<number>-<number>.ndjson
. Ordningen på filerna är inte garanterad att motsvara någon ordning på resurserna i databasen.
Kommentar
Patient/$export
och Group/[ID]/$export
kan exportera duplicerade resurser om en resurs finns i flera grupper eller i ett fack med mer än en resurs.
Förutom att kontrollera förekomsten av exporterade filer i ditt lagringskonto kan du kontrollera åtgärdsstatusen $export
via URL:en i Content-Location
rubriken som returneras i FHIR-tjänstsvaret. Mer information finns i dokumentationen om massdatastatusbegäran från HL7.
Exportera dina FHIR-data till Data Lake Storage Gen2
FHIR-tjänsten stöder $export
för närvarande Data Lake Storage Gen2-konton med följande begränsningar:
- Data Lake Storage Gen2 tillhandahåller hierarkiska namnområden, men det finns inget sätt att rikta
$export
åtgärder mot en specifik underkatalog i en container. FHIR-tjänsten kan endast ange målcontainern för exporten, där en ny mapp för varje$export
åtgärd skapas. - När en åtgärd har slutförts
$export
och alla data har skrivits i en mapp exporterar FHIR-tjänsten inte något till den mappen igen. Efterföljande exporter till samma container kommer att finnas i en nyligen skapad mapp.
Information om hur du exporterar data till ett lagringskonto bakom en brandvägg finns i Konfigurera inställningar för export.
Inställningar och parametrar
Sidhuvuden
Två obligatoriska rubrikparametrar måste anges för $export
jobb. Värdena anges enligt den aktuella HL7 -$export specifikationen.
- Acceptera:
application/fhir+json
- Föredrar:
respond-async
Frågeparametrar
FHIR-tjänsten stöder följande frågeparametrar för filtrering av exporterade data. Alla dessa parametrar är valfria.
Frågeparameter | Definieras av FHIR-specifikationen? | beskrivning |
---|---|---|
_outputFormat |
Ja | Stöder för närvarande tre värden för att anpassa till FHIR-specifikationen: application/fhir+ndjson , application/ndjson eller bara ndjson . Alla exportjobb returnerar .ndjson filer och det angivna värdet påverkar inte kodbeteendet. |
_since |
Ja | Gör att du bara kan exportera resurser som har ändrats sedan den angivna tiden. |
_type |
Ja | Gör att du kan ange vilka typer av resurser som ska ingå. Skulle till exempel _type=Patient bara returnera patientresurser. |
_typeFilter |
Ja | Om du vill begära finkornig filtrering kan du använda _typeFilter tillsammans med parametern _type . Värdet för parametern _typeFilter är en kommaavgränsad lista med FHIR-frågor som ytterligare begränsar resultatet. |
_container |
Nej | Anger namnet på containern i det konfigurerade lagringskontot där data ska exporteras. Om en container har angetts exporteras data till en mapp i containern. Om containern inte har angetts exporteras data till en ny container med ett automatiskt genererat namn. |
_till |
Nej | Gör att du kan exportera resurser som har ändrats fram till den angivna tiden. Den här parametern gäller endast för export på systemnivå. I det här fallet, om historiska versioner inte har inaktiverats eller rensats, garanterar export en sann ögonblicksbildvy. |
includeAssociatedData |
Nej | Gör att du kan exportera historik och mjuka borttagna resurser. Det här filtret fungerar inte med frågeparametern "_typeFilter". Inkludera värdet som "_history" för att exportera historik/icke-senaste versioner av resurser. Inkludera värdet som "_deleted" för att exportera mjukt borttagna resurser. |
Kommentar
Endast lagringskonton i samma prenumeration som FHIR-tjänsten kan registreras som mål för $export
åtgärder.
Felsöka
Följande information kan hjälpa dig att lösa problem med att exportera FHIR-data.
Jobb som fastnat i ett felaktigt tillstånd
I vissa situationer finns det en risk för att ett jobb fastnar i ett felaktigt tillstånd medan FHIR-tjänsten försöker exportera data. Detta kan inträffa särskilt om Data Lake Storage Gen2-kontobehörigheterna inte har konfigurerats korrekt.
Ett sätt att kontrollera status för åtgärden $export
är att gå till lagringskontots lagringswebbläsare och se om det finns några .ndjson
filer i exportcontainern. Om filerna inte finns och inga andra $export
jobb körs är det möjligt att det aktuella jobbet har fastnat i ett felaktigt tillstånd. I det här fallet kan du avbryta $export
jobbet genom att skicka en DELETE-begäran till url:en som anges i rubriken Content-Location för att avbryta begäran
Kommentar
I FHIR-tjänsten är standardtiden för att en $export
åtgärd ska vara inaktiv i ett felaktigt tillstånd 10 minuter innan tjänsten stoppar åtgärden och flyttas till ett nytt jobb.
Nästa steg
I den här artikeln har du lärt dig om att exportera FHIR-resurser med hjälp av åtgärden $export
. Information om hur du konfigurerar och använder andra alternativ för export finns i:
Kommentar
FHIR® är ett registrerat varumärke som tillhör HL7 och används med tillstånd av HL7.