Page History
...
Da DROS som nævnt gør brug af XdsValidationlXdsValidation, kan man her finde yderligere inspiration for implementering, hvis man som ekstern anvender ønsker at gøre brug af XDS validering. Dette dokument beskriver overordnet tilgængelighed af modulet samt anvendelse.
...
Biblioteket består af en række valideringsregler/klasser, som kan sættes sammen efter behov. Det er muligt at sætte en validering sammen, som en lang kæde, eller lave en træstruktur, sådan at vise visse valideringer, stopper for yderligere validering i specifikt område. Sidstnævnte kan f.eks. være, at hvis et dokument ikke er en kendt CDA type, så behøver man ikke validerere yderligere på dets metadata.
...
Figur: kæde- eller træstruktur
Men for For at lette arbejdet med bibliotekt, findes der en default opsætning per område, som det anbefales at arbejde med (såkaldet såkaldt factories). Se figuren "Validator overblik" i design og arkitekturdokumentet, for en overblik over disse. Hvordan disse factories anvendes er beskrevet i næste afsnit.
Hver valideringsregel er implementeret som en ud af 4 fire typer (Navngivning samt hvilken klasse den extender, illustrerer dette dette). Disse er beskrevet i det efterfølgende.
...
- Den tilhørende starter vælges (Starter)
- En struktur validator tilknyttes (Validator) som sikrer at et kald indeholder de komponenter, det skal (eksempel for ITI 41 documententry, assocation og selve dokumentet)
- Alle andre relevante validatorer tilføjes, for ITI 41 drejer det sig om følgende træstruktur:
- XDSDocumentContentModelEnricher (ModelEnricher), der pakker input ud som UTF8 bytes hvis muligt
- XDSDocumentValidator (AtLeastOneValidator) og CdaDocumentHeaderModelEnricher, som forventer at kunne pakke input ud som et CDA dokument ved at finde en CDA header
- CdaDocumentTypeValidator (AtLeastOneValidator) og CdaDocumentApdV2ModelEnricher, CdaDocumentPhmrModelEnricher samt CdaDocumentQrdModelEnricher der forventer at dokumentet er af en af typerne APD, PHMR eller QRD
- Felt specifikke validatorer (Validator) for hver af de 3 dokument typer
- CdaDocumentTypeValidator (AtLeastOneValidator) og CdaDocumentApdV2ModelEnricher, CdaDocumentPhmrModelEnricher samt CdaDocumentQrdModelEnricher der forventer at dokumentet er af en af typerne APD, PHMR eller QRD
- XDSDocumentValidator (AtLeastOneValidator) og CdaDocumentHeaderModelEnricher, som forventer at kunne pakke input ud som et CDA dokument ved at finde en CDA header
- Felt specifikke validatorer (Validator) for documentEntry
- Felt specifikke validatorer (Validator) for SubmissionSet
- Sammenlignings validatorer per felt (Validator) der sikrer DocumentEntry og SubmissionSet indeholder samme værdier
- Sammenlignings validatorer per felt (Validator) der sikrer DocumentEntry og dokumentets CDA header indeholder samme værdier
- XDSDocumentContentModelEnricher (ModelEnricher), der pakker input ud som UTF8 bytes hvis muligt
Hvor Hver ITI kald har sin kombination, da ikke alle elementer er til stede i de forskellige kald. F.eks, har et ITI 41 det eneste kald, som har et faktisk dokument, der kan valideres.
En grafisk præsenation præsentation af denne konfiguration af default validering kan ses i Design og arkitektur dokumentet.
...
(nedenstående beskrivelse stammer fra javadoc i mvn modul validation-xds. Anvend "mvn javadoc:javadoc" for at generere i target/site folderen)
Default validering konfiguration
...
Klasse | Validering | ITI 41 default | ITI 42 default | ITI 61 default | ITI 57 default | Cda dokument | ||||
---|---|---|---|---|---|---|---|---|---|---|
DocumentEntryClassCodeValidator |
| gyldig codeSystem er OID | gyldig codeSystem er OID | gyldig codeSystem er OID | gyldig codeSystem er OID | na | ||||
DocumentEntryAuthorInstitutionValidator |
| gyldig UniversalId er SOR_OID og YDERNUMMER_OID | gyldig UniversalId er SOR_OID og YDERNUMMER_OID | gyldig UniversalId er SOR_OID og YDERNUMMER_OID | na | |||||
CdaHeaderAuthorInstitutionValidator |
| gyldig UniversalId er SOR_OID og YDERNUMMER_OID | na | CdaHeaderAuthorInstitutionValidator | na | na | na | nagyldig UniversalId er SOR_OID og YDERNUMMER_OID | ||