Condividi tramite


Paziente-tutto in FHIR

L'operazione Paziente-tutto viene usata per fornire una visualizzazione di tutte le risorse correlate a un paziente. Questa operazione può essere utile per concedere ai pazienti l'accesso all'intero record o per un provider o un altro utente per eseguire un download di dati bulk correlato a un paziente. Secondo la specifica FHIR, paziente-tutto restituisce tutte le informazioni correlate a uno o più pazienti descritti nella risorsa o nel contesto in cui viene richiamata questa operazione. Nell'API di Azure per FHIR, paziente-tutto è disponibile per eseguire il pull dei dati correlati a un paziente specifico.

Usare paziente-tutto

Per chiamare Paziente-tutto, usare il comando seguente:

GET {FHIRURL}/Patient/{ID}/$everything

Nota

È necessario specificare un ID per un paziente specifico. Se sono necessari tutti i dati per tutti i pazienti, vedere $export.

L'API di Azure per FHIR convalida che può trovare il paziente corrispondente all'ID paziente specificato. Se viene trovato un risultato, la risposta sarà un bundle di tipo searchset con le informazioni seguenti:

  • Risorsa paziente
  • Risorse a cui fa riferimento direttamente la risorsa del paziente, ad eccezione dei riferimenti ai collegamenti che non sono di seealso o se il seealso collegamento fa riferimento a un RelatedPersonoggetto .
  • Se sono seealso presenti riferimenti di collegamento ad altri pazienti, i risultati includono l'operazione paziente-tutto rispetto ai seealso pazienti elencati.
  • Risorse nel compartimento dei pazienti
  • Risorse del dispositivo che fanno riferimento alla risorsa del paziente.

Nota

Se il paziente ha più di 100 dispositivi collegati a loro, verranno restituiti solo 100.

Parametri di pazienti-tutto

L'API di Azure per FHIR supporta i parametri di query seguenti. Tutti questi parametri sono facoltativi:

Query parameter (Parametro di query) Descrizione
_type Consente di specificare quali tipi di risorse verranno inclusi nella risposta. Ad esempio, _type=Encounter restituirà solo Encounter risorse associate al paziente.
_Dal Restituisce solo le risorse modificate dall'ora specificata.
Avvio Specificando la data di inizio verrà eseguito il pull delle risorse in cui la data clinica è successiva alla data di inizio specificata. Se non viene specificata alcuna data di inizio, tutti i record prima della data di fine si trovano nell'ambito.
end Specificando la data di fine verrà eseguito il pull delle risorse in cui la data clinica è prima della data di fine specificata. Se non viene specificata alcuna data di fine, tutti i record dopo la data di inizio si trovano nell'ambito.

Nota

Questa implementazione di Paziente-tutto non supporta il parametro _count.

In una risorsa paziente è presente un elemento denominato collegamento, che collega un paziente ad altri pazienti o persone correlate. Questi pazienti collegati aiutano a dare una visione olistica del paziente originale. Il riferimento al collegamento può essere usato quando un paziente sostituisce un altro paziente o quando due risorse pazienti hanno informazioni complementari. Un caso d'uso per i collegamenti è quando viene visualizzato un messaggio ADT 38 o 39 HL7v2. AdT38/39 descrive un aggiornamento a un paziente. Questo aggiornamento può essere archiviato come riferimento tra due pazienti nell'elemento di collegamento.

La specifica FHIR presenta una panoramica dettagliata dei diversi tipi di collegamenti pazienti, ma ecco un riepilogo di alto livello:

  • sostituisce : la risorsa Paziente sostituisce un paziente diverso.
  • refer : il paziente è valido, ma non è considerata la fonte principale di informazioni. Punta a un altro paziente per recuperare informazioni aggiuntive.
  • seealso : il paziente contiene un collegamento a un altro paziente che è altrettanto valido.
  • sostituito da : la risorsa Paziente sostituisce un paziente diverso.

L'operazione Paziente-tutto nell'API di Azure per FHIR elabora i collegamenti dei pazienti in modi diversi per offrire la visualizzazione più olistica del paziente.

Nota

Un collegamento può anche fare riferimento a un RelatedPersonoggetto . Al momento, RelatedPerson le risorse non vengono elaborate in Paziente-tutto e non vengono restituite nel bundle.

Al momento, sostituisce e fa riferimento ai collegamenti vengono ignorati dall'operazione Paziente-tutto e il paziente collegato non viene restituito nel bundle.

Come descritto, i collegamenti seealso fanno riferimento a un altro paziente considerato altrettanto valido per l'originale. Dopo l'esecuzione dell'operazione Paziente-tutto, se il paziente ha seealso collegamenti ad altri pazienti, l'operazione esegue Paziente-tutto su ogni seealso collegamento. Ciò significa che se un paziente collega cinque altri pazienti con un collegamento di tipo seealso , verrà eseguito Paziente-tutto su ognuno di questi cinque pazienti.

Nota

Questa opzione è configurata per seguire seealso solo i collegamenti profondi di un livello. Non elabora i collegamenti di seealso un seealso collegamento.

Vedere anche diagramma di flusso.

Il tipo di collegamento finale viene sostituito da. In questo caso, la risorsa del paziente originale non viene più usata e il replaced-by collegamento punta al paziente che deve essere usato. Questa implementazione di Patient-everything includerà per impostazione predefinita un risultato dell'operazione all'inizio del bundle con un avviso che il paziente non è più valido. Questo sarà anche il comportamento quando l'intestazione Prefer è impostata su handling=lenient.

È inoltre possibile impostare l'intestazione Prefer su per handling=strict generare un errore. In questo caso, un ritorno del codice di errore 301 MovedPermanently indica che il paziente corrente non è aggiornato e restituisce l'ID per il paziente corretto incluso nel collegamento. L'intestazione ContentLocation dell'errore restituito punta alla richiesta corretta e aggiornata.

Nota

Se è presente Prefer: handling=lenient un replaced-by collegamento e i risultati vengono restituiti in modo asincrono in più bundle, viene restituito solo un risultato dell'operazione in un bundle.

Ordine di risposta paziente-tutto

L'operazione Paziente-tutto restituisce i risultati nelle fasi:

  1. La fase 1 restituisce la Patient risorsa stessa oltre ai riferimenti ir e alle generalPractitionermanagingOrganization risorse.
  2. Fase 2 e 3 restituiscono entrambe le risorse nel compartimento del paziente. Se vengono specificati i parametri di query iniziale o finale, la fase 2 restituisce risorse dal raggruppamento che può essere filtrato dalla data clinica e la fase 3 restituisce risorse dal raggruppamento che non può essere filtrato dalla data clinica. Se non vengono specificati nessuno di questi parametri, la fase 2 viene ignorata e la fase 3 restituisce tutte le risorse del compartimento dei pazienti.
  3. La fase 4 restituirà tutti i dispositivi che fanno riferimento al paziente.

Ogni fase restituirà i risultati in un bundle. Se i risultati si estendono su più pagine, il collegamento successivo nel bundle punta alla pagina successiva dei risultati per tale fase. Dopo aver restituito tutti i risultati di una fase, il collegamento successivo nel bundle punta alla chiamata per avviare la fase successiva.

Se il paziente originale ha collegamenti seealso , le fasi da 1 a 4 verranno ripetute per ognuno di questi pazienti.

Esempi di paziente-tutto

Ecco alcuni esempi dell'uso dell'operazione Paziente-tutto. Oltre agli esempi, è disponibile un file REST di esempio che illustra il funzionamento del seealso comportamento e replaced-by .

Per usare Patient-everything per eseguire query tra il 2010 e il 2020, usare la chiamata seguente:

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

Per usare $patient-tutto per eseguire query sull'osservazione e sull'incontro di un paziente, usare la chiamata seguente:

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

Per usare $patient-tutto per eseguire query su "tutto" del paziente dal 2021-05-27T05:00:00Z, usare la chiamata seguente:

GET {FHIRURL}/Patient/{ID}/$everything?_since=2021-05-27T05:00:00Z 

Se un paziente viene trovato per ognuna di queste chiamate, si otterrà una risposta di 200 con una Bundle delle risorse corrispondenti.

Passaggi successivi

Ora che si sa come usare l'operazione Paziente-tutto, è possibile ottenere informazioni sulle opzioni di ricerca.

FHIR® è un marchio registrato di HL7 e viene usato con l'autorizzazione HL7.