Partage via


Opération de validation : Vue d’ensemble

Important

L’API Azure pour FHIR sera mise hors service le 30 septembre 2026. Suivez les stratégies de migration pour passer au service FHIR® Azure Health Data Services à cette date. En raison de la mise hors service de l’API Azure pour FHIR, les nouveaux déploiements ne seront plus autorisés à compter du 1er avril 2025. Le service FHIR des Services de données de santé Azure est la version évoluée de l’API Azure pour FHIR qui permet aux clients de gérer les services FHIR, DICOM et MedTech avec des intégrations dans d’autres services Azure.

Dans l’article des profils de magasin dans l’API Azure pour FHIR , vous avez parcouru les bases des profils FHIR et les stockez. Cet article vous guide tout au long de l’utilisation $validate de la validation des ressources par rapport aux profils. La validation d’une ressource par rapport à un profil signifie vérifier si la ressource est conforme au profil, y compris les spécifications répertoriées dans Resource.meta.profile ou dans un guide d’implémentation.

$validate est une opération dans Fast Healthcare Interopérabilité Resources (FHIR®) qui vous permet de vous assurer qu’une ressource FHIR est conforme aux exigences de ressources de base ou à un profil spécifié. Cette opération garantit que les données de l’API Azure pour FHIR ont les attributs et valeurs attendus. Pour plus d’informations sur l’opération de validation, consultez la spécification HL7 FHIR. Par spécification, le mode peut être spécifié avec $validate, par exemple, créer et mettre à jour :

  • create: l’API Azure pour FHIR vérifie que le contenu du profil est unique à partir des ressources existantes et qu’il est acceptable d’être créé en tant que nouvelle ressource.
  • update: vérifie que le profil est une mise à jour par rapport à la ressource existante nommée (aucune modification n’est apportée aux champs immuables).

Il existe différentes façons de valider la ressource :

  • Validez une ressource existante avec l’opération de validation.
  • Validez une nouvelle ressource avec l’opération de validation.
  • Validez sur la ressource CREATE/UPDATE à l’aide de l’en-tête.

L’API Azure pour FHIR retourne toujours un OperationOutcome résultat de validation pour $validate opération. L’API Azure pour le service FHIR effectue deux étapes de validation, une fois qu’une ressource est passée dans $validate point de terminaison , la première étape est une validation de base pour vous assurer que la ressource peut être analysée. Pendant l’analyse des ressources, les erreurs individuelles doivent être corrigées avant de passer à l’étape suivante. Une fois la ressource analysée, la validation complète est effectuée en deuxième étape.

Remarque

Tous les ensembles de valeurs à utiliser pour la validation doivent être chargés sur le serveur FHIR.  Cela inclut tous les ensembles de valeurs qui font partie de la spécification FHIR, ainsi que les ensembles de valeurs définis dans les guides d’implémentation.  Seuls les ensembles de valeurs entièrement développés qui contiennent une liste complète de tous les codes sont pris en charge.  Toutes les définitions ValueSet qui référencent des sources externes ne sont pas prises en charge.

Validation d’une ressource existante

Pour valider une ressource existante, utilisez-la $validate dans une GET requête :

GET http://<your Azure API for FHIR base URL>/{resource}/{resource ID}/$validate

Par exemple :

GET https://myworkspace-myfhirserver.fhir.azurehealthcareapis.com/Patient/a6e11662-def8-4dde-9ebc-4429e68d130e/$validate

Dans cet exemple, vous validez la ressource a6e11662-def8-4dde-9ebc-4429e68d130e Patient existante par rapport à la ressource Patient de base. S’il est valide, vous obtenez un OperationOutcome exemple de code suivant :

{
    "resourceType": "OperationOutcome",
    "issue": [
        {
            "severity": "information",
            "code": "informational",
            "diagnostics": "All OK"
        }
    ]
}

Si la ressource n’est pas valide, vous obtenez un code d’erreur et un message d’erreur contenant des détails sur la raison pour laquelle la ressource n’est pas valide. Un exemple OperationOutcome est retourné avec des messages d’erreur et peut ressembler à l’exemple de code suivant :

{
    "resourceType": "OperationOutcome",
    "issue": [
        {
            "severity": "error",
            "code": "invalid",
            "details": {
                "coding": [
                    {
                        "system": "http://hl7.org/fhir/dotnet-api-operation-outcome",
                        "code": "1028"
                    }
                ],
                "text": "Instance count for 'Patient.identifier.value' is 0, which is not within the specified cardinality of 1..1"
            },
            "location": [
                "Patient.identifier[1]"
            ]
        },
        {
            "severity": "error",
            "code": "invalid",
            "details": {
                "coding": [
                    {
                        "system": "http://hl7.org/fhir/dotnet-api-operation-outcome",
                        "code": "1028"
                    }
                ],
                "text": "Instance count for 'Patient.gender' is 0, which is not within the specified cardinality of 1..1"
            },
            "location": [
                "Patient"
            ]
        }
    ]
}

Dans cet exemple, la ressource n’était pas conforme au profil patient fourni, ce qui nécessitait une valeur d’identificateur de patient et un sexe.

Si vous souhaitez spécifier un profil en tant que paramètre, vous pouvez spécifier l’URL canonique pour le profil à valider, comme l’exemple suivant pour le profil de base HL7 pour heartrate:

GET https://myAzureAPIforFHIR.azurehealthcareapis.com/Observation/12345678/$validate?profile=http://hl7.org/fhir/StructureDefinition/heartrate

Validation d’une nouvelle ressource

Si vous souhaitez valider une nouvelle ressource que vous chargez dans l’API Azure pour FHIR, vous pouvez effectuer une POST demande : le serveur retourne toujours une opérationOutcome en conséquence.

POST http://<your Azure API for FHIR base URL>/{Resource}/$validate

Par exemple :

POST https://myAzureAPIforFHIR.azurehealthcareapis.com/Patient/$validate

Cette demande valide la ressource. Sur les ressources de validation ne sont pas créées dans le service FHIR, vous devez envoyer une requête POST sans $validate pour créer une ressource.

Validez sur la ressource CREATE/UPDATE à l’aide de l’en-tête.

Par défaut, l’API Azure pour FHIR est configurée pour refuser la validation sur la ressource Create/Update. Cette fonctionnalité permet de valider sur Create/Update, à l’aide de l’en-tête x-ms-profile-validation . Définissez « x-ms-profile-validation » sur true pour la validation.

Remarque

Dans le service FHIR open source, vous pouvez modifier le paramètre de configuration du serveur, sous CoreFeatures.

{
   "FhirServer": {
      "CoreFeatures": {
            "ProfileValidationOnCreate": true,
            "ProfileValidationOnUpdate": false
        }
}

Étapes suivantes

Dans cet article, vous avez appris à valider des ressources par rapport aux profils à l’aide $validatede . Pour en savoir plus sur les autres fonctionnalités prises en charge par l’API Azure pour FHIR, consultez

FHIR® est une marque déposée de HL7 utilisé avec l’autorisation de HL7.