Cette page explique comment créer, mettre à jour, corriger, afficher, répertorier, récupérer et supprimer des ressources FHIR.
Une ressource FHIR peut contenir des données sur un patient, un appareil, une observation, etc. Pour obtenir la liste complète des ressources FHIR, consultez l'index des ressources FHIR (DSTU2, STU3 ou R4).
Les exemples curl
et PowerShell de cette page fonctionnent avec un magasin FHIR R4. Leur fonctionnement n'est pas garanti si vous utilisez un magasin FHIR DSTU2 ou STU3.
Si vous utilisez un magasin FHIR DSTU2 ou STU3, consultez la documentation FHIR officielle pour en savoir plus sur la conversion des exemples vers la version FHIR que vous utilisez.
Les exemples Go, Java, Node.js et Python fonctionnent avec un magasin FHIR STU3.
Créer une ressource FHIR
Pour pouvoir créer des ressources FHIR, vous devez créer un magasin FHIR.
Les exemples curl
, PowerShell et Python montrent comment créer les ressources FHIR suivantes :
- Une ressource Patient (DSTU2, STU3 et R4)
- Une ressource "Encounter" (DSTU2, STU3 et R4) pour le patient
- Une ressource Observation (DSTU2, STU3 et R4) pour la rencontre
Les exemples pour toutes les autres langues montrent comment créer une ressource FHIR générique.
Pour en savoir plus, consultez les sections sur projects.locations.datasets.fhirStores.fhir.create
Les exemples curl
et PowerShell suivants fonctionnent avec les stores FHIR R4. Les exemples Go, Java, Node.js et Python fonctionnent avec les magasins FHIR STU3.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID : ID de votre Google Cloud projetLOCATION : emplacement de l'ensemble de donnéesDATASET_ID : ensemble de données parent du magasin FHIR.FHIR_STORE_ID : ID du magasin FHIR.
Corps JSON de la requête :
{ "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" }
Pour envoyer votre requête, choisissez l'une des options suivantes :
Enregistrez le corps de la requête dans un fichier nommé request.json
.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
cat > request.json << 'EOF' { "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" } EOF
Exécutez ensuite la commande suivante pour envoyer votre requête 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"
Enregistrez le corps de la requête dans un fichier nommé request.json
.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
@' { "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" } '@ | Out-File -FilePath request.json -Encoding utf8
Exécutez ensuite la commande suivante pour envoyer votre requête 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
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{ "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID ", "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "versionId": "VERSION_ID " }, "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" }
Après avoir créé la ressource Patient, créez une ressource Encounter pour décrire une interaction entre le patient et un professionnel.
Dans le champ PATIENT_ID, remplacez l'ID de la réponse renvoyée par le serveur lors de la création de la ressource Patient.
Les exemples curl
et PowerShell suivants fonctionnent avec les stores FHIR R4. L'exemple Python fonctionne avec les magasins FHIR STU3.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID : ID de votre Google Cloud projetLOCATION : emplacement de l'ensemble de donnéesDATASET_ID : ensemble de données parent du magasin FHIR.FHIR_STORE_ID : ID du magasin FHIR.PATIENT_ID : réponse renvoyée par le serveur lors de la création de la ressource Patient
Corps JSON de la requête :
{ "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" }
Pour envoyer votre requête, choisissez l'une des options suivantes :
Enregistrez le corps de la requête dans un fichier nommé request.json
.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
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
Exécutez ensuite la commande suivante pour envoyer votre requête 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"
Enregistrez le corps de la requête dans un fichier nommé request.json
.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
@' { "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
Exécutez ensuite la commande suivante pour envoyer votre requête 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
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{ "class": { "code": "IMP", "display": "inpatient encounter", "system": "http://hl7.org/fhir/v3/ActCode" }, "id": "ENCOUNTER_ID ", "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "versionId": "VERSION_ID " }, "reasonCode": [ { "text": "The patient had an abnormal heart rate. She was concerned about this." } ], "resourceType": "Encounter", "status": "finished", "subject": { "reference": "Patient/PATIENT_ID " } }
Avant d'essayer cet exemple, suivez les instructions de configuration pour Python du guide de démarrage rapide de l'API Cloud Healthcare à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Healthcare Python.
Pour vous authentifier auprès de l'API Cloud Healthcare, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Après avoir créé la ressource Encounter, créez une ressource Observation associée à la ressource Encounter. La ressource Observation fournit une mesure de la fréquence cardiaque du patient en battements par minute (80
dans bpm
).
Les exemples curl
et PowerShell suivants fonctionnent avec les stores FHIR R4. L'exemple Python fonctionne avec les magasins FHIR STU3.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID : ID de votre Google Cloud projetLOCATION : emplacement de l'ensemble de donnéesDATASET_ID : ensemble de données parent du magasin FHIR.FHIR_STORE_ID : ID du magasin FHIR.PATIENT_ID : ID de la réponse renvoyée par le serveur lors de la création de la ressource PatientENCOUNTER_ID : ID de la réponse renvoyée par le serveur lors de la création de la ressource Encounter
Corps JSON de la requête :
{ "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 " } }
Pour envoyer votre requête, choisissez l'une des options suivantes :
Enregistrez le corps de la requête dans un fichier nommé request.json
.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
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
Exécutez ensuite la commande suivante pour envoyer votre requête 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"
Enregistrez le corps de la requête dans un fichier nommé request.json
.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
@' { "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
Exécutez ensuite la commande suivante pour envoyer votre requête 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
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "encounter": { "reference": "Encounter/ENCOUNTER_ID " }, "id": "OBSERVATION_ID ", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "versionId": "VERSION_ID " }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID " }, "valueQuantity": { "unit": "bpm", "value": 80 } }
Avant d'essayer cet exemple, suivez les instructions de configuration pour Python du guide de démarrage rapide de l'API Cloud Healthcare à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Healthcare Python.
Pour vous authentifier auprès de l'API Cloud Healthcare, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Créer une ressource FHIR de manière conditionnelle
L'exemple curl
suivant montre comment utiliser la méthode projects.locations.datasets.fhirStores.fhir.create
pour créer une ressource FHIR de manière conditionnelle. Cette méthode met en œuvre l'interaction create
conditionnelle FHIR (DSTU2, STU3, R4).
Vous pouvez utiliser la création conditionnelle pour éviter de créer des ressources FHIR en double. Par exemple, chaque ressource Patient d'un serveur FHIR possède généralement un identifiant unique, tel qu'un numéro de dossier médical (MRN). Pour créer une ressource Patient et vous assurer qu'aucune ressource Patient n'existe avec le même numéro MRN, créez la ressource de manière conditionnelle à l'aide d'une requête de recherche. L'API Cloud Healthcare ne crée la nouvelle ressource que si la requête de recherche ne trouve aucune correspondance.
La réponse du serveur dépend du nombre de ressources correspondant à la requête de recherche:
Correspondance établie | Code de réponse HTTP | Comportement |
---|---|---|
Zéro | 201 CREATED |
Crée la ressource. |
Une | 200 OK |
Ne crée pas de ressource. |
Plus d'un | 412 Precondition Failed |
Ne crée pas de ressource et renvoie une erreur "search criteria are not selective enough" . |
Pour utiliser l'interaction create
conditionnelle au lieu de l'interaction create
, spécifiez un en-tête HTTP If-None-Exist
contenant une requête de recherche FHIR dans votre requête:
If-None-Exist:FHIR_SEARCH_QUERY
Dans la version 1 de l'API Cloud Healthcare, les opérations conditionnelles utilisent exclusivement le paramètre de recherche identifier
, s'il existe pour le type de ressource FHIR, pour déterminer quelles ressources FHIR correspondent à une requête de recherche conditionnelle.
L'exemple suivant montre comment créer une ressource Observation à l'aide d'un en-tête HTTP If-None-Exist: identifier=my-code-system|ABC-12345
. L'API Cloud Healthcare crée la ressource si et seulement si aucune ressource Observation existante ne correspond à la requête 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"
L'exemple de sortie suivant montre intentionnellement une requête échouée. Pour afficher la réponse d'une requête réussie, consultez la section Créer une ressource FHIR.
Si plusieurs ressources Observation correspondent à la requête, l'API Cloud Healthcare renvoie la réponse suivante, et la requête de création conditionnelle échoue:
{
"issue": [
{
"code": "conflict",
"details": {
"text": "ambiguous_query"
},
"diagnostics": "search criteria are not selective enough",
"severity": "error"
}
],
"resourceType": "OperationOutcome"
}
Mettre à jour une ressource FHIR
Les exemples suivants montrent comment appeler la méthode projects.locations.datasets.fhirStores.fhir.update
pour mettre à jour une ressource FHIR. Cette méthode met en œuvre l'interaction de mise à jour standard FHIR (DSTU2, STU3 et R4).
Lorsque vous mettez à jour une ressource, vous mettez à jour l'intégralité de son contenu. Cette démarche diffère de la section Corriger une ressource, qui ne met à jour qu'une partie d'une ressource.
Si enableUpdateCreate
est défini pour le magasin FHIR, la requête est traitée comme une mise à jour ou une insertion, qui met à jour la ressource si elle existe ou l'insère à l'aide de l'ID spécifié si elle n'existe pas.
Le corps de la requête doit contenir une ressource FHIR encodée au format JSON et les en-têtes de la requête doivent contenir Content-Type: application/fhir+json
. La ressource doit contenir un élément id
ayant une valeur identique à l'ID dans le chemin REST de la requête.
Les exemples curl
et PowerShell suivants fonctionnent avec les stores FHIR R4. Les exemples Go, Java, Node.js et Python fonctionnent avec les magasins FHIR STU3.
Les exemples suivants montrent comment mettre à jour les battements par minute (BPM) dans une ressource Observation.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID : ID de votre Google Cloud projetLOCATION : emplacement de l'ensemble de donnéesDATASET_ID : ensemble de données parent du magasin FHIR.FHIR_STORE_ID : ID du magasin FHIR.OBSERVATION_ID : ID de la ressource ObservationPATIENT_ID : ID de la ressource PatientENCOUNTER_ID : ID de la ressource EncounterBPM_VALUE : valeur du battement par minute (BPM) dans la ressource Observation mise à jour
Corps JSON de la requête :
{ "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 " } }
Pour envoyer votre requête, choisissez l'une des options suivantes :
Enregistrez le corps de la requête dans un fichier nommé request.json
.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
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
Exécutez ensuite la commande suivante pour envoyer votre requête 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 "
Enregistrez le corps de la requête dans un fichier nommé request.json
.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
@' { "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
Exécutez ensuite la commande suivante pour envoyer votre requête 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
Copiez le corps de la requête et ouvrez la page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Collez le corps de la requête dans cet outil, renseignez tous les champs obligatoires, puis cliquez sur Execute (Exécuter).
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "encounter": { "reference": "Encounter/ENCOUNTER_ID " }, "id": "OBSERVATION_ID ", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "versionId": "VERSION_ID " }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID " }, "valueQuantity": { "unit": "bpm", "value":BPM_VALUE } }
Mettre à jour une ressource FHIR de manière conditionnelle
Les exemples suivants montrent comment appeler la méthode projects.locations.datasets.fhirStores.fhir.conditionalUpdate
pour mettre à jour une ressource FHIR correspondant à une requête de recherche, plutôt que d'identifier la ressource à l'aide de son ID. Cette méthode met en œuvre l'interaction de mise à jour conditionnelle standard FHIR (DSTU2, STU3 et R4).
Une mise à jour conditionnelle ne peut être appliquée qu'à une seule ressource FHIR à la fois.
La réponse renvoyée par le serveur dépend du nombre de correspondances trouvées en fonction des critères de recherche :
- Une correspondance : la ressource a bien été mise à jour ou une erreur est renvoyée.
- Plusieurs correspondances : la requête renvoie une erreur
412 Precondition Failed
. - Aucune correspondance avec un
id
: si les critères de recherche n'identifient aucune correspondance, le corps de la requête fournie contient unid
et le magasin FHIR a définienableUpdateCreate
surtrue
, la ressource FHIR est créée avec leid
dans le corps de la requête. - Aucune correspondance sans
id
: si les critères de recherche identifient zéro correspondance et que le corps de la requête fournie ne contient pas deid
, la ressource FHIR est créée avec un ID attribué par le serveur, comme si elle avait été créée avecprojects.locations.datasets.fhirStores.fhir.create
.
Le corps de la requête doit contenir une ressource FHIR encodée au format JSON et les en-têtes de la requête doivent contenir Content-Type: application/fhir+json
.
Dans la version 1 de l'API Cloud Healthcare, les opérations conditionnelles utilisent exclusivement le paramètre de recherche identifier
, s'il existe pour le type de ressource FHIR, pour déterminer quelles ressources FHIR correspondent à une requête de recherche conditionnelle.
L'exemple suivant montre comment envoyer une requête PUT
avec curl
et PowerShell pour modifier une ressource Observation à l'aide de son identifiant (ABC-12345
dans my-code-system
). La ressource Observation fournit une mesure des battements par minute (BPM) d'un patient.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID : ID de votre Google Cloud projetLOCATION : emplacement de l'ensemble de donnéesDATASET_ID : ensemble de données parent du magasin FHIR.FHIR_STORE_ID : ID du magasin FHIR.PATIENT_ID : ID de la ressource PatientENCOUNTER_ID : ID de la ressource EncounterBPM_VALUE : valeur du battement par minute (BPM) dans la ressource Observation mise à jour
Corps JSON de la requête :
{ "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 " } }
Pour envoyer votre requête, choisissez l'une des options suivantes :
Enregistrez le corps de la requête dans un fichier nommé request.json
.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
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
Exécutez ensuite la commande suivante pour envoyer votre requête 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"
Enregistrez le corps de la requête dans un fichier nommé request.json
.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
@' { "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
Exécutez ensuite la commande suivante pour envoyer votre requête 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
Copiez le corps de la requête et ouvrez la page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Collez le corps de la requête dans cet outil, renseignez tous les champs obligatoires, puis cliquez sur Execute (Exécuter).
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "encounter": { "reference": "Encounter/ENCOUNTER_ID " }, "id": "OBSERVATION_ID ", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "versionId": "VERSION_ID " }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID " }, "valueQuantity": { "unit": "bpm", "value":BPM_VALUE } }
Corriger une ressource FHIR
Les exemples suivants montrent comment appeler la méthode projects.locations.datasets.fhirStores.fhir.patch
pour corriger une ressource FHIR. Cette méthode met en œuvre l'interaction de correction standard FHIR (DSTU2, STU3 et R4).
Lorsque vous appliquez un correctif à une ressource, vous mettez à jour une partie de celle-ci en appliquant les opérations spécifiées dans un document de correctif JSON.
La requête doit contenir un document de correctif JSON et ses en-têtes doivent contenir Content-Type: application/json-patch+json
.
Les exemples suivants montrent comment corriger une ressource Observation. La ressource Observation des battements par minute (BPM) d'un patient est mise à jour à l'aide de l'opération de correctif replace
.
Les exemples curl
et PowerShell suivants fonctionnent avec les stores FHIR R4. Les exemples Go, Java, Node.js et Python fonctionnent avec les magasins FHIR STU3.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID : ID de votre Google Cloud projetLOCATION : emplacement de l'ensemble de donnéesDATASET_ID : ensemble de données parent du magasin FHIR.FHIR_STORE_ID : ID du magasin FHIR.OBSERVATION_ID : ID de la ressource ObservationBPM_VALUE : valeur de battements par minute (BPM) dans la ressource Observation corrigée
Corps JSON de la requête :
[ { "op": "replace", "path": "/valueQuantity/value", "value":BPM_VALUE } ]
Pour envoyer votre requête, choisissez l'une des options suivantes :
Enregistrez le corps de la requête dans un fichier nommé request.json
.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
cat > request.json << 'EOF' [ { "op": "replace", "path": "/valueQuantity/value", "value":BPM_VALUE } ] EOF
Exécutez ensuite la commande suivante pour envoyer votre requête 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 "
Enregistrez le corps de la requête dans un fichier nommé request.json
.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
@' [ { "op": "replace", "path": "/valueQuantity/value", "value":BPM_VALUE } ] '@ | Out-File -FilePath request.json -Encoding utf8
Exécutez ensuite la commande suivante pour envoyer votre requête 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
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "encounter": { "reference": "Encounter/ENCOUNTER_ID " }, "id": "OBSERVATION_ID ", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "versionId": "VERSION_ID " }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID " }, "valueQuantity": { "unit": "bpm", "value":BPM_VALUE } }
Exécuter une requête PATCH
dans un groupe FHIR
Vous pouvez spécifier une requête PATCH
dans un groupe FHIR (FHIR R4 uniquement).
L'exécution d'une requête PATCH
dans un lot FHIR vous permet de corriger plusieurs ressources FHIR à la fois, au lieu d'avoir à effectuer des requêtes de correction individuelles pour chaque ressource FHIR.
Pour effectuer une requête PATCH
dans un groupe, spécifiez les informations suivantes dans un objet resource
de la requête :
- Un champ
resourceType
défini surBinary
- Un champ
contentType
défini surapplication/json-patch+json
- Corps du correctif encodé en base64
Assurez-vous que l'objet resource
ressemble à ceci :
"resource": {
"resourceType": "Binary",
"contentType": "application/json-patch+json",
"data": "WyB7ICJvcCI6ICJyZXBsYWNlIiwgInBhdGgiOiAiL2JpcnRoRGF0ZSIsICJ2YWx1ZSI6ICIxOTkwLTAxLTAxIiB9IF0K"
}
Voici le corps du correctif qui a été encodé en base64 dans le champ data
:
[
{
"op": "replace",
"path": "/birthdate",
"value": "1990-01-01"
}
]
Les exemples suivants montrent comment utiliser une requêtePATCH
dans un lot pour corriger la ressource Patient que vous avez créée dans Créer une ressource FHIR et que la valeur de birthDate
soit 1990-01-01
:
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID : ID de votre Google Cloud projetLOCATION : emplacement de l'ensemble de données parentDATASET_ID : ensemble de données parent du magasin FHIR.FHIR_STORE_ID : ID du magasin FHIR.PATIENT_ID : ID d'une ressource Patient existante
Corps JSON de la requête :
{ "type": "transaction", "resourceType": "Bundle", "entry": [ { "request": { "method": "PATCH", "url": "Patient/PATIENT_ID " }, "resource": { "resourceType": "Binary", "contentType": "application/json-patch+json", "data": "WyB7ICJvcCI6ICJyZXBsYWNlIiwgInBhdGgiOiAiL2JpcnRoRGF0ZSIsICJ2YWx1ZSI6ICIxOTkwLTAxLTAxIiB9IF0K" } } ] }
Pour envoyer votre requête, choisissez l'une des options suivantes :
Enregistrez le corps de la requête dans un fichier nommé request.json
.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
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
Exécutez ensuite la commande suivante pour envoyer votre requête 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"
Enregistrez le corps de la requête dans un fichier nommé request.json
.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
@' { "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
Exécutez ensuite la commande suivante pour envoyer votre requête 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
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{ "entry": [ { "response": { "etag": "W/\"MTY0ODgzNjY5MjQyODAxMzAwMA\"", "lastModified": "LAST_MODIFIED ", "location": "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /fhirStores/FHIR_STORE_ID /fhir/Patient/PATIENT_ID ", "status": "200 OK" } } ], "resourceType": "Bundle", "type": "transaction-response" }
Appliquer un correctif conditionnel à une ressource FHIR
Les exemples suivants montrent comment appeler la méthode projects.locations.datasets.fhirStores.fhir.conditionalPatch
pour corriger une ressource FHIR correspondant à une requête de recherche, plutôt que d'identifier la ressource à l'aide de son ID. Cette méthode met en œuvre l'interaction de correction conditionnelle standard FHIR (DSTU2, STU3 et R4).
Une correction conditionnelle ne peut être appliquée qu'à une seule ressource à la fois. Si les critères de recherche identifient plusieurs correspondances, la requête renvoie une erreur 412 Precondition Failed
.
Dans la version 1 de l'API Cloud Healthcare, les opérations conditionnelles utilisent exclusivement le paramètre de recherche identifier
, s'il existe pour le type de ressource FHIR, pour déterminer quelles ressources FHIR correspondent à une requête de recherche conditionnelle.
L'exemple suivant montre comment envoyer une requête PATCH
avec curl
et PowerShell pour modifier une ressource Observation si son identifiant est ABC-12345
dans my-code-system
.
La ressource Observation des battements par minute (BPM) d'un patient est mise à jour à l'aide de l'opération de correctif replace
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID : ID de votre Google Cloud projetLOCATION : emplacement de l'ensemble de donnéesDATASET_ID : ensemble de données parent du magasin FHIR.FHIR_STORE_ID : ID du magasin FHIR.BPM_VALUE : valeur du battement par minute (BPM) dans la ressource Observation mise à jour
Corps JSON de la requête :
[ { "op": "replace", "path": "/valueQuantity/value", "value":BPM_VALUE } ]
Pour envoyer votre requête, choisissez l'une des options suivantes :
Enregistrez le corps de la requête dans un fichier nommé request.json
.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
cat > request.json << 'EOF' [ { "op": "replace", "path": "/valueQuantity/value", "value":BPM_VALUE } ] EOF
Exécutez ensuite la commande suivante pour envoyer votre requête 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"
Enregistrez le corps de la requête dans un fichier nommé request.json
.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
@' [ { "op": "replace", "path": "/valueQuantity/value", "value":BPM_VALUE } ] '@ | Out-File -FilePath request.json -Encoding utf8
Exécutez ensuite la commande suivante pour envoyer votre requête 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
Copiez le corps de la requête et ouvrez la page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Collez le corps de la requête dans cet outil, renseignez tous les champs obligatoires, puis cliquez sur Execute (Exécuter).
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "effectiveDateTime": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "encounter": { "reference": "Encounter/ENCOUNTER_ID " }, "id": "OBSERVATION_ID ", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "versionId": "VERSION_ID " }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID " }, "valueQuantity": { "unit": "bpm", "value":BPM_VALUE } }
Obtenir une ressource FHIR
Les exemples suivants montrent comment utiliser la méthode projects.locations.datasets.fhirStores.fhir.read
pour obtenir le contenu d'une ressource FHIR.
Les exemples curl
et PowerShell suivants fonctionnent avec les stores FHIR R4.
Les exemples Go, Java, Node.js et Python fonctionnent avec les magasins FHIR STU3.
Pour obtenir le contenu d'une ressource FHIR, procédez comme suit :
Dans la console Google Cloud, accédez à la page Visionneuse FHIR.
Dans la liste déroulante Magasin FHIR, sélectionnez un ensemble de données, puis sélectionnez un magasin FHIR dans l'ensemble de données.
Pour filtrer la liste des types de ressources, recherchez les types de ressources que vous souhaitez afficher.
Cliquez sur le champ Type de ressource.
Dans la liste déroulante Propriétés qui s'affiche, sélectionnez Type de ressource.
Saisissez un type de ressource.
Pour rechercher un autre type de ressource, sélectionnez OU dans la liste déroulante Opérateurs qui s'affiche, puis saisissez un autre type de ressource.
Dans la liste des types de ressources, sélectionnez le type de la ressource dont vous souhaitez obtenir le contenu.
Dans le tableau des ressources qui s'affiche, sélectionnez ou recherchez une ressource.
Les exemples suivants montrent comment obtenir les détails de la ressource Observation créée dans une section précédente.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID : ID de votre Google Cloud projetLOCATION : emplacement de l'ensemble de donnéesDATASET_ID : ensemble de données parent du magasin FHIR.FHIR_STORE_ID : ID du magasin FHIR.OBSERVATION_ID : ID de la ressource Observation
Pour envoyer votre requête, choisissez l'une des options suivantes :
Exécutez la commande suivante :
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 "
Exécutez la commande suivante :
$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
Ouvrez la page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Renseignez tous les champs obligatoires, puis cliquez sur Exécuter.
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "encounter": { "reference": "Encounter/ENCOUNTER_ID " }, "id": "OBSERVATION_ID ", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "versionId": "VERSION_ID " }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID " }, "valueQuantity": { "unit": "bpm", "value": 80 } }
Obtenir tous les détails de la ressource "Encounter"
Les exemples suivants montrent comment utiliser la méthode projects.locations.datasets.fhirStores.fhir.Encounter-everything
pour afficher les détails d'une ressource Encounter et toutes les ressources associées à l'Encounter.
La méthode implémente l'opération Encounter-everything
étendue FHIR définie dans les versions FHIR suivantes:
Utilisez la méthode projects.locations.datasets.fhirStores.fhir.Encounter-everything
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
: ID de votre Google Cloud projetPROJECT_ID
: emplacement de l'ensemble de donnéesLOCATION
: ID de l'ensemble de donnéesDATASET_ID
: ID du magasin FHIR.FHIR_STORE_ID
: ID de la ressource EncounterENCOUNTER_ID
Pour envoyer votre requête, choisissez l'une des options suivantes :
Exécutez la commande suivante :
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"
Exécutez la commande suivante :
$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
, qui est une ressource synthétique dans le bucket Cloud Storage public gs://gcp-public-data--synthea-fhir-data-10-patients/fhir_r4_ndjson/
.
Réponse
{ "resourceType": "Bundle", "type": "searchset", "entry": [ { "fullUrl": "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /fhirStores/FHIR_STORE_ID /fhir/Encounter/c427ce3e-7677-400e-bc06-33a8cecfdd77", "resource": { "class": { "code": "AMB", "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode" }, "extension": [ { "extension": [ { "url": "http://standardhealthrecord.org/fhir/StructureDefinition/shr-action-Status-extension", "valueCode": "finished" } ], "url": "http://standardhealthrecord.org/fhir/StructureDefinition/shr-action-PerformedContext-extension" } ], "id": "c427ce3e-7677-400e-bc06-33a8cecfdd77", "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "profile": [ "http://standardhealthrecord.org/fhir/StructureDefinition/shr-encounter-EncounterPerformed" ], "versionId": "MTcxOTUyMzQ1MzA0MjMwMDAwMA" }, "participant": [ { "individual": { "reference": "Practitioner/d22d7490-0710-4190-bd23-43bc6bca2649" } } ], "period": { "end": "2015-03-02T17:06:14-08:00", "start": "2015-03-02T16:51:14-08:00" }, "resourceType": "Encounter", "serviceProvider": { "reference": "Organization/69176529-fd1f-3b3f-abce-a0a3626769eb" }, "status": "finished", "subject": { "reference": "Patient/b0027145-32af-4030-bcb1-1f5b63d3f2e2" }, "type": [ { "coding": [ { "code": "185349003", "display": "Encounter for check up (procedure)", "system": "http://snomed.info/sct" } ], "text": "Encounter for check up (procedure)" } ] } }, { "fullUrl": "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /fhirStores/FHIR_STORE_ID /fhir/Organization/69176529-fd1f-3b3f-abce-a0a3626769eb", "resource": { "active": true, "address": [ { "city": "CAMBRIDGE", "country": "US", "line": [ "330 MOUNT AUBURN STREET" ], "postalCode": "02138", "state": "MA" } ], "contact": [ { "name": { "text": "Synthetic Provider" } } ], "id": "69176529-fd1f-3b3f-abce-a0a3626769eb", "identifier": [ { "system": "urn:ietf:rfc:3986", "value": "69176529-fd1f-3b3f-abce-a0a3626769eb" }, { "system": "https://github.com/synthetichealth/synthea", "value": "69176529-fd1f-3b3f-abce-a0a3626769eb" } ], "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "profile": [ "http://standardhealthrecord.org/fhir/StructureDefinition/shr-entity-Organization" ], "versionId": "MTcxOTUyMzQ2Mjg2MzQ3NDAwMA" }, "name": "MOUNT AUBURN HOSPITAL", "resourceType": "Organization", "telecom": [ { "system": "phone", "value": "6174923500" } ], "type": [ { "coding": [ { "code": "prov", "display": "Healthcare Provider", "system": "http://terminology.hl7.org/CodeSystem/organization-type" } ], "text": "Healthcare Provider" } ] } }, { "fullUrl": "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /fhirStores/FHIR_STORE_ID /fhir/Patient/b0027145-32af-4030-bcb1-1f5b63d3f2e2", "resource": { "address": [ { "city": "Somerville", "country": "US", "extension": [ { "extension": [ { "url": "latitude", "valueDecimal": 42.390566 }, { "url": "longitude", "valueDecimal": -71.101324 } ], "url": "http://hl7.org/fhir/StructureDefinition/geolocation" } ], "line": [ "883 Howell Lane" ], "postalCode": "02138", "state": "Massachusetts" } ], "birthDate": "2008-03-10", "communication": [ { "language": { "coding": [ { "code": "es", "display": "Spanish", "system": "urn:ietf:bcp:47" } ], "text": "Spanish" } } ], "extension": [ { "extension": [ { "url": "ombCategory", "valueCoding": { "code": "2054-5", "display": "Black or African American", "system": "urn:oid:2.16.840.1.113883.6.238" } }, { "url": "text", "valueString": "Black or African American" } ], "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race" }, { "extension": [ { "url": "ombCategory", "valueCoding": { "code": "2186-5", "display": "Not Hispanic or Latino", "system": "urn:oid:2.16.840.1.113883.6.238" } }, { "url": "text", "valueString": "Not Hispanic or Latino" } ], "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity" }, { "url": "http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName", "valueString": "Ariadna374 Lovato727" }, { "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex", "valueCode": "F" }, { "url": "http://hl7.org/fhir/StructureDefinition/patient-birthPlace", "valueAddress": { "city": "Portsmouth", "country": "DM", "state": "Saint John Parish" } }, { "url": "http://standardhealthrecord.org/fhir/StructureDefinition/shr-actor-FictionalPerson-extension", "valueBoolean": true }, { "url": "http://standardhealthrecord.org/fhir/StructureDefinition/shr-entity-FathersName-extension", "valueHumanName": { "text": "Joaquín233 Montemayor547" } }, { "url": "http://standardhealthrecord.org/fhir/StructureDefinition/shr-demographics-SocialSecurityNumber-extension", "valueString": "999-10-3430" }, { "url": "http://synthetichealth.github.io/synthea/disability-adjusted-life-years", "valueDecimal": 0 }, { "url": "http://synthetichealth.github.io/synthea/quality-adjusted-life-years", "valueDecimal": 10 } ], "gender": "female", "id": "b0027145-32af-4030-bcb1-1f5b63d3f2e2", "identifier": [ { "system": "https://github.com/synthetichealth/synthea", "value": "c04dc343-a9f2-445c-ab4b-42b403a9cdba" }, { "system": "http://hospital.smarthealthit.org", "type": { "coding": [ { "code": "MR", "display": "Medical Record Number", "system": "http://terminology.hl7.org/CodeSystem/v2-0203" } ], "text": "Medical Record Number" }, "value": "c04dc343-a9f2-445c-ab4b-42b403a9cdba" }, { "system": "http://hl7.org/fhir/sid/us-ssn", "type": { "coding": [ { "code": "SS", "display": "Social Security Number", "system": "http://terminology.hl7.org/CodeSystem/v2-0203" } ], "text": "Social Security Number" }, "value": "999-10-3430" } ], "maritalStatus": { "coding": [ { "code": "S", "display": "Never Married", "system": "http://terminology.hl7.org/CodeSystem/v3-MaritalStatus" } ], "text": "Never Married" }, "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "profile": [ "http://standardhealthrecord.org/fhir/StructureDefinition/shr-entity-Patient" ], "versionId": "MTcxOTUyMzQ2MzIwNzY1MDAwMA" }, "multipleBirthBoolean": false, "name": [ { "family": "Montemayor547", "given": [ "Sonia106" ], "use": "official" } ], "resourceType": "Patient", "telecom": [ { "system": "phone", "use": "home", "value": "555-302-8948" } ], "text": { "div": "div xmlns=http://www.w3.org/1999/xhtml Generated by https://github.com/synthetichealth/synthea Synthea. Version identifier: 6a640b4\n . Person seed: -8343380064104224231 Population seed: 1562179070288", "status": "generated" } } }, { "fullUrl": "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /fhirStores/FHIR_STORE_ID /fhir/Practitioner/d22d7490-0710-4190-bd23-43bc6bca2649", "resource": { "active": true, "address": [ { "city": "CAMBRIDGE", "country": "US", "line": [ "330 MOUNT AUBURN STREET" ], "postalCode": "02138", "state": "MA" } ], "gender": "female", "id": "d22d7490-0710-4190-bd23-43bc6bca2649", "identifier": [ { "system": "http://hl7.org/fhir/sid/us-npi", "value": "10" } ], "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "versionId": "MTcxOTUyMzQ2MzQ0NDY3NTAwMA" }, "name": [ { "family": "Gleason633", "given": [ "Mariam937" ], "prefix": [ "Dr." ] } ], "resourceType": "Practitioner" } }, { "fullUrl": "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /fhirStores/FHIR_STORE_ID /fhir/Claim/d7628517-253d-47fa-951b-4057b71ca1fa", "resource": { "billablePeriod": { "end": "2015-03-02T17:06:14-08:00", "start": "2015-03-02T16:51:14-08:00" }, "created": "2015-03-02T17:06:14-08:00", "id": "d7628517-253d-47fa-951b-4057b71ca1fa", "insurance": [ { "coverage": { "display": "private" }, "focal": true, "sequence": 1 } ], "item": [ { "encounter": [ { "reference": "Encounter/c427ce3e-7677-400e-bc06-33a8cecfdd77" } ], "productOrService": { "coding": [ { "code": "185349003", "display": "Encounter for check up (procedure)", "system": "http://snomed.info/sct" } ], "text": "Encounter for check up (procedure)" }, "sequence": 1 }, { "informationSequence": [ 1 ], "net": { "currency": "USD", "value": 140.52 }, "productOrService": { "coding": [ { "code": "140", "display": "Influenza, seasonal, injectable, preservative free", "system": "http://hl7.org/fhir/sid/cvx" } ], "text": "Influenza, seasonal, injectable, preservative free" }, "sequence": 2 } ], "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "versionId": "MTcxOTUyMzQ1MDIxMzU0MjAwMA" }, "patient": { "reference": "Patient/b0027145-32af-4030-bcb1-1f5b63d3f2e2" }, "priority": { "coding": [ { "code": "normal", "system": "http://terminology.hl7.org/CodeSystem/processpriority" } ] }, "provider": { "reference": "Organization/69176529-fd1f-3b3f-abce-a0a3626769eb" }, "resourceType": "Claim", "status": "active", "supportingInfo": [ { "category": { "coding": [ { "code": "info", "system": "http://terminology.hl7.org/CodeSystem/claiminformationcategory" } ] }, "sequence": 1, "valueReference": { "reference": "Immunization/e0da797f-a3ef-4b90-9f41-3e650881e0ab" } } ], "total": { "currency": "USD", "value": 265.52 }, "type": { "coding": [ { "code": "institutional", "system": "http://terminology.hl7.org/CodeSystem/claim-type" } ] }, "use": "claim" } }, { "fullUrl": "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /fhirStores/FHIR_STORE_ID /fhir/ExplanationOfBenefit/7c6f9e0c-9773-4cc4-ab9f-cf0670c49081", "resource": { "billablePeriod": { "end": "2016-03-02T17:06:14-08:00", "start": "2015-03-02T17:06:14-08:00" }, "careTeam": [ { "provider": { "reference": "Practitioner/d22d7490-0710-4190-bd23-43bc6bca2649" }, "role": { "coding": [ { "code": "primary", "display": "Primary Care Practitioner", "system": "http://terminology.hl7.org/CodeSystem/claimcareteamrole" } ] }, "sequence": 1 } ], "claim": { "reference": "Claim/d7628517-253d-47fa-951b-4057b71ca1fa" }, "contained": [ { "id": "referral", "intent": "order", "performer": [ { "reference": "Practitioner/d22d7490-0710-4190-bd23-43bc6bca2649" } ], "requester": { "reference": "Practitioner/d22d7490-0710-4190-bd23-43bc6bca2649" }, "resourceType": "ServiceRequest", "status": "completed", "subject": { "reference": "Patient/b0027145-32af-4030-bcb1-1f5b63d3f2e2" } }, { "beneficiary": { "reference": "Patient/b0027145-32af-4030-bcb1-1f5b63d3f2e2" }, "id": "coverage", "payor": [ { "display": "private" } ], "resourceType": "Coverage", "status": "active", "type": { "text": "private" } } ], "created": "2015-03-02T17:06:14-08:00", "id": "7c6f9e0c-9773-4cc4-ab9f-cf0670c49081", "identifier": [ { "system": "https://bluebutton.cms.gov/resources/variables/clm_id", "value": "d7628517-253d-47fa-951b-4057b71ca1fa" }, { "system": "https://bluebutton.cms.gov/resources/identifier/claim-group", "value": "99999999999" } ], "insurance": [ { "coverage": { "display": "private", "reference": "#coverage" }, "focal": true } ], "insurer": { "display": "private" }, "item": [ { "category": { "coding": [ { "code": "1", "display": "Medical care", "system": "https://bluebutton.cms.gov/resources/variables/line_cms_type_srvc_cd" } ] }, "encounter": [ { "reference": "Encounter/c427ce3e-7677-400e-bc06-33a8cecfdd77" } ], "locationCodeableConcept": { "coding": [ { "code": "19", "display": "Off Campus-Outpatient Hospital", "system": "http://terminology.hl7.org/CodeSystem/ex-serviceplace" } ] }, "productOrService": { "coding": [ { "code": "185349003", "display": "Encounter for check up (procedure)", "system": "http://snomed.info/sct" } ], "text": "Encounter for check up (procedure)" }, "sequence": 1, "servicedPeriod": { "end": "2015-03-02T17:06:14-08:00", "start": "2015-03-02T16:51:14-08:00" } }, { "adjudication": [ { "amount": { "currency": "USD", "value": 28.104000000000003 }, "category": { "coding": [ { "code": "https://bluebutton.cms.gov/resources/variables/line_coinsrnc_amt", "display": "Line Beneficiary Coinsurance Amount", "system": "https://bluebutton.cms.gov/resources/codesystem/adjudication" } ] } }, { "amount": { "currency": "USD", "value": 112.41600000000001 }, "category": { "coding": [ { "code": "https://bluebutton.cms.gov/resources/variables/line_prvdr_pmt_amt", "display": "Line Provider Payment Amount", "system": "https://bluebutton.cms.gov/resources/codesystem/adjudication" } ] } }, { "amount": { "currency": "USD", "value": 140.52 }, "category": { "coding": [ { "code": "https://bluebutton.cms.gov/resources/variables/line_sbmtd_chrg_amt", "display": "Line Submitted Charge Amount", "system": "https://bluebutton.cms.gov/resources/codesystem/adjudication" } ] } }, { "amount": { "currency": "USD", "value": 140.52 }, "category": { "coding": [ { "code": "https://bluebutton.cms.gov/resources/variables/line_alowd_chrg_amt", "display": "Line Allowed Charge Amount", "system": "https://bluebutton.cms.gov/resources/codesystem/adjudication" } ] } }, { "amount": { "currency": "USD", "value": 0 }, "category": { "coding": [ { "code": "https://bluebutton.cms.gov/resources/variables/line_bene_ptb_ddctbl_amt", "display": "Line Beneficiary Part B Deductible Amount", "system": "https://bluebutton.cms.gov/resources/codesystem/adjudication" } ] } }, { "category": { "coding": [ { "code": "https://bluebutton.cms.gov/resources/variables/line_prcsg_ind_cd", "display": "Line Processing Indicator Code", "system": "https://bluebutton.cms.gov/resources/codesystem/adjudication" } ] } } ], "category": { "coding": [ { "code": "1", "display": "Medical care", "system": "https://bluebutton.cms.gov/resources/variables/line_cms_type_srvc_cd" } ] }, "informationSequence": [ 1 ], "locationCodeableConcept": { "coding": [ { "code": "19", "display": "Off Campus-Outpatient Hospital", "system": "http://terminology.hl7.org/CodeSystem/ex-serviceplace" } ] }, "net": { "currency": "USD", "value": 140.52 }, "productOrService": { "coding": [ { "code": "140", "display": "Influenza, seasonal, injectable, preservative free", "system": "http://hl7.org/fhir/sid/cvx" } ], "text": "Influenza, seasonal, injectable, preservative free" }, "sequence": 2, "servicedPeriod": { "end": "2015-03-02T17:06:14-08:00", "start": "2015-03-02T16:51:14-08:00" } } ], "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "versionId": "MTcxOTUyMzQ1NTU2NDY5MjAwMA" }, "outcome": "complete", "patient": { "reference": "Patient/b0027145-32af-4030-bcb1-1f5b63d3f2e2" }, "payment": { "amount": { "currency": "USD", "value": 112.41600000000001 } }, "provider": { "reference": "Practitioner/d22d7490-0710-4190-bd23-43bc6bca2649" }, "referral": { "reference": "#referral" }, "resourceType": "ExplanationOfBenefit", "status": "active", "total": [ { "amount": { "currency": "USD", "value": 265.52 }, "category": { "coding": [ { "code": "submitted", "display": "Submitted Amount", "system": "http://terminology.hl7.org/CodeSystem/adjudication" } ], "text": "Submitted Amount" } } ], "type": { "coding": [ { "code": "institutional", "system": "http://terminology.hl7.org/CodeSystem/claim-type" } ] }, "use": "claim" } }, { "fullUrl": "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /fhirStores/FHIR_STORE_ID /fhir/Observation/622dc825-a1a5-4b84-8fa3-04b2544ac6bb", "resource": { "category": [ { "coding": [ { "code": "vital-signs", "display": "vital-signs", "system": "http://terminology.hl7.org/CodeSystem/observation-category" } ] } ], "code": { "coding": [ { "code": "39156-5", "display": "Body Mass Index", "system": "http://loinc.org" } ], "text": "Body Mass Index" }, "effectiveDateTime": "2015-03-02T16:51:14-08:00", "encounter": { "reference": "Encounter/c427ce3e-7677-400e-bc06-33a8cecfdd77" }, "id": "622dc825-a1a5-4b84-8fa3-04b2544ac6bb", "issued": "2015-03-02T16:51:14.816-08:00", "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "profile": [ "http://standardhealthrecord.org/fhir/StructureDefinition/shr-finding-Observation", "http://standardhealthrecord.org/fhir/StructureDefinition/shr-vital-VitalSign", "http://standardhealthrecord.org/fhir/StructureDefinition/shr-vital-BodyMassIndex" ], "versionId": "MTcxOTUyMzQ2MjA1Nzg4MzAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/b0027145-32af-4030-bcb1-1f5b63d3f2e2" }, "valueQuantity": { "code": "kg/m2", "system": "http://unitsofmeasure.org", "unit": "kg/m2", "value": 14.784260473706514 } } }, { "fullUrl": "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /fhirStores/FHIR_STORE_ID /fhir/Observation/20120688-2c8b-4e76-9e34-a484e32e9351", "resource": { "category": [ { "coding": [ { "code": "vital-signs", "display": "vital-signs", "system": "http://terminology.hl7.org/CodeSystem/observation-category" } ] } ], "code": { "coding": [ { "code": "8302-2", "display": "Body Height", "system": "http://loinc.org" } ], "text": "Body Height" }, "effectiveDateTime": "2015-03-02T16:51:14-08:00", "encounter": { "reference": "Encounter/c427ce3e-7677-400e-bc06-33a8cecfdd77" }, "id": "20120688-2c8b-4e76-9e34-a484e32e9351", "issued": "2015-03-02T16:51:14.816-08:00", "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "profile": [ "http://standardhealthrecord.org/fhir/StructureDefinition/shr-finding-Observation", "http://standardhealthrecord.org/fhir/StructureDefinition/shr-vital-VitalSign", "http://standardhealthrecord.org/fhir/StructureDefinition/shr-vital-BodyHeight" ], "versionId": "MTcxOTUyMzQ2MjA0NDMwMDAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/b0027145-32af-4030-bcb1-1f5b63d3f2e2" }, "valueQuantity": { "code": "cm", "system": "http://unitsofmeasure.org", "unit": "cm", "value": 120.50639269008305 } } }, { "fullUrl": "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /fhirStores/FHIR_STORE_ID /fhir/Observation/8100f70c-fa98-41b1-b23c-151cdea433b3", "resource": { "category": [ { "coding": [ { "code": "vital-signs", "display": "vital-signs", "system": "http://terminology.hl7.org/CodeSystem/observation-category" } ] } ], "code": { "coding": [ { "code": "29463-7", "display": "Body Weight", "system": "http://loinc.org" } ], "text": "Body Weight" }, "effectiveDateTime": "2015-03-02T16:51:14-08:00", "encounter": { "reference": "Encounter/c427ce3e-7677-400e-bc06-33a8cecfdd77" }, "id": "8100f70c-fa98-41b1-b23c-151cdea433b3", "issued": "2015-03-02T16:51:14.816-08:00", "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "profile": [ "http://standardhealthrecord.org/fhir/StructureDefinition/shr-finding-Observation", "http://standardhealthrecord.org/fhir/StructureDefinition/shr-vital-VitalSign", "http://standardhealthrecord.org/fhir/StructureDefinition/shr-vital-BodyWeight" ], "versionId": "MTcxOTUyMzQ2MjA1MTc2MjAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/b0027145-32af-4030-bcb1-1f5b63d3f2e2" }, "valueQuantity": { "code": "kg", "system": "http://unitsofmeasure.org", "unit": "kg", "value": 21.469393594558884 } } }, { "fullUrl": "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /fhirStores/FHIR_STORE_ID /fhir/Observation/df225fb0-7811-466f-bd5d-57c10059ce22", "resource": { "category": [ { "coding": [ { "code": "vital-signs", "display": "vital-signs", "system": "http://terminology.hl7.org/CodeSystem/observation-category" } ] } ], "code": { "coding": [ { "code": "72514-3", "display": "Pain severity - 0-10 verbal numeric rating [Score] - Reported", "system": "http://loinc.org" } ], "text": "Pain severity - 0-10 verbal numeric rating [Score] - Reported" }, "effectiveDateTime": "2015-03-02T16:51:14-08:00", "encounter": { "reference": "Encounter/c427ce3e-7677-400e-bc06-33a8cecfdd77" }, "id": "df225fb0-7811-466f-bd5d-57c10059ce22", "issued": "2015-03-02T16:51:14.816-08:00", "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "profile": [ "http://standardhealthrecord.org/fhir/StructureDefinition/shr-finding-Observation", "http://standardhealthrecord.org/fhir/StructureDefinition/shr-vital-VitalSign" ], "versionId": "MTcxOTUyMzQ2MjA1MDkwOTAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/b0027145-32af-4030-bcb1-1f5b63d3f2e2" }, "valueQuantity": { "code": "{score}", "system": "http://unitsofmeasure.org", "unit": "{score}", "value": 3.1080799298691533 } } }, { "fullUrl": "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /fhirStores/FHIR_STORE_ID /fhir/Observation/4415e34b-cec8-4316-98ae-fc29cea862b5", "resource": { "category": [ { "coding": [ { "code": "vital-signs", "display": "vital-signs", "system": "http://terminology.hl7.org/CodeSystem/observation-category" } ] } ], "code": { "coding": [ { "code": "55284-4", "display": "Blood Pressure", "system": "http://loinc.org" } ], "text": "Blood Pressure" }, "component": [ { "code": { "coding": [ { "code": "8462-4", "display": "Diastolic Blood Pressure", "system": "http://loinc.org" } ], "text": "Diastolic Blood Pressure" }, "valueQuantity": { "code": "mm[Hg]", "system": "http://unitsofmeasure.org", "unit": "mm[Hg]", "value": 75.44894870094959 } }, { "code": { "coding": [ { "code": "8480-6", "display": "Systolic Blood Pressure", "system": "http://loinc.org" } ], "text": "Systolic Blood Pressure" }, "valueQuantity": { "code": "mm[Hg]", "system": "http://unitsofmeasure.org", "unit": "mm[Hg]", "value": 119.00010973273238 } } ], "effectiveDateTime": "2015-03-02T16:51:14-08:00", "encounter": { "reference": "Encounter/c427ce3e-7677-400e-bc06-33a8cecfdd77" }, "id": "4415e34b-cec8-4316-98ae-fc29cea862b5", "issued": "2015-03-02T16:51:14.816-08:00", "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "profile": [ "http://standardhealthrecord.org/fhir/StructureDefinition/shr-finding-Observation", "http://standardhealthrecord.org/fhir/StructureDefinition/shr-vital-VitalSign", "http://standardhealthrecord.org/fhir/StructureDefinition/shr-vital-BloodPressure" ], "versionId": "MTcxOTUyMzQ2MjA1ODI5NDAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/b0027145-32af-4030-bcb1-1f5b63d3f2e2" } } }, { "fullUrl": "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /fhirStores/FHIR_STORE_ID /fhir/Observation/f151e38c-c7bf-4c34-b015-6ef9e0a947bc", "resource": { "category": [ { "coding": [ { "code": "survey", "display": "survey", "system": "http://terminology.hl7.org/CodeSystem/observation-category" } ] } ], "code": { "coding": [ { "code": "72166-2", "display": "Tobacco smoking status NHIS", "system": "http://loinc.org" } ], "text": "Tobacco smoking status NHIS" }, "effectiveDateTime": "2015-03-02T16:51:14-08:00", "encounter": { "reference": "Encounter/c427ce3e-7677-400e-bc06-33a8cecfdd77" }, "id": "f151e38c-c7bf-4c34-b015-6ef9e0a947bc", "issued": "2015-03-02T16:51:14.816-08:00", "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "profile": [ "http://standardhealthrecord.org/fhir/StructureDefinition/shr-finding-Observation" ], "versionId": "MTcxOTUyMzQ2MjA2NDIzNzAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/b0027145-32af-4030-bcb1-1f5b63d3f2e2" }, "valueCodeableConcept": { "coding": [ { "code": "266919005", "display": "Never smoker", "system": "http://snomed.info/sct" } ], "text": "Never smoker" } } } ], "total": 12 }
Obtenir toutes les ressources de compartiment de patient
Les exemples suivants montrent comment obtenir toutes les ressources associées à un compartiment de patient particulier (DSTU2, STU3 et R4).
Pour en savoir plus, consultez la page concernant projects.locations.datasets.fhirStores.fhir.Patient-everything
Les exemples curl
et PowerShell suivants fonctionnent avec les stores FHIR R4. Les exemples Go, Java, Node.js et Python fonctionnent avec les magasins FHIR STU3.
Pour obtenir les ressources d'un compartiment de patient, exécutez une requête GET
et spécifiez les informations suivantes :
- Le nom de l'ensemble de données parent
- Le nom du magasin FHIR
- L'ID du patient
- Un jeton d'accès
L'exemple suivant montre une requête GET
utilisant 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"
Si la requête aboutit, le serveur affiche une réponse semblable à l'exemple suivant au format 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" }
Pour obtenir les ressources d'un compartiment de patient, exécutez une requête GET
et spécifiez les informations suivantes :
- Le nom de l'ensemble de données parent
- Le nom du magasin FHIR
- L'ID du patient
- Un jeton d'accès
L'exemple suivant montre une requête GET
utilisant 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
Si la requête aboutit, le serveur affiche une réponse semblable à l'exemple suivant au format 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" }
Obtenir des ressources de compartiment de patient par type ou par date
Les exemples suivants montrent comment obtenir toutes les ressources associées à un compartiment patient (R4) particulier, filtré en fonction d'une liste de types, à partir d'une date et d'une heure spécifiées.
Pour en savoir plus, consultez la page sur la méthode projects.locations.datasets.fhirStores.fhir.Patient-everything
.
Les exemples curl
et PowerShell suivants fonctionnent avec les stores FHIR R4.
Pour obtenir les ressources dans un compartiment de patient d'un type spécifié et depuis une date spécifiée, envoyez une requête GET
et spécifiez les informations suivantes :
- Nom de l'ensemble de données parent
- Le nom du magasin FHIR
- L'ID du patient
- Chaîne de requête contenant une liste de types de ressources séparés par une virgule et une date de début
- Un jeton d'accès
L'exemple suivant montre une requête GET
utilisant 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 "
Si la requête aboutit, le serveur renvoie toutes les ressources correspondant aux critères spécifiés au format JSON.
Pour obtenir les ressources dans un compartiment de patient d'un type spécifié et depuis une date spécifiée, envoyez une requête GET
et spécifiez les informations suivantes :
- Nom de l'ensemble de données parent
- Le nom du magasin FHIR
- L'ID du patient
- Chaîne de requête contenant une liste de types de ressources séparés par une virgule et une date de début
- Un jeton d'accès
L'exemple suivant montre une requête GET
utilisant 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
Si la requête aboutit, le serveur renvoie toutes les ressources correspondant aux critères spécifiés au format JSON.
Répertorier des versions de ressource FHIR
Les exemples suivants montrent comment répertorier toutes les versions historiques d'une ressource FHIR. Pour en savoir plus, consultez les sections sur projects.locations.datasets.fhirStores.fhir.history
Les exemples utilisent les ressources créées dans la section Créer une ressource FHIR et montrent comment répertorier les versions d'une ressource Observation.
Les exemples curl
et PowerShell suivants fonctionnent avec les stores FHIR R4. Les exemples Go, Java, Node.js et Python fonctionnent avec les magasins FHIR STU3.
L'exemple suivant montre comment répertorier toutes les versions d'une ressource Observation. La ressource Observation a été mise à jour une fois après sa création initiale afin de changer les battements par minute (BPM) du patient.
Pour répertorier toutes les versions d'une ressource FHIR, y compris la version actuelle et les versions supprimées, exécutez une requête GET
et spécifiez les informations suivantes :
- Le nom de l'ensemble de données parent
- Le nom du magasin FHIR
- Le type et l'ID de ressource
- Un jeton d'accès
L'exemple suivant montre une requête GET
utilisant 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"
Si la requête aboutit, le serveur renvoie la réponse au format JSON. Dans cet exemple, il renvoie deux versions de l'observation. Dans la première version, la fréquence cardiaque du patient était de 75 BPM. Dans la deuxième version, la fréquence cardiaque du patient était de 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" }
L'exemple suivant montre comment répertorier toutes les versions d'une ressource Observation. La ressource Observation a été mise à jour une fois après sa création initiale afin de changer les battements par minute (BPM) du patient.
Pour répertorier toutes les versions d'une ressource FHIR, y compris la version actuelle et les versions supprimées, exécutez une requête GET
et spécifiez les informations suivantes :
- Le nom de l'ensemble de données parent
- Le nom du magasin FHIR
- Le type et l'ID de ressource
- Un jeton d'accès
L'exemple suivant montre une requête GET
utilisant 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
Si la requête aboutit, le serveur renvoie la réponse au format JSON. Dans cet exemple, il renvoie deux versions de l'observation. Dans la première version, la fréquence cardiaque du patient était de 75 BPM. Dans la deuxième version, la fréquence cardiaque du patient était de 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" }
Récupérer une version de ressource FHIR
Les exemples suivants montrent comment récupérer une version spécifique d'une ressource.
Pour en savoir plus, consultez les sections sur projects.locations.datasets.fhirStores.fhir.vread
Les ID de version de la ressource Observation de la section Répertorier les versions des ressources FHIR sont mis en surbrillance ci-dessous :
{ "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" }, ... }
Les exemples suivants utilisent les ressources créées dans la section Créer une ressource FHIR et montrent comment afficher une ressource Observation.
Les exemples curl
et PowerShell suivants fonctionnent avec les stores FHIR R4. Les exemples Go, Node.js et Python fonctionnent avec les magasins FHIR STU3.
Pour obtenir une version spécifique d'une ressource FHIR, exécutez une requête GET
et spécifiez les informations suivantes :
- Le nom de l'ensemble de données parent
- Le nom du magasin FHIR
- Le type et l'ID de ressource
- La version de la ressource
- Un jeton d'accès
L'exemple suivant montre une requête GET
utilisant 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 "
Si la requête aboutit, le serveur renvoie la réponse au format JSON. Dans cet exemple, la première version de l'observation, où le rythme cardiaque du patient était de 75 BPM, est renvoyée.
{ "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 } }
Pour obtenir une version spécifique d'une ressource FHIR, exécutez une requête GET
et spécifiez les informations suivantes :
- Le nom de l'ensemble de données parent
- Le nom du magasin FHIR
- Le type et l'ID de ressource
- La version de la ressource
- Un jeton d'accès
L'exemple suivant montre une requête GET
utilisant 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
Si la requête aboutit, le serveur renvoie la réponse au format JSON. Dans cet exemple, la première version de l'observation, où le rythme cardiaque du patient était de 75 BPM, est renvoyée.
{ "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 } }
Supprimer une ressource FHIR
Les exemples suivants montrent comment appeler la méthode projects.locations.datasets.fhirStores.fhir.delete
pour supprimer une ressource FHIR Observation.
Quelle que soit l'opération réussie, le serveur renvoie un code d'état HTTP 200 OK
. Pour vérifier que la ressource a bien été supprimée, recherchez ou obtenez la ressource et vérifiez si elle existe.
Les exemples curl
et PowerShell suivants fonctionnent avec les stores FHIR R4. Les exemples Go, Java, Node.js et Python fonctionnent avec les magasins FHIR STU3.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID : ID de votre Google Cloud projetLOCATION : emplacement de l'ensemble de donnéesDATASET_ID : ensemble de données parent du magasin FHIR.FHIR_STORE_ID : ID du magasin FHIR.OBSERVATION_ID : ID de la ressource Observation
Pour envoyer votre requête, choisissez l'une des options suivantes :
Exécutez la commande suivante :
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 "
Exécutez la commande suivante :
$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
Ouvrez la page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Renseignez tous les champs obligatoires, puis cliquez sur Exécuter.
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{}
Supprimer une ressource FHIR de manière conditionnelle
Dans la version 1 de l'API Cloud Healthcare, les opérations conditionnelles utilisent exclusivement le paramètre de recherche identifier
, s'il existe pour le type de ressource FHIR, pour déterminer quelles ressources FHIR correspondent à une requête de recherche conditionnelle.
Une ressource FHIR correspond à la requête ?identifier=my-code-system|ABC-12345
si et seulement si le identifier.system
de la ressource est my-code-system
et son identifier.value
est ABC-12345
. Si une ressource FHIR correspond à la requête, l'API Cloud Healthcare la supprime.
Si la requête utilise le paramètre de recherche identifier
et correspond à plusieurs ressources FHIR, l'API Cloud Healthcare renvoie une erreur "412 - Condition not selective enough"
.
Pour supprimer les ressources individuellement, procédez comme suit:
- Recherchez chaque ressource pour obtenir son ID unique attribué par le serveur.
- Supprimez individuellement chaque ressource à l'aide de l'ID.
Les exemples suivants montrent comment supprimer de manière conditionnelle une ressource FHIR correspondant à une requête de recherche, plutôt que d'identifier la ressource FHIR à l'aide de son ID.
La requête de recherche correspond à une ressource Observation et la supprime à l'aide de son identifiant (ABC-12345
dans my-code-system
).
Utilisez la méthode projects.locations.datasets.fhirStores.fhir.conditionalDelete
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
: ID de votre Google Cloud projetPROJECT_ID
: emplacement de l'ensemble de donnéesLOCATION
: ensemble de données parent du magasin FHIR.DATASET_ID
: ID du magasin FHIR.FHIR_STORE_ID
Pour envoyer votre requête, choisissez l'une des options suivantes :
Exécutez la commande suivante :
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?identifier=my-code-system|ABC-12345"
Exécutez la commande suivante :
$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?identifier=my-code-system|ABC-12345" | Select-Object -Expand Content
Ouvrez la page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Renseignez tous les champs obligatoires, puis cliquez sur Exécuter.
Vous devriez recevoir un code d'état indiquant le succès de l'opération (2xx), ainsi qu'une réponse vide.
Supprimer des versions historiques d'une ressource FHIR
Les exemples suivants montrent comment supprimer toutes les versions historiques d'une ressource FHIR. Pour en savoir plus, consultez les sections sur projects.locations.datasets.fhirStores.fhir.Resource-purge
L'appel de la méthode projects.locations.datasets.fhirStores.fhir.Resource-purge
est limité aux utilisateurs (appelants) dotés du rôle roles/healthcare.fhirStoreAdmin
. Les utilisateurs dotés du rôle roles/healthcare.fhirResourceEditor
ne peuvent pas appeler la méthode. Pour autoriser un appelant à supprimer des versions historiques d'une ressource FHIR, utilisez l'une des méthodes suivantes :
- Assurez-vous que l'appelant dispose du rôle
roles/healthcare.fhirStoreAdmin
. - Créez un rôle IAM personnalisé avec l'autorisation
healthcare.fhirResources.purge
et attribuez le rôle à l'appelant.
Les exemples utilisent les ressources créées dans la section Créer une ressource FHIR et montrent comment supprimer les versions historiques d'une ressource Observation.
Les exemples curl
et PowerShell suivants fonctionnent avec les stores FHIR R4. Les exemples Go, Java, Node.js et Python fonctionnent avec les magasins FHIR STU3.
Pour supprimer toutes les versions historiques d'une ressource FHIR, exécutez une requête DELETE
et spécifiez les informations suivantes :
- Le nom de l'ensemble de données parent
- Le nom du magasin FHIR
- Le type et l'ID de ressource
- Un jeton d'accès
L'exemple suivant montre une requête DELETE
utilisant 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"
Si la requête aboutit, le serveur renvoie le corps de réponse vide au format JSON :
{}
Pour supprimer toutes les versions historiques d'une ressource FHIR, exécutez une requête DELETE
et spécifiez les informations suivantes :
- Le nom de l'ensemble de données parent
- Le nom du magasin FHIR
- Le type et l'ID de ressource
- Un jeton d'accès
L'exemple suivant montre une requête DELETE
utilisant 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
Si la requête aboutit, le serveur renvoie le corps de réponse vide au format JSON :
{}