Questa pagina spiega come creare, aggiornare, applicare patch, visualizzare, elencare, recuperare ed eliminare FHIR Google Cloud.
Una risorsa FHIR può contenere i dati su un paziente, un dispositivo, un'osservazione e altro ancora. Per un elenco completo delle risorse FHIR, consulta Indice delle risorse FHIR (DSTU2, STU3 o R4).
Gli esempi curl
e PowerShell in questa pagina funzionano con un datastore FHIR R4,
e non è garantito che funzionino se utilizzi un datastore FHIR DSTU2 o STU3.
Se utilizzi un repository FHIR DSTU2 o STU3, consulta la documentazione ufficiale di FHIR per informazioni su come convertire i sample nella versione FHIR in uso.
Gli esempi Go, Java, Node.js e Python funzionano con un datastore FHIR STU3.
Creazione di una risorsa FHIR
Prima di poter creare risorse FHIR, è necessario crea un datastore FHIR.
Gli esempi curl
, PowerShell e Python mostrano come creare
seguenti risorse FHIR:
- Un paziente (DSTU2, STU3 e R4) risorsa
- Un incontro (DSTU2, STU3 e R4) per il Paziente
- Un'osservazione (DSTU2, STU3 e R4) risorsa per l'incontro
Gli esempi per tutti gli altri linguaggi mostrano come creare una risorsa FHIR generica.
Per ulteriori informazioni, vedi
projects.locations.datasets.fhirStores.fhir.create
I seguenti esempi di curl
e PowerShell funzionano con gli archivi FHIR R4. Gli esempi Go, Java, Node.js e Python funzionano con gli archivi FHIR STU3.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DATASET_ID: il set di dati padre del datastore FHIR
- FHIR_STORE_ID: l'ID del datastore FHIR
Corpo JSON della richiesta:
{ "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
cat > request.json << 'EOF' { "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" } EOF
Quindi, esegui questo comando per inviare la richiesta REST:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/fhir+json" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
@' { "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui questo comando per inviare la richiesta REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/fhir+json" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Go
Java
Node.js
Python
Dopo aver creato la risorsa Patient, crea una risorsa Encounter per descrivere un'interazione tra il paziente e il medico.
Nel campo PATIENT_ID, sostituisci l'ID della risposta restituita dal server al momento della creazione della risorsa Patient.
I seguenti esempi di curl
e PowerShell funzionano con gli archivi FHIR R4. L'esempio Python funziona con gli archivi FHIR STU3.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DATASET_ID: il set di dati padre del datastore FHIR
- FHIR_STORE_ID: l'ID del datastore FHIR
- PATIENT_ID: la risposta restituita dal server durante la creazione della risorsa Patient
Corpo JSON della richiesta:
{ "status": "finished", "class": { "system": "http://hl7.org/fhir/v3/ActCode", "code": "IMP", "display": "inpatient encounter" }, "reasonCode": [ { "text": "The patient had an abnormal heart rate. She was concerned about this." } ], "subject": { "reference": "Patient/PATIENT_ID" }, "resourceType": "Encounter" }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
cat > request.json << 'EOF' { "status": "finished", "class": { "system": "http://hl7.org/fhir/v3/ActCode", "code": "IMP", "display": "inpatient encounter" }, "reasonCode": [ { "text": "The patient had an abnormal heart rate. She was concerned about this." } ], "subject": { "reference": "Patient/PATIENT_ID" }, "resourceType": "Encounter" } EOF
Quindi, esegui questo comando per inviare la richiesta REST:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/fhir+json" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Encounter"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
@' { "status": "finished", "class": { "system": "http://hl7.org/fhir/v3/ActCode", "code": "IMP", "display": "inpatient encounter" }, "reasonCode": [ { "text": "The patient had an abnormal heart rate. She was concerned about this." } ], "subject": { "reference": "Patient/PATIENT_ID" }, "resourceType": "Encounter" } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui questo comando per inviare la richiesta REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/fhir+json" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Encounter" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Python
Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nel Guida rapida dell'API Cloud Healthcare utilizzando librerie client. Per ulteriori informazioni, consulta API Python dell'API Cloud Healthcare documentazione di riferimento.
Per eseguire l'autenticazione nell'API Cloud Healthcare, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Dopo aver creato la risorsa Encounter, crea una risorsa Observation associata alla risorsa Encounter. La risorsa Osservazione fornisce una misurazione della frequenza cardiaca del paziente in battiti al minuto (B/M) (80
in bpm
).
I seguenti esempi di curl
e PowerShell funzionano con gli archivi FHIR R4. L'esempio Python funziona con gli archivi FHIR STU3.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DATASET_ID: il set di dati padre del datastore FHIR
- FHIR_STORE_ID: l'ID del datastore FHIR
- PATIENT_ID: l'ID nella risposta restituita dal server al momento della creazione della risorsa Patient
- ENCOUNTER_ID: l'ID nella risposta restituita dal server al momento della creazione della risorsa Encounter
Corpo JSON della richiesta:
{ "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "code": { "coding": [ { "system": "http://loinc.org", "code": "8867-4", "display": "Heart rate" } ] }, "valueQuantity": { "value": 80, "unit": "bpm" }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
cat > request.json << 'EOF' { "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "code": { "coding": [ { "system": "http://loinc.org", "code": "8867-4", "display": "Heart rate" } ] }, "valueQuantity": { "value": 80, "unit": "bpm" }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" } } EOF
Quindi, esegui questo comando per inviare la richiesta REST:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/fhir+json" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
@' { "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "code": { "coding": [ { "system": "http://loinc.org", "code": "8867-4", "display": "Heart rate" } ] }, "valueQuantity": { "value": 80, "unit": "bpm" }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" } } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui questo comando per inviare la richiesta REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/fhir+json" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Python
Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nel Guida rapida dell'API Cloud Healthcare utilizzando librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Healthcare Python.
Per eseguire l'autenticazione nell'API Cloud Healthcare, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Crea in modo condizionale una risorsa FHIR
Il seguente esempio di curl
mostra come utilizzare
projects.locations.datasets.fhirStores.fhir.create
per creare in modo condizionale una risorsa FHIR. Il metodo implementa
l'interazione create
condizionale FHIR (DSTU2, STU3, R4).
Puoi utilizzare la creazione condizionale per evitare di creare risorse FHIR duplicate. Ad esempio: ciascuna risorsa Patient in un server FHIR in genere ha un identificatore univoco, come un numero di cartella clinica (MRN). Per creare una nuova risorsa Pazient e assicura che non esistano risorse per i pazienti con lo stesso MRN, creare la nuova risorsa utilizzando una query di ricerca. L'API Cloud Healthcare crea la nuova risorsa solo se non esistono corrispondenze per la query di ricerca.
La risposta del server dipende dalla quantità di risorse corrispondenti alla query di ricerca:
Corrisponde a | Codice di risposta HTTP | Comportamento |
---|---|---|
Zero | 201 CREATED |
Crea la nuova risorsa. |
Uno | 200 OK |
Non crea una nuova risorsa. |
Più di uno | 412 Precondition Failed |
Non crea una nuova risorsa e restituisce un errore "search criteria are not selective enough" . |
Per utilizzare l'interazione create
condizionale anziché l'interazione create
,
specifica un'intestazione HTTP If-None-Exist
contenente una query di ricerca FHIR
nella richiesta:
If-None-Exist: FHIR_SEARCH_QUERY
Nell'API Cloud Healthcare v1, le operazioni condizionali utilizzano esclusivamente il identifier
parametro di ricerca, se esistente per il tipo di risorsa FHIR, al fine di determinare quale FHIR
risorse corrispondono a una query di ricerca condizionale.
REST
L'esempio seguente mostra come creare una risorsa Observation utilizzando un
Intestazione HTTP If-None-Exist: identifier=my-code-system|ABC-12345
. L'API Cloud Healthcare
crea la risorsa se e solo se nessuna risorsa Observation esistente corrisponde
alla query identifier=my-code-system|ABC-12345
.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/fhir+json" \ -H "If-None-Exist: identifier=my-code-system|ABC-12345" \ -d @request.json \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation"
Il seguente output di esempio mostra intenzionalmente una richiesta failed. A Visualizza la risposta di una richiesta riuscita, consulta Creazione di una risorsa FHIR.
Se più risorse Osservazioni corrispondono alla query, L'API Cloud Healthcare restituisce la seguente risposta e la query di creazione condizionale la richiesta non va a buon fine:
{
"issue": [
{
"code": "conflict",
"details": {
"text": "ambiguous_query"
},
"diagnostics": "search criteria are not selective enough",
"severity": "error"
}
],
"resourceType": "OperationOutcome"
}
Aggiornamento di una risorsa FHIR
I seguenti esempi mostrano come utilizzare projects.locations.datasets.fhirStores.fhir.update
per aggiornare una risorsa FHIR. Il metodo implementa lo standard FHIR
aggiorna interazione
(DSTU2,
STU3
e R4).
Quando aggiorni una risorsa, ne aggiorni l'intero contenuto. Ciò è in contrasto con l'applicazione di patch a una risorsa, che aggiorna solo una parte di una risorsa.
Se nell'archivio FHIR è impostato
enableUpdateCreate
la richiesta viene trattata come un upsert (aggiornamento o inserimento) che aggiorna la
risorsa se esistente o la inserisce utilizzando l'ID specificato nella richiesta se
non esiste.
Il corpo della richiesta deve contenere una risorsa FHIR con codifica JSON e la richiesta
le intestazioni devono contenere Content-Type: application/fhir+json
. La risorsa deve
contengono un elemento id
avente un valore identico all'ID nel percorso REST di
la richiesta.
I seguenti esempi di curl
e PowerShell funzionano con gli archivi FHIR R4. Gli esempi Go, Java, Node.js e Python funzionano con gli archivi FHIR STU3.
REST
Gli esempi riportati di seguito mostrano come aggiornare i battiti al minuto (B/M) in una risorsa Observation.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DATASET_ID: il set di dati padre del datastore FHIR
- FHIR_STORE_ID: l'ID del datastore FHIR
- OBSERVATION_ID: ID risorsa di osservazione
- PATIENT_ID: l'ID risorsa Paziente
- ENCOUNTER_ID: l'ID risorsa di Encounter
- BPM_VALUE: valore dei battiti al minuto (B/M) nella risorsa Osservazione aggiornata
Corpo JSON della richiesta:
{ "resourceType": "Observation", "id": "OBSERVATION_ID", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "code": { "coding": [ { "system": "http://loinc.org", "code": "8867-4", "display": "Heart rate" } ] }, "valueQuantity": { "value": BPM_VALUE, "unit": "bpm" }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
cat > request.json << 'EOF' { "resourceType": "Observation", "id": "OBSERVATION_ID", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "code": { "coding": [ { "system": "http://loinc.org", "code": "8867-4", "display": "Heart rate" } ] }, "valueQuantity": { "value": BPM_VALUE, "unit": "bpm" }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" } } EOF
Quindi, esegui questo comando per inviare la richiesta REST:
curl -X PUT \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
@' { "resourceType": "Observation", "id": "OBSERVATION_ID", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "code": { "coding": [ { "system": "http://loinc.org", "code": "8867-4", "display": "Heart rate" } ] }, "valueQuantity": { "value": BPM_VALUE, "unit": "bpm" }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" } } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui questo comando per inviare la richiesta REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PUT `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID" | Select-Object -Expand Content
Explorer API
Copia il corpo della richiesta e apri pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Esplora API. Puoi interagire con questo strumento per inviare richieste. Incolla il corpo della richiesta in questo strumento, compila gli altri campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
Go
Node.js
Python
Aggiornamento condizionale di una risorsa FHIR
Gli esempi riportati di seguito mostrano come chiamare il metodo
projects.locations.datasets.fhirStores.fhir.conditionalUpdate
per aggiornare una risorsa FHIR che corrisponde a una
anziché identificare la risorsa in base al suo ID. Il metodo implementa
Interazione di aggiornamento condizionale standard FHIR
(DSTU2,
STU3
e R4).
Un aggiornamento condizionale può essere applicato a una sola risorsa FHIR alla volta.
La risposta restituita dal server dipende dal numero di corrispondenze che si verificano in base in base ai criteri di ricerca:
- Una corrispondenza: la risorsa è stata aggiornata correttamente o viene restituito un errore.
- Più di una corrispondenza: la richiesta.
restituisce un errore
412 Precondition Failed
. - Zero corrispondenze con
id
: se i criteri di ricerca non identificano corrispondenze, il corpo della richiesta fornita contiene un valoreid
e il datastore FHIR haenableUpdateCreate
impostata sutrue
, la risorsa FHIR viene creata conid
nel corpo della richiesta. - Nessuna corrispondenza senza
id
: se i criteri di ricerca non identificano alcuna corrispondenza e il corpo della richiesta fornito non contiene unid
, la risorsa FHIR viene creata con un ID assegnato dal server come se fosse stata creata utilizzandoprojects.locations.datasets.fhirStores.fhir.create
.
Il corpo della richiesta deve contenere una risorsa FHIR codificata in JSON e le intestazioni della richiesta devono contenere Content-Type: application/fhir+json
.
Nella versione 1 dell'API Cloud Healthcare, le operazioni condizionali utilizzano esclusivamente il parametro di ricerca identifier
, se esistente per il tipo di risorsa FHIR, per determinare quali risorse FHIR corrispondono a una query di ricerca condizionale.
REST
L'esempio seguente mostra come inviare una richiesta PUT
utilizzando curl
e
PowerShell per modificare una risorsa di osservazione utilizzando l'identificatore di osservazione
(ABC-12345
in my-code-system
). L'osservazione fornisce una misura
battiti cardiaci al minuto (b/m) del paziente.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DATASET_ID: il set di dati padre del datastore FHIR
- FHIR_STORE_ID: l'ID del datastore FHIR
- PATIENT_ID: l'ID risorsa Paziente
- ENCOUNTER_ID: l'ID risorsa di Encounter
- BPM_VALUE: valore dei battiti al minuto (B/M) nella risorsa Osservazione
Corpo JSON della richiesta:
{ "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "code": { "coding": [ { "system": "http://loinc.org", "code": "8867-4", "display": "Heart rate" } ] }, "valueQuantity": { "value": BPM_VALUE, "unit": "bpm" }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
cat > request.json << 'EOF' { "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "code": { "coding": [ { "system": "http://loinc.org", "code": "8867-4", "display": "Heart rate" } ] }, "valueQuantity": { "value": BPM_VALUE, "unit": "bpm" }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" } } EOF
Quindi, esegui questo comando per inviare la richiesta REST:
curl -X PUT \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
@' { "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "code": { "coding": [ { "system": "http://loinc.org", "code": "8867-4", "display": "Heart rate" } ] }, "valueQuantity": { "value": BPM_VALUE, "unit": "bpm" }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" } } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui questo comando per inviare la richiesta REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PUT `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345" | Select-Object -Expand Content
Explorer API
Copia il corpo della richiesta e apri pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Incolla il corpo della richiesta in questo strumento, compila tutti gli altri campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
Applicazione di patch a una risorsa FHIR
Gli esempi riportati di seguito mostrano come chiamare il metodo
projects.locations.datasets.fhirStores.fhir.patch
per applicare una patch a una risorsa FHIR. Il metodo implementa la patch standard FHIR
interazione
(DSTU2,
STU3
e R4).
Quando applichi la patch a una risorsa, ne aggiorni parte applicando il di operazioni specificate in una patch JSON documento.
La richiesta deve contenere un documento di patch JSON e le intestazioni della richiesta devono
contiene Content-Type: application/json-patch+json
.
I seguenti esempi mostrano come
per applicare la patch a una risorsa Observation. La risorsa Observation per i battiti cardiaci al minuto (BPM) di un paziente viene aggiornata mediante l'operazione di patch replace
.
I seguenti esempi di curl
e PowerShell funzionano con gli archivi FHIR R4. Gli esempi Go, Java, Node.js e Python funzionano con gli archivi FHIR STU3.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DATASET_ID: il set di dati padre del datastore FHIR
- FHIR_STORE_ID: l'ID del datastore FHIR
- OBSERVATION_ID: ID risorsa di osservazione
- BPM_VALUE: valore dei battiti al minuto (B/M) nella risorsa Osservazione con patch
Corpo JSON della richiesta:
[ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ]
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
cat > request.json << 'EOF' [ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ] EOF
Quindi, esegui questo comando per inviare la richiesta REST:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json-patch+json" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
@' [ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ] '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui questo comando per inviare la richiesta REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json-patch+json" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Go
Java
Node.js
Python
Esecuzione di una richiesta PATCH
in un bundle FHIR
Puoi specificare una richiesta PATCH
in un bundle FHIR (solo FHIR R4).
L'esecuzione di una richiesta PATCH
in un bundle FHIR consente di applicare patch a molti
risorse FHIR in una sola volta, invece di dover effettuare singole richieste di patch
per ogni risorsa FHIR.
Per effettuare una richiesta PATCH
in un bundle, specifica le seguenti informazioni in un oggetto resource
nella richiesta:
- Un campo
resourceType
impostato suBinary
- Un campo
contentType
impostato suapplication/json-patch+json
- Il corpo della patch codificato in base64
Assicurati che l'oggetto resource
abbia il seguente aspetto:
"resource": {
"resourceType": "Binary",
"contentType": "application/json-patch+json",
"data": "WyB7ICJvcCI6ICJyZXBsYWNlIiwgInBhdGgiOiAiL2JpcnRoRGF0ZSIsICJ2YWx1ZSI6ICIxOTkwLTAxLTAxIiB9IF0K"
}
Di seguito viene mostrato il corpo della patch codificato in base64 nel campo data
:
[
{
"op": "replace",
"path": "/birthdate",
"value": "1990-01-01"
}
]
I seguenti esempi mostrano come utilizzare una richiesta PATCH
in un bundle per applicare una patch
la risorsa Patient che hai creato
Creazione di una risorsa FHIR per avere un birthDate
valore di 1990-01-01
:
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto Google Cloud
- LOCATION: la posizione del set di dati padre
- DATASET_ID: il set di dati padre del datastore FHIR
- FHIR_STORE_ID: l'ID del datastore FHIR
- PATIENT_ID: l'ID di una risorsa Patient esistente
Corpo JSON della richiesta:
{ "type": "transaction", "resourceType": "Bundle", "entry": [ { "request": { "method": "PATCH", "url": "Patient/PATIENT_ID" }, "resource": { "resourceType": "Binary", "contentType": "application/json-patch+json", "data": "WyB7ICJvcCI6ICJyZXBsYWNlIiwgInBhdGgiOiAiL2JpcnRoRGF0ZSIsICJ2YWx1ZSI6ICIxOTkwLTAxLTAxIiB9IF0K" } } ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
cat > request.json << 'EOF' { "type": "transaction", "resourceType": "Bundle", "entry": [ { "request": { "method": "PATCH", "url": "Patient/PATIENT_ID" }, "resource": { "resourceType": "Binary", "contentType": "application/json-patch+json", "data": "WyB7ICJvcCI6ICJyZXBsYWNlIiwgInBhdGgiOiAiL2JpcnRoRGF0ZSIsICJ2YWx1ZSI6ICIxOTkwLTAxLTAxIiB9IF0K" } } ] } EOF
Quindi, esegui questo comando per inviare la richiesta REST:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/fhir+json" \
-d @request.json \
"https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
@' { "type": "transaction", "resourceType": "Bundle", "entry": [ { "request": { "method": "PATCH", "url": "Patient/PATIENT_ID" }, "resource": { "resourceType": "Binary", "contentType": "application/json-patch+json", "data": "WyB7ICJvcCI6ICJyZXBsYWNlIiwgInBhdGgiOiAiL2JpcnRoRGF0ZSIsICJ2YWx1ZSI6ICIxOTkwLTAxLTAxIiB9IF0K" } } ] } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui questo comando per inviare la richiesta REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/fhir+json" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Applicazione di patch a una risorsa FHIR in modo condizionale
Gli esempi riportati di seguito mostrano come chiamare il metodo
projects.locations.datasets.fhirStores.fhir.conditionalPatch
per l'applicazione di patch a una risorsa FHIR che corrisponde a una query di ricerca, anziché
identificando la risorsa in base al suo ID. Il metodo implementa lo standard FHIR
interazione condizionale delle patch
(DSTU2,
STU3
e R4).
Una patch condizionale può essere applicata a una sola risorsa in
una volta. Se i criteri di ricerca identificano più di una corrispondenza, la richiesta
restituisce un errore 412 Precondition Failed
.
Nell'API Cloud Healthcare v1, le operazioni condizionali utilizzano esclusivamente il identifier
parametro di ricerca, se esistente per il tipo di risorsa FHIR, al fine di determinare quale FHIR
risorse corrispondono a una query di ricerca condizionale.
REST
L'esempio seguente mostra come inviare una richiesta PATCH
utilizzando curl
e PowerShell
modificare una risorsa Observation se l'identificatore di questa risorsa è
ABC-12345
a my-code-system
.
La risorsa Observation per i battiti cardiaci al minuto (BPM) di un paziente viene aggiornata mediante l'operazione di modifica replace
.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DATASET_ID: il set di dati padre del datastore FHIR
- FHIR_STORE_ID: l'ID del datastore FHIR
- BPM_VALUE: valore dei battiti al minuto (B/M) nella risorsa Osservazione
Corpo JSON della richiesta:
[ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ]
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
cat > request.json << 'EOF' [ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ] EOF
Quindi, esegui questo comando per inviare la richiesta REST:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json-patch+json" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
@' [ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ] '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui questo comando per inviare la richiesta REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json-patch+json" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345" | Select-Object -Expand Content
Explorer API
Copia il corpo della richiesta e apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Esplora API. Puoi interagire con questo strumento per inviare richieste. Incolla il corpo della richiesta in questo strumento, compila gli altri campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
Recupero di una risorsa FHIR
Gli esempi riportati di seguito mostrano come utilizzare
projects.locations.datasets.fhirStores.fhir.read
per ottenere i contenuti di una risorsa FHIR.
I seguenti esempi di curl
e PowerShell funzionano con gli archivi FHIR R4.
Gli esempi Go, Java, Node.js e Python funzionano con gli archivi FHIR STU3.
Console
Per recuperare i contenuti di una risorsa FHIR:
Nella console Google Cloud, vai alla pagina Visualizzatore FHIR.
Nell'elenco a discesa FHIR Store, seleziona un set di dati, quindi seleziona a un datastore FHIR nel set di dati.
Per filtrare l'elenco dei tipi di risorse, cerca quelli che che vuoi visualizzare.
Fai clic sul campo Tipo di risorsa.
Nell'elenco a discesa Proprietà visualizzato, seleziona Tipo di risorsa:
Inserisci un tipo di risorsa.
Per cercare un altro tipo di risorsa, seleziona O dal nell'elenco a discesa Operatori, quindi inserisci un altro tipo di risorsa.
Nell'elenco dei tipi di risorsa, seleziona il tipo di risorsa di cui vuoi ottenere i contenuti.
Nella tabella delle risorse visualizzata, seleziona o cerca una risorsa.
REST
I seguenti esempi mostrano come recuperare i dettagli della risorsa Observation creata in una sezione precedente.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DATASET_ID: il set di dati padre del datastore FHIR
- FHIR_STORE_ID: l'ID del datastore FHIR
- OBSERVATION_ID: ID risorsa di osservazione
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID" | Select-Object -Expand Content
Explorer API
Apri l'app pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Esplora API. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
Go
Java
Node.js
Python
Ottieni tutti i dettagli delle risorse Encounter
Gli esempi riportati di seguito mostrano come utilizzare
projects.locations.datasets.fhirStores.fhir.Encounter-everything
per visualizzare i dettagli di una risorsa Encounter e
tutte le risorse correlate all'incontro.
Il metodo implementa l'operazione estesa FHIR
Encounter-everything
definito nelle seguenti versioni FHIR:
REST
Utilizza il metodo projects.locations.datasets.fhirStores.fhir.Encounter-everything
.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT_ID
: l'ID del tuo progetto Google CloudLOCATION
: la posizione del set di datiDATASET_ID
: l'ID del set di datiFHIR_STORE_ID
: l'ID del datastore FHIRENCOUNTER_ID
: l'ID risorsa Encounter
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Encounter/ENCOUNTER_ID/\$everything"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Encounter/ENCOUNTER_ID/\$everything" | Select-Object -Expand Content
c427ce3e-7677-400e-bc06-33a8cecfdd77
, che è una risorsa sintetica nella
gs://gcp-public-data--synthea-fhir-data-10-patients/fhir_r4_ndjson/
di un bucket Cloud Storage pubblico.
Visualizzazione di tutte le risorse di un alloggiamento del paziente
Gli esempi riportati di seguito mostrano come recuperare tutte le risorse associate a un
un particolare compartimento paziente
(DSTU2,
STU3
e R4).
Per ulteriori informazioni, vedi
projects.locations.datasets.fhirStores.fhir.Patient-everything
I seguenti esempi di curl
e PowerShell funzionano con gli archivi FHIR R4. Gli esempi di Go, Java, Node.js e Python funzionano con gli store FHIR STU3.
curl
Per ottenere le risorse in un alloggiamento del paziente, effettua una richiesta GET
e
specifica le seguenti informazioni:
- Il nome del set di dati padre
- Il nome del datastore FHIR
- ID del paziente
- Un token di accesso
L'esempio seguente mostra una richiesta GET
utilizzando curl
:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/PATIENT_ID/\$everything"
Se la richiesta riesce, il server restituisce una risposta simile alla seguente esempio in formato JSON:
{ "entry": [ { "resource": { "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" } }, { "resource": { "class": { "code": "IMP", "display": "inpatient encounter", "system": "http://hl7.org/fhir/v3/ActCode" }, "id": "ENCOUNTER_ID", "reasonCode": [ { "text": "The patient had an abnormal heart rate. She was concerned about this." } ], "resourceType": "Encounter", "status": "finished", "subject": { "reference": "Patient/PATIENT_ID" } } }, { "resource": { "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } } } ], "resourceType": "Bundle", "type": "searchset" }
PowerShell
Per recuperare le risorse in un vano del paziente, effettua una richiesta GET
e
specificare le seguenti informazioni:
- Il nome del set di dati padre
- Il nome del datastore FHIR
- ID del paziente
- Un token di accesso
L'esempio seguente mostra una richiesta GET
mediante PowerShell:
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri 'https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/RESOURCE_ID/$everything' | ConvertTo-Json
Se la richiesta riesce, il server restituisce una risposta simile alla seguente esempio in formato JSON:
{ "entry": [ { "resource": { "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" } }, { "resource": { "class": { "code": "IMP", "display": "inpatient encounter", "system": "http://hl7.org/fhir/v3/ActCode" }, "id": "ENCOUNTER_ID", "reasonCode": [ { "text": "The patient had an abnormal heart rate. She was concerned about this." } ], "resourceType": "Encounter", "status": "finished", "subject": { "reference": "Patient/PATIENT_ID" } } }, { "resource": { "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } } } ], "resourceType": "Bundle", "type": "searchset" }
Go
Java
Node.js
Python
Recupero delle risorse del compartimento paziente filtrato per tipo o data
Gli esempi riportati di seguito mostrano come recuperare tutte le risorse associate a un
particolare
alloggiamento del paziente (R4)
filtrati in base a un elenco di tipi e da una data e un'ora specificate.
Per ulteriori informazioni, vedi
projects.locations.datasets.fhirStores.fhir.Patient-everything
I seguenti esempi di curl
e PowerShell funzionano con gli archivi FHIR R4.
curl
per ottenere le risorse in un compartimento paziente di un tipo specificato e dato che
una data specificata, effettua una richiesta GET
e specifica le seguenti informazioni:
- Il nome del set di dati padre
- Il nome del datastore FHIR
- ID del paziente
- Una stringa di query contenente un elenco di tipi di risorse separati da virgole e la data di inizio
- Un token di accesso
L'esempio seguente mostra una richiesta GET
utilizzando curl
:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/PATIENT_ID/\$everything?_type=RESOURCE_TYPES&_since=DATE"
Se la richiesta riesce, il server restituisce tutte le risorse che corrispondono ai criteri specificati in formato JSON.
PowerShell
per ottenere le risorse in un compartimento paziente di un tipo specificato e dato che
una data specificata, effettua una richiesta GET
e specifica le seguenti informazioni:
- Il nome del set di dati padre
- Il nome del datastore FHIR
- ID del paziente
- Una stringa di query contenente un elenco di tipi di risorse separati da virgole e la data di inizio
- Un token di accesso
Il seguente esempio mostra una richiesta GET
che utilizza PowerShell:
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri 'https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/RESOURCE_ID/$everything?_type=RESOURCE_TYPES&_since=DATE' | ConvertTo-Json
Se la richiesta riesce, il server restituisce tutte le risorse che corrispondono ai criteri specificati in formato JSON.
Elenco delle versioni delle risorse FHIR
Gli esempi riportati di seguito mostrano come elencare tutte le versioni cronologiche di un FHIR
risorsa. Per ulteriori informazioni, vedi
projects.locations.datasets.fhirStores.fhir.history
Gli esempi utilizzano le risorse create nella sezione Creazione di una risorsa FHIR. e vedremo come elencare le versioni di una risorsa Observation.
I seguenti esempi di curl
e PowerShell funzionano con gli archivi FHIR R4. Gli esempi Go, Java, Node.js e Python funzionano con gli archivi FHIR STU3.
curl
L'esempio riportato di seguito mostra come elencare tutte le versioni di una risorsa Observation. Questa risorsa è stata aggiornata una sola volta dopo la creazione originale per modificare i battiti cardiaci al minuto (BPM) del paziente.
per elencare tutte le versioni di una risorsa FHIR, inclusa quella corrente e qualsiasi
versioni eliminate, effettua una richiesta GET
e specifica le seguenti informazioni:
- Il nome del set di dati padre
- Il nome del datastore FHIR
- Il tipo e l'ID della risorsa
- Un token di accesso
L'esempio seguente mostra una richiesta GET
che utilizza curl
.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/_history"
Se la richiesta ha esito positivo, il server restituisce la risposta in formato JSON. Nel in questo esempio, vengono restituite due versioni della risorsa Observation. Nella prima versione, la frequenza cardiaca del paziente era di 75 b/m. Nella seconda versione, la frequenza cardiaca del paziente era pari a 85 BPM.
{ "entry": [ { "resource": { "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-02T00:00:00+00:00", "versionId": "MTU0MTE5MDk5Mzk2ODcyODAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 85 } } }, { "resource": { "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "MTU0MTE5MDg4MTY0MzQ3MjAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 75 } } } ], "resourceType": "Bundle", "type": "history" }
PowerShell
L'esempio riportato di seguito mostra come elencare tutte le versioni di una risorsa Observation. Questa risorsa è stata aggiornata una sola volta dopo la creazione originale per modificare i battiti cardiaci al minuto (BPM) del paziente.
per elencare tutte le versioni di una risorsa FHIR, inclusa quella corrente e qualsiasi
versioni eliminate, effettua una richiesta GET
e specifica le seguenti informazioni:
- Il nome del set di dati padre
- Il nome del datastore FHIR
- Il tipo e l'ID della risorsa
- Un token di accesso
L'esempio seguente mostra una richiesta GET
mediante PowerShell.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/_history" | Select-Object -Expand Content
Se la richiesta riesce, il server restituisce la risposta in formato JSON. Nel in questo esempio, vengono restituite due versioni della risorsa Observation. Nella prima versione, la frequenza cardiaca del paziente era di 75 b/m. Nella seconda versione, la frequenza cardiaca del paziente era pari a 85 BPM.
{ "entry": [ { "resource": { "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-02T00:00:00+00:00", "versionId": "MTU0MTE5MDk5Mzk2ODcyODAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 85 } } }, { "resource": { "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "MTU0MTE5MDg4MTY0MzQ3MjAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 75 } } } ], "resourceType": "Bundle", "type": "history" }
Go
Java
Node.js
Python
Recupero di una versione della risorsa FHIR
Gli esempi riportati di seguito mostrano come recuperare una versione specifica di una risorsa.
Per ulteriori informazioni, vedi
projects.locations.datasets.fhirStores.fhir.vread
Gli ID versione per la risorsa Observation di Elenco delle versioni delle risorse FHIR sono evidenziati di seguito:
{ "entry": [ { "resource": { "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-02T00:00:00+00:00", "versionId": "MTU0MTE5MDk5Mzk2ODcyODAwMA" }, ... { "resource": { "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "MTU0MTE5MDg4MTY0MzQ3MjAwMA" }, ... }
Gli esempi seguenti utilizzano le risorse create nella sezione Creazione di una risorsa FHIR e mostrano come visualizzare una risorsa Observation.
I seguenti esempi di curl
e PowerShell funzionano con gli archivi FHIR R4. Gli esempi Go, Node.js e Python funzionano con gli archivi FHIR STU3.
curl
Per ottenere una versione specifica di una risorsa FHIR, effettua una richiesta GET
e
specificare le seguenti informazioni:
- Il nome del set di dati principale
- Il nome del datastore FHIR
- Il tipo e l'ID della risorsa
- La versione della risorsa
- Un token di accesso
L'esempio seguente mostra una richiesta GET
che utilizza curl
.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/_history/RESOURCE_VERSION"
Se la richiesta riesce, il server restituisce la risposta in formato JSON. Nel in questo esempio, la prima versione della sezione "Osservazione", in cui il cuore era di 75 B/M,
{ "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "MTU0MTE5MDg4MTY0MzQ3MjAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 75 } }
PowerShell
Per ottenere una versione specifica di una risorsa FHIR, effettua una richiesta GET
e
specificare le seguenti informazioni:
- Il nome del set di dati principale
- Il nome del datastore FHIR
- Il tipo e l'ID della risorsa
- La versione della risorsa
- Un token di accesso
L'esempio seguente mostra una richiesta GET
che utilizza curl
.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/RESOURCE_VERSION/_history" | Select-Object -Expand Content
Se la richiesta riesce, il server restituisce la risposta in formato JSON. Nel in questo esempio, la prima versione della sezione "Osservazione", in cui il cuore era di 75 B/M,
{ "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "MTU0MTE5MDg4MTY0MzQ3MjAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 75 } }
Go
Java
Node.js
Python
Eliminazione di una risorsa FHIR
Gli esempi riportati di seguito mostrano come chiamare il metodo
projects.locations.datasets.fhirStores.fhir.delete
per eliminare una risorsa FHIR di osservazione.
Indipendentemente dal fatto che l'operazione vada a buon fine o meno, il server restituisce un codice di stato HTTP 200 OK
. Per verificare che la risorsa sia stata
eliminato, cerca o recupera
della risorsa per vedere se esiste.
I seguenti esempi di curl
e PowerShell funzionano con gli archivi FHIR R4. Gli esempi Go, Java, Node.js e Python funzionano con gli archivi FHIR STU3.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DATASET_ID: il set di dati padre del datastore FHIR
- FHIR_STORE_ID: l'ID del datastore FHIR
- OBSERVATION_ID: ID risorsa di osservazione
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID" | Select-Object -Expand Content
Explorer API
Apri l'app pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
Go
Java
Node.js
Python
Elimina in modo condizionale una risorsa FHIR
Nella versione 1 dell'API Cloud Healthcare, le operazioni condizionali utilizzano esclusivamente il parametro di ricerca identifier
, se esistente per il tipo di risorsa FHIR, per determinare quali risorse FHIR corrispondono a una query di ricerca condizionale.
Una risorsa FHIR corrisponde alla query ?identifier=my-code-system|ABC-12345
solo se lo stato identifier.system
della risorsa
è my-code-system
e il relativo identifier.value
è ABC-12345
. Se una risorsa FHIR
corrisponde alla query, l'API Cloud Healthcare elimina la risorsa.
Se la query utilizza il parametro di ricerca identifier
e
corrisponde a più risorse FHIR, l'API Cloud Healthcare restituisce un
Errore "412 - Condition not selective enough"
.
Per eliminare le risorse singolarmente:
- Cerca ogni risorsa per ottenere l'ID univoco assegnato dal server.
- Elimina singolarmente ogni risorsa utilizzando l'ID.
Gli esempi riportati di seguito mostrano come eliminare in modo condizionale una risorsa FHIR che corrisponde a una query di ricerca, anziché identificare la risorsa FHIR tramite il relativo ID.
La query di ricerca trova ed elimina una risorsa Observation utilizzando l'identificatore della stessa (ABC-12345
in my-code-system
).
REST
Utilizza il metodo projects.locations.datasets.fhirStores.fhir.conditionalDelete
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: l'ID del tuo progetto Google CloudLOCATION
: la posizione del set di datiDATASET_ID
: il set di dati principale dell'archivio FHIRFHIR_STORE_ID
: l'ID del datastore FHIR
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345"
PowerShell
Esegui questo comando:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345" | Select-Object -Expand Content
Explorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.
Dovresti ricevere un codice di stato di operazione riuscita (2xx) e una risposta vuota.
Eliminazione delle versioni cronologiche di una risorsa FHIR
Gli esempi riportati di seguito mostrano come eliminare tutte le versioni cronologiche di una risorsa FHIR. Per ulteriori informazioni, vedi
projects.locations.datasets.fhirStores.fhir.Resource-purge
Chiamata a projects.locations.datasets.fhirStores.fhir.Resource-purge
è limitato agli utenti (chiamanti) con il metodo
roles/healthcare.fhirStoreAdmin
ruolo; gli utenti con il ruolo roles/healthcare.fhirResourceEditor
non possono
chiama il metodo. Consentire a un chiamante di eliminare le versioni storiche di un FHIR
risorsa:
- Assicurati che il chiamante abbia il ruolo
roles/healthcare.fhirStoreAdmin
. - Crea un ruolo IAM personalizzato
con
healthcare.fhirResources.purge
e assegnare il ruolo al chiamante.
Gli esempi utilizzano le risorse create nella sezione Creazione di una risorsa FHIR e mostrano come eliminare le versioni cronologiche di una risorsa Observation.
I seguenti esempi di curl
e PowerShell funzionano con gli archivi FHIR R4. Gli esempi Go, Java, Node.js e Python funzionano con gli archivi FHIR STU3.
curl
Per eliminare tutte le versioni cronologiche di una risorsa FHIR, effettua una richiesta DELETE
e specificare le seguenti informazioni:
- Il nome del set di dati padre
- Il nome del datastore FHIR
- Il tipo e l'ID della risorsa
- Un token di accesso
L'esempio seguente mostra una richiesta DELETE
che utilizza curl
.
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/fhir+json; charset=utf-8" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/\$purge"
Se la richiesta riesce, il server restituisce il corpo della risposta vuoto in JSON formato:
{}
PowerShell
Per eliminare tutte le versioni cronologiche di una risorsa FHIR, effettua una richiesta DELETE
e specificare le seguenti informazioni:
- Il nome del set di dati padre
- Il nome del datastore FHIR
- Il tipo e l'ID della risorsa
- Un token di accesso
L'esempio seguente mostra una richiesta DELETE
mediante PowerShell.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Delete ` -Headers $headers ` -ContentType: "application/fhir+json; charset=utf-8" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/$purge" | ConvertTo-Json
Se la richiesta riesce, il server restituisce il corpo della risposta vuoto in JSON formato:
{}