Az FHIR-keresés áttekintése
A Fast Healthcare Interoperability Resources (FHIR®) specifikáció egy API-t határoz meg az erőforrások FHIR-kiszolgálói adatbázisban való lekérdezéséhez. Ez a cikk végigvezeti az FHIR-ben lévő adatok lekérdezésének főbb szempontjain. Az FHIR keresési API-val kapcsolatos részletes információkért tekintse meg a HL7 FHIR Search dokumentációját.
Ebben a cikkben az FHIR keresési szintaxisát mutatjuk be a példa API-hívásokban a {{FHIR_URL}}
helyőrzővel, amely az FHIR-kiszolgáló URL-címét jelöli. Ha az FHIR szolgáltatás az Azure Health Data Services szolgáltatásban található, ez az URL-cím lenne https://<WORKSPACE-NAME>-<FHIR-SERVICE-NAME>.fhir.azurehealthcareapis.com
.
Az FHIR-keresések egy adott erőforrástípusra, egy adott rekeszre vagy az FHIR-kiszolgáló adatbázisának összes erőforrására 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 le szeretné kérni az adatbázis összes Patient
erőforrását, az alábbi kérést használhatja.
GET {{FHIR_URL}}/Patient
A keresést a következővel is végezheti POST
el: A kereséshez POST
a keresési paraméterek a kérelem törzsében jelennek meg. Ez megkönnyíti a hosszabb, összetettebb paramétersorozatú lekérdezések küldését.
POST
GET
Ha a keresési kérelem sikeres, vagy egy FHIR-csomagot searchset
kap, amely tartalmazza a keresésből visszaadott erőforráspéldányokat. Ha a keresés sikertelen, a hiba részleteit egy OperationOutcome
válaszban találja.
A következő szakaszokban az FHIR-ben található erőforrások lekérdezésének különböző szempontjait tárgyaljuk. Miután áttekintette ezeket a témaköröket, tekintse meg az FHIR keresési minták oldalát, amely példákat tartalmaz a különböző FHIR keresési módszerekre.
Keresési paraméterek
Ha az FHIR-ben végez keresést, az adatbázisban olyan erőforrásokat keres, amelyek megfelelnek bizonyos feltételeknek. Az FHIR API számos keresési paramétert határoz meg a keresési feltételek finomhangolásához. Az FHIR minden erőforrása elemkészletként tartalmazza az információkat, a keresési paraméterek pedig az ezekben az elemekben lévő információk lekérdezéséhez működnek. Ha egy FHIR keresési API-hívásban pozitív egyezés található a kérelem keresési paraméterei és az erőforráspéldányban tárolt megfelelő elemértékek között, az FHIR-kiszolgáló visszaad egy csomagot, amely tartalmazza azokat az erőforráspéldányokat, amelyek elemei megfelelnek a keresési feltételeknek.
Minden keresési paraméter esetében az FHIR specifikáció határozza meg a használható adattípust . Az FHIR szolgáltatásban a különböző adattípusok támogatása alább látható.
Keresési paraméter típusa | FHIR szolgáltatás az Azure Health Data Servicesben | Azure API for FHIR | Megjegyzés |
---|---|---|---|
szám | Igen | Igen | |
dátum: | Igen | Igen | |
sztring | Igen | Igen | |
jogkivonat | Igen | Igen | |
utalás | Igen | Igen | |
Kompozit | Részleges | Részleges | A támogatott összetett típusok listája ebben a cikkben található. |
mennyiség | Igen | Igen | |
Uri | Igen | Igen | |
speciális | Nem | Nem |
Gyakori keresési paraméterek
Vannak gyakori keresési paraméterek, amelyek az FHIR összes erőforrására vonatkoznak . Ezek a következők, valamint az FHIR szolgáltatásban nyújtott támogatásuk.
Gyakori keresési paraméter | FHIR szolgáltatás az Azure Health Data Servicesben | Azure API for FHIR | Megjegyzés |
---|---|---|---|
_id |
Igen | Igen | |
_lastUpdated |
Igen | Igen | |
_tag |
Igen | Igen | |
_type |
Igen | Igen | |
_security |
Igen | Igen | |
_profile |
Igen | Igen | |
_has |
Igen | Igen | |
_query |
Nem | Nem | |
_filter |
Nem | Nem | |
_list |
Nem | Nem | |
_text |
Nem | Nem | |
_content |
Nem | Nem |
Erőforrás-specifikus paraméterek
Az Azure Health Data Services FHIR szolgáltatása szinte minden , az FHIR specifikációban meghatározott erőforrás-specifikus keresési paramétert támogat. A nem támogatott keresési paraméterek az alábbi hivatkozásokon találhatók:
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
A képességkimutatásban támogatott keresési paraméterek megtekintéséhez keresse meg CapabilityStatement.rest.resource.searchParam
az erőforrás-specifikus keresési paramétereket, valamint CapabilityStatement.rest.searchParam
az összes erőforrásra vonatkozó keresési paramétereket.
Feljegyzés
Az Azure Health Data Services FHIR szolgáltatása nem indexeli automatikusan az alap FHIR-specifikációban nem definiált keresési paramétereket. Az FHIR szolgáltatás támogatja az egyéni keresési paramétereket.
Összetett keresési paraméterek
Az FHIR összetett keresései lehetővé teszik az elempárok logikailag csatlakoztatott egységekként való keresését. Ha például olyan megfigyeléseket keres, amelyekben a beteg magassága meghaladta a 60 hüvelyket, győződjön meg arról, hogy a megfigyelés egyetlen tulajdonsága tartalmazza a magassági kódot és a 60 hüvelyknél nagyobb értéket (az értéknek csak a magasságra kell vonatkoznia). Például nem szeretne pozitív egyezést egy megfigyelésen a magasságkóddal és a kar hossza 60 hüvelyknél nagyobb kóddal. Az összetett keresési paraméterek megakadályozzák ezt a problémát, ha előre megadott elempárokra keresnek, amelyeknek az értékeknek meg kell felelniük a pozitív egyezés keresési feltételeinek.
Az Azure Health Data Services FHIR szolgáltatása a következő keresési paramétertípus-párosítást támogatja összetett keresésekhez.
- 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éterek dokumentációját .
Feljegyzés
Az összetett keresési paraméterek nem támogatják a módosítókat az FHIR-specifikációnak megfelelően.
Módosítók és előtagok
A módosítók lehetővé teszik a keresési paraméterek további feltételekkel való minősítését. Az alábbiakban az FHIR módosítók és támogatásuk táblázata látható az FHIR szolgáltatásban.
Módosítók | FHIR szolgáltatás az Azure Health Data Servicesben | Azure API for FHIR | Megjegyzés |
---|---|---|---|
:missing |
Igen | Igen | |
:exact |
Igen | Igen | |
:contains |
Igen | Igen | |
:text |
Igen | Igen | |
:type (referencia) |
Igen | Igen | |
:not |
Igen | Igen | |
:below (uri) |
Igen | Igen | |
:above (uri) |
Igen | Igen | |
:in (jogkivonat) |
Nem | Nem | |
:below (jogkivonat) |
Nem | Nem | |
:above (jogkivonat) |
Nem | Nem | |
:not-in (jogkivonat) |
Nem | Nem | |
:identifier |
Nem | Nem |
Adott sorrendben (számok, dátumok és mennyiségek) rendelkező keresési paraméterek esetén a paraméterérték előtti előtaggal pontosíthatja a keresési feltételeket (például Patient?_lastUpdated=gt2022-08-01
ahol az előtag gt
"nagyobb mint" értéket jelent). Az Azure Health Data Services FHIR szolgáltatása támogatja az FHIR szabványban meghatározott összes előtagot.
Keresési eredmény paraméterei
Az FHIR a keresési eredmények paramétereinek készletét adja meg a keresésből visszaadott információk kezeléséhez. A keresési eredmények paramétereinek az FHIR-ben való használatáról a HL7 webhelyén tájékozódhat. Az alábbi táblázat az FHIR keresési eredmény paramétereit és azok támogatását tartalmazza az FHIR szolgáltatásban.
Keresési eredmény paraméterei | FHIR szolgáltatás az Azure Health Data Servicesben | Azure API for FHIR | Megjegyzés |
---|---|---|---|
_elements |
Igen | Igen | |
_count |
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 a csomag egy figyelmeztetést tartalmaz. |
_include |
Igen | Igen | A lekért _include elemek legfeljebb 100-ra korlátozódnak. _include Az Azure Cosmos DB PaaS-en és OSS-en nem támogatott :iterate (#2137). |
_revinclude |
Igen | Igen | A lekért _revinclude elemek legfeljebb 100-ra korlátozódnak. _revinclude Az Azure Cosmos DB PaaS-en és OSS-en nem támogatott :iterate (#2137). Helytelen állapotkód is van egy hibás kéréshez: #1319. |
_summary |
Igen | Igen | |
_total |
Részleges | Részleges | _total=none és _total=accurate |
_sort |
Részleges | Részleges | sort=_lastUpdated az FHIR szolgáltatás támogatja. Az FHIR szolgáltatás és az OSS SQL DB FHIR-kiszolgálók esetében a sztringek és dateTime mezők szerinti rendezés támogatott. 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 | |
_score |
Nem | Nem |
Megjegyzés:
- Alapértelmezés szerint
_sort
növekvő sorrendbe rendezi a rekordokat. Az előtaggal-
csökkenő sorrendben is rendezhet. Az FHIR szolgáltatással egyszerre csak egyetlen mező alapján rendezhet. - Az FHIR szolgáltatás a revinclude használatával támogatja a helyettesítő kártyák keresését. Ha hozzáad egy "." lekérdezési paramétert egy revinclude-lekérdezéshez, az FHIR szolgáltatás a forráserőforráshoz hozzárendelt összes erőforrásra hivatkozik.
Alapértelmezés szerint az Azure Health Data Services FHIR szolgáltatása 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, a fejlécet is belefoglalhatja, és beállíthatjahandling=strict
.Prefer
Láncolt és fordított láncolt keresés
A láncolt kereséssel részletes, célzott lekérdezéseket hajthat végre olyan erőforrásokhoz, amelyek egy másik erőforrásra hivatkoznak. 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
Az .
előző kérés a láncolt keresés útvonalát a célparaméterhez irányítja (name
ebben az esetben).
Hasonlóképpen fordított láncolt keresést is végezhet a _has
paraméterrel. Ez lehetővé teszi az erőforráspéldányok lekérését olyan feltételek megadásával, amelyek más, a fontos erőforrásokra hivatkozó erőforrásokra hivatkoznak. A láncolt és fordított láncolt keresés példáiért tekintse meg az FHIR keresési példák oldalát.
Oldalra tördelés
Ahogy korábban említettük, az FHIR-keresés eredményei lapszámozott formában érhetők el a searchset
csomagban található hivatkozáson. Alapértelmezés szerint az FHIR szolgáltatás oldalanként 10 találatot jelenít meg, de ez a paraméter beállításával _count
növelhető (vagy csökkenthető). Ha több egyezés van, mint egy oldalon, a csomag tartalmaz egy next
hivatkozást. A hivatkozásból next
való ismételt lekérés a későbbi eredmények lapjait eredményezi. Vegye figyelembe, hogy a _count
paraméter értéke nem haladhatja meg az 1000 értéket.
Az Azure Health Data Services FHIR szolgáltatása jelenleg csak a next
hivatkozást támogatja, és nem támogatja first
a last
previous
keresésből visszaadott csomagok hivatkozásait.
GYIK
Mit jelent a "részleges támogatás" az R4 nem támogatott keresési paraméterekben?
Az erőforrás-specifikus keresési paraméterek némelyike több adattípusra is kiterjed, és az Azure Health Data Services FHIR szolgáltatása csak az egyik ilyen adattípuson támogatja ezt a keresési paramétert. A condition-abatement-age és a condition-onset-age például két különböző adattípust fed le, az életkort és a tartományt; Az Azure Health Data Services FHIR szolgáltatása azonban támogatja ezt a két keresési paramétert a tartományon, de az életkoron nem.
Támogatott a megfigyelések $lastn művelete?
Ez nem támogatott. A másik módszer az lenne, ha _count használnánk a laponként visszaadott erőforrások korlátozására, és _sort az eredmények csökkenő sorrendben történő biztosítására.
Következő lépések
Most, hogy megismerte az FHIR-keresés alapjait, a keresési minták oldalán részletes információkat talál arról, hogyan kereshet keresési paraméterekkel, módosítókkal és más FHIR keresési módszerekkel.
Feljegyzés
Az FHIR® a HL7 bejegyzett védjegye, amelyet a HL7 engedélyével használnak.