Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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 POSTel: A kereséshez POSTa 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
GETHa 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észletei megjelennek a OperationOutcome válaszban.
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 áttekinti 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ás támogatása a különböző adattípusokhoz az alábbiakban található.
| 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 | |
| karakterlánc | Igen | Igen | |
| kód | Igen | Igen | |
| hivatkozá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 |
_include Az Azure Cosmos DB PaaS-en és OSS-en nem támogatott :iterate(#2137). |
_revinclude |
Igen | Igen |
_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 | |
_not-referenced |
Igen | Nem |
_not-referenced=*:* olyan erőforrások kereséséhez, amelyekre más erőforrások nem hivatkoznak. A rendszer például olyan betegerőforrásokat keres, /Patient?_not-referenced=*:* amelyekre más erőforrások nem hivatkoznak.
/Patient?_not-referenced=Encounter:subject Olyan betegerőforrások keresésére szolgál, amelyekre nem hivatkoznak a Tárgyként listázó Encounter-erőforrások. Egy lista több hivatkozott mezőhöz is használható, /Patient/$bulk-delete?_not-referenced=Encounter:subject&_not-referenced=DiagnosticReport:subject például olyan betegerőforrások keresésére, amelyekre nem hivatkoznak a Encounter és DiagnosticReport erőforrások. |
Megjegyzés:
- Alapértelmezés szerint
_sortnö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íthatjaPrefer.handling=strict
_include és _revinclude keresések
Az FHIR szolgáltatás támogatja a keresési lekérdezéseket a paraméterek és _include a _revinclude paraméterek használatával. Ezek a paraméterek lehetővé teszik a referencia-erőforrások lekérését a keresési eredményekben.
A _include keresési paraméter lehetővé teszi egy adott FHIR-erőforrás, valamint az általa hivatkozott egyéb FHIR-erőforrások lekérését. Amikor egy lekérdezésben használják, a paraméter visszaadja _include a megadott erőforrást és erőforrásokat, amelyekre hivatkozik. A _revinclude keresési paraméter fordítottan működik, lehetővé téve az erőforrások lekérését, valamint az arra hivatkozó egyéb erőforrásokat, így lehetővé téve az erőforrások keresését a más erőforrásokkal való kapcsolatuk alapján. A keresési paraméterekbe való belefoglalással és revinclude-ral kapcsolatos részletes információkért tekintse meg az FHIR keresési dokumentációját.
Kérelemparaméterek
A keresési kérések _include és _revinclude paraméterek végrehajtásakor a következő választható paraméterek használhatók a darabszám szabályozásához.
| Név | Érték | Leírás |
|---|---|---|
_count |
Alapértelmezett érték: 10 Maximális érték: 1000 | Az érték a kérésenként lekérendő célerőforrások számát jelöli. Az érték 1000-ig állítható be. Ha a paraméter nincs megadva, a paraméter értéke 10. |
_includesCount |
Alapértelmezett érték: 1000 | Az érték a kérésenként lekérendő célerőforrások által hivatkozott egyezések számát jelöli. |
Legfeljebb 1000 elem szerepel a válaszban _include és _revinclude a keresésekben. Ha több mint 1000 egyező elem található, egy hivatkozással navigálhat a teljes eredményhalmazban.
Az alábbi példában a 123-ás azonosítójú betegre vonatkozóan keresünk megfigyeléseket.
GET {{FHIR_URL}}/Observation?subject.identifier=123&_include=Observation:subject&_includesCount=10
A válaszban a 123-as beteg megfigyelési adatai lesznek. A megfeleltetett erőforrások oldalanként 10-et biztosítanak, a teljes eredményhalmazban való navigáláshoz egy hivatkozással.
{
"resourceType": "Bundle",
"id": "b5491e39-8f8f-4405-a4cf-2a6716755d73",
"meta": {
"lastUpdated": "2025-04-10T21:09:42.6517693+00:00"
},
"type": "searchset",
" link": [
{
"relation": "next",
"url": "{{FHIR_URL}}/Observation?subject.identifier=123&_include=Observation:subject&_includesCount=10&ct=er97f5lRTbShgbGOqaGhgbGlsZGFmaWJiYWBgYGpSSwAAAD%2F%2Fw%3D%3D"
},
{
"relation": "related",
"url": "{{FHIR_URL}}/Observation/$include?subject.identifier=123&_include=Observation:subject&_includesCount=10&includesCt=er97f5lRTbShgbGOqaGhgbGlsZGFmaWJiYWBgYGhAaaYqYmOqQUWYaNYAAAAAP%2F%2F"
},
{
"relation": "self",
"url": "{{FHIR_URL}}/Observation?subject.identifier=123&_include=Observation:subject&_includesCount=10”
}
],
"entry": [….]
}
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 firsta lastprevious 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.