Versions Compared

Key

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

...

Formålet med dette dokument er at beskrive hvordan et udviklingsmiljø, til videreudvikling af NAP SDK, skal sættes op, kodens struktur, samt hvordan koden bygges, deployes og testes.

 Sammenhæng med øvrige dokumenter

Dette dokument er en del af den samlede dokumentation for NAP SDK.

Dokumentet er udformet, så det i videst muligt omfang opfylder sit formål uafhængigt af de øvrige dokumenter.

Ønskes mere information omkring arkitektur og design findes dette på NAP SDK - Design og Arkitektur beskrivelse.

Ønsker mere information omkring installationsvejledning til anvender kan findes på NAP SDK - Installationsvejledning.

Ønskes mere information omkring guide til anvendelse findes dette på NAP SDK - Guide til anvendere.

Forudsætninger

Kildekoden til NAP-SDK findes på https://svn.nspop.dk/svn/libraries/nap/

Software requirements

NAP-SDK er uviklet og testet på.

PakkeVersion
npm6.14.x
node10.16.x og 12.18.0

Nap-typescript-sdk

Udviklingssetup og targets:

Installer afhængigheder

Installer dependecies ved at køre `npm install --registry https://nexus.nspop.dk/nexus/repository/nsp-npm/`

...

For at køre unit tests med Karma kør "npm run test". Det generere en coverage rapport i coverage/ mappen.

Eventuelle fejl skrives til STOUT.

CI

For at bygge SDK til CI køre "npm run ci:build". Jenkins filen beskriver jenkins pipelinen.

...

Kør "npm run lint" for linting.

Eventuelle fejl skrives til STOUT.

Dokumentation

For at generere dokumentation til koden, kør "npm run doc". Dokumentation ligger i docs/ mappen.

...

Der er defineret et fhir-value-getter namespace med hjælpe funktioner til mappe NAPMessages til de værdier, som egentlig er interessante.

Mapping funktioner

FunktionsnavnBeskrivelse
getSessionValue()Trækker SAMLassertion ud af et SessionOpenEvent
getPationInfo
getPatientInfo()Trækker familyName, givenName og ssNo ud af et PatientOpenEvent


FhirValueSetter

Der er defineret et fhir-value-setter namespace, som indeholder enums af typiske værdier, der skal sættes i NAPMessages.

...

SDK'et udstiller en service, som sørger for at kalde createNAP() fra nap-typescript-sdket og dermed initialisere kontekstbroenNAP bridge (konteksdelingsbroen).

Efterfølgende subscribes der på de forskellige messagestreams, og deres emits bliver håndteret i forhold til Angulars change detection zone .Udfra dette generer den nye observables generes nye observablesog udstillet i nye.


NapAngularService {
    // attributter
    incomming$: Observable<NAPmessage>
    errors$: Observable<NAPError>
    outgoing$: Subject<NapMessage>
    sendMessage(message: NAPMessage):void
    subscribeToMessages(callback: (message: NAPMessage) => void): void
}

...

Kør `npm run lint` for linting.

Eventuelle fejl skrives til STOUT.

Dokumentation

For at generere dokumentation til koden, kør "npm run doc". Dokumentation ligger i docs/ mappen.

...

Kør "npm run lint" for linting.

Eventuelle fejl skrives til STOUT.

Documentation

For at generere dokumentation til koden, kør "npm run doc". Dokumentation ligger i docs/ mappen.

...