Dela via


Översikt över sökning i Azure API för FHIR

Viktigt!

Azure API för FHIR avvecklas den 30 september 2026. Följ migreringsstrategierna för att övergå till Azure Health Data Services FHIR-tjänsten® senast det datumet. På grund av tillbakadragandet av Azure API för FHIR tillåts inte nya distributioner från och med den 1 april 2025. Azure Health Data Services FHIR-tjänsten är den utvecklade versionen av Azure API för FHIR som gör det möjligt för kunder att hantera FHIR-, DICOM- och MedTech-tjänster med integreringar i andra Azure-tjänster.

FHIR-specifikationen® (Fast Healthcare Interoperability Resources) definierar grunderna i sökning efter FHIR-resurser. Den här artikeln vägleder dig genom några viktiga aspekter av att söka efter resurser i FHIR. Fullständig information om hur du söker efter FHIR-resurser finns i Sök i HL7 FHIR-specifikationen. I den här artikeln ger vi exempel på söksyntax. Varje sökning sker mot din FHIR-server, som vanligtvis har en URL till https://<FHIRSERVERNAME>.azurewebsites.net. I exemplen använder vi platshållaren {{FHIR_URL}} för den här URL:en.

FHIR-sökningar kan ske mot en specifik resurstyp, ett angivet fack eller alla resurser. 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 patienter i databasen kan du använda följande begäran.

GET {{FHIR_URL}}/Patient

Du kan också söka med POST, vilket är användbart om frågesträngen är lång. Om du vill söka med kan POSTsökparametrarna skickas som formulärtext. Detta möjliggör längre, mer komplexa serier av frågeparametrar som kan vara svåra att se och förstå i en frågesträng.

Om sökbegäran lyckas får du ett FHIR-paketsvar med typen searchset. Om sökningen misslyckas kan du hitta felinformationen OperationOutcome i som hjälper dig att förstå varför sökningen misslyckades.

I följande avsnitt går vi igenom de olika aspekterna som ingår i sökningen. När du har granskat den här informationen kan du läsa vår exempelsida med exempel på sökningar som du kan göra i Azure API för FHIR.

Sökparametrar

Sökningar baseras på olika attribut för resursen. Dessa attribut kallas sökparametrar. Varje resurs har en uppsättning definierade sökparametrar. Sökparametern måste definieras och indexeras i databasen för att du ska kunna söka mot den.

Varje sökparameter har en definierad datatyp. I följande tabell beskrivs stöd för de olika datatyperna.

Varning

Det finns för närvarande ett problem när du använder _sort i Azure API för FHIR med länkad sökning. Mer information finns i problemet med öppen källkod #2344. Detta kommer att lösas under en lansering i december 2021.

Sökparametertyp Azure API för FHIR FHIR-tjänsten i Azure Health Data Services Kommentar
Nummer Ja Ja
datum Ja Ja
sträng Ja Ja
token Ja Ja
hänvisning Ja Ja
sammansättning Delvis Delvis Listan över sammansatta typer som stöds beskrivs senare i den här artikeln.
kvantitet Ja Ja
uri Ja Ja
speciell Nej Nej

Vanliga sökparametrar

Det finns vanliga sökparametrar som gäller för alla resurser. Dessa finns i följande lista, tillsammans med deras stöd i Azure API för FHIR.

Gemensam sökparameter Azure API för FHIR FHIR-tjänsten i Azure Health Data Services Kommentar
_id Ja Ja
_lastUpdated Ja Ja
_tagg Ja Ja
_typ Ja Ja
_säkerhet Ja Ja
_profil Ja Ja
_Har Delvis Ja Stöd för _has finns i MVP i Azure API för FHIR och OSS-versionen som backas upp av Azure Cosmos DB. Mer information finns i följande länkningsavsnitt.
_fråga Nej Nej
_filter Nej Nej
_lista Nej Nej
_SMS Nej Nej
_innehåll Nej Nej

Resursspecifika parametrar

Med Azure API för FHIR stöder vi nästan alla resursspecifika sökparametrar som definieras av FHIR-specifikationen. De enda sökparametrarna som vi inte stöder är tillgängliga i följande länkar.

Du kan också se det aktuella stödet för sökparametrar i FHIR-kapacitetsinstrukeringen med följande begäran.

GET {{FHIR_URL}}/metadata

Om du vill se sökparametrarna i funktionssatsen går du till för att CapabilityStatement.rest.resource.searchParam se sökparametrarna för varje resurs och CapabilityStatement.rest.searchParam för att hitta sökparametrarna för alla resurser.

Kommentar

Azure API för FHIR skapar eller indexerar inte automatiskt sökparametrar som inte definieras av FHIR-specifikationen. Vi tillhandahåller dock stöd för att definiera dina egna sökparametrar.

Sammansatta sökparametrar

Med sammansatt sökning kan du söka efter värdepar. Om du till exempel sökte efter en höjdobservation där personen var 60 tum skulle du vilja se till att en enda komponent i observationen innehöll höjdkoden och värdet 60. Du vill inte få en observation där en vikt på 60 och höjd på 48 lagrades, även om observationen skulle ha poster som kvalificerat sig för värdet 60 och koden för höjd, bara i olika komponentavsnitt.

Med Azure API för FHIR stöder vi följande parkopplingar av sökparametertyp.

  • Referens, token
  • Token, datum
  • Token, Tal, Nummer
  • Token, Kvantitet
  • Token, sträng
  • Token, Token

Mer information finns i HL7 Composite Search Parameters (Sammansatta sökparametrar för HL7).

Kommentar

Sammansatta sökparametrar stöder inte modifierare enligt FHIR-specifikationen.

Modifierare och prefix

Med modifierare kan du ändra sökparametern. Följande tabell är en översikt över alla FHIR-modifierare och deras stöd i Azure API för FHIR.

Modifierare Azure API för FHIR FHIR-tjänsten i Azure Health Data Services Kommentar
:försvunnen Ja Ja
:exakt Ja Ja
:Innehåller Ja Ja
:SMS Ja Ja
:type (referens) Ja Ja
:inte Ja Ja
:below (uri) Ja Ja
:ovan (uri) Ja Ja
:in (token) Nej Nej
:nedan (token) Nej Nej
:above (token) Nej Nej
:not-in (token) Nej Nej

För sökparametrar som har en specifik ordning (tal, datum och kvantiteter) kan du använda ett prefix på parametern för att hitta matchningar. Azure API för FHIR stöder alla prefix.

Sökresultatparametrar

För att hantera de returnerade resurserna finns det sökresultatparametrar som du kan använda. Mer information om hur du använder var och en av sökresultatparametrarna finns på HL7-webbplatsen.

Sökresultatparametrar Azure API för FHIR FHIR-tjänsten i Azure Health Data Services Kommentar
_element Ja Ja
_räkna Ja Ja _count är begränsad till 1 000 resurser. Om värdet är högre än 1 000 returneras endast 1 000 och en varning returneras i paketet.
_inbegripa Ja Ja Inkluderade objekt är begränsade till 100. _include på PaaS och OSS på Azure Cosmos DB innehåller inte :iterate support (#2137).
_revinclude Ja Ja Inkluderade objekt är begränsade till 100. _revinclude på PaaS och OSS i Azure Cosmos DB inkluderar inte :iterate support (#2137). Det finns också en felaktig statuskod för en felaktig begäran #1319
_sammanfattning Ja Ja
_total Delvis Delvis _total=none och _total=accurate
_sort Delvis Delvis sort=_lastUpdated stöds i Azure API för FHIR och FHIR-tjänsten. 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.
_Innehöll Nej Nej
_containedType Nej Nej
_tjog Nej Nej

Kommentar

Som standard _sort sorterar posten i stigande ordning. Du kan använda prefixet '-' för att sortera i fallande ordning. Dessutom tillåter FHIR-tjänsten och Azure API för FHIR endast att du sorterar på ett enda fält i taget.

Som standard är Azure API för FHIR inställt på överseende hantering. Det innebär att servern ignorerar alla okända eller parametrar som inte stöds. Om du vill använda strikt hantering kan du använda rubriken Prefer (Föredrar ) och ange handling=strict.

Länkad & bakåtlänkad sökning

Med en länkad sökning kan du söka med hjälp av en sökparameter på en resurs som refereras av 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.

På samma sätt kan du göra en omvänd länkad sökning. Med en omvänd länkad sökning kan du hämta resurser genom att ange kriterier för andra resurser som refererar till dem. Fler exempel på länkad och omvänd länkad sökning finns på sidan FHIR-sökexempel .

Kommentar

I Azure API för FHIR och öppen källkod som backas upp av Azure Cosmos DB finns det en begränsning där varje underfråga som krävs för de länkade och omvända länkade sökningarna endast returnerar 1 000 objekt. Om det finns fler än 1 000 objekt får du följande felmeddelande: "Underfrågor i ett länkat uttryck kan inte returnera fler än 1 000 resultat, använd ett mer selektivt villkor." För att få en lyckad fråga måste du vara mer specifik i det du letar efter.

Sidnumrering

Som tidigare nämnts är resultatet från en sökning ett sidsidigt paket. Som standard returnerar sökningen 10 resultat per sida, men detta kan ökas (eller minskas) genom att _countange . I paketet finns en självlänk som innehåller det aktuella resultatet av sökningen. Om det finns ytterligare matchningar innehåller paketet en nästa länk. Du kan fortsätta att använda nästa länk för att hämta efterföljande sidor med resultat. _count är begränsad till högst 1 000 objekt.

Nästa länk i paketet har en storleksgräns för fortsättningstoken på 3 KB. Du har flexibilitet att justera storleken på fortsättningstoken mellan 1 KB och 3 KB med hjälp av rubriken x-ms-documentdb-responsecontinuationtokenlimitinkb.

För närvarande stöder Azure API för FHIR endast nästa länk i paket, och den stöder inte första, sista eller tidigare länkar.

Nästa steg

Nu när du har lärt dig mer om grunderna för sökning kan du läsa sidan sökexempel för information om hur du söker med olika sökparametrar, modifierare och andra FHIR-sökscenarier.

Kommentar

FHIR® är ett registrerat varumärke som tillhör HL7 och används med tillstånd av HL7.