Versions Compared

Key

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

...

Code Block
languagejs
export interface NAP {
	fromHost$: Observable<NAPMessage>;
	toHost$: Subject<NAPMessage>;
	errors$: Observable<NAPError>;
	subscribe: (subscriber: NAPHostSubscriber) => void; 
	unsubscribe: (subscriber: NAPHostSubscriber) => void; 
	send: (message: NAPMessage) => void;
}
NavnForklaring
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.
subscribeSubscriber til NAPMessages fra værtsystemet. Det fungere på samme måde som med `fromHost$`, bare uden brug af observables.
unsubscribeUnsubscribe 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 | undefinedHenter 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
languagejs
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);
	}
	
}

...