Medlemstjenester
- 1 Funksjonalitet og bakgrunn
- 2 Autorisasjon
- 3 Valg av standarder
- 4 Overføring av medlemstilbud
- 4.1 Overføring av helsetilbud
- 4.1.1 Eksempel XML
- 4.1.2 URL
- 4.2 Overføring av medlemsliste
- 4.2.1 Forespørsel for medlemsliste
- 4.2.2 Eksempel XML
- 4.2.3 Respons medlemsliste
- 4.3 Ikke funksjonelle krav
- 4.4 Respons fra helsenorge.no
- 4.1 Overføring av helsetilbud
Funksjonalitet og bakgrunn
Noen aktører tilbyr et sett med helsetjenester til alle medlemmene sine og alle medlemmer mottar de samme helsetjenestene.
Basisinformasjon om disse helsekontaktene er nødvendig for Helsenorge som inngangsbillett til digitale innbyggertjenester som timeadministrasjon og dialog med behandler. Helsenorge har da informasjon om hvilke helsetjenester en innbygger mottar og hvor kommunikasjon skal sendes. Denne siden beskriver hvordan integrasjon med Helsenorge for oversending av helsetilbud og medlemsliste skal implementeres.
Figuren under viser løsningskomponentene for overføring av helsetilbud og medlemsinformasjon .
Tabellen under beskriver kortfattet komponentene som inngår i løsningen.
Komponent | Beskrivelse |
Medlemssystem | Medlemssystem som har oversikt over helsetilbud og medlemmer som mottar tilbud |
Innbyggers nettportal for helseinformasjon, eksponerer api for mottak av helsetilbud og medlemsliste | |
Helsenorge STS | Utsteder av sikkerhetstoken for å kalle API mot Helsenorge |
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 “Helsekontakter”
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
Fullmaktinformasjon API-et skal benyttes i system-til-system kontekst: 01 - System til System
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: 02 - Kall til Helsenorge og PVK API'er og bruk av AccessToken
Valg av standarder
For overføring av helsetilbud og medlemsinformasjon er den internasjonale standarden FHIR valgt, med bruk av versjon 4.0. Dokumentasjon av standarden fins her: http://hl7.org/fhir/.
Helsetilbud- HealthCareService bundle
For å oversende en virksomhets helsetilbud benyttes FHIR ressursen HealthCareService.
https://www.hl7.org/fhir/healthcareservice.html
For å håndtere knytninger til hvem som leverer tjenesten og hvor tjenesten leveres benyttes henholdsvis Organization og Location. Informasjonen sendes i en bundle og oppdateres som en transaksjon.
Medlemmer- Patient bundle
For å oversende medlemmer som mottar helsetilbud benytte FHIR ressursen Patient
https://www.hl7.org/fhir/patient.html
For å kunne sende en liste med flere pasienter benyttes ressursen bundle som er beskrevet her: https://www.hl7.org/fhir/bundle.html
Overføring av medlemstilbud
Dette avsnittet beskriver hvilken informasjon som skal sendes fra medlemssystem, ikke-funksjonelle krav som skal dekkes og angir et eksempel på hvordan forespørsel skal se ut.
Overføring av helsetilbud
Overføring av helsetilbud derfinerer hvilke helsetjenester medlemmene mottar.
Ved publisering av helsetilbud skal det gjøres en POST operasjon mot endepunkt eksponert av helsenorge.no
Forespørsel vil være på formen https://<miljø>/ helsekontakter/api/<versjon>
Eksempel fra integrasjonstestmiljø https://eksternapi-hn-mas-02.int-hn.nhn.no/helsekontakter/api/v1
Tabellen under viser hvilken informasjon som skal overføres for helsetilbud
Ressurs | Attributt | Beskrivelse | Eksempel | Påkrevd |
HealthcareService | Identifier | Lokal Id i medlemssystem. GUID | 3546c8f7-3cd3-4693-929e-66501642504c | Ja |
Active | Angir om ressurs er i aktiv bruk | true | Nei | |
ProvidedByReference | Referanse til Organisasjon | Ja | ||
LocationReference | Referanse til lokasjon | |||
Name | Navn på tjenesten slik det skal presenteres til innbygger | Reisevaksine | Ja | |
Comment | Beskrivelse av tjenesten. | Nei | ||
Endpoint.Identifier | Her Id til kommunikasjonspart som skal benyttes for å nå tjeneste | 129688 | Ja | |
Organization | Identifier | Id til organisasjon. Organisasjonsnummer | 948 554 062 | Ja |
Name | Navn på organisasjon | SiO Helse | Ja | |
Her Id til virksomhet | 1494 | Ja | ||
Location | Address.Line | Gatenavn og nummer | Holbergsgate 21 | Ja |
Address.City | Poststed | Oslo | Ja | |
Address.PostalCode | Postnummer | 0314 | Ja | |
Telecom.Value | Telefonnummer | 22853300 | Nei | |
Telecom.System | Type verdi | phone | Nei | |
Telecom.Value | Telefonnummer | Nei | ||
Telecom.System | Type verdi | url | Nei |
Eksempel XML
URL
URL til de ulike miljøene i Helsenorge er vist i tabellen under.
Miljø | URL |
---|---|
MAS-01 | https://eksternapi-hn-mas-01.int-hn.nhn.no/helsekontakter/api/v1 |
MAS-02 | https://eksternapi-hn-mas-02.int-hn.nhn.no/helsekontakter/api/v1 |
TEST1 | |
TEST2 | |
PROD |
Overføring av medlemsliste
Ved overføring av medlemsliste knyttes medlemmer til helsetilbudet.
Dersom innbygger ikke har samtykket til bruk av Helsenorge kan informasjon for denne innbyggeren ikke lagres, og Helsenorge vil da sende en status tilbake for dette.
For at innbygger skal få tilgang til tjenester på Helsenorge må informasjon sendes på nytt senere
Avsender persisterer informasjon om innbygger er digitalt aktiv og lager en prosess som jevnlig sender medlemmer som ikke er digitalt aktive.
Listen med innbyggere skal deles opp i et konfigurerbart antall, for å unngå timeout og store transaksjoner.
Forespørsel for medlemsliste
Forespørsel vil være på formen https://<miljø>/ helsekontakter/api/<versjon>
Eksempel fra integrasjonstestmiljø https://eksternapi-hn-mas-02.int-hn.nhn.no/helsekontakter/api/v1
Attributt | Beskrivelse | Eksempel | Påkrevd |
Identifier | Fødselsnummer/d-nummer til innbygger | Ja | |
Contact.Organization.Identifier | Organisasjonsnummer til virksomhet | Ja | |
Contact.period.Start | Startdato for når person mottar tjenester fra virksomhet | Ja | |
Contact.period.End | Sluttdato for når person mottar tjenester fra virksomhet | Ja |
Eksempel XML
Et XML-eksempel er vist under.
Respons medlemsliste
For hvert medlem som sendes i medlemslisten, vil Helsenorge svare med en respons for det spesifikke medlemmet. Et XML-eksempel for respons er vist under.
Ikke funksjonelle krav
Type | Krav | Ytterligere kommentar |
Ytelse | Responstid for overføring av helsetilbud skal være under 3 sekund for 99% av forespørsler |
|
Ytelse | Responstid for overføring av medlemsliste skal være under 10 sekund for 99% av forespørsler |
|
Ytelse | Timeout for overføring av medlemsliste er 15 sekund |
|
Robusthet | Medlemssystem skal ha mekanismer for resending dersom Helsenorge ikke gir respons eller ikke er tilgjengelig |
|
Feilhåndtering | Medlemssystem skal ha funksjonalitet for logging og overvåkning av feil |
|
Feilhåndtering | Medlemssystem skal ha funksjonalitet for resending for å korrigere feil eller oppdatering av data. |
|
Konfigurerbarhet | Medlemssystem skal ha funksjonalitet for konfigurere antall medlemmer som sendes i medlemsliste | Antall settes basert på ytelsestest og etter avtale. Anbefalt utgangspunkt er maks 50 per liste. |
Robusthet | Helsenorge skal ha funksjonalitet for å validere maksstørrelse for antall medlemmer som sendes i medlemsliste |
|
Respons fra helsenorge.no
Respons fra helsenorge.no skal være i henhold til FHIR standard og bruk av RESTful api beskrevet her: https://www.hl7.org/fhir/http.html
Responskode | Beskrivelse |
200 | OK. Oppdatert |
201 | OK. Opprettet |
4xx | Feilkode i henhold til FHIR spesifikasjon |
413 | Payload too large |