Table of Contents |
---|
Bakgrunn
Dette er et alternativ til meldingsbasert replikering av informasjon når innbyggere setter eller endrer en personverninnstilling. Samme informasjonen som i dag utveksles med XML-meldinger og bruk av AMQP, "Postes" til et API hos ekstern aktør. Det benyttes i dette grensesnittet JSON- struktur på dataene som replikeres. En vellykket respons på POST av dataene til den eksterne parten medfører implisitt en kvittering for at dataene er forstått og lagret hos motpart (dvs. samme logiske funksjonalitet som APPREC).
Alle slike kall inneholder et JWT system token utstedt av Helsenorge STS. Se her: Helsenorge eller PVK som system- på vegne av innbygger
Tjenesteoversikt
Ekstern part må ha et API som implementerer dette endepunktet.
TjenesteNavn | HttpVerb | Beskrivelse |
---|---|---|
LagreInnbyggersPersonvernInnstilling | POST | Ekstern part må lagre/endre innbyggers personverninnstilling |
LagreInnbyggersPersonvernInnstilling
Input parametre
Navn | Type | Lovlige verdier | Kommentar |
---|---|---|---|
innbyggerFnr | string | fødselsnummer (11 siffer) | Dette er fødselsnummer til innbygger hvis personverninnstilling skal registreres eller endres |
definisjonGuid | string | GUID | GUID for den personverninnstilling definisjon det gjelder |
definisjonNavn | string | Navn på innstillingen | Beskrivende kortnavn på personverninnstilling definisjonen. |
partKode | string | Eier (datansvarlig) | Kode (kortnavn) for den aktør som "eier" den aktuelle personverninnstilling. |
typePi | string | Type personverninnstilling | Kan ha en av følgende verdier:
|
status | string | Status | Kan ha en av følgende verdier:
|
sekvensnummer | int | Hvilket sekvensnummer dette er for innbygger instans av denne personverninnstillingdefinisjonen. | Løpenummer som begynner på 1. |
opprettetTidspunkt | time | Tidspunkt for når første instans av innbyggers personverninnstilling ble opprettet. | Tidspunkt for når sekvensnummer 1 ble opprettet, |
sistEndretTidspunkt | time | Tidspunkt for nå innbygger satt personverninnstillingen som denne endringen representerer. | Tidspunkt for denne endringen. |
innbyggerTbMetadata (kan repeteres) | JSON | Struktur med metadata for tilgangsbegrensning | (C=Conditional). Er kun med dersom definisjonen er av type tilgangsbegrensning. |
samtykkeDefinisjonMetadata | JSON | Struktur som beskriver hva samtykket innebærer på en maskinlesbar form. Kan legges til på definisjoner dersom informasjonen om innbyggers instans skal tolkes av "noen" som ikke på forhånd kjenner samtykkedefinisjonens omfang.
| C= Benyttes kun dersom dette gjelder et samtykke (typePi = samtykke) |
reservasjonDefinisjonMetadata | JSON | Struktur som beskriver hva reservasjonen innebærer på en maskinlesbar form. Kan legges til på definisjoner dersom informasjonen om innbyggers instans skal tolkes av "noen" som ikke på forhånd kjenner reservasjonsdefinisjonens omfang.
| C= Benyttes kun dersom dette gjelder et reservasjon (typePi = reservasjon) |
definisjonOmfangElement (kan repeteres) | JSON | Struktur som beskriver omfang av det gitte samtykket eller den satte reservasjon.
| |
tilgangsbegrensningDefinisjonMetadata | Ikke implementert i denne versjonen | I denne versjonen av løsningen tar vi ikke med metadata lagret på en definisjon for tilgangsbegrensning. Denne strukturen er under revisjon. Det betyr at den som mottar informasjon om innbyggers tilgangsbegrensninger må vite "hva den aktuelle " definisjon betyr i sitt system (basert på definisjonsGUI og eventuelt partKode og navn. | C= Benyttes kun dersom dette gjelder et reservasjon (typePi = tilgangsbegrensning) |
Eksempel - samtykke uten metadata på definisjonen
Innbygger har gitt et nytt samtykke (uten metadata på definisjonen):
...
{
"innbyggerFnr":"12048645510",
"definisjonGuid":"3FE2A80A-4200-42E2-817B-DA8A6236708A",
"definisjonNavn":"Samtykke til oppbevaring av biomateriale",
"partKode":"NFR",
"typePi":"samtykke",
"status":"ISAM",
"sekvensnummer":"2",
"opprettetTidspunkt":"2020-01-16T11:09:38.4871148+01:00",
"sistEndretTidspunkt":"2020-03-12T11:09:38.4870056+01:00"
}
Eksempel - samtykke med metadata på definisjonen
Innbygger har gitt et nytt samtykke med metadata på definisjonen:
...
{
"innbyggerFnr":"12048645510",
"definisjonGuid":"0394a91f-89e7-4df3-b738-a07f0ee5e8d6",
"definisjonNavn":"Samtykke til å delta i Helseundersøkelsen i nord Trøndelag",
"partKode":"HUNT",
"typePi":"samtykke",
"status":"ISAM",
"sekvensnummer":"2",
"opprettetTidspunkt":"2020-01-16T11:09:38.4871148+01:00",
"sistEndretTidspunkt":"2020-03-12T10:06:31.3871148+01:00",
"samtykkeDefinisjonMetadata": {
"tidsbegrensning": "2022-12-31T23:59:59.0000000+01:00",
"definisjonOmfangElement": [
{
"omfang":"OF"
},
{
"omfang":"IO",
"presisering":"Blodprøver"
} ]
}
}
Eksempel - Blokkere helsepersonellstilgang
Sette ny tilgangsbegrensning. Enten registrerer ny instans eller oppdatere/overskrive eksisterende instans med flere helsepersonell:
...
{
"innbyggerFnr":"12048645510",
"definisjonGuid":"3F7457B8-821C-45A8-AE04-D3E4A0DAC0F0",
"definisjonNavn":"Blokkere helsepersonells tilgang til legemiddelliste",
"partKode":"RF",
"typePi":"tilgangsbegresning",
"status":"TBF",
"sekvensnummer":"2",
"opprettetTidspunkt":"2020-01-16T11:09:38.4871148+01:00",
"sistEndretTidspunkt":"2020-03-18T11:09:38.4871100+01:00"
}
Responsparametre (som ekstern part skal sette):
Navn | Type | Lovlige verdier | Kommentar |
---|---|---|---|
returKode | string | ok ikkeOk | Dersom returKode er "ikkeOk" forventes HTTP status 400 |
feilKode | string | Utelates hvis returKode er "ok" | Verdi Forklaring ukjentInnbygger Innbyggers fødselsnummer er ikke kjent. ukjentDefinisjonsGuid DefinisjonsGuid som ble angitt er ikke kjent hos aktør.
|
...