Dela via


Patient-allt i FHIR

Patient-everything-åtgärden används för att ge en översikt ö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 som är relaterad till en patient. Enligt FHIR-specifikationen 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 Azure API för FHIR är Patient-allt tillgängligt för att hämta data som är relaterade till en specifik patient.

Använda Patient-everything

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 viss patient. Om du behöver alla data för alla patienter kan du läsa $export.

Azure API för FHIR verifierar att den kan hitta patienten 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 är av seealso eller om seealso länken refererar till en RelatedPerson.
  • Om det finns seealso länkreferenser till andra patienter inkluderar resultaten Patient-everything-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 patient-allt

Azure API för FHIR 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 det kliniska datumet infaller 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 infaller 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. ADT38/39 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 här är en översikt:

  • 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.
  • replaced-by – Patientresursen ersätter en annan patient.

Patient-everything-åtgärden i Azure API för FHIR 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-everything 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 länkar 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 med. 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 ställa in rubriken handling=strictPrefer för att utlösa ett fel i stället. I det här fallet visar en retur av felkod 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 det finns Prefer: handling=lenient en replaced-by länk 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 resurser i patientutrymmet. Om start- eller slutfrå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 det kliniska datumet. Om ingen av dessa parametrar anges hoppas fas 2 över och fas 3 returnerar alla patientutrymmesresurser.
  3. Fas 4 returnerar alla enheter som hänvisar till patienten.

Varje fas returnerar resultat i ett paket. Om resultatet 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 följer några exempel på hur du använder patient-allt-åtgärden. Förutom exemplen har vi en REST-exempelfil som illustrerar hur beteendet seealso och replaced-by fungerar.

Om du vill använda Patient-everything för att fråga mellan 2010 och 2020 använder du följande anrop:

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

Använd följande anrop om du vill använda $patient-allt för att fråga efter en patients observation och möte:

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

Om du vill använda $patient-allt för att fråga efter en patients "allt" sedan 2021-05-27T05:00:00Z använder du följande anrop:

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 ett 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 mer om sökalternativen.

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