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 $exportkontrollerar 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}}). Observera att du måste skapa containern i Data Lake Storage Gen2-kontot i förväg 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 begränsas. 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 $export åtgärd har slutförts och alla data har skrivits i en mapp exporterar FHIR-tjänsten inte något till den mappen igen, eftersom 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/ndjsoneller 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 anges 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 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 exporten sann ögonblicksbildsvy, eller med andra ord möjliggör tidsresor.
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 anropa FHIR-tjänst-API:et med en DELETE begäran. Senare kan du fråga $export jobbet igen och försöka igen.

Mer information om hur du avbryter en $export åtgärd finns i dokumentationen om massborttagning av databegäran från HL7.

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 ytterligare alternativ för export finns i:

FHIR® är ett registrerat varumärke som tillhör HL7 och används med tillstånd av HL7.