Uso di Patient-everything nel servizio FHIR

L'operazione Patient-everything 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 in blocco correlato a un paziente. In base alla specifica FHIR® (Fast Healthcare Interoperability Resources), Patient-everything restituisce tutte le informazioni correlate a uno o più pazienti descritti nella risorsa o nel contesto in cui viene richiamata questa operazione. Nel servizio FHIR in Servizi dati di integrità di Azure, Patient-everything è disponibile per eseguire il pull dei dati correlati a un paziente specifico.

Usare Patient-everything

Per chiamare Patient-everything, usare il comando seguente:

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

Annotazioni

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

Il servizio FHIR verifica che sia in grado di trovare il paziente corrispondente all'ID paziente specificato. Se viene trovato un risultato, la risposta è un bundle di tipo searchset con le informazioni seguenti:

  • Risorsa paziente.
  • Risorse a cui fa riferimento direttamente la risorsa paziente
  • Se sono presenti riferimenti di collegamento seealso ad altri pazienti, i risultati includono l'operazione Patient-everything sui pazienti seealso elencati.
  • Risorse nel compartimento dei pazienti.
  • Risorse del dispositivo che fanno riferimento alla risorsa paziente.

Annotazioni

Verranno restituiti fino ai primi 100 dispositivi collegati a un paziente.

Parametri generali del paziente

Il servizio FHIR supporta i parametri di query seguenti. Tutti questi parametri sono facoltativi.

Query parameter (Parametro di query) Descrizione
_type Consente di specificare i tipi di risorse che verranno inclusi nella risposta. Ad esempio, _type=Encounter restituirà solo Encounter le risorse associate al paziente.
_since Restituisce solo le risorse modificate dopo l'ora specificata.
Inizio Se si specifica la data di inizio, verranno prese in considerazione le risorse la cui data clinica è successiva alla data di inizio specificata. Se non viene specificata alcuna data di inizio, tutti i record prima della data di fine sono inclusi nell'ambito.
end Specificando la data di fine, viene eseguito il pull nelle risorse in cui la data clinica è precedente alla data di fine specificata. Se non viene specificata alcuna data di fine, tutti i record dopo la data di inizio sono inclusi nell'ambito.

Annotazioni

Questa implementazione di Patient-everything non supporta il parametro _count.

In una risorsa paziente è presente un elemento denominato link, 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. Descrive un aggiornamento a un paziente. Questo aggiornamento può essere archiviato come riferimento tra due pazienti nell'elemento di collegamento.

La specifica FHIR offre una panoramica dettagliata dei diversi tipi di collegamenti ai pazienti, ma qui è incluso un riepilogo generale:

  • replaces : la risorsa Paziente sostituisce un altro paziente.
  • refer - Il paziente è valido, ma non è considerato la fonte principale di informazioni. Punta a un altro paziente per recuperare informazioni aggiuntive.
  • seealso - Il paziente contiene un collegamento a un altro paziente ugualmente valido.
  • replace-by : la risorsa Paziente sostituisce un altro Paziente.

L'operazione Patient-everything nel servizio FHIR elabora i collegamenti dei pazienti in modi diversi per offrire la visione più olistica del paziente.

Annotazioni

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

Al momento, sostituzioni e collegamenti di riferimento sono inclusi nell'operazione Patient-everything come parte del paziente collegato all'interno del compartimento del paziente.

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

Annotazioni

Questa operazione è configurata per seguire solo i collegamenti seealso a un solo livello di profondità. Non elabora i collegamenti seealso di un collegamento seealso.

Vedere anche diagramma di flusso.

Il tipo di collegamento finale viene sostituito da. In questo caso, la risorsa paziente originale non viene più usata e il collegamento replaced-by punta al paziente che deve essere usato. Questa implementazione di Patient-everything include per impostazione predefinita un risultato dell'operazione all'inizio del bundle con un avviso che indica 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 handling=strict per generare un errore. In questo caso, la restituzione 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.

Annotazioni

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

Ordine di risposta di Patient-everything

L'operazione Patient-everything restituisce i risultati in fasi:

  1. La fase 1 restituisce la Patient risorsa stessa oltre a qualsiasi risorsa generalPractitioner e managingOrganization a cui fa riferimento.
  2. Le fasi 2 e 3 restituiscono entrambe le risorse nel compartimento dei pazienti. Se vengono specificati i parametri di query start o end, la fase 2 restituisce risorse dal compartimento che possono essere filtrate in base alla loro data clinica, mentre la fase 3 restituisce risorse dal compartimento che non possono essere filtrate in base alla data clinica. Se nessuno di questi parametri viene specificato, la fase 2 viene ignorata e la fase 3 restituisce tutte le risorse del raggruppamento dei pazienti.
  3. La fase 4 restituisce tutti i dispositivi che fanno riferimento al paziente.

Ogni fase restituisce i risultati in un pacchetto. Se i risultati si estendono su più pagine, il collegamento successivo nel bundle punterà alla pagina successiva dei risultati per tale fase. Dopo aver restituito tutti i risultati di una fase, il collegamento successivo nel bundle punterà 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 Patient-everything

Di seguito sono riportati alcuni esempi di utilizzo dell'operazione Patient-everything. Oltre a questi esempi, è disponibile un file REST di esempio che illustra il funzionamento del seealso comportamento e replaced-by .

Per usare Patient-everything per eseguire una query su "tutto" del paziente tra il 2010 e il 2020, usare la chiamata seguente.

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

Per usare Patient-everything per eseguire una query sull'osservazione e sull'incontro di un paziente, usare la chiamata seguente.

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

Per usare Patient-everything per eseguire una 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 viene trovato un paziente per ognuna di queste chiamate, si otterrà una risposta 200 con una Bundle delle risorse corrispondenti.

Passaggi successivi

Ora che si è appreso come usare l'operazione Patient-everything, è possibile ottenere informazioni sulle opzioni di ricerca. Per ulteriori informazioni, consultare.

Annotazioni

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