Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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. Dette er de samme objekter som benyttes i API’ene mot PVK., Se: https://helsenorge.atlassian.net/wiki/spaces/HU/pages/1874198529/V2+-+Informasjon+om+innbyggers+personverninnstillinger#Felles-objekter-benyttet-i-respons-fra-tjenestene

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.

...

LagreInnbyggersPersonvernInnstilling

Input

...

parametere

samtykkeDefinisjonMetadata

C= Benyttes kun dersom dette gjelder et samtykke (typePi = samtykke)

reservasjonDefinisjonMetadata

C= Benyttes kun dersom dette gjelder et reservasjon (typePi = reservasjon)

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:

  • samtykke

  • reservasjon

  • tilgangsbegrensning

status

string

Status

Kan ha en av følgende verdier:

  • RES: Reservasjon satt

    • IRES: Tidligere satt reservasjon opphevet

    • SAM: Samtykke gitt

    • ISAM: Tidligere satt samtykke er trukket

    • ASAM: Innbyggere har trukket tidligere satt samtykke og ber om bekreftelse når data er slettet eller biomateriale er destruert

    • TBO: Tilgangsbegrensning (sperring) er opprettet.

    • TBF: Tidligere satt tilgangsbegrensning er slettet.

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.

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.

  • Liste med en eller flere "definisjonOmfangElement" (se under)

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.

  • Liste med en eller flere "definisjonOmfangElement" (se under)

definisjonOmfangElement

(kan repeteres)

JSON

Struktur som beskriver omfang av det gitte samtykket eller den satte reservasjon.

  • omfang (Volven kodeverk 7608)

  • presisering (fritekst for å eventuelt ytterligere beskrive omfanget innen aktuelt omfang hovedområde)

Image Removed

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)Avhengig av typePi:

  • SaMetadata

  • ReMetadata

  • TbMetadata

JSON

Se: https://helsenorge.atlassian.net/wiki/spaces/HU/pages/1874198529/V2+-+Informasjon+om+innbyggers+personverninnstillinger#Felles-objekter-benyttet-i-respons-fra-tjenestene

Eksempel - samtykke uten metadata på definisjonen

...

Innbygger har gitt et nytt samtykke med metadata på definisjonen:

Her er det en fast tidsbegrensning for hvilken periode samtykket gjelder for. Videre er det i eksemplet to stk. omfangElement:{
 

  • OF (oppføring)

  • IO (innhenting av helseopplysninger, med tilhørende presisering)

Code Block
{
  "innbyggerFnr":"12048645510",

...


  "definisjonGuid":"0394a91f-89e7-4df3-b738-a07f0ee5e8d6",

...


  "definisjonNavn":"Samtykke til å delta i Helseundersøkelsen i nord Trøndelag",

...


  "partKode":"HUNT",

...


  "typePi":"samtykke",

...


  "status":"SAM",

...


  "sekvensnummer":"1",

...


  "opprettetTidspunkt":"2020-01-16T11:09:38.4871148+01:00",

...


  "sistEndretTidspunkt":"2020-01-16T11:09:38.4871148+01:00",

...


  "SaMetadata":
  {
      "SaFasteMetadata":
      {
          "tidsbegrensning":
          {
              "tidsbegrensetFra": "2022-01-01",
              "tidsbegrensetTil": "2023-12-31"
          },
          "omfangElementer": [
             {
               "omfang": "OF"
             },
             {
               "omfang": "IO",
               "logiskOmfang": "Angitte",
               "presisering": "Blodprøver"
            }          
         ]
      }
   }
}

Innbygger har trukket tidligere gitt samtykke med metadata på definisjonen:{
 

(Samme definisjon som over)

Code Block
{
  "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",

...


  "SaMetadata":
  {
      "SaFasteMetadata":
      {
          "tidsbegrensning":
          {
              "tidsbegrensetFra": "2022-01-01",
              "tidsbegrensetTil": "2023-12-31"
          },
          "omfangElementer": [
             {
               "omfang": "OF"
             },
             {
               "omfang": "IO",
               "logiskOmfang": "Angitte",
               "presisering": "Blodprøver"
            }          
         ]
      }
   }
}

Eksempel - Blokkere helsepersonellstilgang

Sette ny tilgangsbegrensning. Enten registrerer ny instans eller oppdatere/overskrive eksisterende instans med flere/færre helsepersonell:

Her en definisjon der innbygger tillates å sette tidsbegrensninger.

Code Block
{

...


  "innbyggerFnr":"12048645510",

...


  "definisjonGuid":"3F7457B8-821C-45A8-AE04-D3E4A0DAC0F0",

...


  "definisjonNavn":"Blokkere helsepersonells tilgang til legemiddelliste",

...


  "partKode":"RF",

...


  "typePi":"tilgangsbegresning",

...


  "status":"TBO",

...


  "sekvensnummer":"1",
  "opprettetTidspunkt":"2020-01-16T11:09:38.4871148+01:00",
  "sistEndretTidspunkt":"2020-01-16T11:09:38.4871148+01:00",
  "TbMetadata":
   {
       "TbFasteMetadata":
       {
          "omfangElementer": [
             {
                "omfang": "BL",
                "logiskOmfang": "Angitte",
                "typeAngivelse": "Helsepersonell"
             }
          ]
       },
       "TbInnbyggerMetadata":
       {
          "tidsbegrensning": 
          {
             "perioder": [
                {
                   "fraTidspunkt":"2022-01-01",
                   "tilTidspunkt":"2022-06-01"
                }
             ]
          },
          "detaljertAngivelse": 
          {
               "navngittHelseperson": [
                  {
                     "nummer": "4128168",
                     "navn": "Linda Ingrid Telle"
                  },
                  {
                     "nummer":"1234567",
                     "navn":"Per Olsen"
                  }
               ]
          }
       }
    }
}

Slette tidligere satt tilgangsbegrensning. Enten slette instans (hvis alle fjernes) eller oppdatere eksisterende instans ved å slette noen av de tidligere registrerte helsepersonell:

Code Block
{

...


  "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

...

"
  "TbMetadata":
   {
       "TbFasteMetadata":
       {
          "omfangElementer": [
             {
                "omfang": "BL",
                "logiskOmfang": "Angitte",
                "typeAngivelse": "Helsepersonell"
             }
          ]
       }
  }
}

Responsparametre (som ekstern part skal sette):

...