Versions Compared

Key

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

...

Består af følgende felter, som er meget inspireret af FHIR / FHIRcast (https://fhircast.org/specification/Feb2020Ballot/),exportinterfaceNAPMessage {
date: string;
id: string;
event: NAPEvent;
}

Eventkatalog

Eventkataloget definerer de events event typer der kan sendes over NAP i en given version.

Dette eventkatalog lægger sig også op af FHIR / FHIRcast, hvilket betyder at eventet har følgende struktur:exportinterfaceNAPEvent {
type:NAPEventType;context?: FHIR.Context[];
}

Eventkatalog version 1

NAPEventTypeFunktionelle beskrivelse
SessionOpenStart en trusted session hvor brugerens SAMLassertion overføres
SessionCloseHvis en bruger ønskes lukkes ud. Alt state skal slettes på web-applikationen
PatientOpenDen brugervalgte patient journal.
PatientCloseDen brugervalgte patient journal lukkes.
SessionErrorHvis der sker en uventet fejl i gæstesystemet skal dette sendes til værtssystemet og vice versa.

...

Følgende er et eksempel på at anvende eventkatalog version 1: 

Code Block
languagejs
import {

...

 NAPEventCatalogue } from 'nap-typescript-sdk';

...


const sessionCloseEvent = NAPEventCatalogue.v1.SessionClose;


Utility funktioner

Nap-typescript-sdk indeholder derudover en række utility funktioner, som kan være brugbare til at hente værdier eller undgå stavefejl, når der skal laves NAPMessages.


Fhir-Value-getter

Funktioner, som gør det lettere at hente FHIR specifikke værdier ud af en NAPMessage. Disse kan bruges ved at importere namespacet FHIRValueGetter.

Følgende er et eksempel på anvendelse af en mapping funktion, der henter SAMLassertion ud af en napMessage.

Code Block
languagejs
import { FHIRValueGetter, NAPMessage,

...

 NAPPatientInfo } from 'nap-typescript-sdk';

...


const sessionToken = FHIRValueGetter.getSessionValue(napMessage);

...


const patientData:

...

 NAPPatientInfo = FHIRValueGetter.getSessionValue(napMessage);



Fhir-Value-Setter

Enums som gør det nemmere at lave NAPMessages. Følgende er et eksempel på, hvordan der sendes en fejlbesked.

Code Block
languagejs

import {NAPMessage,

...

 NAPEventCatalogue,

...

 FHIRValueSetter} from 'nap-typescript-sdk';

...


import { v4 as UUID } from 'uuid';

...



export const napMessageSessionError: NAPMessage = {

...


  date: new Date().toISOString(),

...


  id: 'Secret ID for Session Error',
  event: {
    type: NAPEventCatalogue.v1.SessionError,

...


    context:

...

 [
      {
        resource: {
          resourceType: FHIRValueSetter.FHIRResourceType.Basic,

...


          code:

...

 {
            coding:

...

 [
              {
                code: NAPEventCatalogue.v1.SessionError,

...


                system: FHIRValueSetter.FHIRSystem.NAP,

...


              },
            ],
          },
          identifier: [
            {
              system: FHIRValueSetter.FHIRIdentifierSystem.NAPErrorMessage,

...


              value: 'This is my error message',

...


            },
            {
              system: FHIRValueSetter.FHIRIdentifierSystem.NAPErrorDescription,

...


              value: 'This is a

...

 longere description of the error message',

...


            },
          ],
        },
      },
    ],
  },
};


Nap-angular-sdk

Da nap-angular-sdk er en angular specifik wrapper af broen, som initialiseres i nap-typescript-sdk, har den en peer dependency til nap-typescript-sdk. Et eksempel for implementing af nap-angular-sdk til at få SAMLassertion kunne se således ud :

...