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 enRelatedPerson
. - Om det finns
seealso
länkreferenser till andra patienter inkluderar resultaten Patient-everything-operation mot deseealso
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.
Bearbeta patientlänkar
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-allt patient länkar information
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
.
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å Prefer
handling=lenient
.
Dessutom kan du ställa in rubriken handling=strict
på Prefer
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:
- Fas 1 returnerar själva resursen
Patient
utöver allageneralPractitioner
ir-referenser ochmanagingOrganization
resursreferenser. - 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.
- 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.