Versions Compared

Key

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

...

Det som kendetegner en almindelig validator er extension af klassen AbstractStarterImpl.

Dem gode kombination

Den gode kombination

Principperne for oprettelse af validerings regler og sammensætning i struktur er:

  • Start med en Starter, som forstår input
  • Berig input efterhånden som behovet opstår
  • Valider kun data, som er relevant. Dvs. anvend træstrukturer
  • Tjek relevant overordnede dele er til stede i input (så validatorer ikke behøver blive negative, hvis de ikke er)
  • Er input "uforståligt" så returner ingen ting
  • Er input "forståligt" men forkert så returner fejl

Alle ITI kald default valideringer konfigureret i XdsValidation biblioteket er sat op efter følgende princippetstruktur:

  • 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
    • 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

Hvor 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 af denne konfiguration af default validering kan ses i Design og arkitektur dokumentet.En grafisk præsenation af dette for et ITI 41 kald ser ud på følgende måde

Eksempel fra DROS

Følgende kode, består af 3 trin.

...