Page History
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
//nuværende eksempel på almindelig felt validering: Apd2StartStopTimeValidator apd2StartStopTimeValidator = new Apd2StartStopTimeValidator(); //fremtidigt eksempel med yderligere validering: Apd2StartStopTimeValidator apd2StartStopTimeValidator = new Apd2StartStopTimeValidator(false); Apd2StartStopTimeSpecifikValueValidator apd2StartStopTimeSpecifikValueValidator = new Apd2StartStopTimeSpecifikValueValidator(); apd2StartStopTimeValidator.appendValidator(apd2StartStopTimeSpecifikValueValidator); |
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
//validering hvor CdaDocumentTypeValidator forventer at ens af dens under-validatorer vil kendes ved input (dokumentet) CdaDocumentTypeValidator cdaDocumentTypeValidator = new CdaDocumentTypeValidator(); CdaDocumentApdV2ModelEnricher cdaDocumentApdV2ModelEnricher = new CdaDocumentApdV2ModelEnricher(); cdaDocumentTypeValidator.appendValidator(cdaDocumentApdV2ModelEnricher); CdaDocumentPhmrModelEnricher cdaDocumentPhmrModelEnricher = new CdaDocumentPhmrModelEnricher(); cdaDocumentTypeValidator.appendValidator(cdaDocumentPhmrModelEnricher); CdaDocumentQrdModelEnricher cdaDocumentQrdModelEnricher = new CdaDocumentQrdModelEnricher(); cdaDocumentTypeValidator.appendValidator(cdaDocumentQrdModelEnricher); |
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
//validering, hvor CdaDocumentApdV2ModelEnricher forventes at pakke input ud og forstå at det er et aftale dokument. CdaDocumentApdV2ModelEnricher cdaDocumentApdV2ModelEnricher = new CdaDocumentApdV2ModelEnricher(); Apd2StartStopTimeValidator apd2StartStopTimeValidator = new Apd2StartStopTimeValidator(); cdaDocumentApdV2ModelEnricher.appendValidator(apd2StartStopTimeValidator); Apd2AppointmentIdValidator apd2AppointmentIdValidator = new Apd2AppointmentIdValidator(); cdaDocumentApdV2ModelEnricher.appendValidator(apd2AppointmentIdValidator); Apd2CustodianIdValidator apd2CustodianIdValidator = new Apd2CustodianIdValidator(organisationCodeValidation); cdaDocumentApdV2ModelEnricher.appendValidator(apd2CustodianIdValidator); |
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
//validering, hvor det hele initiers med en Starter validering til et iti 41 kald ProvideAndRegisterDocumentSetStarter provideAndRegisterDocumentSetStarter = new ProvideAndRegisterDocumentSetStarter(); |
...
En grafisk præsenation af denne konfiguration af default validering kan ses i Design og arkitektur dokumentet.
Eksempel fra DROS
Følgende kode, består af 3 trin.
- Instansiering af validator til validering af iti-41 ProvideAndRegisterDocumentSet
- Oprettelse af ProvideAndRegisterDocumentSet kaldet
- Validering af kaldet
Code Block |
---|
ProvideAndRegisterDocumentSetStarter subject = Iti41ValidationFactory.createIti41Validator();
ProvideAndRegisterDocumentSet provideAndRegisterDocumentSetInput = provideAndRegisterDocumentSetCreator.createProvideAndRegisterDocumentSetApd();
ValidationResultSet validationOutput = subject.validate(provideAndRegisterDocumentSetInput); |
For at gøre brug af xdsValidation skal følgende dependencies tilføjes til maven pom fil:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<dependency>
<groupId>dk.nsp</groupId>
<artifactId>validation-xds</artifactId>
</dependency> |
Hvis man ikke allerede anvender IPF Open eHealth Integration Platform skal følgende dependency tilføjes
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<dependency>
<groupId>org.openehealth.ipf.commons</groupId>
<artifactId>ipf-commons-ihe-xds</artifactId>
<version>${openehealth.version}</version>
</dependency>
<!-- openehealth.version bør være samme version som XDSValidation anvender --> |
Følgende kode er taget fra DROS's validerings logik for ITI 41 kald.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
// Fra klassen Iti41ValidationImpl metode validateAndTransform
List<ErrorInfo> xdsValidationErrors = getXdsValidationErrors(provideAndRegisterDocumentSet, xdsValidatorFactory.buildIti41Validator(), xdsValidationLevel);
// Fra klassen RegistryItiValidationImpl
protected List<ErrorInfo> getXdsValidationErrors(ProvideAndRegisterDocumentSet request, ProvideAndRegisterDocumentSetStarter starter, XdsValidationLevel xdsValidationLevel) {
return getXdsValidationErrors(() -> starter.validate(request), xdsValidationLevel);
}
|
Dvs ønsker man benytte default valideringen for ITI 41 kaldet gøres det ved at:
- Oprette en instans af ProvideAndRegisterDocumentSetStarter (linie 2)
- Kalde metoden validate på denne med ITI 41 requested (ProvideAndRegisterDocumentSet) (linie 6)
- Retur får man en liste over de fejl XdsValidation fandt
På samme måde kan man få valideret de øvrige kald, ved at vælge den rette Starter og sende requsted ind til den.
Se iøvrigt praktisk anvendelse i bibliotekets egne unit test. F.eks. CdaHeaderValidatorTest der viser CDA dokument validering og ProvideAndRegisterDocumentSetValidatorTest, der viser en række kald for iti-41.
Understøttede
...