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

Ö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.

Hızlı Sağlık Hizmetleri Birlikte Çalışabilirlik Kaynakları (FHIR) belirtimi, FHIR® kaynakları aramanın temellerini tanımlar. Bu makale, FHIR'de kaynak aramanın bazı önemli yönlerinde size yol gösterir. 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 sunucunuza karşıdır https://<FHIRSERVERNAME>.azurewebsites.net. Örneklerde, bu URL için {{FHIR_URL}} yer tutucusu kullanılır.

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 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

Aramalar kaynağın çeşitli özniteliklerini temel alır. 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. Aşağıdaki tabloda çeşitli veri türleri için destek özetlenmiştir.

Uyarı

Şu anda zincirlenmiş arama ile FHIR için Azure API'sinde kullanılırken _sort bir sorun vardır. Daha fazla bilgi için açık kaynak sorunu #2344'e bakın. 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 Yes Yes
tarih Yes Yes
string Yes Yes
token Yes Yes
reference Yes Yes
Kompozit Kısmi Kısmi Desteklenen bileşik türlerin listesi bu makalenin devamında açıklanmıştır.
quantity Yes Yes
uri Yes Yes
özel Hayır Hayır

Yaygın arama parametreleri

Tüm kaynaklara uygulanan yaygın arama parametreleri vardır. Bunlar, FHIR için Azure API'sindeki destekleriyle birlikte aşağıdaki listede yer alır.

Ortak arama parametresi FHIR için Azure API Azure Health Veri Hizmetleri'nde FHIR hizmeti Yorum
_id Yes Yes
_lastUpdated Yes Yes
_etiket Yes Yes
_tür Yes Yes
_güvenlik Yes Yes
_profil Yes Yes
_has Kısmi Yes _has için destek, FHIR için Azure API'de MVP'de ve Azure Cosmos DB tarafından desteklenen OSS sürümündedir. Aşağıdaki zincirleme bölümünde daha fazla ayrıntı verilmiştir.
_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 isteği kullanarak 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.

Not

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.

Not

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ğıdaki tabloda tüm FHIR değiştiricilerine ve FHIR için Azure API'sindeki desteklerine genel bir bakış verilmiştir.

Değiştiriciler FHIR için Azure API Azure Health Veri Hizmetleri'nde FHIR hizmeti Yorum
:eksik Yes Yes
:kesin Yes Yes
:Içerir Yes Yes
:Metin Yes Yes
:type (başvuru) Yes Yes
:değil Yes Yes
:below (uri) Yes Yes
:above (uri) Yes Yes
: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 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 Yes Yes
_saymak Yes Yes _count 1000 kaynakla sınırlıdır. 1000'den yüksek bir değer ayarlanırsa yalnızca 1000 döndürülür ve pakette bir uyarı döndürülür.
_kapsamak Yes Yes 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 Yes Yes 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 Yes Yes
_toplam Kısmi Kısmi _total=none ve _total=accurate
_tür 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.

Not

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 yoksaydığını gösterir. 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.

Not

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

Daha önce belirtildiği gibi, bir aramanın sonuçları sayfalanmış bir paketten elde edilir. 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 1.000 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. üst bilgisini x-ms-documentdb-responsecontinuationtokenlimitinkbkullanarak 1 KB ile 3 KB arasında devam 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ılar için arama örnekleri sayfasına bakın.

Not

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