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 POST
da arama yapabilirsiniz. kullanarak POST
arama 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 searchset
sahip 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 _count
bu 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-responsecontinuationtokenlimitinkb
kullanarak 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.