From 502a90263f3c813ba0dc3f5885b53a09588ca7c9 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 9 Jan 2025 23:20:43 +1100 Subject: [PATCH] Fix NPE processing code system supplements --- RELEASE_NOTES.md | 1 + .../org/hl7/fhir/r5/context/BaseWorkerContext.java | 13 ++++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 1c3d48ee5..32ee09c67 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -5,6 +5,7 @@ * Make sure all validation messages have a message id * Validator enforce version-set-specific value for Extension and Extension context * Specific Error when ValueSet.compose.include.system refers to a ValueSet +* Fix NPE processing code system supplements ## Other code changes diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/BaseWorkerContext.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/BaseWorkerContext.java index f124810f2..5b08b6803 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/BaseWorkerContext.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/BaseWorkerContext.java @@ -1966,20 +1966,27 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte cache = checkAddToParams(tc, pin, cs) || cache; } for (CodeSystem supp : codeSystems.getSupplements(cs)) { - opCtxt.seeSupplement(supp); + if (opCtxt != null) { + opCtxt.seeSupplement(supp); + } cache = checkAddToParams(tc, pin, supp) || cache; } if (sys != null) { // we also have to look at this by version because the resource might not be versioned or we might not have a copy for (CodeSystem supp : codeSystems.getSupplements(sys)) { - opCtxt.seeSupplement(supp); + + if (opCtxt != null) { + opCtxt.seeSupplement(supp); + } cache = checkAddToParams(tc, pin, supp) || cache; } if (!sys.contains("!")) { sys = getFixedVersion(sys, pin); if (sys != null) { for (CodeSystem supp : codeSystems.getSupplements(sys)) { - opCtxt.seeSupplement(supp); + if (opCtxt != null) { + opCtxt.seeSupplement(supp); + } cache = checkAddToParams(tc, pin, supp) || cache; } }