Operace ověření: Přehled

Důležité

Rozhraní Azure API for FHIR bude vyřazeno 30. září 2026. Postupujte podle strategií migrace a do tohoto data přejděte na službu FHIR služby Azure Health Data Services. Vzhledem k vyřazení rozhraní Azure API for FHIR nebudou nová nasazení od 1. dubna 2025 povolena. Služba FHIR služby Azure Health Data Services je vyvinutá verze rozhraní Azure API for FHIR, která zákazníkům umožňuje spravovat služby FHIR, DICOM a MedTech s integrací do jiných služeb Azure.

V článku o profilech úložiště ve službě Azure API for FHIR jste prošli základy profilů FHIR a uložili je. Tento článek vás provede procesem $validate ověřování prostředků v profilech. Ověření prostředku vůči profilu znamená kontrolu, jestli prostředek odpovídá profilu, včetně specifikací uvedených v Resource.meta.profile průvodci implementací nebo v průvodci implementací.

$validate je operace ve službě Fast Healthcare Interoperability Resources (FHIR®), která umožňuje zajistit, aby prostředek FHIR odpovídal požadavkům základního prostředku nebo zadanému profilu. Tato operace zajišťuje, že data v rozhraní Azure API for FHIR mají očekávané atributy a hodnoty. Informace o ověření operace naleznete v tématu HL7 FHIR Specification. Podle specifikace lze režim zadat pomocí $validate, například vytvořit a aktualizovat:

  • create: Azure API for FHIR kontroluje, jestli je obsah profilu jedinečný z existujících prostředků a že je přijatelné vytvořit jako nový prostředek.
  • update: Zkontroluje, jestli je profil aktualizací pro nominovaný existující prostředek (v neměnných polích se neprovedou žádné změny).

Prostředek můžete ověřit různými způsoby:

  • Ověřte existující prostředek pomocí operace ověření.
  • Ověřte nový prostředek pomocí operace ověření.
  • Pomocí hlavičky ověřte prostředek CREATE/UPDATE.

Rozhraní Azure API for FHIR vždy vrátí OperationOutcome jako výsledky ověření pro operaci $validate. Služba Azure API for FHIR provádí dvoustupňové ověření, jakmile se prostředek předá do koncového bodu $validate – prvním krokem je základní ověření, které zajistí, že se prostředek dá analyzovat. Během analýzy prostředků je potřeba opravit jednotlivé chyby, než budete pokračovat dalším krokem. Jakmile se prostředek úspěšně parsuje, provede se úplné ověření jako druhý krok.

Poznámka:

Všechny sady hodnot, které se mají použít k ověření, se musí nahrát na server FHIR.  To zahrnuje všechny sady hodnot, které jsou součástí specifikace FHIR, a také všechny hodnoty sady hodnot definované v průvodcích implementace.  Podporují se pouze plně rozbalené sady hodnot, které obsahují úplný seznam všech kódů.  Definice sady hodnot, které odkazují na externí zdroje, nejsou podporovány.

Ověření existujícího prostředku

Pokud chcete ověřit existující prostředek, použijte $validate ho GET v požadavku:

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

Příklad:

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

V tomto příkladu ověřujete stávající prostředek Pacient proti základnímu prostředku a6e11662-def8-4dde-9ebc-4429e68d130e Pacient. Pokud je platný, získáte OperationOutcome například následující příklad kódu:

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

Pokud prostředek není platný, zobrazí se kód chyby a chybová zpráva s podrobnostmi o tom, proč je prostředek neplatný. OperationOutcome Příklad se vrátí s chybovými zprávami a může vypadat jako v následujícím příkladu kódu:

{
    "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"
            ]
        }
    ]
}

V tomto příkladu prostředek neodpovídá zadanému profilu pacienta, který vyžadoval hodnotu identifikátoru pacienta a pohlaví.

Pokud chcete jako parametr zadat profil, můžete zadat kanonickou adresu URL profilu, která se má ověřit, například v následujícím příkladu základního profilu HL7 pro heartrate:

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

Ověření nového prostředku

Pokud chcete ověřit nový prostředek, který nahráváte do rozhraní Azure API for FHIR, můžete provést POST požadavek: Server jako výsledek vždy vrátí operationOutcome.

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

Příklad:

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

Tento požadavek ověří prostředek. Při ověřování prostředků se ve službě FHIR nevytvoří, budete muset odeslat požadavek POST bez $validate k vytvoření prostředku.

Pomocí hlavičky ověřte prostředek CREATE/UPDATE.

Ve výchozím nastavení je rozhraní Azure API for FHIR nakonfigurované tak, aby se odhlásilo z ověřování prostředku Create/Update. Tato funkce umožňuje ověřování Create/Updatepomocí hlavičky x-ms-profile-validation . Pro ověření nastavte hodnotu x-ms-profile-validation na hodnotu true.

Poznámka:

Ve opensourcové službě FHIR můžete změnit nastavení konfigurace serveru v části CoreFeatures.

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

Další kroky

V tomto článku jste se dozvěděli, jak ověřovat prostředky proti profilům pomocí $validate. Další informace o dalších podporovaných funkcích rozhraní Azure API for FHIR najdete v tématu

FHIR® je registrovaná ochranná známka HL7 a používá se s povolením HL7.