A keresés áttekintése az Azure API for FHIR-ben

Fontos

Az Azure API for FHIR 2026. szeptember 30-án megszűnik. A migrálási stratégiákat követve válthat az Azure Health Data Services FHIR szolgáltatásra ezen a napon. Az FHIR-hez készült Azure API kivonása miatt az új telepítések 2025. április 1-től nem engedélyezettek. Az Azure Health Data Services FHIR szolgáltatás az Azure API for FHIR továbbfejlesztett verziója, amely lehetővé teszi az ügyfelek számára az FHIR, a DICOM és a MedTech szolgáltatások kezelését más Azure-szolgáltatásokba való integrációval.

A Fast Healthcare Interoperability Resources (FHIR®) specifikáció határozza meg az FHIR-erőforrások keresésének alapjait. Ez a cikk végigvezeti az FHIR-ben található erőforrások keresésének néhány kulcsfontosságú aspektusán. Az FHIR-erőforrások keresésével kapcsolatos részletes információkért tekintse meg a HL7 FHIR specifikációban található keresést . Ebben a cikkben példákat mutatunk be a keresési szintaxisra. Minden keresés az FHIR-kiszolgálón lesz, amely általában egy URL-címmel rendelkezik https://<FHIRSERVERNAME>.azurewebsites.net. A példákban a(z) {{FHIR_URL}} helyőrzőt fogjuk használni ehhez az URL-címhez.

Az FHIR-keresések egy adott erőforrástípusra, egy adott rekeszre vagy az összes erőforrásra vonatkozhatnak. A keresés FHIR-ben való végrehajtásának legegyszerűbb módja egy GET kérés használata. Ha például az adatbázisban lévő összes beteget le szeretné kérni, a következő kérést használhatja:

GET {{FHIR_URL}}/Patient

A keresés POSTakkor is hasznos, ha a lekérdezési sztring túl hosszú. A kereséshez POSTa keresési paraméterek űrlap törzsként küldhetők el. Ez lehetővé teszi a lekérdezési paraméterek hosszabb, összetettebb sorozatát, amelyeket nehéz lehet látni és értelmezni egy lekérdezési sztringben.

Ha a keresési kérelem sikeres, egy FHIR csomag választ fog kapni a következő típussal searchset: . Ha a keresés sikertelen, a hiba részleteit megtalálja a OperationOutcome dokumentumban, hogy megértse, miért nem sikerült a keresés.

A következő szakaszokban bemutatjuk a kereséssel kapcsolatos különböző szempontokat. Miután áttekintette ezeket a részleteket, tekintse meg a mintaoldalunkat, amely példákat tartalmaz az Azure API for FHIR-ben futtatható keresésekre.

Keresési paraméterek

Amikor keresést végez, az erőforrás különböző attribútumai alapján fog keresni. Az ilyen attribútumok az úgynevezett keresési paraméterek. Minden erőforrás meghatározott keresési paraméterekkel rendelkezik. A keresési paramétert meg kell határozni és indexelni kell az adatbázisban ahhoz, hogy sikeresen rákeresjen.

Minden keresési paraméter meghatározott adattípusokkal rendelkezik. A különböző adattípusok támogatását az alábbiakban ismertetjük:

Figyelmeztetés

Jelenleg probléma merül fel az _sort az Azure API for FHIR-ben láncolt kereséssel való használatakor. További információ: nyílt forráskódú probléma #2344. Ezt egy 2021 decemberi kiadás során oldjuk meg.

Keresési paraméter típusa Azure API for FHIR FHIR szolgáltatás az Azure Health Data Servicesben Megjegyzést
number Igen Igen
dátum: Igen Igen
sztring Igen Igen
jogkivonat Igen Igen
Hivatkozás Igen Igen
Kompozit Részleges Részleges A támogatott összetett típusok listáját a cikk későbbi részében ismertetjük
mennyiség Igen Igen
Uri Igen Igen
Különleges Nem Nem

Gyakori keresési paraméterek

Az összes erőforrásra általános keresési paraméterek vonatkoznak . Ezek az alábbiakban láthatók, valamint az Azure API for FHIR-ben nyújtott támogatásukkal együtt:

Gyakori keresési paraméter Azure API for FHIR FHIR szolgáltatás az Azure Health Data Servicesben Megjegyzést
_id Igen Igen
_lastUpdated Igen Igen
_Tag Igen Igen
_Típus Igen Igen
_Biztonsági Igen Igen
_Profil Igen Igen
_Hsa Részleges Igen A _has támogatása az FHIR-hez készült Azure API MVP-ben és az Azure Cosmos DB által támogatott OSS-verzióban érhető el. További részleteket az alábbi láncolás szakasz tartalmaz.
_Lekérdezés Nem Nem
_Szűrő Nem Nem
_Lista Nem Nem
_Szöveg Nem Nem
_Tartalom Nem Nem

Erőforrás-specifikus paraméterek

Az Azure API for FHIR használatával szinte minden erőforrás-specifikus keresési paramétert támogatunk, amelyet az FHIR specifikáció határoz meg. Az egyetlen keresési paraméter, amit nem támogatunk, az alábbi hivatkozásokon érhető el:

A keresési paraméterek aktuális támogatását az FHIR képességkimutatásban is láthatja a következő kéréssel:

GET {{FHIR_URL}}/metadata

Ha meg szeretné tekinteni a keresési paramétereket a képességkimutatásban, keresse CapabilityStatement.rest.resource.searchParam meg az egyes erőforrások keresési paramétereit, és CapabilityStatement.rest.searchParam keresse meg az összes erőforrás keresési paramétereit.

Megjegyzés:

Az Azure API for FHIR nem hoz létre vagy indexel automatikusan olyan keresési paramétereket, amelyeket nem határoz meg az FHIR specifikáció. Azonban támogatást nyújtunk a saját keresési paraméterek meghatározásához.

Összetett keresési paraméterek

Az összetett keresés lehetővé teszi az értékpárok keresését. Ha például olyan magassági megfigyelést keres, amelyben a személy 60 hüvelyk volt, akkor győződjön meg arról, hogy a megfigyelés egyetlen összetevője tartalmazza a magassági kódot és a 60 értéket. Nem szeretne olyan megfigyelést kapni, amelyben 60 és 48 magasságú súlyt tároltak, annak ellenére, hogy a megfigyelés olyan bejegyzéseket tartalmazna, amelyek 60-ra és magasságkódra vannak minősítve, csak a különböző összetevők szakaszaiban.

Az FHIR-hez készült Azure API-val a következő keresésiparaméter-típuspárosításokat támogatjuk:

  • Hivatkozás, jogkivonat
  • Jogkivonat, dátum
  • Jogkivonat, szám, szám
  • Token, Quantity
  • Jogkivonat, sztring
  • Jogkivonat, jogkivonat

További információkért tekintse meg a HL7 összetett keresési paramétereit.

Megjegyzés:

Az összetett keresési paraméterek nem támogatják az FHIR specifikáció szerinti módosítókat.

Módosítók és előtagok

A módosítók lehetővé teszik a keresési paraméter módosítását. Az alábbiakban áttekintjük az összes FHIR-módosító és az Azure API for FHIR támogatását.

Módosítók Azure API for FHIR FHIR szolgáltatás az Azure Health Data Servicesben Megjegyzést
:Hiányzó Igen Igen
:Pontos Igen Igen
:Tartalmaz Igen Igen
:Szöveg Igen Igen
:type (referencia) Igen Igen
:Nem Igen Igen
:below (uri) Igen Igen
:fenti (uri) Igen Igen
:in (token) Nem Nem
:below (token) Nem Nem
:fent (token) Nem Nem
:not-in (token) Nem Nem

Adott sorrendben (számok, dátumok és mennyiségek) lévő keresési paraméterek esetén a paraméter előtagjával segíthet az egyezések keresésében. Az Azure API for FHIR minden előtagot támogat.

Keresési eredmény paraméterei

A visszaadott erőforrások kezeléséhez a keresési eredmények paraméterei használhatók a keresésben. Az egyes keresési eredmények paramétereinek használatáról a HL7 webhelyén talál további információt.

Keresési eredmény paraméterei Azure API for FHIR FHIR szolgáltatás az Azure Health Data Servicesben Megjegyzést
_Elemek Igen Igen
_Számít Igen Igen _count 1000 erőforrásra korlátozódik. Ha 1000-nél magasabb értékre van beállítva, a rendszer csak 1000-et ad vissza, és figyelmeztetést ad vissza a csomagban.
_Tartalmaz Igen Igen A belefoglalt elemek legfeljebb 100 darabra korlátozódnak. _include Az Azure Cosmos DB PaaS-en és OSS-en nem szerepel az :iterate támogatás (#2137).
_revinclude Igen Igen A belefoglalt elemek legfeljebb 100 darabra korlátozódnak. _revinclude Az Azure Cosmos DB-n futó PaaS-en és OSS-en nem szerepel az :iterate support (#2137). Helytelen állapotkód is van egy hibás kéréshez #1319
_Összefoglaló Igen Igen
_Teljes Részleges Részleges _total=nincs és _total=pontos
_Rendezés Részleges Részleges A sort=_lastUpdated az Azure API for FHIR és az FHIR szolgáltatás támogatja. A 2021. április 20. után létrehozott Azure API for FHIR és OSS Azure Cosmos DB-adatbázisok esetében a rendezés az utónév, a vezetéknév, a születési dátum és a klinikai dátum alapján támogatott.
_contained Nem Nem
_containedType Nem Nem
_Pontszám Nem Nem

Megjegyzés:

Alapértelmezés szerint _sort növekvő sorrendbe rendezi a rekordot. Az előtaggal '-' csökkenő sorrendben rendezhet. Emellett az FHIR szolgáltatás és az Azure API for FHIR csak egyetlen mező rendezését teszi lehetővé egyszerre.

Az FHIR-hez készült Azure API alapértelmezés szerint megengedő kezelésre van beállítva. Ez azt jelenti, hogy a kiszolgáló figyelmen kívül hagyja az ismeretlen vagy nem támogatott paramétereket. Ha szigorú kezelést szeretne használni, használhatja a Prefer fejlécet, és beállíthatja a beállításthandling=strict.

Láncolt és fordított láncolt keresés

A láncolt keresés lehetővé teszi, hogy egy másik erőforrás által hivatkozott erőforrás keresési paraméterével keressen. Ha például olyan találkozásokat szeretne találni, ahol a beteg neve Jane, használja a következőt:

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

Hasonló módon végezhet fordított láncolású keresést. Ezzel úgy is találhat erőforrásokat, hogy a rájuk hivatkozó más erőforrásokra vonatkozó feltételeket ad meg. A láncolt és fordított láncolt keresésre további példákat az FHIR keresési példák oldalán talál.

Megjegyzés:

Az FHIR-hez készült Azure API-ban és az Azure Cosmos DB által támogatott nyílt forráskód van egy korlátozás, amely szerint a láncolt és fordított láncolt keresésekhez szükséges összes alquery csak 1000 elemet ad vissza. Ha 1000-nél több elem található, a következő hibaüzenet jelenik meg: "A láncolt kifejezésben lévő albekérdezések nem tudnak 1000-nél több eredményt visszaadni, használjon szelektívebb feltételeket." A sikeres lekérdezéshez pontosabban kell tudnia, hogy mit keres.

Pagination

Ahogy fentebb említettük, a keresés eredményei oldalszámozott kötegek lesznek. Alapértelmezés szerint a keresés oldalanként 10 találatot ad vissza, de ez a beállítás megadásával _countnövelhető (vagy csökkenthető). A csomagon belül lesz egy saját hivatkozás, amely a keresés aktuális eredményét tartalmazza. Ha további egyezések vannak, a csomag egy következő hivatkozást fog tartalmazni. A következő hivatkozás használatával továbbra is lekérheti a következő találatokat. _count legfeljebb 1000 elem lehet.

A csomag következő hivatkozása 3 KB-os folytatási jogkivonat-méretkorláttal rendelkezik. Rugalmasan módosíthatja a folytatási jogkivonat méretét 1 és 3KB között az "x-ms-documentdb-responsecontinuationtokenlimitinkb" fejléc használatával.

Az FHIR-hez készült Azure API jelenleg csak a következő hivatkozást támogatja csomagokban, és nem támogatja az első, utolsó vagy korábbi hivatkozásokat.

További lépések

Most, hogy megismerkedett a keresés alapjaival, a keresési minták oldalán részletes információkat talál arról, hogyan kereshet különböző keresési paraméterekkel, módosítókkal és más FHIR keresési forgatókönyvekkel.

Az FHIR® a HL7 bejegyzett védjegye, amelyet a HL7 engedélyével használnak.