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 $validate
belirtilebilir, ö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 heartrate
iç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/Update
doğrulamayı geri çevirecek şekilde yapılandırılmıştır. Bu özellik, üst bilgisini kullanarak üzerinde Create/Update
doğ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 $validate
kaynakları 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.