FHIR arama işlemine genel bakış
Hızlı Sağlık Hizmetleri Birlikte Çalışabilirlik Kaynakları (FHIR) belirtimi, FHIR® sunucu veritabanındaki kaynakları sorgulamaya yönelik bir API tanımlar. Bu makale, FHIR'de verileri sorgulamanın önemli yönleri konusunda size yol gösterir. FHIR arama API'sinin tüm ayrıntıları için HL7 FHIR Arama belgelerine bakın.
Bu makale boyunca, FHIR sunucu URL'sini temsil eden yer tutucuyla {{FHIR_URL}}
örnek API çağrılarında FHIR arama söz dizimini gösteririz. FHIR hizmeti Azure Health Veri Hizmetleri'ndeyse, bu URL olacaktır https://<WORKSPACE-NAME>-<FHIR-SERVICE-NAME>.fhir.azurehealthcareapis.com
.
FHIR aramaları belirli bir kaynak türüne, belirtilen bölmeye veya FHIR sunucu veritabanındaki 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 Patient
kaynakları çekmek istiyorsanız aşağıdaki isteği kullanabilirsiniz.
GET {{FHIR_URL}}/Patient
kullanarak POST
da arama yapabilirsiniz. kullanarak POST
arama yapmak için arama parametreleri isteğin gövdesinde teslim edilir. Bu, daha uzun ve daha karmaşık parametre serileriyle sorgu göndermeyi kolaylaştırır.
POST
veya GET
ile, arama isteği başarılı olursa, aramadan döndürülen kaynak örneklerini içeren bir FHIR searchset
paketi alırsınız. Arama başarısız olursa hata ayrıntılarını bir OperationOutcome
yanıtta bulabilirsiniz.
Aşağıdaki bölümlerde, FHIR'deki kaynakları sorgulamanın çeşitli yönlerini ele alacağız. Bu konuları gözden geçirdikten sonra farklı FHIR arama yöntemlerine örnekler içeren FHIR arama örnekleri sayfasına bakın.
Arama parametreleri
FHIR'de arama yaptığınızda veritabanında belirli ölçütlere uyan kaynaklar ararsınız. FHIR API'sinde, arama ölçütlerinde ince ayarlama yapmak için zengin bir arama parametreleri kümesi belirtilir. FHIR'deki her kaynak bilgileri bir öğe kümesi olarak taşır ve arama parametreleri bu öğelerdeki bilgileri sorgulamak için çalışır. FHIR arama API'si çağrısında, isteğin arama parametreleriyle bir kaynak örneğinde depolanan ilgili öğe değerleri arasında pozitif bir eşleşme bulunursa, FHIR sunucusu öğeleri arama ölçütlerini karşılayan kaynak örneklerini içeren bir paket döndürür.
Her arama parametresi için FHIR belirtimi, kullanılabilecek veri türünü tanımlar. FHIR hizmetinde çeşitli veri türlerine yönelik destek aşağıda özetlenmiştir.
Arama parametresi türü | Azure Health Veri Hizmetleri'nde FHIR hizmeti | FHIR için Azure API | 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 makalede verilmiştir. |
quantity | Yes | Yes | |
uri | Yes | Yes | |
özel | Hayır | Hayır |
Yaygın arama parametreleri
FHIR'deki tüm kaynaklara uygulanan yaygın arama parametreleri vardır. Bunlar, FHIR hizmetindeki destekleriyle birlikte aşağıdaki gibi listelenir.
Ortak arama parametresi | Azure Health Veri Hizmetleri'nde FHIR hizmeti | FHIR için Azure API | Yorum |
---|---|---|---|
_id |
Yes | Evet | |
_lastUpdated |
Evet | Evet | |
_tag |
Evet | Evet | |
_type |
Evet | Evet | |
_security |
Evet | Evet | |
_profile |
Evet | Evet | |
_has |
Evet | Evet | |
_query |
Hayır | Hayır | |
_filter |
Hayır | Hayır | |
_list |
Hayır | Hayır | |
_text |
Hayır | Hayır | |
_content |
Hayır | Hayır |
Kaynağa özgü parametreler
Azure Health Veri Hizmetleri'ndeki FHIR hizmeti, FHIR belirtiminde tanımlanan neredeyse tüm kaynağa özgü arama parametrelerini destekler. Desteklenmeyen arama parametreleri aşağıdaki bağlantılarda listelenmiştir:
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 desteklenen arama parametrelerini görüntülemek için kaynağa özgü arama parametrelerine ve CapabilityStatement.rest.searchParam
tüm kaynaklara uygulanan arama parametrelerine gidinCapabilityStatement.rest.resource.searchParam
.
Not
Azure Health Veri Hizmetleri'ndeki FHIR hizmeti, temel FHIR belirtiminde tanımlanmayan arama parametrelerini otomatik olarak dizine almaz. FHIR hizmeti özel arama parametrelerini destekler.
Bileşik arama parametreleri
FHIR'deki bileşik aramalar, öğe çiftlerine mantıksal olarak bağlı birimler olarak arama yapmanızı sağlar. Örneğin, hastanın boyunun 60 inçin üzerinde olduğu gözlemleri arıyorsanız, gözlemin tek bir özelliğinin yükseklik kodunu ve 60 inçten büyük bir değeri içerdiğinden emin olmak istersiniz (değer yalnızca yükseklikle ilgili olmalıdır). Örneğin, yükseklik kodu ve 60 inç üzerindeki bir kol uzunluğu koduyla bir gözlem üzerinde pozitif eşleşme olmasını istemezsiniz. Bileşik arama parametreleri, değerleri hem pozitif eşleşmenin gerçekleşmesi için arama ölçütlerini karşılaması gereken önceden belirtilen öğe çiftlerinde arama yaparak bu sorunu önler.
Azure Health Veri Hizmetleri'ndeki FHIR hizmeti, bileşik aramalar için aşağıdaki arama parametresi türü eşleştirmelerini destekler.
- Başvuru, Belirteç
- Belirteç, Tarih
- Belirteç, Sayı, Sayı
- Belirteç, Miktar
- Belirteç, Dize
- Belirteç, Belirteç
Daha fazla bilgi için HL7 Bileşik Arama Parametreleri belgelerine bakın.
Not
Bileşik arama parametreleri, FHIR belirtimine göre değiştiricileri desteklemez.
Değiştiriciler ve ön ekler
Değiştiriciler , arama parametrelerini ek koşullarla nitelemenizi sağlar. Aşağıda FHIR değiştiricilerinin ve FHIR hizmetindeki desteklerinin bir tablosu yer almaktadır.
Değiştiriciler | Azure Health Veri Hizmetleri'nde FHIR hizmeti | FHIR için Azure API | Yorum |
---|---|---|---|
:missing |
Yes | Evet | |
:exact |
Evet | Evet | |
:contains |
Evet | Evet | |
:text |
Evet | Yes | |
:type (başvuru) |
Yes | Evet | |
:not |
Evet | 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 | |
:identifier |
Hayır | Hayır |
Belirli bir sıralamaya (sayılar, tarihler ve miktarlar) sahip arama parametreleri için, arama ölçütlerini daraltmak için parametre değerinden önce bir ön ek kullanabilirsiniz (örneğin, Patient?_lastUpdated=gt2022-08-01
önek gt
"büyüktür" anlamına gelir). Azure Health Data Services'daki FHIR hizmeti, FHIR standardında tanımlanan tüm ön ekleri destekler.
Arama sonucu parametreleri
FHIR, bir aramadan döndürülen bilgilerin yönetilmesine yardımcı olmak için bir dizi arama sonucu parametresi belirtir. FHIR'de arama sonucu parametrelerini kullanma hakkında ayrıntılı bilgi için HL7 web sitesine bakın. Aşağıda FHIR arama sonucu parametrelerinin ve FHIR hizmetindeki desteklerinin bir tablosu yer alır.
Arama sonucu parametreleri | Azure Health Veri Hizmetleri'nde FHIR hizmeti | FHIR için Azure API | Yorum |
---|---|---|---|
_elements |
Yes | Evet | |
_count |
Evet | Yes | _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 pakete bir uyarı eklenir. |
_include |
Yes | Yes | ile alınan öğeler 100 ile _include sınırlıdır. _include Azure Cosmos DB'de PaaS ve OSS'de (#2137) desteklenmez :iterate . |
_revinclude |
Yes | Yes | ile alınan öğeler 100 ile _revinclude sınırlıdır. _revinclude Azure Cosmos DB'de PaaS ve OSS'de (#2137) desteklenmez :iterate . Hatalı bir istek için de yanlış bir durum kodu vardır: #1319. |
_summary |
Yes | Yes | |
_total |
Kısmi | Kısmi | _total=none ve _total=accurate |
_sort |
Kısmi | Kısmi | sort=_lastUpdated FHIR hizmetinde desteklenir. FHIR hizmeti ve OSS SQL DB FHIR sunucuları için dizelere ve dateTime alanlarına göre sıralama 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. |
_contained |
Hayır | Hayır | |
_containedType |
Hayır | Hayır | |
_score |
Hayır | Hayır |
Not:
- Varsayılan olarak,
_sort
kayıtları artan düzende düzenler. Ayrıca, azalan düzende sıralamak için ön eki-
de kullanabilirsiniz. FHIR hizmeti aynı anda yalnızca tek bir alana göre sıralamanıza olanak tanır. - FHIR hizmeti revinclude ile joker karakter aramalarını destekler. Bir revinclude sorgusuna "." sorgu parametresi eklemek, FHIR hizmetini kaynak kaynağa eşlenen tüm kaynaklara başvurmaya yönlendirir.
Varsayılan olarak, Azure Health Veri Hizmetleri'ndeki FHIR hizmeti, geçici işlemeye ayarlanır. Bu, sunucunun bilinmeyen veya desteklenmeyen parametreleri yoksaydığını gösterir. Katı işleme kullanmak istiyorsanız, üst bilgisini ekleyebilir Prefer
ve ayarlayabilirsiniz handling=strict
.
Zincirleme ve ters zincirleme arama
Zincirleme arama, başka bir kaynağa başvurusu olan kaynaklar için ayrıntılı sorgular gerçekleştirmenizi 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
.
Yukarıdaki istekte, zincirlenmiş aramanın yolunu hedef parametreye yönlendirir (name
bu durumda).
Benzer şekilde, parametresiyle _has
ters zincirlenmiş bir arama yapabilirsiniz. Bu, ilgilendiğiniz kaynaklara başvuran diğer kaynaklara ölçütler belirterek kaynak örneklerini almanıza olanak tanır. Zincirleme ve ters zincirlenmiş arama örnekleri için FHIR arama örnekleri sayfasına bakın.
Sayfalandırma
Daha önce belirtildiği gibi, bir FHIR aramasının sonuçları pakette sağlanan searchset
bir bağlantıda sayfalandırılmış biçimde kullanılabilir. Varsayılan olarak, FHIR hizmeti sayfa başına 10 arama sonucu görüntüler, ancak parametresi ayarlanarak _count
bu artırılabilir (veya azaltılabilir). Bir sayfaya sığmayan eşleşmeler varsa paket bir next
bağlantı içerir. Bağlantıdan next
tekrar tekrar getirdiğinizde sonraki sonuç sayfaları oluşturulur. Parametre değerinin _count
1000'i aşamayabileceğini unutmayın.
Şu anda Azure Health Veri Hizmetleri'ndeki FHIR hizmeti yalnızca bağlantıyı destekler next
ve aramadan döndürülen paketlerde , last
veya previous
bağlantılarını desteklemezfirst
.
Sonraki adımlar
FHIR aramasının temellerini öğrendiğinize göre, arama parametrelerini, değiştiricileri ve diğer FHIR arama yöntemlerini kullanarak arama hakkında ayrıntılı bilgi için arama örnekleri sayfasına bakın.