Přehled vyhledávání FHIR

Specifikace FHIR (Fast Healthcare Interoperability Resources) definuje rozhraní API pro dotazování prostředků v serverové databázi FHIR®. Tento článek vás provede některými klíčovými aspekty dotazování dat v FHIR. Úplné podrobnosti o rozhraní API pro vyhledávání FHIR najdete v dokumentaci k vyhledávání HL7 FHIR.

V tomto článku předvedeme syntaxi vyhledávání FHIR v příkladech volání rozhraní API se {{FHIR_URL}} zástupným symbolem pro reprezentaci adresy URL serveru FHIR. V případě služby FHIR ve službě Azure Health Data Services by tato adresa URL byla https://<WORKSPACE-NAME>-<FHIR-SERVICE-NAME>.fhir.azurehealthcareapis.com.

Vyhledávání FHIR může být v určitém typu prostředku, zadaném oddílu nebo všech prostředcích v databázi serveru FHIR. Nejjednodušší způsob, jak provést vyhledávání v FHIR, je použít GET požadavek. Pokud například chcete vyžádat všechny Patient prostředky v databázi, můžete použít následující požadavek:

GET {{FHIR_URL}}/Patient

Můžete také hledat pomocí POST. Pokud chcete hledat pomocí POST, parametry hledání se doručí v textu požadavku. To usnadňuje odesílání dotazů s delší a složitější řadou parametrů.

POST Pokud je žádost o vyhledávání úspěšná, obdržíte v případěGET, že je žádost o hledání úspěšná, obdržíte sadu FHIR searchset obsahující instance prostředků vrácené z hledání. Pokud hledání selže, v odpovědi najdete podrobnosti o OperationOutcome chybě.

V následujících částech se podíváme na různé aspekty dotazování prostředků v FHIR. Jakmile si prohlédnete tato témata, podívejte se na stránku ukázek vyhledávání FHIR, která obsahuje příklady různých metod vyhledávání FHIR.

Parametry vyhledávání

Při hledání v FHIR hledáte v databázi prostředky, které odpovídají určitým kritériím hledání. Rozhraní API FHIR určuje bohatou sadu parametrů hledání pro vyladění kritérií hledání. Každý prostředek v FHIR nese informace jako sadu prvků a vyhledávací parametry pracují s dotazem na informace v těchto prvech. Pokud se ve volání rozhraní API vyhledávání FHIR najde kladná shoda mezi parametry hledání požadavku a odpovídajícími hodnotami prvků uloženými v instanci prostředku, vrátí server FHIR sadu obsahující instance prostředků, jejichž prvky splňují kritéria vyhledávání.

Pro každý parametr vyhledávání definuje specifikace FHIR datové typy , které lze použít. Podpora ve službě FHIR pro různé datové typy je popsána níže.

Typ vyhledávacího parametru Služba FHIR ve službě Azure Health Data Services Azure API for FHIR Komentář
Číslo Ano Yes
datum Ano Yes
string Yes Yes
token Ano Yes
reference Ano Yes
Složené Částečná Částečná Seznam podporovaných složených typů najdete dále v tomto článku.
množství. Ano Yes
uri Ano Yes
Zvláštní No Ne

Běžné parametry hledání

Existují běžné parametry hledání, které se vztahují na všechny prostředky v FHIR. Níže jsou uvedené společně s jejich podporou ve službě FHIR:

Běžný parametr vyhledávání Služba FHIR ve službě Azure Health Data Services Azure API for FHIR Komentář
_id Ano Ano
_lastUpdated Ano Ano
_tag Ano Ano
_type Ano Ano
_security Ano Ano
_profile Ano Ano
_has Ano Ano
_query No No
_filter No No
_list No No
_text No No
_content No Ne

Parametry specifické pro prostředky

Služba FHIR ve službě Azure Health Data Services podporuje téměř všechny parametry hledání specifické pro prostředky definované ve specifikaci FHIR. Parametry hledání, které nejsou podporované, jsou uvedené na následujících odkazech:

Aktuální podporu parametrů hledání můžete zobrazit také v příkazu FHIR Capability Statement s následujícím požadavkem:

GET {{FHIR_URL}}/metadata

Pokud chcete zobrazit podporované parametry hledání v příkazu capability, přejděte na CapabilityStatement.rest.resource.searchParam parametry hledání specifické pro prostředek a CapabilityStatement.rest.searchParam vyhledejte parametry hledání, které platí pro všechny prostředky.

Poznámka:

Služba FHIR ve službě Azure Health Data Services neindexuje automaticky parametry hledání, které nejsou definovány v základní specifikaci FHIR. Služba FHIR však podporuje vlastní parametry hledání.

Složené parametry hledání

Složená vyhledávání v FHIR umožňují vyhledávat dvojice prvků jako logicky propojené jednotky. Pokud byste například hledali pozorování, ve kterých byla výška pacienta větší než 60 palců, měli byste se ujistit, že jedna vlastnost pozorování obsahovala kód výšky a hodnotu větší než 60 palců (hodnota by se měla týkat pouze výšky). Například byste nechtěli vrátit kladnou shodu na pozorování s kódem výšky a ramenem pro délku ramene přes 60 palců. Složené parametry hledání brání tomuto problému vyhledáváním v předem zadaných dvojicích prvků, jejichž hodnoty musí splňovat kritéria hledání, aby se kladná shoda vyskytla.

Služba FHIR ve službě Azure Health Data Services podporuje následující párování typů parametrů vyhledávání pro složená hledání:

  • Referenční informace, token
  • Token, Datum
  • Token, Číslo, Číslo
  • Token, Množství
  • Token, Řetězec
  • Token, Token

Další informace najdete v dokumentaci k parametrům složeného hledání HL7.

Poznámka:

Složené parametry vyhledávání nepodporují modifikátory podle specifikace FHIR.

Modifikátory a předpony

Modifikátory umožňují kvalifikovat parametry hledání s dalšími podmínkami. Níže je uveden seznam modifikátorů FHIR a jejich podpory ve službě FHIR:

Modifikátory Služba FHIR ve službě Azure Health Data Services Azure API for FHIR Komentář
:missing Ano Ano
:exact Ano Ano
:contains Ano Ano
:text Ano Yes
:type (odkaz) Ano Ano
:not Ano Yes
:below (URI) Ano Yes
:above (URI) Ano Yes
:in (token) No Ne
:below (token) No Ne
:above (token) No Ne
:not-in (token) No Ne

Pro parametry hledání, které mají určité pořadí (čísla, kalendářní data a množství), můžete použít předponu před hodnotou parametru k upřesnění kritérií hledání (například kde Patient?_lastUpdated=gt2022-08-01 předponagt znamená "větší než"). Služba FHIR ve službě Azure Health Data Services podporuje všechny předpony definované ve standardu FHIR.

Parametry výsledků hledání

FHIR určuje sadu parametrů výsledků hledání, která pomáhá spravovat informace vrácené z hledání. Podrobné informace o tom, jak používat parametry výsledků hledání v FHIR, najdete na webu HL7 . Níže je seznam parametrů výsledků hledání FHIR a jejich podpory ve službě FHIR.

Parametry výsledků hledání Služba FHIR ve službě Azure Health Data Services Azure API for FHIR Komentář
_elements Ano Ano
_count Ano Yes _count je omezený na 1 000 prostředků. Pokud je nastavená hodnota vyšší než 1 000, vrátí se pouze 1000 a do sady se zahrne upozornění.
_include Ano Yes Načtené položky jsou omezeny _include na 100. _include v PaaS a OSS ve službě Azure Cosmos DB nepodporuje :iterate(#2137).
_revinclude Ano Yes Načtené položky jsou omezeny _revinclude na 100. _revinclude v PaaS a OSS ve službě Azure Cosmos DB nepodporuje :iterate(#2137). Pro chybný požadavek č. 1319 je také nesprávný stavový kód.
_summary Ano Yes
_total Částečná Částečná _total=none a _total=accurate
_sort Částečná Částečná sort=_lastUpdated se podporuje ve službě FHIR. Pro službu FHIR a servery FHIR služby OSS SQL DB FHIR se podporuje řazení podle řetězců a polí dateTime. U databází Azure API for FHIR a OSS Azure Cosmos DB vytvořených po 20. dubnu 2021 se řazení podporuje podle jména, příjmení, narození a klinického data.
_contained No No
_containedType No No
_score No Ne

Poznámka:

  1. Ve výchozím nastavení _sort uspořádá záznamy ve vzestupném pořadí. Předponu - můžete také použít k řazení sestupně. Služba FHIR umožňuje řadit pouze podle jednoho pole najednou.
  2. Služba FHIR podporuje vyhledávání zástupných znaků pomocí revinclude. Přidání parametru dotazu "." do dotazu revinclude, nasměruje službu FHIR tak, aby odkazovala na všechny prostředky mapované na zdrojový prostředek.

Ve výchozím nastavení je služba FHIR ve službě Azure Health Data Services nastavená na lenientní zpracování. To znamená, že server ignoruje všechny neznámé nebo nepodporované parametry. Pokud chcete použít striktní zpracování, můžete zahrnout hlavičku Prefer a nastavit handling=strict.

Zřetězený a zřetězený vyhledávání

Zřetězený vyhledávání umožňuje provádět jemně cílené dotazy na prostředky, které mají odkaz na jiný prostředek. Pokud například chcete zjistit, kde je jméno pacienta Jane, použijte:

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

Ve . výše uvedeném požadavku směruje cestu zřetězeného hledání k cílovému parametru (name v tomto případě).

Podobně můžete provést zpětné zřetězení hledání pomocí parametru _has . To vám umožní načíst instance prostředků zadáním kritérií pro jiné prostředky, které odkazují na prostředky, které vás zajímají. Příklady zřetězených a obrácených zřetězených vyhledávání najdete na stránce s příklady hledání FHIR.

Stránkování

Jak je uvedeno výše, výsledky hledání FHIR jsou k dispozici ve stránkovaném formuláři na odkazu poskytnutém searchset v sadě. Ve výchozím nastavení služba FHIR zobrazí na stránce 10 výsledků hledání, ale dá se to zvýšit (nebo snížit) nastavením parametru _count . Pokud je na jedné stránce více shod, obsahuje next balíček odkaz. Opakované načítání z next odkazu vrátí další stránky výsledků. Všimněte si, že hodnota parametru _count nesmí překročit 1 000.

Služba FHIR ve službě Azure Health Data Services v současné době podporuje next pouze odkaz a nepodporuje firstlastprevious ani odkazy v balíčcích vrácených z vyhledávání.

Další kroky

Teď, když jste se seznámili se základy vyhledávání FHIR, najdete na stránce ukázek hledání podrobnosti o tom, jak hledat pomocí parametrů hledání, modifikátorů a dalších metod hledání FHIR.

FHIR® je registrovaná ochranná známka HL7 a používá se s povolením HL7.