REST Timenotifikasjon
- 1 API'ets formål
- 2 Hvordan benytte API'et
- 2.1 Type API
- 2.2 Autorisasjon
- 2.3 Miljøer
- 2.4 Metoder og parametre til endepunktet
- 2.4.1 PUT
- 2.4.2 Eksempel Request
- 2.4.3 Eksempel Response
- 2.5 Swagger
- 2.6 Autentisering
- 2.7 Autorisering
- 2.8 Terms and Conditions
- 2.9 Begrensninger
- 2.10 Quick Start på å jobbe mot endepunktet
- 3 Responskoder
- 3.1 Valideringer
- 3.1.1 Sjekk av innhold
- 3.1.2 Sjekk av kildesystem
- 3.1 Valideringer
- 4 Versjonering og endringer
API-navn | FHIR timenotifikasjon |
---|---|
Funksjonelt område | https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/1346634983 |
API-versjon og dato publisert | v1 Mar 10, 2021 |
Status | I Drift |
API-dokumentasjon sist endret | Jul 4, 2022 |
Teknologi | REST FHIR |
API'ets formål
Timenotifikasjon gir mulighet til å sende innbygger en notifikasjon om ny eller endret avtale. Eksterne aktører kan anvende Helsenorge's FHIR-endepunkt for å levere/synkronisere basisinformasjon om avtaler til innbyggere som er aktive på Helsenorge.
Helsenorge er ikke kildesystem for disse timene og i første omgang vil ikke Helsenorge tilby et endepunkt som støtter spørring/uthenting av timeinformasjonen som er lagret. Avsender/kildesystemet må dermed holde status på oversendte timer, og eventuelt overføre timenotifikasjoner på nytt hvis det er tvil om timer er synkronisert eller en innbygger blir digitalt aktiv. Helsenorge sitt endepunkt vil vite om innslaget er ny time (ikke sett før), en allerede overført time som har blitt endret siden sist overføring, eller identisk time (ingen endringer siden sist overføring), og vil kun varsle innbygger om relevante endringer.
Hvordan benytte API'et
Type API
REST
Autorisasjon
To metoder for tilgang er tilgjengelige:
HelseId sin autoriseringstjeneste for maskin-til-maskin kan benyttes:
Velg Helsenorge Ekstern API i HelseId sin selvbetjeningsløsning
Velg deretter scope “Avtaler”
Når tilgangen er godkjent av Helsenorge, kan aksesstoken hentes ut fra HelseId
API-klienten kan alternativt autentisere seg mot Helsenorge Sikkerhetstjeneste.
API-klienten må forhåndskonfigureres på Helsenorge med sin public key
API-et skal benyttes i system-til-system kontekst: https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/1886191617
Deretter kan API-klienten få utsedt et AksessToken fra Helsenorge STS.
AksessToken som mottas fra HelseId eller Helsenorge STS skal deretter være med i Authorization header i alle HTTP-requestene. Se: https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/23789578/02+-+Kall+til+Helsenorge+og+PVK+API+er+og+bruk+av+AccessToken
Miljøer
Struktur på URL'er: https://<miljø>/timeavtaler-fhir/api/<versjon>/Appointment
Oversikt over tilgjengelige miljøer finnes her: https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/1552384092
Metoder og parametre til endepunktet
En liste over hvilke metoder som kan brukes til endepunktet, samt tabeller som sier hvilke parametre med tilhørende gyldige verdier som kan brukes pr metode. Beskriv også hva den enkelte metode generelt vil gi i respons når den brukes på endepunktet og når den brukes med ulike parametre.
PUT
Innholdet (body) må være av typen FHIR Appointment.
Dette er FHIR-profilene som benyttes på Helsenorge:
https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/1452572681 : Brukes ifm integrasjon mot Helseplattformen/Epic
Headeren If-None-Exist, sammen med en søkeparameter, må legges ved PUT-kallet. Dette sikrer støtte for både opprettelse og endring av timer. Vi støtter ikke PUT uten denne headeren eller POST.
identifier=no-citizenportal-client|klientnavn&identifier=no-citizenportal-sourcesystem|systemnavn&identifier=no-citizenportal-instanceidentifier|timeidentifikator&participant.actor:Patient=urn:oid:2.16.578.1.12.4.1.4.1|fødselsnummer |
Eksempel Request
Eksempel Response
Se Responskoder.
Swagger
Sett inn link til Swagger-dokumentasjon.
Autentisering
Token: Uthenting av token gjøres fra STS, for informasjon se: https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/1886191617 . For bruk av aksesstoken i etterfølgende kall se: https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/23789578/02+-+Kall+til+Helsenorge+API+er+og+bruk+av+AcessToken
Offentlig sertifikat kan anvendes for avsender til å validere tokenet fra Helsenorge sin STS-tjeneste.
Eksempel for mas-02: https://eksternapi-hn-mas-02.int-hn.nhn.no/sts/oidcprov/v3/jwk
Endepunktet har krav om at aktøren som utfører spørringen har sikkerhetsbillett/token utstedt fra Helsenorge sin STS-tjeneste. I tillegg må timens verdi for identifikator no-citizenportal-client stemme overens med client_name i sikkerhetsbilletten (client_name-verdien settes når tilgangen opprettes i STS), se kapittel "Respons fra helsenorge.no" - "Sjekk av kildesystem" under.
Legg inn eksempel på kode for hvordan man gjør autentiseringen |
Autorisering
For å kunne kalle endepunktet så behøves et token utstedt fra vår STS, med scope "avtaler".
Token mangler eller ikke er gyldig
lagres ikke på Helsenorge
HTTP 401 (unauthorized) og OperationOutcome
issue.severity = fatal
issue.Code = forbidden
issue.details.text = beskrivelse av feilen
Terms and Conditions
Vilkår og betingelser for bruk av API'et kan finnes her: https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/1346634744
Begrensninger
Ved behov for større datamigreringer skal Helsenorge varsles i forkant og tidspunkt avtales via kundesenter@nhn.no
Quick Start på å jobbe mot endepunktet
Eksempel på hvordan raskt komme i gang med bruk av API'et, feks med Postman eller lignende. Inkluder også eksempel på en enkel request og response:
Kontakt NHN og få autentisering
Last ned Postman
Send request som vist under
Motta respons som vist under
Du er tilkoblet endepunktet.
Responskoder
Beskriv her hvilke feilmeldinger brukeren kan få og hva de betyr
Kode | Beskrivelse |
---|---|
200 | OK. Oppdatert |
201 | OK. Opprettet |
4xx | Feilkode i henhold til FHIR spesifikasjon |