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 unRelatedPerson
oggetto . - Se sono
seealso
presenti riferimenti di collegamento ad altri pazienti, i risultati includono l'operazione paziente-tutto rispetto aiseealso
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.
Elaborazione dei collegamenti dei pazienti
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.
Dettagli sui pazienti
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 RelatedPerson
oggetto . 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.
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:
- La fase 1 restituisce la
Patient
risorsa stessa oltre ai riferimenti ir e allegeneralPractitioner
managingOrganization
risorse. - 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.
- 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.