Patiënt-alles in FHIR
De patiënt-alles-bewerking wordt gebruikt om een overzicht te geven van alle resources die betrekking hebben op een patiënt. Deze bewerking kan nuttig zijn om patiënten toegang te geven tot hun hele dossier of voor een zorgverlener of andere gebruiker om bulksgewijs gegevens te downloaden met betrekking tot een patiënt. Volgens de FHIR-specificatie retourneert Patient-everything alle informatie met betrekking tot een of meer patiënten die worden beschreven in de bron of context waarop deze bewerking wordt aangeroepen. In de Azure API for FHIR is Patient-everything beschikbaar om gegevens op te halen die betrekking hebben op een specifieke patiënt.
Patiënt-alles gebruiken
Gebruik de volgende opdracht om Patient-everything aan te roepen:
GET {FHIRURL}/Patient/{ID}/$everything
Notitie
U moet een id opgeven voor een specifieke patiënt. Als u alle gegevens voor alle patiënten nodig hebt, raadpleegt u $export.
De Azure API for FHIR valideert dat de patiënt kan worden gevonden die overeenkomt met de opgegeven patiënt-id. Als er een resultaat wordt gevonden, is het antwoord een bundel van het type searchset
met de volgende informatie:
- Patiëntresource
- Resources waarnaar rechtstreeks wordt verwezen door de patiëntresource, met uitzondering van koppelingsverwijzingen die niet van seealso zijn of als de
seealso
koppeling verwijst naar een .RelatedPerson
- Als er koppelingsverwijzingen naar andere patiënten zijn
seealso
, bevatten de resultaten patiënt-alles-operatie met deseealso
vermelde patiënt(en). - Bronnen in het patiëntencompartiment
- Apparaatresources die verwijzen naar de patiëntresource.
Notitie
Als de patiënt meer dan 100 apparaten heeft gekoppeld, worden er slechts 100 geretourneerd.
Patiënt-alles parameters
De Azure API for FHIR ondersteunt de volgende queryparameters. Al deze parameters zijn optioneel:
Queryparameter | Beschrijving |
---|---|
_Type | Hiermee kunt u opgeven welke typen resources worden opgenomen in het antwoord. _type=Encounter retourneert bijvoorbeeld alleen Encounter resources die aan de patiënt zijn gekoppeld. |
_Sinds | Retourneert alleen resources die zijn gewijzigd sinds het opgegeven tijdstip. |
starten | Als u de begindatum opgeeft, worden resources opgehaald waarvan de klinische datum na de opgegeven begindatum valt. Als er geen begindatum is opgegeven, vallen alle records vóór de einddatum binnen het bereik. |
beëindigen | Als u de einddatum opgeeft, worden resources opgehaald waarvan de klinische datum vóór de opgegeven einddatum ligt. Als er geen einddatum is opgegeven, vallen alle records na de begindatum binnen het bereik. |
Notitie
Deze implementatie van Patient-everything biedt geen ondersteuning voor de parameter _count.
Patiëntkoppelingen verwerken
In een patiëntresource bevindt zich een element met de naam koppeling, waarmee een patiënt wordt gekoppeld aan andere patiënten of gerelateerde personen. Deze gekoppelde patiënten helpen een holistisch beeld van de oorspronkelijke patiënt te geven. De koppelingsverwijzing kan worden gebruikt wanneer een patiënt een andere patiënt vervangt of wanneer twee patiëntresources aanvullende informatie hebben. Een gebruiksvoorbeeld voor koppelingen is wanneer een ADT 38- of 39 HL7v2-bericht binnenkomt. De ADT38/39 beschrijft een update van een patiënt. Deze update kan worden opgeslagen als een verwijzing tussen twee patiënten in het koppelingselement.
De FHIR-specificatie bevat een gedetailleerd overzicht van de verschillende soorten patiëntkoppelingen, maar hier volgt een samenvatting op hoog niveau:
- vervangt : de patiëntresource vervangt een andere patiënt.
- refer - Patiënt is geldig, maar wordt niet beschouwd als de belangrijkste bron van informatie. Verwijst naar een andere patiënt om aanvullende informatie op te halen.
- seealso - Patiënt bevat een koppeling naar een andere patiënt die even geldig is.
- vervangen door : de patiëntresource vervangt een andere patiënt.
Patiënt-alles patiënt links details
De patiënt-alles-bewerking in Azure API for FHIR verwerkt patiëntkoppelingen op verschillende manieren om u de meest holistische weergave van de patiënt te geven.
Notitie
Een koppeling kan ook verwijzen naar een RelatedPerson
. Op dit moment RelatedPerson
worden resources niet verwerkt in Patient-everything en worden ze niet geretourneerd in de bundel.
Op dit moment worden vervangings- en verwijzingskoppelingen genegeerd door de patiënt-alles-bewerking en wordt de gekoppelde patiënt niet geretourneerd in de bundel.
Zoals beschreven, zie ook koppelingen verwijzen naar een andere patiënt die als even geldig wordt beschouwd als het origineel. Nadat de operatie Patient-everything is uitgevoerd en de patiënt koppelingen met andere patiënten heeft seealso
, wordt patient-everything op elke seealso
koppeling uitgevoerd. Dit betekent dat als een patiënt verwijst naar vijf andere patiënten met een typekoppeling seealso
, we Patient-everything uitvoeren op elk van deze vijf patiënten.
Notitie
Dit is ingesteld om koppelingen slechts één laag diep te volgen seealso
. De koppelingen van seealso
een seealso
koppeling worden niet verwerkt.
Het laatste koppelingstype wordt vervangen door. In dit geval wordt de oorspronkelijke patiëntresource niet meer gebruikt en verwijst de replaced-by
koppeling naar de patiënt die moet worden gebruikt. Deze implementatie van Patient-everything
bevat standaard een operatieresultaat aan het begin van de bundel met een waarschuwing dat de patiënt niet meer geldig is. Dit is ook het gedrag wanneer de Prefer
header is ingesteld op handling=lenient
.
Bovendien kunt u de Prefer
header instellen op handling=strict
om in plaats daarvan een fout te genereren. In dit geval geeft een retournering van foutcode 301 MovedPermanently
aan dat de huidige patiënt verouderd is en wordt de id geretourneerd voor de juiste patiënt die is opgenomen in de koppeling. De ContentLocation
header van de geretourneerde fout verwijst naar de juiste en up-to-date aanvraag.
Notitie
Als er een replaced-by
koppeling aanwezig Prefer: handling=lenient
is en de resultaten asynchroon in meerdere bundels worden geretourneerd, wordt slechts een bewerkingsresultaat in één bundel geretourneerd.
Patiënt-alles antwoordvolgorde
De operatie Patient-everything retourneert resultaten in fasen:
- Fase 1 retourneert de
Patient
resource zelf, naast allegeneralPractitioner
enmanagingOrganization
resources in verwijzingen. - Fase 2 en 3 retourneren beide middelen in het patiëntencompartiment. Als de begin- of eindqueryparameters zijn opgegeven, retourneert fase 2 resources uit het compartiment die kunnen worden gefilterd op hun klinische datum en retourneert fase 3 resources uit het compartiment die niet kunnen worden gefilterd op hun klinische datum. Als geen van deze parameters wordt opgegeven, wordt fase 2 overgeslagen en retourneert fase 3 alle patiëntcompartimenten.
- Fase 4 retourneert alle apparaten die naar de patiënt verwijzen.
Elke fase retourneert resultaten in een bundel. Als de resultaten meerdere pagina's omvatten, verwijst de volgende koppeling in de bundel naar de volgende pagina met resultaten voor die fase. Nadat alle resultaten van een fase zijn geretourneerd, verwijst de volgende koppeling in de bundel naar de aanroep om de volgende fase te starten.
Als de oorspronkelijke patiënt koppelingen seealso
heeft, worden fase 1 tot en met 4 herhaald voor elk van deze patiënten.
Voorbeelden van Patiënt-alles
Hier volgen enkele voorbeelden van het gebruik van de patiënt-alles-bewerking. Naast de voorbeelden hebben we een voorbeeld-REST-bestand dat illustreert hoe het seealso
gedrag en replaced-by
werkt.
Als u Patient-everything wilt gebruiken om tussen 2010 en 2020 een query uit te voeren, gebruikt u de volgende aanroep:
GET {FHIRURL}/Patient/{ID}/$everything?start=2010&end=2020
Als u $patient-alles wilt gebruiken om een query uit te voeren op de observatie en ontmoeting van een patiënt, gebruikt u de volgende aanroep:
GET {FHIRURL}/Patient/{ID}/$everything?_type=Observation,Encounter
Als u $patient-alles wilt gebruiken om een query uit te voeren op 'alles' van een patiënt sinds 2021-05-27T05:00:00Z, gebruikt u de volgende aanroep:
GET {FHIRURL}/Patient/{ID}/$everything?_since=2021-05-27T05:00:00Z
Als voor elk van deze aanroepen een patiënt wordt gevonden, krijgt u een antwoord van 200 met een Bundle
van de bijbehorende resources.
Volgende stappen
Nu u weet hoe u de patiënt-alles-bewerking moet gebruiken, kunt u meer te weten komen over de zoekopties.
FHIR® is een gedeponeerd handelsmerk van HL7 en wordt gebruikt met toestemming van HL7.