Skip to content
This repository was archived by the owner on Oct 6, 2025. It is now read-only.

Commit e3d0774

Browse files
committed
add workarounds until fixed kds mikrobiologie packages are released
1 parent 812c267 commit e3d0774

2 files changed

Lines changed: 39 additions & 1 deletion

File tree

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/ValueSetExpansionClientWithModifiers.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,22 @@
1111
import org.hl7.fhir.r4.model.ValueSet;
1212
import org.springframework.beans.factory.InitializingBean;
1313

14+
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.validation.value_set.KdsMikrobiologieBugFixer;
1415
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.validation.value_set.MissingEntriesIncluder;
1516
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.validation.value_set.ValueSetModifier;
1617
import jakarta.ws.rs.WebApplicationException;
1718

1819
public 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 numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
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+
}

0 commit comments

Comments
 (0)