Verifiera åtgärd: Översikt

Viktigt!

Azure API för FHIR dras tillbaka den 30 september 2026. Följ migreringsstrategierna för att övergå till Azure Health Data Services FHIR-tjänsten senast det datumet. På grund av tillbakadragandet av Azure API för FHIR tillåts inte nya distributioner från och med den 1 april 2025. Azure Health Data Services FHIR-tjänsten är den utvecklade versionen av Azure API för FHIR som gör det möjligt för kunder att hantera FHIR-, DICOM- och MedTech-tjänster med integreringar i andra Azure-tjänster.

I artikeln butiksprofiler i Azure API for FHIR gick du igenom grunderna i FHIR-profiler och lagrade dem. Den här artikeln beskriver hur du använder $validate för att verifiera resurser mot profiler. Att verifiera en resurs mot en profil innebär att kontrollera om resursen överensstämmer med profilen, inklusive specifikationerna som anges i Resource.meta.profile eller i en implementeringsguide.

$validate är en åtgärd i FHIR® (Fast Healthcare Interoperability Resources) som gör att du kan se till att en FHIR-resurs överensstämmer med basresurskraven eller en angiven profil. Den här åtgärden säkerställer att data i Azure API för FHIR har förväntade attribut och värden. Information om verifieringsåtgärd finns i HL7 FHIR-specifikation. Enligt specifikationen kan läge anges med $validate, till exempel skapa och uppdatera:

  • create: Azure API för FHIR kontrollerar att profilinnehållet är unikt från befintliga resurser och att det är acceptabelt att skapas som en ny resurs.
  • update: Kontrollerar att profilen är en uppdatering mot den angivna befintliga resursen (det vill sig att inga ändringar görs i de oföränderliga fälten).

Det finns olika sätt för dig att verifiera resursen:

  • Verifiera en befintlig resurs med verifieringsåtgärden.
  • Verifiera en ny resurs med verifieringsåtgärden.
  • Verifiera på resursen CREATE/UPDATE med hjälp av huvudet.

Azure API för FHIR returnerar alltid ett OperationOutcome som valideringsresultat för $validate åtgärd. Azure API för FHIR-tjänsten utför tvåstegsverifiering när en resurs skickas till $validate slutpunkt – det första steget är en grundläggande validering för att säkerställa att resursen kan parsas. Under resursparsning måste enskilda fel åtgärdas innan du fortsätter till nästa steg. När resursen har parsats utförs fullständig validering som ett andra steg.

Kommentar

Alla värden som ska användas för validering måste laddas upp till FHIR-servern.  Detta inkluderar alla värdeuppsättningar som ingår i FHIR-specifikationen, samt alla ValueSets som definierats i implementeringsguider.  Endast fullständigt expanderade värdeuppsättningar som innehåller en fullständig lista över alla koder stöds.  Alla ValueSet-definitioner som refererar till externa källor stöds inte.

Verifiera en befintlig resurs

Om du vill verifiera en befintlig resurs använder du $validate i en GET begäran:

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

Till exempel:

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

I det här exemplet verifierar du den befintliga patientresursen a6e11662-def8-4dde-9ebc-4429e68d130e mot basresursen patient. Om det är giltigt får du ett OperationOutcome sådant som följande kodexempel:

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

Om resursen inte är giltig får du en felkod och ett felmeddelande med information om varför resursen är ogiltig. Ett exempel OperationOutcome returneras med felmeddelanden och kan se ut som i följande kodexempel:

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

I det här exemplet överensstämde inte resursen med den angivna patientprofilen, vilket krävde ett patientidentifierarvärde och kön.

Om du vill ange en profil som en parameter kan du ange den kanoniska URL:en för profilen som ska verifieras mot, till exempel följande exempel för HL7-basprofilen för heartrate:

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

Verifiera en ny resurs

Om du vill verifiera en ny resurs som du laddar upp till Azure API för FHIR kan du göra en POST begäran: Servern returnerar alltid en OperationOutcome som resultat.

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

Till exempel:

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

Den här begäran verifierar resursen. Om valideringsresurser inte skapas i FHIR-tjänsten måste du skicka en POST-begäran utan $validate för att skapa resursen.

Verifiera på resursen CREATE/UPDATE med hjälp av huvudet.

Som standard är Azure API för FHIR konfigurerat för att avanmäla sig från validering på resursen Create/Update. Med den här funktionen kan du verifiera på Create/Update, med hjälp av x-ms-profile-validation huvudet. Ange "x-ms-profile-validation" till true för validering.

Kommentar

I FHIR-tjänsten med öppen källkod kan du ändra serverkonfigurationsinställningen under CoreFeatures.

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

Nästa steg

I den här artikeln har du lärt dig hur du verifierar resurser mot profiler med hjälp av $validate. Mer information om andra Funktioner som stöds av Azure API för FHIR finns i

FHIR® är ett registrerat varumärke som tillhör HL7 och används med tillstånd av HL7.