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 POST
akkor is hasznos, ha a lekérdezési sztring túl hosszú. A kereséshez POST
a 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 _count
nö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.