SFM-id for multi-tenant-klienter
Kontekst: Sentral forskrivningsmodul bruker mekanismen SFM-id for single-tentant-klienter som bruker HelseID.
Funksjonaliteten som er beskrevet i dette dokumentet, viser hvordan en multi-tenant-klient kan ta i bruk denne mekanismen.
Innsending av SFM-id
Klienter (multi-tenant) kan sende inn et strukturert claim i forespørselen til HelseID. Dette claimet kan sendes enten
- som en del av et Request-objekt i kall til PAR-endepunktet (eller Authorization-endepunktet, hvis klienten ennå ikke har tatt i bruk PAR) eller
- som en del av client_assertion i kall til Token-endepunktet
Innholdet i det strukturerte claimet ser slik ut:
{
"type": "nhn:sfm:journal-id",
"value": {
"journal_id": "1231231234-34213412-432423-4233"
}
}
Verdien for type
må alltid være nhn:sfm:journal-id
, og verdien $.value.journal_id
må være en UUID.
Legg merke til at typen nhn:sfm:journal-id
har en syntaks med bindestrek, mens claimet journal_id
har en syntaks med underscore.
Eksempel på kall til HelseID
Ved innsending av informasjon i Request-objekt, må klienten bruke claimet authorization_details
:
"authorization_details":
[{
"type": "nhn:sfm:journal-id",
"value": {
"journal_id": "ed30a6a5-4834-40be-a32b-1e4f5217e378"
}
},
{
"type":"helseid_authorization",
"practitioner_role":
{
"organization":
{
"identifier":
{
"system":"urn:oid:1.0.6523",
"type":"ENH",
"value":"NO:ORGNR:<consumer organization number>:<consumer child organization number>",
}
}
}
}]
Ved innsending av informasjon i client_assertion
bør klienten erstatte claim-typen authorization_details
med assertion_details
, men authorization_details
blir fremdeles godkjent. Vær oppmerksom på at det ikke er godtatt å sende inn både authorization_details
og assertion_details
.
Claim i tokenet
Claimet fra HelseID (i Access-tokenet) ser slik ut:
{
...
"nhn:sfm:journal-id" : "ed30a6a5-4834-40be-a32b-1e4f5217e378",
...
}
Feilmeldinger
HelseID validerer verdiene i kallet til enten Token-endepunktet eller PAR-endepunktet, og gir tilbake HTTP-koden 400 (Bad Request) med feilmeldingen invalid_request
hvis innholdet ikke er korrekt.
Hvis klienten ikke har tilgang til scopet nhn:sfm:journal-id
, vil HelseID gi tilbake HTTP-koden 400 (Bad Request) med feilmeldingen invalid_scope
.
Se dokumentet Feilmeldinger for beskrivelser av typiske feilmeldinger fra HelseID.