...
Det skal benyttes HTTPS
Det støttes pr.nå. ikke versjonering av FHIR-ressurser
...
Content-Type: Påkrevet ved POST, PUT eller PATCH. Skal ha en av verdiene:
application/fhir+xml
,application/fhir+json
,application/json
,application/xml
ellerapplication/x-www-form-urlencoded
. (Se detaljer om hver operasjon, for hvilke verdier som aksepteres).Authorization: Påkrevd. Skal ha verdien
Bearer <aksesstoken>
. (Se 01 - Sikkerhetsmodell og Helsenorge sikkerhetstjeneste )Accept: Frivillig. Dersom satt, skal ha en av verdiene:
application/fhir+xml
,application/fhir+json
,application/json
ellerapplication/xml
. (Dersom ikke satt vil responsen sinContent-Type
være satt tilapplication/fhir+json
)
...
Klienter kan alltid benytte “Create” for å kreere en ny ressurs på Helsenorge. Det er da Helsenorge som bestemmer ressurs-ID’enressursens id, og det er resursens (business) identifier som identifiserere ressursen på tvers av samhandlingsdomenet.
Request/response
Method + Url:
POST [base]/[type]
Content-Type: En av verdiene fra generell del over
Body: En FHIR ressurs av type
[type]
Dersom ressursen har en ressurs-ID id fra før, vil denne ikke hensyntas, men Helsenorge tildeler ressursens IDen id.
Alle ressursene som kan opprettes på Helsenorge har en “resource”.identifier. Det er denne som identifiserer en ressurs entydig mellom Helsenorge og aktørene i sektoren. For de fleste ressursene er denne i implementasjonsguiden definert å skulle være en GUID, slik at den er globalt unbik unik mellom aktørene og Helsenorge.
Respons:
OK:
201 Created
. Ved suksessfull opprettelse av ressursen og påfølgende respons erLocation
headeren satt inneholdende logisk id, i tillegg returneres den opprettede ressursen i sin helhet (inklusiv tildelt id)Feil:
400 Bad Request
+ FHIR OperationOutcome
Update _create on non exist - HTTP PUT
For noen av API’ene på Helsenorge tilbys create med HTTP PUT. Dette er i hovedsak i samhandlingsmønstre der ressursen finnes lagret i et et annet kildeystem, og Helsenorge kun har deler av informasjonen i ressursen lagret, og henter ressursen fra kildesystemet ved behov. I dette tilfelle bestemmer kildesystemet (klienten mot Helsenorge) ressursens id.
I de API’er der create med HTTP OPUT tilbys er det alltid et krav at ressursens id er en GUID.
Request/response
Method + Url:
PUT [base]/[type]/[id]
Content-Type: En av verdiene fra generell del over
Body: En FHIR ressurs av type
[type]
Ressursen i body skal ha en id og denne skal være den samme som i URL’en.
Ressursen skal også ha en (business) identifier. Denne kan være den samme som ressursens id.
Respons:
OK:
201 Created
. Ved suksessfull opprettelse av ressursen og påfølgende respons inneholderLocation
header for ressursen (som er den samme som URL’en i requesten).Feil:
400 Bad Request
+ FHIR OperationOutcome
...
Method + Url:
GET [base]/[type]/[id]
Accept: En av verdiene fra generell del over
Body: N/A
Respons:
200 OK
+ FHIR-resource of[type]
with resource-ID[id]
Feil:
404 Not Found
Enkel search basert på identifier - HTTP GET
Request/response:
Method + Url:
GET [base]/[type]?identifier=[identifier.value]
Accept: En av verdiene fra generell del over
Body: N/A
Respons:
200 OK + Bundle med Bundle.type = "searchset” med normalt bare har en ressurs av type [type] og som har denne identifier'en. Dersom søket ikke ga noe resultat inneholder Bundelen ingen ressurser.
Feil:
401 Not Authorized
400 Bad request - Hvis man ikke støtter ressurstypen
Search - HTTP POST (_search)
...