Dela via


Använda Patient-everything i FHIR-tjänsten

Patient-allt-åtgärden används för att ge en överblick över alla resurser som är relaterade till en patient. Den här åtgärden kan vara användbar för att ge patienterna åtkomst till hela sin post eller för en leverantör eller annan användare att utföra en massnedladdning av data relaterade till en patient. Enligt FHIR-specifikationen® (Fast Healthcare Interoperability Resources) returnerar Patient-everything all information relaterad till en eller flera patienter som beskrivs i resursen eller kontexten där den här åtgärden anropas. I FHIR-tjänsten i Azure Health Data Services (kallas härmed FHIR-tjänst) är patient allt tillgängligt för att hämta data som är relaterade till en specifik patient.

Använda patient-allt

Om du vill anropa Patient-everything använder du följande kommando:

GET {FHIRURL}/Patient/{ID}/$everything

Anteckning

Du måste ange ett ID för en specifik patient. Om du behöver alla data för alla patienter kan du läsa $export.

FHIR-tjänsten verifierar att den kan hitta den patient som matchar det angivna patient-ID:t. Om ett resultat hittas blir svaret ett paket av typen searchset med följande information:

  • Patientresurs.
  • Resurser som refereras direkt av patientresursen, förutom länkreferenser som inte också visas eller om seealso länken refererar till en RelatedPerson.
  • Om det finns seealso länkreferenser till andra patienter inkluderar resultaten patient-allt-operation mot de seealso patienter som anges.
  • Resurser i patientutrymmet.
  • Enhetsresurser som refererar till patientresursen.

Anteckning

Om patienten har fler än 100 enheter kopplade till sig returneras endast 100.

Parametrar för allt för patienten

FHIR-tjänsten stöder följande frågeparametrar. Alla dessa parametrar är valfria:

Frågeparameter Beskrivning
_Typ Gör att du kan ange vilka typer av resurser som ska ingå i svaret. Till exempel returnerar _type=Encounter endast Encounter resurser som är associerade med patienten.
_Sedan Returnerar endast resurser som har ändrats sedan den angivna tiden.
start Om du anger startdatumet hämtas resurser där deras kliniska datum är efter det angivna startdatumet. Om inget startdatum anges finns alla poster före slutdatumet i omfånget.
slut Om du anger slutdatumet hämtas resurser där deras kliniska datum är före det angivna slutdatumet. Om inget slutdatum anges finns alla poster efter startdatumet i omfånget.

Anteckning

Den här implementeringen av Patient-everything stöder inte parametern _count.

På en patientresurs finns det ett element som kallas länk, som länkar en patient till andra patienter eller relaterade personer. Dessa länkade patienter hjälper till att ge en holistisk syn på den ursprungliga patienten. Länkreferensen kan användas när en patient ersätter en annan patient eller när två patientresurser har kompletterande information. Ett användningsfall för länkar är när ett ADT 38- eller 39 HL7v2-meddelande kommer. Den beskriver en uppdatering av en patient. Den här uppdateringen kan lagras som en referens mellan två patienter i länkelementet.

FHIR-specifikationen har en detaljerad översikt över de olika typerna av patientlänkar, men vi har tagit med en sammanfattning på hög nivå:

  • ersätter – Patientresursen ersätter en annan patient.
  • se – Patienten är giltig, men den anses inte vara den huvudsakliga informationskällan. Pekar på en annan patient för att hämta ytterligare information.
  • seealso – Patienten innehåller en länk till en annan patient som är lika giltig.
  • byts ut – Patientresursen ersätter en annan patient.

Patient-allt-operationen i FHIR-tjänsten bearbetar patientlänkar på olika sätt för att ge dig den mest holistiska synen på patienten.

Anteckning

En länk kan också referera till en RelatedPerson. Just nu RelatedPerson bearbetas inte resurser i Patient-allt och returneras inte i paketet.

Just nu ignoreras ersättnings - och referenslänkar av patient-allt-åtgärden och den länkade patienten returneras inte i paketet.

Enligt beskrivningen refererar länkarna till en annan patient som anses vara lika giltig som originalet. När patient-allt-operationen har körts, om patienten har seealso kopplingar till andra patienter, kör operationen Patient-allt på varje seealso länk. Det innebär att om en patient länkar till fem andra patienter med en typlänk seealso kör vi Patient-allt på var och en av dessa fem patienter.

Anteckning

Detta är konfigurerat för att endast följa seealso länkar ett lager djupt. Den bearbetar inte länkarna för en seealso länk seealso .

Se även flödesdiagram.

Den slutliga länktypen ersätts av. I det här fallet används inte längre den ursprungliga patientresursen replaced-by och länken pekar på den patient som ska användas. Den här implementeringen av Patient-everything inkluderar som standard ett åtgärdsresultat i början av paketet med en varning om att patienten inte längre är giltig. Detta kommer också att vara beteendet när rubriken är inställd på Preferhandling=lenient.

Dessutom kan du ange Prefer att rubriken handling=strict ska generera ett fel i stället. I det här fallet indikerar en retur av felkoden 301 MovedPermanently att den aktuella patienten är inaktuell och returnerar ID:t för rätt patient som ingår i länken. Rubriken ContentLocation för det returnerade felet pekar på rätt och uppdaterad begäran.

Anteckning

Om en replaced-by länk finns Prefer: handling=lenient och resultaten returneras asynkront i flera paket returneras endast ett åtgärdsresultat i ett paket.

Patient-allt svarsordning

Patient-everything-åtgärden returnerar resultat i faser:

  1. Fas 1 returnerar själva resursen Patient utöver alla generalPractitioner ir-referenser och managingOrganization resursreferenser.
  2. Fas 2 och 3 returnerar båda resurserna i patientutrymmet. start Om frågeparametrarna eller end frågeparametrarna anges returnerar fas 2 resurser från facket som kan filtreras efter deras kliniska datum, och fas 3 returnerar resurser från facket som inte kan filtreras efter deras kliniska datum. Om ingen av dessa parametrar anges hoppas fas 2 över och fas 3 returnerar alla resurser i patientutrymmet.
  3. Fas 4 returnerar alla enheter som refererar till patienten.

Varje fas returnerar resultat i ett paket. Om resultaten sträcker sig över flera sidor pekar nästa länk i paketet på nästa sida med resultat för den fasen. När alla resultat från en fas returneras pekar nästa länk i paketet på anropet för att initiera nästa fas.

Om den ursprungliga patienten har några seealso länkar upprepas faserna 1 till 4 för var och en av dessa patienter.

Exempel på patient-allt

Här är några exempel på hur du använder patient-allt-åtgärden. Förutom de här exemplen har vi en REST-exempelfil som illustrerar hur beteendet seealso och replaced-by fungerar.

Använd följande anrop för att använda Patient-allt för att fråga en patients "allt" mellan 2010 och 2020:

GET {FHIRURL}/Patient/{ID}/$everything?start=2010&end=2020

Använd följande anrop om du vill använda Patient-everything för att fråga en patients Observation and Encounter:

GET {FHIRURL}/Patient/{ID}/$everything?_type=Observation,Encounter 

Använd följande anrop för att använda Patient-everything för att fråga en patients "allt" sedan 2021-05-27T05:00:00Z:

GET {FHIRURL}/Patient/{ID}/$everything?_since=2021-05-27T05:00:00Z 

Om en patient hittas för vart och ett av dessa anrop får du tillbaka 200 svar med en Bundle av motsvarande resurser.

Nästa steg

Nu när du vet hur du använder patient-allt-åtgärden kan du lära dig om sökalternativen. Mer information finns i

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