Versions Compared

Key

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

...

Yderligere detaljer og introduktion til dokumentdeling kan læses i Dokumentdeling på NSP

For at lette arbejdet med at overholde/validerere for standarderne, findes XdsValidation biblioteket. DROS komponenten kan gøre brug af denne validering, for at sikre, at der ikke komme ugyldige data ind i XDS infrastrukturen. Anvendere af DROS kan selv implementere validering vha. af XdsValidation biblioteket, hvis man ønsker at finde fejl, inden det faktiske kald udføres. Alle, der er koblet på NSP XDS infrastrukturen med enten registry eller repository eller som har sit eget affinitetsdomæne, kan med fordel anvende XdsValiderings biblioteket. Også som supplement til eventuel egen validering.

...

  • Opret en klasse, som beskriver det objekt man gerne vil have enricheren til at enriche til
  • Opret en enricher i stil med f.eks. CdaDocumentPhmrModelEnricher
    • Dens enrich metode skal modtage XDSDocument som input
    • Den skal oprette et beriget objekt (punkt 1) og  tilføje det til XDSDocument som en "enrichment".

  • Lav de yderligere relevante validatorer, som validererer dette ny enriched object
  • Kombiner ekisterende  og nye enrichere og validatorer i en ValidationFactory som beskrevet i afsnittet tidligere.

    (Se evt. unit testen XDSDocumentTest.testSetEnrichmentWithValueAndCheckGetEnrichment hvordan man kan tilføje og hente disse egne tilføjede enriched objekter på XDSDocument)
    Code Block
    languagejava
    titleEksempel på anvendelse af eget format
    public static final EnrichmentKey<MyTestDocument> ENRICHMENT_MY_TEST_DOCUMENT = EnrichmentKey.create(MyTestDocument.class);
    
    public class MyTestDocument {
    	private String somefield1;
    	private String somefield2;
    }
    
    
    public class MyTestDocumentModelEnricher extends AbstractModelEnricherImpl<XDSDocument> implements Validator<XDSDocument> {
    	
    	@Override
    	protected ValidationResultSet enrich(XDSDocument input) {
    	
    		ValidationResultSet validationResultSet = new ValidationResultSet();
    		
    		MyTestDocument myTestClass = new MyTestDocument();
    	
    		// lav logik som tager relevant indhold fra XDSDocument og pakker det om til MyTestDocument
    		
    		// opstår der fejl kan de returneres i validationResultSet
    		
    		xdsDocument.setEnrichment(ENRICHMENT_MY_TEST_DOCUMENT, myTestClass);
    		
    		return validationResultSet;
    		
    	}
    }
    
    
    public class MyTestDocumentSomeField1Validator extends AbstractValidatorImpl<XDSDocument> {
    	
    	@Override
    	protected ValidationResultSet validateInternal(XDSDocument input) {
    
    		if (input == null || input.getEnrichment(ENRICHMENT_MY_TEST_DOCUMENT) == null) {
    			return null;
    		}
    
    		ValidationResultSet validationResultSet = new ValidationResultSet();
    		
    		// lav logik til validering af input.getEnrichment(ENRICHMENT_MY_TEST_DOCUMENT).getSomeField1();
    		// hvis fejl returneres de i validationResultSet;
    		
    		return validationResultSet;
    	}
    }

Eksempel fra DROS

For at gøre brug af xdsValidation skal følgende dependencies tilføjes til maven pom fil:

...