Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootSDK'er (NAP) - Leverancebeskrivelse
includeroottrue


Warning
NAP projektet er ikke aktivt og NAP er derfor ikke pt. under support og vedligehold.
NAP er ikke opdateret til at understøtte MitID/NemLogin3 og det er derfor ikke længere
muligt at anvende den nuværende version på testmiljøerne.
En evt. genoptagelse af NAP projektet vil afhænge af konkret efterspørgsel.
Kontakt evt. Sundhedsdatastyrelsen ved interesse i NAP.

Table of Contents

Introduktion

...

  • Et NAP interface, som fungerer som en wrapper omkring NAP bridge (NAP SDK - Design og Arkitektur beskrivelse).
  • Et NAP message interface, som er modellen alle modellen for alle beskeder, som kan sendes over NAP. Disse beskeder er meget inspireret af FHIRcast.
  • Et NAPEventCatalogue, der definerer events inspireret af FHIRCast
  • Hjælpemetoder til at sende og formatere beskeder.

...

Code Block
languagejs
import { createNAP, NAP} from "nap-typescript-sdk";
const nap:NapNAP = createNAP();


NAPMessage

Den grundlæggende model for nap beskeder, der kører over (fromHost$, toHost$, subscribe og send).

...

Eventkataloget definerer de eventtyper, der kan sendes over NAP i en given version.

Der er fortaget foretaget en minimal implementation af FHIR for at kunne opfylde nedenstående eventkatalog.

...

Dette eventkatalog lægger sig op af FHIR / FHIRcast. Der forekommer en naturlig udvidelse af FHIR / FHIRcast standarden i form af de events der kommunikerer selektion/retrieve/filtering af NAPProjekter.

Eventkatalog version 1

NAPEventTypeFunktionelle beskrivelse
WebAppSelectedSendes udelukkende fra lobbyen. Anvendes når en bruger vælger en afprøvningsløsning i lobbyen
ProjectsRetrievedSendes udelukkende fra lobbyen. Anvendes når projekter er hentet. Giver hosten en mulighed for at sortere i visning af projekter
ProjectsFilteredAnvendes udelukkende i Lobbyen. Anvendes til at filtrere i de projekter der vises.

SessionClose 

Hvis en bruger ønskes logget ud. Alt state skal slettes på web-applikationen.

PatientOpenDen brugervalgte patient journal.
PatientCloseDen brugervalgte patient journal lukkes.
SessionErrorHvis der sker en uventet fejl i sessionen (http errors / fejl i dataformatet eller lignende) sendes dette til værtssystemet og vice versa.
MessageFactory

Factory metoder til at kreere NAPMessages.

createPatientOpenMessage: (uuid: string, givenName?: string[], familyName?: string, ssNo?: string) => NAPMessage,
createPatientCloseMessage: (uuid: string, givenName?: string[], familyName?: string, ssNo?: string) => NAPMessage,
createProjectsRetrievedMessage: (uuid: string, projectShortNames: string[]) => NAPMessage,
createSessionCloseMessage: (uuid: string) => NAPMessage,
createSessionErrorMessage: (uuid: string, errorMessage: string, errorDescription: string) => NAPMessage,
createWebAppSelectedMessage: (
uuid: string,
webAppUrl: string,
webAppProducer: string,
webAppReleaseDate: Date,
webAppShortName: string,
webAppServiceEntry: string,
webAppCatalogueVersion: string[],
webAppAudience?: string) => NAPMessage
}

...

Dog er WebAppSelected, ProjectsRetrieved og ProjectsFiltered  ikke beskrevet i dette dokument, da dette event disse events er tilegnet kommunikation mellem lobby og værtssystem. Du kan finde mere information om disse events på NAP Platform - Guide til anvendere.

...

Interface for SDK fejl. Disse beskeder emittes af errors$ i tilfælde tilfælde af initialiseringsfejl, hvis sker der fejl i createNAP() kaldet når NAP bridge skal wrappes, eller i tilfælde ar marshalling fejl, hvis en besked ikke overholder dataformatet. Se evt. NAPMessage Dataformat ovenfor. 

...

Funktion

nap-message-factory


createBasicNapMessage = (uuid: string, type: NAPEventType): NAPMessage

Laver en basal NAPMessage med det NAPEventType og ID som er angivet. Beskeden har ingen context.

createPatientOpenMessageV1 = (uuid: string, givenName?: string[], familyName?: string, ssNo?: string): NAPMessage

Laver en patientOpen NAPMessage med de patientinformationer og det ID, som er angivet.

createPatientCloseMessageV1 = (uuid: string, givenName?: string[], familyName?: string, ssNo?: string): NAPMessage

Laver en patientClose NAPMessage med de patientinformationer og det ID der er angivet.

createSessionCloseMessageV1 = (uuid: string): NAPMessage

Laver en sessionClose NAPmessage med det ID der er angivet.

createProjectsRetrievedMessageV1 = (uuid: string, webAppShortNames: string[]): NAPMessage

Anvendes kun i nap-lobby. Laver en NAPMessage med de Projekter, som er tilgængelig.

createSessionErrorMessageV1 = (uuid: string, errorMessage: string, errorDescription: string): NAPMessage

Laver en sessionError NAPMessage med det ID og de fejl beskrivelser, som er angivet.

createWebAppSelectedMessageV1 = (
uuid: string,
webAppUrl: string,
webAppProducer: string,
webAppReleaseDate: Date,
webAppServiceEntry: string,
webAppShortName: string,
webAppCatalogueVersion: string[],
webAppAudience?: string): NAPMessage

Anvendes kun i nap-lobby. Laver en WebAppSelectedNAPMessage med de WebApp detaljer der er angivet.
FHIRValueGetter

getFilteredProjects(napMessage: NAPMessage): string[] | undefined

Anvendes kun i nap-lobby. Henter en filterede filtreret liste af projekter der ønskes vist i lobbyen

getPatientInfo(napMessage: NAPMessage): NAPPatientInfo | undefinedHenter patientinfo. Returnerer undefined, hvis ikke data kan formateres.
filterEvents
filterEvents(type: string[]): Observable<NAPMessage>Filtrer på et array eventtypes. Returnerer en observable, der kun emitter, når et event med en af de angivne typer emittes fra source.

filterEvent(type: string): Observable<NAPMessage>

Filtrer på en event. Returnerer en observable, der kun emitter, når et event med en den angivne type emittes fra source.

...

Generel kodedokumentation findes i biblioteket. Fuld implementation af eventkataloget ses i nap-reference-web her https://svn.nspop.dk/svnsrc/components/nap/nap-reference-web/trunk/.

 Session-close

Følgende eksempel sender / modtager en Session-Close besked når ønsker, at blive logget ud.

...

De forskellige subscriptions og håndtag håndteres i react.useCallback. De forskellige states og methodemetode-håndtag pakkes alt sammen i en Context.

...