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 enRelatedPerson
. - Om det finns
seealso
länkreferenser till andra patienter inkluderar resultaten patient-allt-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 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.
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. 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 patient länkar information
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
.
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å Prefer
handling=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:
- Fas 1 returnerar själva resursen
Patient
utöver allageneralPractitioner
ir-referenser ochmanagingOrganization
resursreferenser. - Fas 2 och 3 returnerar båda resurserna i patientutrymmet.
start
Om frågeparametrarna ellerend
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. - 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.