Generell beskrivning av FHIR

Nationella läkemedelslistan använder FHIR, en standard utvecklad av HL7, som externt gränssnitt. Den här sidan beskriver kortfattat vad FHIR är. 


1. Resurs i FHIR

I registret Nationella läkemedelslistan realiseras API:et enligt en arkitekturprincip som kallas REST (REpresentational State Transfer). REST bygger på HTTP, det vill säga den teknik som används i webbläsare för att utväxla HTML-sidor. I FHIR är det dock inte HTML-sidor som utväxlas, utan datastrukturer avsedda för bearbetning via it-system. 

I REST används termen "resurs" för att benämna det objekt man agerar på. Ett sådant objekt (härefter kallat resurs) motsvarar ofta ett verkligt objekt eller koncept, till exempel patient eller förskrivning. 

Exempel på resurser vi använder i Nationella läkemedelslistan:

  • Patient
  • MedicationRequest
  • Consent

Resursnamn i Nationella läkemedelslistan följer FHIR-standarden och har engelska namn. En mappning mellan resursnamn i FHIR och de termer som används i tillämpningsanvisningarna finns i Informationsspecifikation – resurser.

Enligt FHIR-standarden har varje resurs en Uniform Resource Identifier (URI). URI:n fungerar även som adress (URL / endpoint). Via URL:en går det att anropa resursen och nyttja de tjänster som man vill ha tillgång till. Endast godkända aktörer får tillgång till FHIR-resurserna. URI:n i kombination med den resurs man vill interagera med och en HTTP-metod utgör en tjänst. En aktör nyttjar en resurs i form av att hämta (GET), söka upp (GET med sökvillkor), skapa (POST) eller uppdatera (PUT). 

Varje instans av en resurs har ett "logiskt id". Det är unikt för varje instans av resursen och det skapas av EHM när instansen sparas i den Nationella läkemedelslistan. I den Nationella läkemedelslistan är det logiska id:et oftast av typen UUID, men det finns undantag. En ny resurs som ännu inte har sparats i den Nationella läkemedelslistan saknar logiskt id. En instans av en resurs byter aldrig logiskt id. Det logiska id:et ihop med URI:n kan användas för att hämta en resurs (se exempel nedan).

Beteckningen "<EHM>" används nedan för att representera den inledande delen i URI:n.

1.1. Exempel

POST <EHM>/MedicationRequest innebär att skapa en förskrivning för den patient som bifogas i anropet.

GET <EHM>/Patient?identifier=191212121212 innebär en sökning efter en patient med personnummer 19121212-1212.

GET <EHM>/Patient/ab157c23-3ba1-440c-a1a3-417c008772e3 innebär att en sedan tidigare känd patient hämtas via det logiska id:et.

2. Profil i FHIR

FHIR-standarden möjliggör en så kallad profilering av resurser. Det innebär att informationen i en resurs i form av attribut och element kan begränsas eller utökas för att passa med de nationella och/eller specifika behov som finns, utöver det FHIR-standarden stipulerar. En profil används av aktören för att tolka informationen i ett svar, eller för att skapa ett anrop med rätt attributuppsättning och format. Som ett exempel kan en profil för en patientresurs beskriva formatet på ett personnummer, eller begränsa att vi inte använder foto eller telefonnummer till patienten i Nationella läkemedelslistan.

2.1. Exempel

  • NLLPatient, beskriver begränsningar och tillägg för patientinformation i Nationella läkemedelslistan.
  • NLLMedicationRequest, beskriver begränsningar och tillägg för förskrivning i Nationella läkemedelslistan.

3. Mer information

FHIR-standarden är skapad av HL7.org och där kan du läsa mer om standarden.

E-hälsomyndighetens profileringar kan du läsa mer om på Simplifier.net under Swedish National Medication List


Versionshistorik

Version

Datum

Kommentar

1.02021-11-27Ny handbok vård- och apotekstjänster