Aracılığıyla paylaş


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 POSTda arama yapabilirsiniz. kullanarak POSTarama 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 GETile, 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. _includeAzure 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. _revincludeAzure 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:

  1. 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.
  2. 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 (namebu 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 , lastveya 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.

Not

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