Skip to the content.

PERSONVERNINNSTILLINGER

Sist oppdatert 19.09.2023

Innholdsfortegnelse

Sjekk personverninnstilling

Oppdater personverninnstilling

Mottak av status for personverninnstilling (replikeringsmelding fra PVK)

Beskrivelse

Endring av personverninnstilling og sjekk av status på denne kan gjøres både fra server-side og fra klient-side. Ved kall fra server-side kan man benytte seg av et API utviklet av Hemit og distribuert som NuGet pakke for å forenkle oppkoblingen. Alle URL’ene som er oppgitt i dette dokumentet går mot integrasjonsmiljøet for ePROM

NB! ApiKey skal sendes som en Authorization parameter og er en del av HTTP header: headers: {"Authorization": "Basic " + apiKey}

Sjekk personverninnstilling

Klient-side

Eksempelkode (javascript)

function sjekkPersonverninnstilling() {
    var url = 'https://proms.hemitdev.org/PromsWebApi/api/v2/getpersonverninnstilling'; // Demo server
    var apiKey = ""; // ApiKey of the end user system performing the requeset
    var nationalId = "26073941651"; The national id of the citizen.
    var type = 0; // Reservasjon
    var pvkId = pvkId; // The guid of the PersonvernInnstilling

    $.ajax({
        url: url,
        type: "POST",
        contentType: "application/json;charset=utf-8",
        headers: {
            "Authorization": "Basic " + apiKey
        },
        data: JSON.stringify({
            nationalId,
            type,
            pvkId
        }),
        success: function(data) {
            alert("nationalId: " + data.nationalId + "\ntype: " + data.type + "\nnid: " + data.id + "\nnname: " + data.name + "\nstatus: " + data.status);
        },
        error: function() {
            alert("Error!");
        }
    });
}

URL for Web API kall

[https://proms.hemitdev.org/PromsWebApi/api/v2/getpersonverninnstilling]

Parametere - Inn

Parametere – Ut

Metode

POST

Swagger

https://proms.hemitdev.org/PromsWebApi/swagger/ui/index#!/PersonvernInnstilling/PersonvernInnstilling_GetPersonvernInnstillingV2Async

Server-side

API

Tilgjengelig som NuGet pakke

NuGet repository: https://hemit.pkgs.visualstudio.com/a7f87e1f-3406-4ac2-a2d4-18e789c37706/_packaging/Hemit_public_packages%40Local/nuget/v3/index.json

Navn: Hemit.ePROM.Integration

Eksempelkode (C#)

private async Task GetReservasjon(PatientInRegistryDataContract patient)
{
    var response = await Hemit.ePROM.Integration.Api
        .GetPersonvernInnstillingV2Async(
            ConfigurationManager.AppSettings["PromsApiBaseUrl"], 
            ConfigurationManager.AppSettings["PromsApiKey"], 
            patient.DecryptedPID,
            patient.PvkId,
            PersonvernInnstillingType.Reservasjon);

    if (!response.HasErrors)
    {
        var status = response.Status == PersonvernInnstillingStatus.Aktiv
            ? ReservationStatus.Reservert
            : ReservationStatus.IkkeReservert;
    }
}

Parametere - Inn

PromsApiBaseUrl skal være https://proms.hemitdev.org/PromsWebApi

Parametere – Ut

Feilsituasjoner

Respons

Ok (200) - Alt OK.
Bad Request (400) - Feil i forespørsel. Skjer…

Unauthorized (401) - Feil i ApiKey.
Internal Server Error (500) - Alle feil som ikke fanges opp på annen måte.
Bad Gateway (502) - Hvis noe feiler mot PVK. Feilmelding fra PVK returneres som JSON: { statusCode, status, message}

Oppdater personverninnstilling

Klient-side

Eksempelkode (javascript)

function oppdaterPersonverninnstilling() {
    var url = 'https://proms.hemitdev.org/PromsWebApi/api/v2/setpersonverninnstilling'; // Demo server
    var apiKey = ""; // ApiKey of the end user system performing the requeset
    var nationalId = "26073941651"; The national id of the person to update the status of PersonvernInnstilling for.
    var type = 0; // Reservasjon
    var status = 1; // Aktiv
    var pvkId = pvkId; // The guid of the PersonvernInnstilling

    $.ajax({
        url: url,
        type: "POST",
        contentType: "application/json;charset=utf-8",
        headers: {
            "Authorization": "Basic " + apiKey
        },
        data: JSON.stringify({
            nationalId,
            pvkId,
            type,
            status
        }),
        success: function(data) {
            alert("instansEndret: " + data.instansEndret);
        },
        error: function() {
            alert("Error!");
        }
    });
}

URL for Web API kall

[https://proms.hemitdev.org/PromsWebApi/api/v2/setpersonverninnstilling]

Parametere - Inn

Parametere – Ut

Metode

POST

Swagger

https://proms.hemitdev.org/PromsWebApi/swagger/ui/index#!/PersonvernInnstilling/PersonvernInnstilling_SetPersonvernInnstillingV2Async

Server-side

API

Tilgjenglig som NuGet pakke

NuGet repository: https://hemit.pkgs.visualstudio.com/a7f87e1f-3406-4ac2-a2d4-18e789c37706/_packaging/Hemit_public_packages%40Local/nuget/v3/index.json

Navn: Hemit.ePROM.Integration

Eksempelkode (C#)

private async Task UpdateReservasjon(PatientInRegistryDataContract patient, PersonvernInnstillingStatus personvernInnstillingStatus)
{
    var response = await Hemit.ePROM.Integration.Api
        .SetPersonvernInnstillingV2Async(
            ConfigurationManager.AppSettings["PromsApiBaseUrl"], 
            ConfigurationManager.AppSettings["PromsApiKey"], 
            patient.DecryptedPID,
            patient.PvkId,
            PersonvernInnstillingType.Reservasjon,
            personvernInnstillingStatus);

    if (!response.HasErrors)
    {
        var newStatus = personvernInnstillingStatus == PersonvernInnstillingStatus.Aktiv
            ? ReservationStatus.Reservert
            : ReservationStatus.IkkeReservert;
    }
}

Parametere - Inn

PromsApiBaseUrl skal være https://proms.hemitdev.org/PromsWebApi

Parametere – Ut

Feilsituasjoner

Respons

Ok (200) - Alt OK.
Bad Request (400) - Feil i forespørsel. Skjer…

Unauthorized (401) - Feil i ApiKey.
Internal Server Error (500) - Alle feil som ikke fanges opp på annen måte.
Bad Gateway (502) - Hvis noe feiler mot PVK. Feilmelding fra PVK returneres som JSON: { statusCode, status, message}

Mottak av status for personverninnstilling (replikeringsmelding fra PVK)

Når innbygger gjør en endring av en personverninnstilling i PVK/helsenorge, sender PVK/helsenorge ut en replikeringsmelding til systemer den er integrert med, deriblandt ePROM, for å informere om endringen. ePROM gjøre ved mottak av en slik replikeringsmelding et kall videre mot angitte Bestillersystem med den nye statusen for personverninnstillingen. Bestillersystemet må implementere en service som mottar dette kallet.

URL for Web API kall

ApiBaseUrl for web API registreres i ePROM Selvbetjeningsmodul under Bestillersystem: https://proms.hemitdev.org/PromsAdministration/

Web API må være tilgjenglig på URL: https:// <ApiBaseUrl> /api/PersonvernInnstilling

F.eks: https://mrsdemo.hemitdev.org/PromsTestregisterServices/api/PersonvernInnstilling/

Parametere - Inn

Parametere - Ut

For parameter inn og ut kan NuGet pakken Hemit.ePROM.Integration benyttes. Bruk da Hemit.ePROM.Integration.Pvk.SetPersonvernInnstillingRequestV2 for parameter inn og Hemit.ePROM.Integration.Pvk.SetPersonvernInnstillingInEusResponse for parameter ut

Metode

PUT

Autentisering

ApiKey sendes med i header og skal brukes av Bestillersystem for å sikre at det er riktig mottaker

Eksempel request fra Proms (JSON)

{
    "nationalId" : "26073941651",
    "id" : "b3cda307-154c-4af4-87d3-30567c931924",
    "name" : "Reservasjon mot registrering",
    "status" : "RES"
}

Koder

Kodene som de er satt av helsneorge

Status

0 = IkkeAktiv
1 = Aktiv

Status (Volven 7609)

RES
IRES
SAM
ISAM

Type

0 = Reservasjon
1 = Samtykke

InstansEndret

0 = IkkeEndret
1 = Endret