Innledning
Det er vikrig å forstå forskjellen på en ressurs “id” og ressursens “identifier”. Dette for å forstå forskjellen på de forskjellige CRUD operasjonene i et FHIR API og hvordan en bestemt ressurs kan aksesserres i et FHIR API.
FHIR ressursens “id”
Alle FHIR ressurser har en id.
Dette er en logisk id som tildeles ressursen av den server som lagrer den.
Den er in utgangspunktet kun unik innefor den aktuelle ressurstype, innefor den (FHIR) server som har lagret den.
Når ressursen først er lagret, vil dens id aldri endres.
Lokasjonen for en ressurs er en absolutt URI som er konstruert av serveren der den er lagret sin base adresse, ressurstrype og ressursens id
https://[base]/Patient/123. Her er 123 den aktuelle pasienets id på FHIR-serveren.
Og, ressursen kan hentes ut med
GET [base]/Patient/123
Når en ressurs kopieres fra en lokasjon (FHIR-server) til en annen, er det ingen garanti for at den beholder sin ID. (Vi kommer tilbake til dette der de forskjellige REST-operasjonene som støttes på Helsenorge beskrives.)
En logisk id er case sensitiv, kan være opptil 64 tegn og kan bestå av:
Store og små ASCII bokstaver
Nummer tegn
Og tegnene “-” og “.”.
FHIR resursens “identifier”
De aller fleste ressurser har en eller flere “identifier”. Dette er “business identifier”
En ressurs sin “identifier” har følgende egenskaper:
Selv om ressursen har forskjellig id på forskjellige FHIR-servere som har kopi av den aktuelle ressurs har ressursen altid samme identifier
Dersom man ikke kjenner en ressurs id på en FHIR-server, kan man alltid hente ut ressursen fra en hvilken som helst FHIR-server (som har resursen lagret) med å søke etter en ressurs med en angitt identifier
Eks.
GET [base]/Patient?identifier=11075534567
identifier er av FHIR-ressurstypen “Identifier”
Man kan her angi et system som beskriver hvilket kodesystem som er benyttet for verdien til identifier, eller man kan angi verdien direkte der kodesystemet er kjent, eller der man f.eks. velger å benytte en GUID for å gjøre identifier unik innefor et samhandlingsdomene.