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);
}
} |
...