Share via


Azure Health Veri Hizmetleri'ndeki profillere karşı FHIR kaynaklarını doğrulama

FHIR hizmeti makalesindeki mağaza profillerinde, FHIR profillerinin temellerini gözden geçirip bunları depolamıştınız. Azure Health Veri Hizmetleri'ndeki FHIR hizmeti (burada FHIR hizmeti olarak adlandırılır), kaynakların profillere uygun olup olmadığını görmek için kaynakları profillere göre doğrulamaya olanak tanır. Bu makale, kaynakları profillerde doğrulamak için nasıl kullanacağınız $validate konusunda size yol gösterir.

$validate , Fast Healthcare Birlikte Çalışabilirlik Kaynakları'nda (FHIR) bir FHIR® kaynağının temel kaynak gereksinimlerine veya belirtilen profile uygun olduğundan emin olmanıza olanak tanıyan bir işlemdir. Bu işlem, FHIR hizmetindeki verilerin beklenen özniteliklere ve değerlere sahip olmasını sağlar. Doğrulama işlemi hakkında bilgi için HL7 FHIR Belirtimi'ne bakın. Belirtim başına, Mod ile $validatebelirtilebilir, örneğin oluşturma ve güncelleştirme:

  • create: FHIR için Azure API, profil içeriğinin mevcut kaynaklardan benzersiz olduğunu ve yeni bir kaynak olarak oluşturulmasının kabul edilebilir olduğunu denetler.
  • update: Profilin, aday gösterilen mevcut kaynağa karşı bir güncelleştirme olduğunu denetler (sabit alanlarda değişiklik yapılmaz).

Kaynağı doğrulamanın farklı yolları vardır:

  • 1. Seçenek: Doğrulama işlemiyle var olan bir kaynağı doğrulayın.
  • 2. Seçenek: Doğrulama işlemiyle yeni bir kaynağı doğrulayın.
  • 3. Seçenek: Üst bilgi kullanarak kaynak CREATE/UPDATE üzerinde doğrulama yapın.

Mevcut/ yeni bir kaynağı doğrulama işlemiyle başarıyla doğrulandığında, kaynak FHIR hizmetinde kalıcı olmaz. FHIR hizmetinde başarılı bir şekilde doğrulanmış kaynağı kalıcı hale getirmek için 3. Seçenek: Üst bilgi kullanarak CREATE/UPDATE kaynağında doğrulama seçeneğini kullanın.

FHIR Hizmeti her zaman $validate işlemi için doğrulama sonuçları olarak bir OperationOutcome döndürür. FHIR hizmeti, bir kaynak $validate uç noktasına geçirildikten sonra iki aşamalı doğrulama yapar. İlk adım, kaynağın ayrıştırılabilmesini sağlamak için temel bir doğrulamadır. Kaynak ayrıştırma sırasında, sonraki adıma geçmeden önce tek tek hataların düzeltilmesi gerekir. Kaynak başarıyla ayrıştırıldıktan sonra, tam doğrulama ikinci adım olarak gerçekleştirilen.

Not

Doğrulama için kullanılacak tüm değer kümeleri FHIR sunucusuna yüklenmelidir. Bu, FHIR belirtiminin bir parçası olan tüm Valueset'leri ve Uygulama Kılavuzları'nda tanımlanan Tüm ValueSet'leri içerir. Yalnızca tüm kodların tam listesini içeren tam olarak genişletilmiş Valueset'ler desteklenir. Dış kaynaklara başvuran hiçbir ValueSet tanımı desteklenmez.

1. Seçenek: Mevcut bir kaynağı doğrulama

Mevcut bir kaynağı doğrulamak için bir istekte GET kullanın$validate:

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

Örnek:

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

Bu örnekte, mevcut Patient kaynağını temel Patient kaynağıyla a6e11662-def8-4dde-9ebc-4429e68d130e karşılaştıracaksınız. Geçerliyse aşağıdaki kod örneği gibi bir OperationOutcome kod alırsınız:

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

Kaynak geçerli değilse, bir hata kodu ve kaynağın neden geçersiz olduğuna ilişkin ayrıntıları içeren bir hata iletisi alırsınız. Hata iletileriyle birlikte bir örnek OperationOutcome döndürülür ve aşağıdaki kod örneği gibi görünebilir:

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

Bu örnekte kaynak, hasta tanımlayıcısı değeri ve cinsiyeti gerektiren hasta profiline uygun değildi.

Parametre olarak bir profil belirtmek isterseniz, profilin doğrulanması için kurallı URL'yi belirtebilirsiniz; örneğin, için HL7 temel profili heartrateiçin aşağıdaki örnek:

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

2. Seçenek: Yeni bir kaynağı doğrulama

Sunucuya yüklediğiniz yeni bir kaynağı doğrulamak isterseniz bir POST istekte bulunabilirsiniz:

POST http://<your FHIR service base URL>/{Resource}/$validate

Örnek:

POST https://myworkspace-myfhirserver.fhir.azurehealthcareapis.com/Patient/$validate

Bu istek önce kaynağı doğrular. İstekte belirttiğiniz yeni kaynak doğrulamadan sonra oluşturulur. Sonuç olarak sunucu her zaman bir OperationOutcome döndürür.

3. Seçenek: Üst bilgi kullanarak create/UPDATE kaynağında doğrulama

Kaynağınızı ne zaman doğrulamak istediğinizi seçebilirsiniz; örneğin kaynak veya UPDATEüzerindeCREATE. Varsayılan olarak, FHIR hizmeti kaynağında Create/Updatedoğrulamayı geri çevirecek şekilde yapılandırılmıştır. Bu özellik, üst bilgisini kullanarak üzerinde Create/Updatedoğrulamaya x-ms-profile-validation olanak tanır. Doğrulama için 'x-ms-profile-validation' değerini true olarak ayarlayın.

Not

Açık kaynak FHIR hizmetinde, Sunucu yapılandırma ayarını CoreFeatures altında değiştirebilirsiniz.

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

Katı doğrulamayı etkinleştirmek için ,değer katı ile 'Tercih: işleme' üst bilgisini kullanın. Bu üst bilgi ayarlanarak doğrulama uyarısı hata olarak bildirilir.

Sonraki adımlar

Bu makalede, kullanarak $validatekaynakları profillere karşı doğrulamayı öğrendiniz. FHIR hizmetinin desteklediği diğer özellikler hakkında bilgi edinmek için bkz.

FHIR®, HL7'nin tescilli ticari markasıdır ve HL7 izniyle kullanılır.