Versions Compared

Key

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

...

Værdierne, der sendes med, er af typen Object. Metoden toString() bliver anvendt på de medsendte values objekter. Som en undtagelse hertil skal nævnes values objekter af typen javax.json.JsonObject. Værdier af denne type håndteres af NSP Audit API, der laver en pæn rendering i JSON format.

Dokumentdelingsservice: Eksempel på implementation af auditlogning via NSP Audit API

I de forgående afsnit blev det gennemgået, hvordan en AuditBuilder skal oprettes og håndteres i en NSP komponent, der ønsker at auditlogge, og hvorledes auditloginformationer kan tilføjes i løbet af servicens behandling af et kald.

...

Dokumentdelingsservice gør det muligt for anvendere at fremsøge lister af dokumenter for borgere med forskelligt indhold f.eks. aftaler, laboratoriesvar og stamkort. Der er behov for at auditlogge hvem, der har tilgået disse informationer hvornår. Denne fremsøgningsservice kan anvendes både af borgere (IDWS snitflade) samt af sundhedsprofessionelle (DGWS snitflade).

Uanset om anvenderen er en borger eller en sundhedsprofessionel anvendes klassen DDSRegistryQueryImpl til at implementere selve fremsøgninglogikken - herunder også auditlogning af svaret:

Code Block
languagejava
title

Dokumentdelingsservice indeholder

Fremsøgningslogik for Dokumentdelingsservice - herunder auditloging
public class DDSRegistryQueryImpl {
	static Logger logger = Logger.getLogger(DDSRegistryQueryImpl.class);

	@Autowired
	private AuditLogning auditLogning;

	...

	public AdhocQueryResponse documentRegistryRegistryStoredQuery(AdhocQueryRequest adhocQueryRequestBody, DDSContext context) throws Exception {
		try {
			final AdhocQueryRequestWrapper adhocQueryRequestWrapper = new AdhocQueryRequestWrapper(adhocQueryRequestBody, context);
			String patientId = adhocQueryRequestWrapper.getPatientId();			
			...			
			AuditBuilder auditBuilder = Audit.createAuditBuilder();
			auditLogning.auditLogIti18Response(auditBuilder, patientId, context.getActingUserCivilRegistrationNumber(), context.getResponsibleUserCivilRegistrationNumber(), adhocQueryRequestBody.getAdhocQuery(), response);
			return response;
		} catch (NegativeConsentException e) {
			return AdhocQueryResponseWrapper.createNegativeConsentResponse();
		}
	}

Som det kan ses, så oprettes AuditBuilderen først og dernæst sendes denne samme med parametre fra kaldet og fra kaldskonteksten (CPR nummeret på den kaldende og ansvarlige person) ned i en hjælpeklasse AuditLogning, som Dokumentdelingsservicen anvender til kommunikation med Audit API.

I det følgende ses den kaldte metode auditLogIti18Response:TODO



Effekt af NSP Audit API i NSP komponenter

Det demonstreres gennem eksemplet eksempler fra Dokumentdelingsservice, hvorledes anvendelsen af NSP Audit API kommer til udtryk i forhold til informationsniveau i den resulterende auditlog.

Herigennem bliver det muligt for udviklere af NSP komponenter at forstå, hvilke informationer, der stammer fra afviklingsplatformen, og hvilke der stammer fra komponenten selv.

Eksempel på auditlogninger fra Dokumentdelingsservice

Igennem afvikling af integrationstesten kan vi vise eksempler på begge anvendelser og opsamle den resulterende auditlog.

En borger fremsøger egne dokumenter gennem dokumentdelingsservice

Ved at autentificere sig med en IDWS billet har en borger mulighed for at fremsøge sine egne dokumenter via Dokumentdelingsservicen.

En sundhedsprofessionel fremsøger en borgers dokumenter gennem dokumentdelingsservice


TODO

Driftsdokumentation for NSP komponenter, der anvender NSP Audit API

...