Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Validation des ressources FHIR avec $validate
AWS HealthLake prend désormais en charge le $validate fonctionnement des ressources FHIR, ce qui vous permet de valider une ressource par rapport à la spécification FHIR et de vérifier sa conformité à un profil spécifié ou à une définition de ressource de base sans effectuer d'opérations de stockage. Cette opération est particulièrement utile lorsque vous devez :
-
Valider les exigences de conformité du CMS FHIR
-
Testez les ressources avant de les utiliser en production
-
Fournir des commentaires de validation en temps réel lorsque les utilisateurs modifient les données cliniques
-
Réduisez les soumissions de données non valides pour la création et la mise à jour APIs
Utilisation
L'$validateopération peut être invoquée sur les ressources FHIR à l'aide des méthodes POST :
Opérations prises en charge
POST [base]/[type]/[id]/$validate
POST [base]/[type]/$validate
Charges utiles prises en charge
Ressource de paramètres
HealthLake prend en charge les $validate paramètres FHIR suivants :
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
resource |
Ressource | Oui | La ressource à valider |
profile |
canonial | Non | URL canonique du profil par rapport auquel valider |
mode |
code | Non | Mode de validation :create, ou update |
Ressource directe avec paramètres de requête
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
profile |
canonial | Non | URL canonique du profil par rapport auquel valider |
mode |
code | Non | Mode de validation :create, ou update |
Exemples
Demande POST pour une ressource avec ID et paramètres (charge utile)
POST [base]/Patient/example-patient/$validate
Content-Type: application/fhir+json
{
"resourceType": "Parameters",
"parameter": [
{
"name": "resource",
"resource": {
"resourceType": "Patient",
"id": "example-patient",
"name": [
{
"family": "Smith",
"given": ["John"]
}
],
"gender": "male",
"birthDate": "1990-01-01"
}
},
{
"name": "profile",
"valueCanonical": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient"
},
{
"name": "mode",
"valueString": "create"
}
]
}
Demande POST pour le type de ressource et la charge utile des paramètres
POST [base]/Patient/$validate
Content-Type: application/fhir+json
{
"resourceType": "Parameters",
"parameter": [
{
"name": "resource",
"resource": {
"resourceType": "Patient",
"name": [
{
"family": "Doe",
"given": ["Jane"]
}
],
"gender": "female",
"birthDate": "1985-05-15"
}
},
{
"name": "profile",
"valueCanonical": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient"
},
{
"name": "mode",
"valueString": "update"
}
]
}
Demande de ressource POST avec identifiant et charge utile directe de la ressource
POST [base]/Patient/example-patient/$validate?profile=http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient&mode=create
Content-Type: application/fhir+json
{
"resourceType": "Patient",
"id": "example-patient",
"name": [
{
"family": "Smith",
"given": ["John"]
}
],
"gender": "male",
"birthDate": "1990-01-01"
}
Demande POST pour le type de ressource et la charge utile directe de la ressource
POST [base]/Patient/$validate?profile=http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient&mode=create
Content-Type: application/fhir+json
{
"resourceType": "Patient",
"id": "example-patient",
"name": [
{
"family": "Smith",
"given": ["John"]
}
],
"gender": "male",
"birthDate": "1990-01-01"
}
Exemple de réponse
L'opération renvoie une OperationOutcome ressource avec les résultats de validation :
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "information",
"code": "informational",
"diagnostics": "Validation successful"
}
]
}
Exemple de réponse avec erreurs de validation
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "required",
"details": {
"text": "Missing required element"
},
"diagnostics": "Patient.identifier is required by the US Core Patient profile",
"location": [
"Patient.identifier"
]
},
{
"severity": "warning",
"code": "code-invalid",
"details": {
"text": "Invalid code value"
},
"diagnostics": "The provided gender code is not from the required value set",
"location": [
"Patient.gender"
]
}
]
}
Attitude
L'$validateopération :
-
Valide la ressource par rapport à la spécification FHIR et à la définition de la ressource de base
-
Vérifie la conformité aux profils spécifiés lorsque le
profileparamètre est fourni -
Valide en fonction du mode spécifié (
createouupdate) -
Renvoie les résultats de validation détaillés, y compris les erreurs, les avertissements et les messages d'information
-
N'effectue aucune opération de stockage - validation uniquement
-
Renvoie HTTP 200 OK lorsque la validation peut être effectuée, que des problèmes de validation soient détectés ou non
Modes de validation
-
créer : valide la ressource comme si elle était en cours de création (nouvelle ressource)
-
mise à jour : valide la ressource comme si elle était mise à jour (ressource existante)
Gestion des erreurs
L'opération renvoie :
-
200 OK : La validation a été effectuée avec succès (quel que soit le résultat de la validation)
-
400 Demande incorrecte : format ou paramètres de demande non valides
-
404 Introuvable : type de ressource ou profil introuvable
Pour plus d'informations sur les spécifications de $validate fonctionnement, consultez la documentation des ressources $validate FHIR R4