Page History
...
Code Block | ||
---|---|---|
| ||
export interface NAP { fromHost$: Observable<NAPMessage>; toHost$: Subject<NAPMessage>; errors$: Observable<NAPError>; subscribe: (subscriber: NAPHostSubscriber) => void; unsubscribe: (subscriber: NAPHostSubscriber) => void; send: (message: NAPMessage) => void; } |
Navn | Forklaring |
---|---|
fromHost$ | Beskeder af NAPMessages fra værtssystemet. Udstillet som en Observable. |
toHost$ | Send en NAPMessage til hosten. Denne er udstillet som et subject, som man kan skubbe beskeder til med next(). |
errors$ | SDK fejl, udstillet som en Observable. |
subscribe | Subscriber til NAPMessages fra værtsystemet. Det fungere på samme måde som med `fromHost$`, bare uden brug af observables. |
unsubscribe | Unsubscribe af NAPMessages fra værtssystemet. |
send() | Send en NAPMessage - Det fungerer på samme måde som to `toHost$`, bare uden brug af observables. |
Denne wrapping foregår i createNAP() funktion, som SDKet eksporterer. En NAP bro kan således fanges gennem sdket ved et simpel kald:
...
Komplet liste over hjælpefunktioner:
Funktion | |
---|---|
getSessionValue(napMessage: NAPMessage): string | undefined | Henter samlAssertion. Returnere undefined, hvis ikke data kan formateres. |
getPatientInfo(napMessage: NAPMessage): NAPPatientInfo | undefined | Henter patientinfo. Returnere undefined, hvis ikke data kan formateres. |
filterEvents(type: string): Observable<NAPMessage> | Filtrer på et array eventtypes. Returnerer en observable, der førte emitter, hvis et event med en af de angevne typer emittes fra source. |
filterEvent(type: string): Observable<NAPMessage> | Filtrer på en event. Returnerer en observable, der førte emitter, hvis et event med en den angevne type emittes fra source. |
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.
...
Komplet liste over hjælpeværdier.
Enum |
---|
FHIRResourceType.Patient |
FHIRResourceType.Basic |
FHIRSystem.NAP |
FHIRIdentifierSystem.CPR |
FHIRIdentifierSystem.NAPErrorMessage |
FHIRIdentifierSystem.NapErrorDescription |
Eksempel på anvendelse Fhir-Value-Setter
...
Code Block | ||
---|---|---|
| ||
import { NapAngularService } from 'nap-angular-sdk'; import { filterEvents, NAPEventCatalogue, NAPMessage, FHIRValueSetter, FHIRValueGetter } from 'nap-typescript-sdk'; import { v4 as UUID } from 'uuid'; export class MyComponent { // proxy for currentPatient public currentPatient$: Observable<NAPPatientInfo | undefined> = this.napSDK.incomming$.pipe( filterEvent(NAPEventCatalogue.v1.PatientOpen), map((message) => FHIRValueGetter.getPatientInfo(message)) ); //inject the nap-angular-sdk service constructor(private napSK: NapAngularService) { // Construct an patient NAPMessage const napMsg: NAPMessage = { date: new Date().toISOString(), id: UUID(), event: { type: NAPEventCatalogue.v1.PatientOpen} }; this.napSDK.sendMessage(napMsg); // Ask for the patient context in host this.napSDK.sendMessage(napMsg); } // Something triggeredetriggered a patientClose on the client site public patientClose(patient: NAPPatientInfo) { const napMsg: NAPMessage = { date: new Date().toISOstring(), id: UUID(), event: { type: NAPEventType.PatientClose, context: [{ resource: { resourceType: FHIRValueSetter.FHIRResourceType.Patient, code: { coding: [{ code: NAPEventCatalogue.v1.Close, system: FHIRSystem.NAP}] }, identifier: [{ system: FHIRSystem.CPR, value: patient.ssNo, }], name: [{ family: patient.familyName, given: [patient.familyName] }], meta: {profile: ['http://hl7.dk/fhir/core/StructureDefinition/dk-core-patient']}, }], } }; // Send the message this.napSDK.sendMessage(napMsg); } } |
...