Share via


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 de seealso 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.

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.

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.

Zie ook stroomdiagram.

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:

  1. Fase 1 retourneert de Patient resource zelf, naast alle generalPractitioner en managingOrganization resources in verwijzingen.
  2. 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.
  3. 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.