FHIR için Azure API için özel arama parametreleri tanımlama
Önemli
FHIR İçin Azure API'si 30 Eylül 2026 tarihinde kullanımdan kaldırılacaktır. Bu tarihe kadar Azure Health Data Services FHIR® hizmetine geçiş yapmak için geçiş stratejilerini izleyin. FHIR İçin Azure API'sinin kullanımdan kaldırılması nedeniyle 1 Nisan 2025 tarihinden itibaren yeni dağıtımlara izin verilmeyecektir. Azure Health Data Services FHIR hizmeti , müşterilerin FHIR, DICOM ve MedTech hizmetlerini diğer Azure hizmetleriyle tümleştirmelerle yönetmesine olanak tanıyan FHIR için Azure API'sinin gelişmiş sürümüdür.
Fast Healthcare Birlikte Çalışabilirlik Kaynakları (FHIR®) belirtimi, bir kaynağa özgü tüm kaynaklar ve arama parametreleri için bir dizi arama parametresi tanımlar. Ancak, FHIR belirtimi tarafından standart arama parametresi olarak tanımlanmayan bir kaynaktaki bir öğeye karşı arama yapmak isteyebileceğiniz senaryolar vardır. Bu makalede, FHIR için Azure API'de kullanılacak kendi arama parametrelerinizi nasıl tanımlayabileceğiniz açıklanır.
Not
Bir arama parametresini her oluşturduğunuzda, güncelleştirdiğinizde veya sildiğinizde, arama parametresinin üretimde kullanılmasını sağlamak için bir reindex işi çalıştırmanız gerekir. Bu makalede, FHIR sunucusunun tamamını yeniden dizine almadan önce arama parametrelerini nasıl test edeceğinizi özetleyeceğiz.
Yeni arama parametresi oluşturma
Yeni bir arama parametresi oluşturmak için veritabanının SearchParameter
kaynağı sizsinizPOST
. Aşağıdaki kod örneği, KAYNAĞA ABD Çekirdek Yarış Arama Parametresinin Patient
nasıl ekleneceğini gösterir.
POST {{FHIR_URL}}/SearchParameter
{
"resourceType" : "SearchParameter",
"id" : "us-core-race",
"url" : "http://hl7.org/fhir/us/core/SearchParameter/us-core-race",
"version" : "3.1.1",
"name" : "USCoreRace",
"status" : "active",
"date" : "2019-05-21",
"publisher" : "US Realm Steering Committee",
"contact" : [
{
"telecom" : [
{
"system" : "other",
"value" : "http://www.healthit.gov/"
}
]
}
],
"description" : "Returns patients with a race extension matching the specified code.",
"jurisdiction" : [
{
"coding" : [
{
"system" : "urn:iso:std:iso:3166",
"code" : "US",
"display" : "United States of America"
}
]
}
],
"code" : "race",
"base" : [
"Patient"
],
"type" : "token",
"expression" : "Patient.extension.where(url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race').extension.value.code"
}
Not
Yeni arama parametresi, arama parametresini veritabanına POST yazıp veritabanınızı yeniden dizine aldıktan sonra FHIR sunucusunun yetenek deyiminde görünür. SearchParameter
yetenek deyiminde öğesini görüntülemek, FHIR sunucunuzda bir arama parametresinin desteklenip desteklenmediğini anlamanın tek yoludur. Arama parametresini bulabilir, ancak yetenek deyiminde göremiyorsanız, yine de arama parametresinin dizinini oluşturmanız gerekir. Yeniden dizinleme işlemini tetiklemeden önce birden çok arama parametresiNI POST yapabilirsiniz.
öğesinin SearchParameter
önemli öğeleri şunlardır.
url: Arama parametresini tanımlamak için benzersiz bir anahtar. HL7 gibi birçok kuruluş, daha önce US Core yarış arama parametresinde gösterildiği gibi tanımladıkları arama parametreleri için standart bir URL biçimi kullanır.
code: Kodda depolanan değer, arama yaparken kullandığınız değerdir. Yukarıdaki örnekte, belirli bir ırkın tüm hastalarını almak için ile
GET {FHIR_URL}/Patient?race=<code>
arama yapacaksınız. Kod, arama parametresinin uygulandığı kaynak için benzersiz olmalıdır.base: Arama parametresinin hangi kaynağa uygulanacağı açıklanır. Arama parametresi tüm kaynaklar için geçerliyse kullanabilirsiniz
Resource
; aksi takdirde, tüm ilgili kaynakları listeleyebilirsiniz.type: Arama parametresinin veri türünü açıklar. Tür, FHIR için Azure API desteğiyle sınırlıdır. Bu, desteklenen bir birleşim olmadığı sürece Özel türünde bir arama parametresi tanımlayamadığınız veya bileşik arama parametresi tanımlayamadığınız anlamına gelir.
ifade: Aramanın değerinin nasıl hesaplandığı açıklanır. Bir arama parametresini açıklarken, belirtim için gerekli olmasa bile ifadeyi eklemeniz gerekir. Bunun nedeni ifadeye veya xpath söz dizimine ihtiyacınız olmasıdır ve FHIR için Azure API'si xpath söz dizimini yoksayar.
Arama parametrelerini test et
Yeniden dizinleme işi çalıştırmadan önce üretimde arama parametrelerini kullanamazsınız ancak veritabanının tamamını yeniden dizine almadan önce arama parametrelerinizi test edebilirsiniz.
İlk olarak, hangi değerlerin döndürüldiğini görmek için yeni arama parametrenizi test edebilirsiniz. Aşağıdaki komutu belirli bir kaynak örneğinde çalıştırarak (kimliklerini girerek), arama parametresi adına ve belirli hasta için depolanan değere sahip değer çiftlerinin listesini alırsınız. Bu, kaynağın tüm arama parametrelerini içerir. Oluşturduğunuz arama parametresini bulmak için döndürülen listede gezinebilirsiniz. Bu komutu çalıştırmak FHIR sunucunuzdaki hiçbir davranışı değiştirmez.
GET https://{{FHIR_URL}}/{{RESOURCE}}/{{RESOUCE_ID}}/$reindex
Örneğin, bir hastanın tüm arama parametrelerini bulmak için aşağıdakileri kullanın.
GET https://{{FHIR_URL}}/Patient/{{PATIENT_ID}}/$reindex
Sonuç aşağıdaki gibi görünür.
{
"resourceType": "Parameters",
"id": "8be24e78-b333-49da-a861-523491c3437a",
"meta": {
"versionId": "1"
},
"parameter": [
{
"name": "deceased",
"valueString": "http://hl7.org/fhir/special-values|false"
},
{
"name": "language",
"valueString": "urn:ietf:bcp:47|en-US"
},
{
"name": "race",
"valueString": "2028-9"
},
...
Arama parametrenizin beklendiği gibi görüntülendiğini gördüğünüzde, öğeyle aramayı test etmek için tek bir kaynağı yeniden dizine alabilirsiniz. İlk olarak tek bir kaynağı yeniden dizine alısınız:
POST https://{{FHIR_URL}/{{RESOURCE}}/{{RESOURCE_ID}}/$reindex
Bu komutun çalıştırılması, söz konusu kaynak türü için tanımladığınız belirli kaynağın arama parametrelerinin dizinlerini ayarlar. Bu, FHIR sunucusunda bir güncelleştirme yapar. Artık kısmi dizinleri kullanma üst bilgisini arayabilir ve true olarak ayarlayabilirsiniz. Bu, arama parametresi dizine alınan kaynaklardan herhangi birinin dizine eklenmemiş olsa bile sonuçları döndürdüğü anlamına gelir.
Örneğimize devam edersek, ABD Çekirdek Yarışı'nı SearchParameter
etkinleştirmek için bir hastayı aşağıdaki gibi dizine ekleyebilirsiniz.
POST https://{{FHIR_URL}/Patient/{{PATIENT_ID}}/$reindex
Ardından belirli bir yarışa sahip olan hastaları arayın:
GET https://{{FHIR_URL}}/Patient?race=2028-9
x-ms-use-partial-indices: true
Arama parametrenizin beklendiği gibi çalıştığından emin olduktan sonra, arama parametrelerinin üretim kullanım örnekleri için FHIR sunucusunda kullanılabilmesi için yeniden dizin oluşturma işinizi çalıştırın veya zamanlayın.
Arama parametresini güncelleştirme
Arama parametresini güncelleştirmek için komutunu kullanarak PUT
arama parametresinin yeni bir sürümünü oluşturun. öğesini isteğin id
gövdesinin PUT
öğesine ve çağrısına PUT
eklemeniz SearchParameter ID
gerekir.
Not
Arama parametrenizin kimliğini bilmiyorsanız, bunu arayabilirsiniz. kullanarak GET {{FHIR_URL}}/SearchParameter
tüm özel arama parametrelerini döndürür ve ihtiyacınız olan arama parametresini bulmak için listeyi kaydırabilirsiniz. Aramayı ada göre de sınırlayabilirsiniz. Aşağıdaki örnekle, kullanarak USCoreRace: GET {{FHIR_URL}}/SearchParameter?name=USCoreRace
ad arayabilirsiniz.
PUT {{FHIR_URL}}/SearchParameter/{SearchParameter ID}
{
"resourceType" : "SearchParameter",
"id" : "SearchParameter ID",
"url" : "http://hl7.org/fhir/us/core/SearchParameter/us-core-race",
"version" : "3.1.1",
"name" : "USCoreRace",
"status" : "active",
"date" : "2019-05-21",
"publisher" : "US Realm Steering Committee",
"contact" : [
{
"telecom" : [
{
"system" : "other",
"value" : "http://www.healthit.gov/"
}
]
}
],
"description" : "New Description!",
"jurisdiction" : [
{
"coding" : [
{
"system" : "urn:iso:std:iso:3166",
"code" : "US",
"display" : "United States of America"
}
]
}
],
"code" : "race",
"base" : [
"Patient"
],
"type" : "token",
"expression" : "Patient.extension.where(url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race').extension.value.code"
}
Sonuç güncelleştirildi SearchParameter
ve sürüm artar.
Uyarı
Veritabanınızda zaten dizine alınmış SearchParameters'i güncelleştirirken dikkatli olun. Mevcut SearchParameter'ın davranışını değiştirmek beklenen davranışı etkileyebilir. Hemen bir reindex işi çalıştırmanızı öneririz.
Arama parametresini silme
Bir arama parametresini silmeniz gerekiyorsa aşağıdakileri kullanın.
Delete {{FHIR_URL}}/SearchParameter/{SearchParameter ID}
Uyarı
Veritabanınızda zaten dizine alınmış SearchParameters'ları silerken dikkatli olun. Mevcut SearchParameter'ın davranışını değiştirmek beklenen davranışı etkileyebilir. Hemen bir reindex işi çalıştırmanızı öneririz.
Sonraki adımlar
Bu makalede, arama parametresi oluşturmayı öğrendiniz. Daha sonra FHIR sunucunuzu yeniden dizine almayı öğrenebilirsiniz.