This repository was archived by the owner on Oct 6, 2025. It is now read-only.
File tree Expand file tree Collapse file tree
codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1111import org .hl7 .fhir .r4 .model .ValueSet ;
1212import org .springframework .beans .factory .InitializingBean ;
1313
14+ import de .netzwerk_universitaetsmedizin .codex .processes .data_transfer .validation .value_set .KdsMikrobiologieBugFixer ;
1415import de .netzwerk_universitaetsmedizin .codex .processes .data_transfer .validation .value_set .MissingEntriesIncluder ;
1516import de .netzwerk_universitaetsmedizin .codex .processes .data_transfer .validation .value_set .ValueSetModifier ;
1617import jakarta .ws .rs .WebApplicationException ;
1718
1819public class ValueSetExpansionClientWithModifiers implements ValueSetExpansionClient , InitializingBean
1920{
2021 public static final ValueSetModifier MISSING_ENTRIES_INCLUDER = new MissingEntriesIncluder ();
22+ public static final KdsMikrobiologieBugFixer KDS_MIKROBIOLOGIE_BUG_FIXER = new KdsMikrobiologieBugFixer ();
2123
2224 private final ValueSetExpansionClient delegate ;
2325 private final List <ValueSetModifier > valueSetModifiers = new ArrayList <>();
2426
2527 public ValueSetExpansionClientWithModifiers (ValueSetExpansionClient delegate )
2628 {
27- this (delegate , Arrays .asList (MISSING_ENTRIES_INCLUDER ));
29+ this (delegate , Arrays .asList (KDS_MIKROBIOLOGIE_BUG_FIXER , MISSING_ENTRIES_INCLUDER ));
2830 }
2931
3032 public ValueSetExpansionClientWithModifiers (ValueSetExpansionClient delegate ,
Original file line number Diff line number Diff line change 1+ package de .netzwerk_universitaetsmedizin .codex .processes .data_transfer .validation .value_set ;
2+
3+ import java .util .Map ;
4+
5+ import org .hl7 .fhir .r4 .model .ValueSet ;
6+
7+ import ca .uhn .fhir .context .FhirContext ;
8+
9+ public class KdsMikrobiologieBugFixer implements ValueSetModifier
10+ {
11+
12+ private final Map <String , String > fixedValueSets = Map .of (
13+ "https://www.medizininformatik-initiative.de/fhir/modul-mikrobio/ValueSet/mii-vs-mikrobio-empfindlichkeit-phenotyp-loinc" ,
14+ "mii-vs-mikrobio-empfindlichkeit-phenotyp-loinc.json" ,
15+ "https://www.medizininformatik-initiative.de/fhir/modul-mikrobio/ValueSet/mii-vs-mikrobio-empfindlichkeit-genotyp-loinc" ,
16+ "mii-vs-mikrobio-empfindlichkeit.json" ,
17+ "https://www.medizininformatik-initiative.de/fhir/modul-mikrobio/ValueSet/mii-vs-mikrobio-mre-klasse-snomedct" ,
18+ "mii-vs-mikrobio-mre-klasse-snomedct.json" );
19+
20+ @ Override
21+ public ValueSet modifyPreExpansion (ValueSet vs )
22+ {
23+
24+ if (vs .getUrl () != null && vs .getVersion () != null && vs .getVersion ().equals ("2024.0.0" ))
25+ {
26+ String fileName = fixedValueSets .get (vs .getUrl ());
27+ if (fileName != null )
28+ {
29+ return (ValueSet ) FhirContext .forR4 ().newJsonParser ()
30+ .parseResource (getClass ().getResourceAsStream ("/bugfix/fhir/ValueSet/" + fileName ));
31+ }
32+ }
33+
34+ return vs ;
35+ }
36+ }
You can’t perform that action at this time.
0 commit comments