Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
FHIR-specifikationen® (Fast Healthcare Interoperability Resources) definierar ett API för att fråga efter resurser i en FHIR-serverdatabas. Den här artikeln vägleder dig genom viktiga aspekter av FHIR-sökning i Azure Health Data Services, inklusive sökparametrar, modifierare, sidnumrering och länkade sökningar. Fullständig information om FHIR-sök-API:et finns i HL7 FHIR Search-dokumentationen .
I den här artikeln representerar {{FHIR_URL}} platshållaren bas-URL:en för FHIR-tjänsten i exempel på API-anrop som demonstrerar FHIR-söksyntax. Om FHIR-tjänsten finns i Azure Health Data Services är URL:en https://<WORKSPACE-NAME>-<FHIR-SERVICE-NAME>.fhir.azurehealthcareapis.com.
Du kan utföra FHIR-sökningar mot en specifik resurstyp, ett angivet fack eller alla resurser i FHIR-serverdatabasen. Det enklaste sättet att köra en sökning i FHIR är att använda en GET begäran. Om du till exempel vill hämta alla Patient resurser i databasen använder du följande begäran.
GET {{FHIR_URL}}/Patient
Du kan också söka med POST. Om du vill söka med hjälp av POST inkluderar du sökparametrarna i begärandetexten. Med den här metoden blir det enklare att skicka frågor med längre och mer komplexa parametrar.
Genom att använda antingen POST eller GET får du, om sökbegäran lyckas, ett FHIR-paket av typen searchset som innehåller de resursinstanser som returneras av sökningen. Om sökningen misslyckas OperationOutcome innehåller svaret felinformationen.
I följande avsnitt får du lära dig om de olika aspekterna av att fråga efter resurser i FHIR. När du har gått igenom de här avsnitten kan du läsa sidan FHIR-sökexempel, som innehåller exempel på olika FHIR-sökmetoder.
Sökparametrar
När du söker i FHIR söker du i databasen efter resurser som matchar vissa villkor. FHIR-API:et anger en omfattande uppsättning sökparametrar för finjusterande sökvillkor. Varje resurs i FHIR innehåller information som en uppsättning element och sökparametrar fungerar för att fråga efter informationen i dessa element.
Om sökparametrarna matchar resurselementvärdena på ett positivt sätt returnerar FHIR-servern ett paket med matchande resurser.
För varje sökparameter definierar FHIR-specifikationen den datatyp som du kan använda. I följande tabell beskrivs stöd i FHIR-tjänsten för de olika datatyperna.
| Sökparametertyp | FHIR-tjänsten i Azure Health Data Services | Azure API för FHIR | Kommentar |
|---|---|---|---|
| nummer | Ja | Ja | |
| datum | Ja | Ja | |
| sträng | Ja | Ja | |
| tecken | Ja | Ja | |
| hänvisning | Ja | Ja | |
| komposit | Delvis | Delvis | Listan över sammansatta typer som stöds följer i den här artikeln. |
| kvantitet | Ja | Ja | |
| URI | Ja | Ja | |
| speciell | Nej | Nej |
Vanliga sökparametrar
Vanliga sökparametrar gäller för alla resurser i FHIR. I följande tabell visas dessa parametrar, tillsammans med deras stöd i FHIR-tjänsten.
| Gemensam sökparameter | FHIR-tjänsten i Azure Health Data Services | Azure API för FHIR | Kommentar |
|---|---|---|---|
_id |
Ja | Ja | |
_lastUpdated |
Ja | Ja | |
_tag |
Ja | Ja | |
_type |
Ja | Ja | |
_security |
Ja | Ja | |
_profile |
Ja | Ja | |
_has |
Ja | Ja | |
_query |
Nej | Nej | |
_filter |
Nej | Nej | |
_list |
Nej | Nej | |
_text |
Nej | Nej | |
_content |
Nej | Nej |
Resursspecifika parametrar
FHIR-tjänsten i Azure Health Data Services stöder nästan alla resursspecifika sökparametrar som definierats i FHIR-specifikationen. Följande länkar listar sökparametrar som inte stöds:
Du kan också se det aktuella stödet för sökparametrar i FHIR-funktionsinstrukeringen med hjälp av följande begäran:
GET {{FHIR_URL}}/metadata
Om du vill visa de sökparametrar som stöds i funktionssatsen går du till CapabilityStatement.rest.resource.searchParam för resursspecifika sökparametrar och CapabilityStatement.rest.searchParam för sökparametrar som gäller för alla resurser.
Kommentar
FHIR-tjänsten i Azure Health Data Services indexerar inte automatiskt sökparametrar som inte definieras i den grundläggande FHIR-specifikationen. FHIR-tjänsten stöder anpassade sökparametrar.
Sammansatta sökparametrar
Sammansatta sökningar i FHIR behandlar elementpar som en enda enhet. När du till exempel söker efter observationer där en patients längd är över 60 tum måste höjdkoden och värdet komma från samma observation. Utan kombinerad sökning kan även en observation med höjdkoden och ett armlängdsvärde på över 60 tum matcha. Sammansatta sökparametrar undviker det här problemet genom att kräva att båda värdena i ett fördefinierat elementpar uppfyller kriterierna.
FHIR-tjänsten i Azure Health Data Services stöder följande parningar av sökparametertyp för sammansatta sökningar.
- Referens, Token
- Token, Datum
- Token, Tal, Nummer
- Token, Kvantitet
- Token, sträng
- Token, Token
Mer information finns i dokumentationen om sammansatta sökparametrar för HL7.
Kommentar
Sammansatta sökparametrar stöder inte modifierare enligt FHIR-specifikationen.
Modifierare och prefix för FHIR-sökparametrar
Med modifierare kan du kvalificera sökparametrar med extra villkor. I följande tabell visas FHIR-modifierare och deras stöd i FHIR-tjänsten.
| Modifierare | FHIR-tjänsten i Azure Health Data Services | Azure API för FHIR | Kommentar |
|---|---|---|---|
:missing |
Ja | Ja | |
:exact |
Ja | Ja | |
:contains |
Ja | Ja | |
:text |
Ja | Ja | |
:type (referens) |
Ja | Ja | |
:not |
Ja | Ja | |
:below (uri) |
Ja | Ja | |
:above (uri) |
Ja | Ja | |
:in (token) |
Nej | Nej | |
:below (token) |
Nej | Nej | |
:above (token) |
Nej | Nej | |
:not-in (token) |
Nej | Nej | |
:identifier |
Nej | Nej |
För sökparametrar som har en specifik ordning, till exempel tal, datum och kvantiteter, använder du ett prefix före parametervärdet för att förfina sökvillkoren. Till exempel använder Patient?_lastUpdated=gt2022-08-01 prefixet gt för att ange större än. FHIR-tjänsten i Azure Health Data Services stöder alla prefix som definierats i FHIR-standarden.
FHIR-sökresultatparametrar
FHIR anger en uppsättning sökresultatparametrar som hjälper dig att hantera informationen som returneras från en sökning. Mer information om hur du använder sökresultatparametrar i FHIR finns på HL7-webbplatsen. Följande tabell visar FHIR-sökresultatparametrar och deras stöd i FHIR-tjänsten.
| Sökresultatparametrar | FHIR-tjänsten i Azure Health Data Services | Azure API för FHIR | Kommentar |
|---|---|---|---|
_elements |
Ja | Ja | |
_count |
Ja | Ja |
_count är begränsad till 1 000 resurser. Om du anger högre än 1 000 returnerar tjänsten endast 1 000 resurser och innehåller en varning i paketet. |
_include |
Ja | Ja |
_include på PaaS och OSS på Azure Cosmos DB stöder inte :iterate(#2137). |
_revinclude |
Ja | Ja |
_revinclude på PaaS och OSS på Azure Cosmos DB stöder inte :iterate(#2137). Det finns också en felaktig statuskod för en felaktig begäran: #1319. |
_summary |
Ja | Ja | |
_total |
Delvis | Delvis |
_total=none och _total=accurate |
_sort |
Delvis | Delvis |
sort=_lastUpdated stöds i FHIR-tjänsten. För FHIR-tjänsten och OSS SQL DB FHIR-servrar stöds sortering efter strängar och dateTime-fält. För Azure API för FHIR- och OSS Azure Cosmos DB-databaser som skapats efter den 20 april 2021 stöds sortering efter förnamn, efternamn, födelsedatum och kliniskt datum. |
_contained |
Nej | Nej | |
_containedType |
Nej | Nej | |
_score |
Nej | Nej | |
_not-referenced |
Ja | Nej |
_not-referenced=*:* för att söka efter resurser som andra resurser inte refererar till. Används till exempel /Patient?_not-referenced=*:* för att söka efter patientresurser som andra resurser inte refererar till.
/Patient?_not-referenced=Encounter:subject används för att söka efter Patient-resurser som Encounter-resurser inte anger som subject. En lista kan också användas för flera refererade fält, till exempel /Patient/$bulk-delete?_not-referenced=Encounter:subject&_not-referenced=DiagnosticReport:subject för att söka efter patientresurser som Encounter- och DiagnosticReport-resurser inte refererar till. |
Kommentar
- Som standard
_sortordnar poster i stigande ordning. Du kan också använda prefixet-för att sortera i fallande ordning. Med FHIR-tjänsten kan du bara sortera på ett enda fält i taget. - FHIR-tjänsten stöder jokerteckensökningar med parametern
_revinclude. Om du lägger till en.frågeparameter i en_revincludefråga dirigeras FHIR-tjänsten till att referera till alla resurser som mappats till källresursen.
Som standard är FHIR-tjänsten i Azure Health Data Services inställd på överseende hantering. Den här inställningen innebär att servern ignorerar alla okända eller parametrar som inte stöds. Om du vill använda strikt hantering, inkludera rubriken Prefer och ange handling=strict.
_include- och _revinclude-sökningar
FHIR-tjänsten stöder sökfrågor som använder parametrarna _include och _revinclude . Med de här parametrarna kan du hämta referensresurser i sökresultaten.
Sökparametern _include möjliggör hämtning av en viss FHIR-resurs och andra FHIR-resurser som den refererar till. När den används i en fråga returnerar parametern _include den angivna resursen och resurserna som den refererar till. Sökparametern _revinclude fungerar tvärtom, vilket gör det möjligt att hämta en resurs, tillsammans med andra resurser som refererar till den, vilket ger ett sätt att söka efter resurser baserat på deras relationer med andra resurser. Detaljerad information om att inkludera och _revinclude i sökparametrar finns i FHIR-sökdokumentationen.
Parametrar för begäran
När du kör en sökbegäran med _include parametrarna och _revinclude använder du följande valfria parametrar för att kontrollera antalet.
| Namn | Värde | Beskrivning |
|---|---|---|
_count |
Standardvärde: 10 Maxvärde: 1 000 | Värdet representerar antalet målresurser som ska hämtas per begäran. |
_includesCount |
Standardvärde: 1 000 | Värdet representerar antalet matchade resurser som refereras av målresurser för att hämta per begäran. |
Svaret från _include och _revinclude sökningarna innehåller upp till 1 000 objekt. Om det finns fler än 1 000 matchade objekt innehåller svaret en länk som du kan använda för att navigera i den fullständiga resultatuppsättningen.
I följande exempel görs en sökbegäran för Observationer för patient med identifierare 123.
GET {{FHIR_URL}}/Observation?subject.identifier=123&_include=Observation:subject&_includesCount=10
Svaret har observationsdata för patient 123. De matchande resurserna visas 10 per sida, med en länk för att navigera till hela resultatmängden.
{
"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": [….]
}
Kedjad sökning och omvänd kedjad sökning
Med en länkad sökning kan du utföra riktade frågor för resurser som refererar till en annan resurs. Om du till exempel vill hitta möten där patientens namn är Jane använder du:
GET {{FHIR_URL}}/Encounter?subject:Patient.name=Jane
. i föregående begäran styr sökvägen för den kedjade sökningen till målparametern (name i detta fall).
På samma sätt kan du göra en omvänd länkad sökning med parametern _has . Den här parametern hämtar resursinstanser genom att ange kriterier för andra resurser som refererar till de resurser som är intressanta. Exempel på länkad och omvänd länkad sökning finns på sidan FHIR-sökexempel .
Paginering
Som tidigare nämnts, kan du visa resultaten från en FHIR-sökning i paginerad form via en länk som anges i bundlen searchset. Som standard visar FHIR-tjänsten 10 sökresultat per sida, men du kan ändra det här talet genom att ange parametern _count . Om det finns fler matchningar än vad som passar på en sida innehåller paketet en next länk. Upprepade hämtningar från länken next ger efterföljande sidor med resultat. Parametervärdet _count får inte överstiga 1 000.
För närvarande stöder FHIR-tjänsten i Azure Health Data Services bara länken next och stöder inte länkarna first, last eller previous i paket som returneras från en sökning.
Vanliga frågor
Vad betyder "partiellt stöd" i sökparametrar som inte stöds i R4?
Vissa resursspecifika sökparametrar omfattar mer än en datatyp, och FHIR-tjänsten i Azure Health Data Services kanske bara stöder den sökparametern på någon av dessa datatyper. Till exempel representerar Condition-abatement-age och Condition-onset-age två olika datatyper, ålder och intervall. FHIR-tjänsten i Azure Health Data Services stöder dock dessa två sökparametrar i Intervall, men inte på Ålder.
Stöds operatorn "$lastn" för Observationer?
Den här åtgärden stöds inte. Den alternativa metoden är att använda _count för att begränsa resurser som returneras per sida och _sort för att ge resultat i fallande ordning.
Nästa steg
Mer information om FHIR-sökning finns på sidan med sökexempel . Du hittar information om hur du söker med hjälp av sökparametrar, modifierare och andra FHIR-sökmetoder.
Kommentar
FHIR® är ett registrerat varumärke som tillhör HL7 och används med tillstånd av HL7.