You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
The validation of coding within a ValueSet that has "filter" section returns true even though it should be false.
To Reproduce
Steps to reproduce the behavior:
Validate the coding with system("myUrl/common/caresocial/CodeSystem/FSIII") and code("I9.1") within a ValueSet("http://myUrl/vs/conditions").
You can find attached the jsons representing the CodeSystem and the ValueSet.
Expected behavior
The validation result is false
Actual outcome is true
Environment (please complete the following information):
HAPI FHIR Version: 6.2.1
Additional context
It seems there is no "filter" support
(please check how the "filter section" is defined in the attached jsons for the ValueSet & Codesystem )
The problem starts with this:
InMemoryTerminologyServerValidationSupport, line 903
if (theInclude.getConcept().isEmpty()) {
wantCodes = null;
}
In method "addCodes" (called after the condition above) the "codeFilter" variable is null and this gets to add all the codes within the CodeSystem to the list that checks if the wanted code matches codes within this list.
Because the list ends up containing all the codes, and the code being validated is part of the code system , the result of the validation gets to be true.
However, the code is NOT part of the ValueSet, so the validation result should actually be false.
Describe the bug
The validation of coding within a ValueSet that has "filter" section returns true even though it should be false.
To Reproduce
Steps to reproduce the behavior:
Validate the coding with system("myUrl/common/caresocial/CodeSystem/FSIII") and code("I9.1") within a ValueSet("http://myUrl/vs/conditions").
You can find attached the jsons representing the CodeSystem and the ValueSet.
simple_CS.json
simple_VS.json
Expected behavior
The validation result is false
Actual outcome is true
Environment (please complete the following information):
Additional context
It seems there is no "filter" support
(please check how the "filter section" is defined in the attached jsons for the ValueSet & Codesystem )
The problem starts with this:
InMemoryTerminologyServerValidationSupport, line 903
In method "addCodes" (called after the condition above) the "codeFilter" variable is null and this gets to add all the codes within the CodeSystem to the list that checks if the wanted code matches codes within this list.
Because the list ends up containing all the codes, and the code being validated is part of the code system , the result of the validation gets to be true.
However, the code is NOT part of the ValueSet, so the validation result should actually be false.
This is the stacktrace:
expandValueSetR5IncludeOrExclude:1075, InMemoryTerminologyServerValidationSupport (org.hl7.fhir.common.hapi.validation.support)
expandValueSetR5IncludeOrExcludes:824, InMemoryTerminologyServerValidationSupport (org.hl7.fhir.common.hapi.validation.support)
expandValueSetR5IncludeOrExcludes:810, InMemoryTerminologyServerValidationSupport (org.hl7.fhir.common.hapi.validation.support)
expandValueSetR5:754, InMemoryTerminologyServerValidationSupport (org.hl7.fhir.common.hapi.validation.support)
expandValueSetR4:723, InMemoryTerminologyServerValidationSupport (org.hl7.fhir.common.hapi.validation.support)
expandValueSetToCanonical:208, InMemoryTerminologyServerValidationSupport (org.hl7.fhir.common.hapi.validation.support)
expandValueSet:128, InMemoryTerminologyServerValidationSupport (org.hl7.fhir.common.hapi.validation.support)
validateCode:378, InMemoryTerminologyServerValidationSupport (org.hl7.fhir.common.hapi.validation.support)
validateCode:321, ValidationSupportChain (org.hl7.fhir.common.hapi.validation.support)
validateCode:83, BaseValidationSupportWrapper (org.hl7.fhir.common.hapi.validation.support)
lambda$validateCode$9:165, EHealthCachingValidationSupport (com.systematic.ehealth.validation)
apply:-1, EHealthCachingValidationSupport$$Lambda$2303/0x00007fc3d446b128 (com.systematic.ehealth.validation)
lambda$loadFromCache$16:214, EHealthCachingValidationSupport (com.systematic.ehealth.validation)
apply:-1, EHealthCachingValidationSupport$$Lambda$2202/0x00007fc3d4344858 (com.systematic.ehealth.validation)
lambda$statsAware$0:139, LocalCache (com.github.benmanes.caffeine.cache)
apply:-1, LocalCache$$Lambda$2203/0x00007fc3d4344aa8 (com.github.benmanes.caffeine.cache)
lambda$doComputeIfAbsent$14:2406, BoundedLocalCache (com.github.benmanes.caffeine.cache)
apply:-1, BoundedLocalCache$$Lambda$2204/0x00007fc3d43454f8 (com.github.benmanes.caffeine.cache)
compute:1916, ConcurrentHashMap (java.util.concurrent)
doComputeIfAbsent:2404, BoundedLocalCache (com.github.benmanes.caffeine.cache)
computeIfAbsent:2387, BoundedLocalCache (com.github.benmanes.caffeine.cache)
computeIfAbsent:108, LocalCache (com.github.benmanes.caffeine.cache)
get:62, LocalManualCache (com.github.benmanes.caffeine.cache)
loadFromCache:215, EHealthCachingValidationSupport (com.systematic.ehealth.validation)
validateCode:165, EHealthCachingValidationSupport (com.systematic.ehealth.validation)
validateCode:253, HapiWorkerContext (org.hl7.fhir.r4.hapi.ctx)
validateCode:211, HapiWorkerContext (org.hl7.fhir.r4.hapi.ctx)
The text was updated successfully, but these errors were encountered: