Les guides de mise en œuvre et les profils FHIR garantissent que les ressources d'un magasin FHIR sont conformes à un ensemble spécifique de critères définis. Les guides de mise en œuvre incluent par exemple le guide de mise en œuvre US Core 4.0.0 et le guide de mise en œuvre Blue Button de Carin.
Cette page explique comment définir, configurer et utiliser des profils et des guides de mise en œuvre dans les magasins FHIR R4 à l'aide du guide de mise en œuvre US Core 4.0.0.
Présentation
Les profils FHIR sont un ensemble de règles supplémentaires définies en plus de la spécification FHIR de base pour gérer le traitement des ressources par différents systèmes de santé. Vous pouvez importer et activer des profils FHIR dans un datastore FHIR pour vous assurer que toutes les ressources d'un datastore FHIR répondent à des critères spécifiques concernant la structure des ressources et les informations collectées.
Définitions de structure et guides de mise en œuvre
Vous pouvez importer des profils FHIR pour votre magasin FHIR en insérant une ou plusieurs définitions de structure regroupées dans un ou plusieurs guides de mise en œuvre. Utilisez une définition de structure pour effectuer les opérations suivantes :
- Définir la contrainte d'un champ dans une ressource FHIR
- Référencer des ensembles de valeurs qui associent des systèmes de code et des ressources FHIR.
Vous utilisez un guide de mise en œuvre avec des définitions de structure pour la validation des ressources afin que celles-ci correspondent au cas d'utilisation de votre logiciel tiers.
Par exemple, supposons que votre logiciel tiers doive respecter les règles finales d'interopérabilité et d'accès des patients des Centres de services Medicare et Medicaid (CMS, Centers for Medicare and Medicaid Services) aux États-Unis. Votre logiciel tiers doit fournir une API d'accès Patient conforme aux profils CARIN. Vous pouvez importer et activer le guide de mise en œuvre CARIN dans votre magasin FHIR afin de valider les ressources par rapport aux profils CARIN. L'importation et l'activation des guides de mise en œuvre sont décrites dans les sections suivantes de cette page.
Après avoir importé votre guide de mise en œuvre, vous pouvez l'activer dans votre datastore FHIR pour la validation des ressources FHIR. Lorsqu'une ressource FHIR est mise à jour ou ajoutée au datastore, l'API Cloud Healthcare vérifie si elle correspond à une définition de structure du guide de mise en œuvre. Si la ressource FHIR correspond, elle est ajoutée au datastore. Si la ressource FHIR ne respecte pas les définitions de structure du guide de mise en œuvre, un message d'erreur est renvoyé et la ressource FHIR est rejetée.
Application de la validation des données
L'API Cloud Healthcare applique la validation des données lorsque vous utilisez les méthodes suivantes :
projects.locations.datasets.fhirStores.fhir.create
projects.locations.datasets.fhirStores.fhir.update
projects.locations.datasets.fhirStores.fhir.patch
projects.locations.datasets.fhirStores.executeBundle
Workflow de validation du profil
Le diagramme suivant montre le workflow de validation pour l'ajout ou la mise à jour de ressources FHIR :
Définir vos profils FHIR
Les sections suivantes vous expliquent comment télécharger des définitions de structure à partir de votre logiciel tiers et comment configurer un guide de mise en œuvre.
Télécharger les ressources de validation de votre profil
Pour vous assurer que vos définitions de structure correspondent à votre source faisant autorité, vous devez télécharger les ressources de validation de profil, telles que les définitions de structure, les guides de mise en œuvre ou les ensembles de valeurs, à partir d'une source externe, telle que le registre FHIR.org de guides de mise en œuvre. Les sources externes fournissent un package contenant l'ensemble des ensembles de valeurs, profils et extensions, ainsi qu'une liste de pages et des URL pour chaque guide de mise en œuvre.
Par exemple, si votre système utilise le profil de patient US Core, vous pouvez télécharger les définitions de structure et le guide de mise en œuvre utilisés par US Core.
L'API Cloud Healthcare permet de valider le type de règles de définition de structure suivant :
slicing
, avec prise en charge des discriminateurs suivants :value
pattern
profile
min/max
type
fixed
pattern
minValue
maxValue
maxLength
binding
, à l'exception des règles suivantes :ValueSet.compose.include.filter
ValueSet.compose.exclude
Configurer votre guide de mise en œuvre
Après avoir téléchargé vos définitions de structure, votre guide de mise en œuvre et votre ensemble de valeurs, vous devez ajouter les profils que le guide de mise en œuvre utilise pour valider les ressources FHIR.
Pour configurer le guide d'implémentation, procédez comme suit:
Ouvrez le fichier du guide de mise en œuvre que vous avez téléchargé à partir de votre fournisseur de logiciels tiers.
Ajoutez la section suivante pour inclure les définitions de structure qui doivent être validées par votre guide de mise en œuvre :
{ "resourceType": "ImplementationGuide", ... "global": [ { "type": "RESOURCE_TYPE", "profile": "STRUCTURE_DEFINITION_URL" } ] ... }
Remplacez les éléments suivants :
- RESOURCE_TYPE : définit le type de ressource auquel s'applique le guide de mise en œuvre.
- STRUCTURE_DEFINITION_URL : URL de la définition de la structure source du profil, par exemple, profil de patient US Core.
Enregistrez le fichier du guide de mise en œuvre.
L'exemple suivant montre les profils de patient et d'organisation activés pour le guide de mise en œuvre US Core :
"global":[ { "type":"Patient", "profile":"https://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" }, { "type":"Organization", "profile":"https://hl7.org/fhir/us/core/StructureDefinition/us-core-organization" }, ... ]
Importer votre guide de mise en œuvre dans Cloud Storage
Une fois que vous avez modifié votre guide de mise en œuvre, vous devez importer les fichiers suivants dans Cloud Storage :
- Le guide de mise en œuvre
- Les définitions de structure
- Les ensembles de valeurs
Après l'importation, vous pouvez utiliser ces fichiers pour valider les ressources de votre datastore FHIR.
Pour importer votre guide de mise en œuvre dans Cloud Storage, procédez comme suit :
Supprimez de votre guide de mise en œuvre tous les fichiers qui ne sont pas utilisés par les profils FHIR dans l'API Cloud Healthcare.
Par exemple, si vous implémentez le guide de mise en œuvre US Core, vous pouvez supprimer les fichiers suivants :
.DS_Store
ig-r4.json
openapi/.index.json
package.json
Pour ajouter le guide de mise en œuvre, les définitions de structure et les ensembles de valeurs à Cloud Storage, exécutez les commandes suivantes :
gcloud storage cp \ PATH_TO_IMPLEMENTATION_GUIDE \ gs://BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY \ --recursive
Remplacez les éléments suivants :
- PATH_TO_IMPLEMENTATION_GUIDE : chemin d'accès au guide de mise en œuvre sur votre ordinateur local
- BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY : bucket et répertoire dans lequel vous stockez le guide de mise en œuvre dans Cloud Storage
Importer votre guide de mise en œuvre
Pour utiliser le guide de mise en œuvre pour valider les profils dans votre datastore FHIR, importez-le dans votre datastore FHIR en tant que ressource FHIR.
Les exemples suivants montrent comment importer votre guide de mise en œuvre dans un datastore FHIR :
gcloud
Pour ajouter votre guide de mise en œuvre en tant que ressource à un magasin FHIR, exécutez la commande gcloud healthcare fhir-stores import gcs
:
gcloud healthcare fhir-stores import gcs FHIR_STORE_ID \ --dataset=DATASET_ID \ --gcs-uri='gs://BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY/*' \ --content-structure=resource-pretty
Remplacez les éléments suivants :
- FHIR_STORE_ID : ID du datastore FHIR
- DATASET_ID : ID de l'ensemble de données
- BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY : emplacement du guide de mise en œuvre dans un bucket Cloud Storage
Le résultat est le suivant :
Request issued for: [FHIR_STORE_ID] Waiting for operation [OPERATION_ID] to complete...done. name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID
Dans ce résultat :
- PROJECT_ID, LOCATION et DATASET_ID : valeurs que vous avez fournies dans l'appel de méthode
- OPERATION_ID : identifiant de l'opération de longue durée fournie par l'API Cloud Healthcare
Pour afficher plus de détails sur l'opération, exécutez la commande gcloud healthcare operations describe
en fournissant le OPERATION_ID spécifié dans la réponse :
gcloud healthcare operations describe OPERATION_ID \ --dataset=DATASET_ID
Le résultat est le suivant. Si la réponse contient done: true
, l'opération est terminée. Si ce n'est pas le cas, l'opération est toujours en cours d'exécution. Patientez quelques secondes, puis exécutez de nouveau la commande gcloud healthcare operations describe
.
done: true metadata: '@type': type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata apiMethodName: google.cloud.healthcare.v1.fhir.FhirService.ImportResources createTime: 'CREATE_TIME' endTime: 'END_TIME' name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID response: '@type': type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ImportResourcesResponse fhirStore: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID
API
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "contentStructure": "RESOURCE_PRETTY", "gcsSource": { "uri": "gs://BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY/*" } }' "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:import"
Remplacez les éléments suivants :
- BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY : emplacement du guide de mise en œuvre dans un bucket Cloud Storage
- PROJECT_ID : ID de votre projet Google Cloud
- LOCATION : emplacement de l'ensemble de données
- DATASET_ID : ID de l'ensemble de données
- FHIR_STORE_ID : ID du datastore FHIR
La réponse est la suivante :
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
Dans ce résultat :
- PROJECT_ID, LOCATION et DATASET_ID : valeurs que vous avez fournies dans l'appel de méthode
- OPERATION_ID : identifiant de l'opération de longue durée fournie par l'API Cloud Healthcare
Pour suivre l'état de l'opération, utilisez la méthode operations.get
:
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/operations/OPERATION_ID"
Remplacez les éléments suivants :
- PROJECT_ID : ID de votre projet Google Cloud
- LOCATION : emplacement de l'ensemble de données
- DATASET_ID : ID de l'ensemble de données
- FHIR_STORE_ID : ID du datastore FHIR
- OPERATION_ID : ID renvoyé par l'opération de longue durée
Le résultat est le suivant. Si la réponse contient "done": true
, l'opération est terminée. Si ce n'est pas le cas, l'opération est toujours en cours d'exécution. Patientez quelques secondes, puis appelez de nouveau la méthode operations.get
.
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1.fhir.FhirService.ImportResources", "createTime": "CREATE_TIME", "endTime": "END_TIME", "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL", "counter": { "success": "SUCCESS_COUNT" } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ImportResourcesResponse", } }
PowerShell
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body '{ "contentStructure": "RESOURCE_PRETTY", "gcsSource": { "uri": "gs://BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY/*" } }' ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:import" | Select-Object -Expand Content
Remplacez les éléments suivants :
- BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY : emplacement du guide de mise en œuvre dans un bucket Cloud Storage
- PROJECT_ID : ID de votre projet Google Cloud
- LOCATION : emplacement de l'ensemble de données
- DATASET_ID : ID de l'ensemble de données
- FHIR_STORE_ID : ID du datastore FHIR
La réponse est la suivante :
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
Dans ce résultat :
- PROJECT_ID, LOCATION et DATASET_ID : valeurs que vous avez fournies dans l'appel de méthode
- OPERATION_ID : identifiant de l'opération de longue durée fournie par l'API Cloud Healthcare
Pour suivre l'état de l'opération, utilisez la méthode operations.get
:
$cred = gcloud auth application-default 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/operations/OPERATION_ID" | Select-Object -Expand Content
Remplacez les éléments suivants :
- PROJECT_ID : ID de votre projet Google Cloud
- LOCATION : emplacement de l'ensemble de données
- DATASET_ID : ID de l'ensemble de données
- FHIR_STORE_ID : ID du datastore FHIR
- OPERATION_ID : ID renvoyé par l'opération de longue durée
Le résultat est le suivant. Si la réponse contient "done": true
, l'opération est terminée. Si ce n'est pas le cas, l'opération est toujours en cours d'exécution. Patientez quelques secondes, puis appelez de nouveau la méthode operations.get
.
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1.fhir.FhirService.ImportResources", "createTime": "CREATE_TIME", "endTime": "END_TIME", "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL", "counter": { "success": "SUCCESS_COUNT" } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ImportResourcesResponse", } }
Transférer et importer les dépendances de votre mise en œuvre
Avant de pouvoir activer votre guide de mise en œuvre, vous devez vous assurer que toutes ses dépendances ont été correctement transférées et importées. Les dépendances sont définies par le paramètre dependsOn
de votre guide de mise en œuvre, comme suit :
"dependsOn":[
{
"id":"hl7_fhir_uv_bulkdata",
"uri":"http://hl7.org/fhir/uv/bulkdata/ImplementationGuide/hl7.fhir.uv.bulkdata",
"packageId":"hl7.fhir.uv.bulkdata",
"version":"1.0.1"
},
{
"id":"vsac",
"uri":"http://fhir.org/packages/us.nlm.vsac/ImplementationGuide/us.nlm.vsac",
"packageId":"us.nlm.vsac",
"version":"0.3.0"
}
]
Pour transférer et importer les dépendances, suivez les instructions des sections respectives Importer votre guide de mise en œuvre dans Cloud Storage et Importer votre guide de mise en œuvre.
Activer votre guide de mise en œuvre
Pour utiliser une ressource de guide de mise en œuvre afin de valider des profils, vous devez activer ce guide. Si vous activez plusieurs guides de mise en œuvre, l'API Cloud Healthcare tente de valider les profils par rapport à tous ces guides de mise en œuvre. Une ressource FHIR n'a besoin de correspondre qu'à un seul profil parmi tous les guides de mise en œuvre activés.
L'API Cloud Healthcare valide les guides de mise en œuvre uniquement lorsque vous les activez. Si vous modifiez un guide de mise en œuvre et l'activez à nouveau, l'API Cloud Healthcare valide le guide de mise en œuvre modifié.
Si vous supprimez un guide de mise en œuvre après l'avoir activé, celui-ci cesse d'être appliqué.
Les exemples suivants montrent comment activer votre guide de mise en œuvre pour la validation du profil sur un datastore FHIR existant :
curl
Pour activer votre guide de mise en œuvre , envoyez une requête PATCH
et spécifiez les informations suivantes :
- Nom et emplacement de l'ensemble de données parent
- Le nom du magasin FHIR
- Le champ
enabledImplementationGuides
défini sur le chemin d'accès à votre ressource de guide de mise en œuvre
L'exemple suivant montre une requête PATCH
utilisant curl
.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/fhir+json; charset=utf-8" \ --data '{ "validationConfig": { "enabledImplementationGuides": ["IMPLEMENTATION_GUIDE_URL"], "disableProfileValidation": false } }' "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=validationConfig"
Remplacez les éléments suivants :
- IMPLEMENTATION_GUIDE_URL: URL définie dans la propriété
url
de la ressource ImplementationGuide, par exemplehttp://hl7.org/fhir/us/core/ImplementationGuide/hl7.fhir.us.core
- PROJECT_ID : ID de votre projet Google Cloud
- LOCATION : emplacement de l'ensemble de données
- DATASET_ID : ID de l'ensemble de données
- FHIR_STORE_ID : ID du datastore FHIR
La réponse est la suivante :
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "validationConfig": { "enabledImplementationGuides": ["IMPLEMENTATION_GUIDE_URL"] } }
PowerShell
Pour activer votre guide de mise en œuvre , envoyez une requête PATCH
et spécifiez les informations suivantes :
- Nom et emplacement de l'ensemble de données parent
- Le nom du magasin FHIR
- Le champ
enabledImplementationGuides
défini sur le chemin d'accès à votre ressource de guide de mise en œuvre
L'exemple suivant montre une requête PATCH
utilisant Windows PowerShell.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Patch ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body '{ "validationConfig": { "enabledImplementationGuides": ["IMPLEMENTATION_GUIDE_URL"] } }' ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=validationConfig" | Select-Object -Expand Content
Remplacez les éléments suivants :
- IMPLEMENTATION_GUIDE_URL: URL définie dans la propriété
url
de la ressource ImplementationGuide, par exemplehttp://hl7.org/fhir/us/core/ImplementationGuide/hl7.fhir.us.core
- PROJECT_ID : ID de votre projet Google Cloud
- LOCATION : emplacement de l'ensemble de données
- DATASET_ID : ID de l'ensemble de données
- FHIR_STORE_ID : ID du datastore FHIR
La réponse est la suivante :
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "validationConfig": { "enabledImplementationGuides": ["IMPLEMENTATION_GUIDE_URL"], }, }
Python
Activer les guides d'implémentation à l'aide de la console Google Cloud
Lorsque vous utilisez la console Google Cloud pour créer ou modifier un magasin FHIR, vous pouvez effectuer les opérations suivantes:
- Sélectionnez les guides d'implémentation par défaut fournis par l'API Cloud Healthcare.
- Importer un guide d'implémentation personnalisé depuis Cloud Storage dans votre entrepôt FHIR
Pour importer un guide d'implémentation personnalisé, procédez comme suit:
Facultatif: Configurez votre guide d'implémentation.
Cette étape est nécessaire pour ajouter manuellement le tableau
global
à la ressource de votre guide d'implémentation. Si vous choisissez d'ignorer cette étape, vous devez ajouter le tableauglobal
lorsque vous créez le lot de transactions FHIR à l'étape suivante à l'aide d'une autre méthode, telle que l'outil Bundler for FHIR profile validation resources (Outil de regroupement des ressources de validation de profil FHIR) avec l'indicateurgenerate_global_array
.Créez un lot de transactions FHIR de vos ressources de validation de profil, qui comprend le guide de mise en œuvre, les définitions de structure et les ensembles de valeurs.
Vous pouvez créer le lot de transactions à l'aide de l'outil Bundler for FHIR profile validation resources (Outil de regroupement des ressources de validation de profil FHIR).
Importez le bundle de validation du profil FHIR dans un emplacement Cloud Storage.
gcloud storage cp \ PATH_TO_PROFILE_VALIDATION_BUNDLE \ gs://BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY \ --recursive
Remplacez les éléments suivants :
- PATH_TO_PROFILE_VALIDATION_BUNDLE: chemin d'accès au bundle de validation de profil sur votre ordinateur local
- BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY: emplacement Cloud Storage dans lequel le bundle doit être stocké
Importez votre guide d'implémentation personnalisé à partir de l'emplacement Cloud Storage lorsque vous créez ou modifiez votre magasin FHIR.
Valider des ressources par rapport à des profils spécifiques
Les exemples suivants montrent comment valider une ressource FHIR vis-à-vis d'un profil spécifique ou vis-à-vis de tous les profils définis pour un magasin FHIR. La validation de la ressource FHIR vous permet de déterminer si votre ressource FHIR est conforme à un ou plusieurs profils.
Pour valider une ressource FHIR, utilisez la méthode fhir.Resource-validate
.
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data @RESOURCE_FILE \ 'https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/$validate?profile=PROFILE_URL'
Remplacez les éléments suivants :
- RESOURCE_FILE : emplacement d'un fichier contenant la ressource
- PROJECT_ID : ID de votre projet Google Cloud
- LOCATION : emplacement de l'ensemble de données
- DATASET_ID : ID de l'ensemble de données
- FHIR_STORE_ID : ID du magasin FHIR.
- PROFILE_URL : URL canonique du profil FHIR, par exemple
http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient
pour une ressource Patient. Il doit exister une ressource StructureDefinition contenant cette URL dans FHIR_STORE_ID. Si vous validez la ressource par rapport aux profils que vous avez déjà activés dans le magasin, ne spécifiez pas ce paramètre de requête. - RESOURCE_TYPE : type de la ressource
Si une ressource est conforme aux profils, une réponse semblable à ce qui suit est renvoyée :
{ "issue": [ { "code": "informational", "details": { "text": "success" }, "diagnostics": "success", "severity": "information" } ], "resourceType": "OperationOutcome" }
Si une ressource n'est pas conforme à un profil, une erreur est renvoyée avec une réponse semblable à la suivante :
{ "issue": [ { "code": "processing", "diagnostics": "Profile http://hl7.org/fhir/StructureDefinition/AuditEvent, Element 'AuditEvent.agent.requestor': minimum required = 1, but only found 0", "location": [ "AuditEvent.agent" ], "severity": "error" } ], "resourceType": "OperationOutcome" }
PowerShell
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body '@RESOURCE_FILE' ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/$validate?profile=PROFILE_URL" | Select-Object -Expand Content
Remplacez les éléments suivants :
- RESOURCE_FILE : emplacement d'un fichier contenant la ressource
- PROJECT_ID : ID de votre projet Google Cloud
- LOCATION : emplacement de l'ensemble de données
- DATASET_ID : ID de l'ensemble de données
- FHIR_STORE_ID : ID du magasin FHIR.
- PROFILE_URL : URL canonique du profil FHIR, par exemple
http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient
pour une ressource Patient. Il doit exister une ressource StructureDefinition contenant cette URL dans FHIR_STORE_ID. Si vous validez la ressource par rapport aux profils que vous avez déjà activés dans le magasin, ne spécifiez pas ce paramètre de requête. - RESOURCE_TYPE : type de la ressource
Si une ressource est validée par rapport à un profil, une réponse semblable à la suivante est renvoyée :
{ "issue": [ { "code": "informational", "details": { "text": "success" }, "diagnostics": "success", "severity": "information" } ], "resourceType": "OperationOutcome" }
Si une ressource n'est pas validée par rapport à un profil, une erreur est renvoyée avec une réponse semblable à la suivante :
{ "issue": [ { "code": "processing", "diagnostics": "Profile http://hl7.org/fhir/StructureDefinition/AuditEvent, Element 'AuditEvent.agent.requestor': minimum required = 1, but only found 0", "location": [ "AuditEvent.agent" ], "severity": "error" } ], "resourceType": "OperationOutcome" }