Aracılığıyla paylaş


FHIR için Azure API'de aramaya genel bakış

Önemli

FHIR için Azure API 30 Eylül 2026'da 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 için Azure API'sinin kullanımdan kaldırılması nedeniyle 1 Nisan 2025'den itibaren yeni dağıtımlara izin verilmez. 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.

Hızlı Sağlık Hizmetleri Birlikte Çalışabilirlik Kaynakları (FHIR) belirtimi, FHIR® kaynakları aramanın temellerini tanımlar. Bu makale, FHIR'de kaynak arama konusunda bazı önemli yönlerde size yol gösterecektir. FHIR kaynaklarında arama hakkındaki tüm ayrıntılar için HL7 FHIR Belirtiminde Arama bölümüne bakın. Bu makale boyunca, arama söz dizimi örnekleri vereceğiz. Her arama, genellikle url'si olan FHIR sunucunuzda https://<FHIRSERVERNAME>.azurewebsites.netolur. Örneklerde, bu URL için {{FHIR_URL}} yer tutucusunu kullanacağız.

FHIR aramaları belirli bir kaynak türüne, belirli bir bölmeye veya tüm kaynaklara karşı olabilir. FHIR'de arama yürütmenin en basit yolu bir GET istek kullanmaktır. Örneğin, veritabanındaki tüm hastaları çekmek istiyorsanız aşağıdaki isteği kullanabilirsiniz:

GET {{FHIR_URL}}/Patient

Sorgu dizesi çok uzunsa yararlı olan kullanarak POSTda arama yapabilirsiniz. kullanarak POSTarama yapmak için, arama parametreleri form gövdesi olarak gönderilebilir. Bu, sorgu dizesinde görülmesi ve anlaşılması zor olabilecek daha uzun ve daha karmaşık sorgu parametreleri serisine olanak tanır.

Arama isteği başarılı olursa, türüne searchsetsahip bir FHIR paket yanıtı alırsınız. Arama başarısız olursa, aramanın neden başarısız olduğunu anlamanıza yardımcı olmak için içinde hata ayrıntılarını OperationOutcome bulabilirsiniz.

Aşağıdaki bölümlerde, aramayla ilgili çeşitli yönleri ele alacağız. Bu ayrıntıları gözden geçirdikten sonra, FHIR için Azure API'sinde yapabileceğiniz arama örnekleri içeren örnekler sayfamıza bakın.

Arama parametreleri

Arama yaptığınızda, kaynağın çeşitli özniteliklerine göre arama yaparsınız. Bu öznitelikler, arama parametreleri olarak adlandırılır. Her kaynağın bir dizi tanımlı arama parametresi vardır. Arama parametresini başarıyla aramanız için veritabanında tanımlanmalı ve dizine alınmalıdır.

Her arama parametresinin tanımlı veri türleri vardır. Çeşitli veri türleri için destek aşağıda özetlenmiştir:

Uyarı

Zincirleme arama ile FHIR için Azure API'sinde _sort kullanırken şu anda bir sorun vardır. Daha fazla bilgi için bkz. açık kaynak sorunu #2344. Bu, Aralık 2021'de bir sürüm sırasında çözülecektir.

Arama parametresi türü FHIR için Azure API Azure Health Veri Hizmetleri'nde FHIR hizmeti Yorum
Numara Evet Evet
tarih Evet Evet
Dize Yes Evet
token Evet Evet
reference Evet Evet
Kompozit Kısmi Kısmi Desteklenen bileşik türlerin listesi bu makalenin devamında açıklanmıştır
miktardan fazla Evet Evet
uri Evet Evet
Özel Hayır Hayır

Yaygın arama parametreleri

Tüm kaynaklara uygulanan yaygın arama parametreleri vardır. Bunlar aşağıda ve FHIR için Azure API'sinde destekleriyle birlikte listelenmiştir:

Ortak arama parametresi FHIR için Azure API Azure Health Veri Hizmetleri'nde FHIR hizmeti Yorum
_id Evet Evet
_Lastupdated Evet Evet
_Etiket Evet Evet
_Türü Evet Evet
_Güvenlik Evet Evet
_Profil Evet Evet
_Hsa Kısmi Evet _has desteği, FHIR için Azure API'de MVP'de ve Azure Cosmos DB tarafından desteklenen OSS sürümündedir. Diğer ayrıntılar aşağıdaki zincirleme bölümünde yer almaktadır.
_Sorgu Hayır Hayır
_Filtre Hayır Hayır
_Liste Hayır Hayır
_Metin Hayır Hayır
_Içerik Hayır Hayır

Kaynağa özgü parametreler

FHIR için Azure API ile, FHIR belirtimi tarafından tanımlanan neredeyse tüm kaynağa özgü arama parametrelerini destekliyoruz. Desteklemediğimiz yalnızca arama parametreleri aşağıdaki bağlantılarda bulunabilir:

Aşağıdaki istekle FHIR Yetenek Deyimi'nde arama parametreleri için geçerli desteği de görebilirsiniz:

GET {{FHIR_URL}}/metadata

Yetenek deyiminde arama parametrelerini görmek için, her kaynağın arama parametrelerini görmek ve CapabilityStatement.rest.searchParam tüm kaynakların arama parametrelerini bulmak için adresine gidinCapabilityStatement.rest.resource.searchParam.

Dekont

FHIR için Azure API, FHIR belirtimi tarafından tanımlanmayan arama parametrelerini otomatik olarak oluşturmaz veya dizine almaz. Ancak, kendi arama parametrelerinizi tanımlamanız için destek sağlıyoruz.

Bileşik arama parametreleri

Bileşik arama, değer çiftleri üzerinde arama yapmanızı sağlar. Örneğin, kişinin 60 inç olduğu bir yükseklik gözlemi arıyorsanız, gözlemin tek bir bileşeninin yükseklik kodunu ve 60 değerini içerdiğinden emin olmak istersiniz. Yalnızca farklı bileşen bölümlerinde, gözlemde 60 değerine ve yükseklik koduna uygun girdiler olsa bile, 60 ve yüksekliği 48 olan bir ağırlığın depolandığı bir gözlem almak istemezsiniz.

FHIR için Azure API ile aşağıdaki arama parametresi türü eşleştirmelerini destekliyoruz:

  • Başvuru, Belirteç
  • Belirteç, Tarih
  • Belirteç, Sayı, Sayı
  • Belirteç, Miktar
  • Belirteç, Dize
  • Belirteç, Belirteç

Daha fazla bilgi için bkz. HL7 Bileşik Arama Parametreleri.

Dekont

Bileşik arama parametreleri FHIR belirtimi başına değiştiricileri desteklemez.

Değiştiriciler ve ön ekler

Değiştiriciler arama parametresini değiştirmenize olanak sağlar. Aşağıda tüm FHIR değiştiricilerine ve FHIR için Azure API'sindeki desteğe genel bir bakış verilmiştir.

Değiştiriciler FHIR için Azure API Azure Health Veri Hizmetleri'nde FHIR hizmeti Yorum
:Eksik Evet Evet
:Tam Evet Evet
:Içerir Evet Evet
:Metin Evet Evet
:type (başvuru) Evet Evet
:Değil Evet Evet
:below (uri) Evet Evet
:above (uri) Evet Evet
:in (belirteç) Hayır Hayır
:below (belirteç) Hayır Hayır
:above (belirteç) Hayır Hayır
:not-in (belirteç) Hayır Hayır

Belirli bir siparişe (sayılar, tarihler ve miktarlar) sahip arama parametreleri için, eşleşmeleri bulmaya yardımcı olması için parametrede bir ön ek kullanabilirsiniz. FHIR için Azure API tüm ön ekleri destekler.

Arama sonucu parametreleri

Döndürülen kaynakların yönetilmesine yardımcı olmak için aramanızda kullanabileceğiniz arama sonucu parametreleri vardır. Arama sonucu parametrelerinin her birini kullanma hakkında ayrıntılı bilgi için HL7 web sitesine bakın.

Arama sonucu parametreleri FHIR için Azure API Azure Health Veri Hizmetleri'nde FHIR hizmeti Yorum
_Öğe Evet Evet
_Sayısı Evet Evet _count 1000 kaynakla sınırlıdır. 1000'den yüksek bir değere ayarlanırsa yalnızca 1000 döndürülür ve pakette bir uyarı döndürülür.
_Içerir Evet Evet Dahil edilen öğeler 100 ile sınırlıdır. Azure Cosmos DB'de PaaS ve OSS'de _include :yineleme desteği (#2137) içermez.
_revinclude Evet Evet Dahil edilen öğeler 100 ile sınırlıdır. Azure Cosmos DB'de PaaS ve OSS'de _revinclude :iterate desteği (#2137) içermez. Hatalı istek için de yanlış durum kodu var #1319
_Özet Evet Evet
_Toplam Kısmi Kısmi _total=none ve _total=accurate
_Sıralama Kısmi Kısmi sort=_lastUpdated, FHIR için Azure API'de ve FHIR hizmetinde desteklenir. FHIR ve OSS için Azure API'sinde 20 Nisan 2021'den sonra oluşturulan Azure Cosmos DB veritabanları için ad, soyadı, doğum tarihi ve klinik tarihte sıralama desteklenir.
_Bulunan Hayır Hayır
_containedType Hayır Hayır
_Puan Hayır No.

Dekont

Varsayılan olarak _sort kaydı artan düzende sıralar. Azalan düzende sıralamak için ön eki '-' kullanabilirsiniz. Buna ek olarak, FHIR hizmeti ve FHIR için Azure API tek seferde yalnızca tek bir alana göre sıralamanıza olanak sağlar.

Varsayılan olarak, FHIR için Azure API'si geçici işleme olarak ayarlanır. Bu, sunucunun bilinmeyen veya desteklenmeyen parametreleri yoksayacağı anlamına gelir. Katı işleme kullanmak istiyorsanız Tercih üst bilgisini kullanabilir ve ayarlayabilirsinizhandling=strict.

Zincirleme ve ters zincirleme arama

Zincirleme arama, başka bir kaynak tarafından başvuruda bulunan bir kaynakta arama parametresi kullanarak arama yapmanızı sağlar. Örneğin, hastanın adının Jane olduğu karşılaşmaları bulmak istiyorsanız şunu kullanın:

GET {{FHIR_URL}}/Encounter?subject:Patient.name=Jane

Benzer şekilde ters zincirleme arama da yapabilirsiniz. Bu sayede kendilerine başvuran kaynaklarla ilgili ölçüt belirterek aradığınız kaynaklara ulaşabilirsiniz. Zincirleme ve ters zincirlenmiş arama örnekleri için FHIR arama örnekleri sayfasına bakın.

Dekont

FHIR için Azure API'de ve Azure Cosmos DB tarafından desteklenen açık kaynak zincirlenmiş ve ters zincirlenmiş aramalar için gereken her alt sorgunun yalnızca 1000 öğe döndüreceği bir sınırlama vardır. 1000'den fazla öğe bulunduysa şu hata iletisini alırsınız: "Zincirlenmiş ifadedeki alt sorgular 1000'den fazla sonuç döndüremez, lütfen daha seçmeli ölçütler kullanın." Başarılı bir sorgu elde etmek için aradığınız şey hakkında daha ayrıntılı bilgi sahibi olmanız gerekir.

Sayfalandırma

Yukarıda belirtildiği gibi, bir aramanın sonuçları sayfalanmış bir paket olacaktır. Varsayılan olarak, arama sayfa başına 10 sonuç döndürür, ancak belirterek _countbu artırılabilir (veya azaltılabilir). Paket içinde, aramanın geçerli sonucunu içeren bir kendi kendine bağlantı olacaktır. Başka eşleşmeler varsa paket bir sonraki bağlantıyı içerir. Sonraki sonuç sayfalarını almak için sonraki bağlantıyı kullanmaya devam edebilirsiniz. _count 1000 veya daha az öğeyle sınırlıdır.

Paketteki sonraki bağlantının devam belirteci boyut sınırı 3 KB'tır. "x-ms-documentdb-responsecontinuationtokenlimitinkb" üst bilgisini kullanarak 1 ile 3 KB arasında devamlılık belirteci boyutunu ayarlama esnekliğine sahipsiniz.

Şu anda FHIR için Azure API yalnızca paketlerde bir sonraki bağlantıyı destekler ve ilk, son veya önceki bağlantıları desteklemez.

Sonraki adımlar

Aramanın temellerini öğrendiğinize göre, farklı arama parametreleri, değiştiriciler ve diğer FHIR arama senaryolarını kullanarak arama hakkında ayrıntılı bilgi için arama örnekleri sayfasına bakın.

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