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

Overblik

Nedenstående skitserer arkitekturen i biblioteket. Hvordan de forskellige nivauer af validering hænger sammen logisk.

v2

Gliffy Diagram
displayNameoverblik2
nameoverblik2
pagePin3

v1

Gliffy Diagram
displayNameoverblik
nameoverblik
pagePin5

Instantiering

Instantiering af interfacet sker via følgende klasse

  • Validering af cda dokument: CdaDocumentValidatorFactory
  • Validering af iti-41 kald: Iti41ValidationFactory

Valideringer

Biblioteket validerer på forskellige niveauer. Ovenstående figur viser, det hiraki der er, hvordan ansvaret er fordelt for denne validering. 

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 en fejlliste (med 0 eller flere fejl).
  • 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 3 typer (templates):

  1. Validator - har en validering og et gennemløb på sine under-validatorer
  2. 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. Starter - adskiller sig fra en 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
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
displayNamevalidator overblik (CDA) variant 2
namevalidator overblik (CDA) variant 2
pagePin2

* 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 anvendereDet er muligt at tilføje felt/entitet valideringer på nivauerne CdaDocumentCdaHeaderParsingValidator, DocumentEntryValidator og DocumentEntryValidator og SubmissionSetValidator niveau.