Versions Compared

Key

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

Introduktion

XDS Validation er er et Java API, der stiller validering af bl.a. CDA- og Noah dokumenter og kald til XDS til rådighed.  Der skal Det kaldes fra DRS bl.a. DROS i forbindelse med registrering af dokumenter og metadata i XDS infrastrukturen.

For nuværende er der tale om CDA dokumenter af typen APD v2, QRD og PHMR og Noah dokumenter af typen Audiogram, Admittance/Impedance og Hearing Instrument Selection.

I biblioteket vil klasser specifikt brugt til validering af CDA være prefixet med Cda.

I biblioteket vil klasser specifikt brugt til validering af Noah være prefixet med Audio.

Overblik

Biblioteket består en en række valideringsklasser, der kan sættes sammen i en factory til en specifik samling af regler for en given "ting", der skal valideres. F.eks. sætter Iti41ValidationFactory et antal regler sammen, sådan at et iti-41 kald valideres korrekt inkl. cda dokumentet, der sendes i kaldet.

  • En "ValidationFactory" består af en række validerings klasser, der er sat sammen i et træ. 
  • Til konfiguration af Validatorne kan XDSConfiguration anvendes. Den indeholder både navngivne/kendte konfigurationer og giver mulighed for udbygning. Dens formål kan sammenlignes med en klassisk property fil.
  • I princippet en klasse per validerings regel.
  • En valideringsklasse består af en validering samt en liste af eventuelle under-valideringer.
  • En validering kan også være at forsøge at pakke et element ud, f.eks. at pakke et cda dokument ud af de bytes et kald har modtaget
  • Alle klasser (undtagen "starter") operer på det samme objekt (XDSDocument), der sendes rundt og eventuelt beriges undervejs
  • En valideringsklasse returner enten en fejlliste (med 0 eller flere fejl) eller null. Null returneres hvis validatorklassen ikke kunne udføre sin validering med hvad den modtog som input..
  • Hvis en valideringsklasse ikke kan udføre det dens ansvar er, pga. manglende beriget information i XDSDocument returnere den en tome fejlliste.

Typer

En valideringsklasse til en Factory, er en af følgende 4 3 typer (templates):

  1. Validator - har en validering og et gennemløb på sine under-validatorer
  2. Enricher ModelEnricher - valideringen består af udpakning af noget input. Denne "berigelse" sættes på det indkomne objekt (deraf ModelEnricher) og senere validatorer kan så arbejde herpå
  3. AtLeastOneValidator - adskiller sig fra en alminelig validator ved, at den kræver at mindst een af dens under-validatorer vil kendes ved input
  4. Starter - adskiller sig fra en enricher ModelEnricher ved, at den ikke modtager det fælles objekt XDSDocument, men istedet en request type. Dette request pakkes ud i et eller flere XDSDocument objekter, og Starter kører så sine under-validatorer på hver af disse objekter.

Gliffy Diagram
2
displayNameValidator typer
nameValidator typer
pagePin5

Default validerings konfiguration

Følgende diagram viser, hvordan de forskellige factory klasser, der komponerer en validering, for nuværende er sat sammen.

CDA


Gliffy Diagram
macroId327c16be-501b-4194-8c9d-91375e49d3be
displayName
overblik2
validator overblik (CDA) variant 2
name
overblik2
validator overblik (CDA) variant 2
pagePin
9
2

* phad dokumenter er planlagt til at blive en del af validering, men afhænger af SDS-7229

Instantiering

Instantiering af biblioteket sker via en række factory klasser. Se guide til anvendere.

Valideringer

Biblioteket validerer på forskellige niveauer.