Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Coding validation within a ValueSet fails when using "filter" section #6641

Open
roxanamanea06 opened this issue Jan 22, 2025 · 0 comments
Open

Comments

@roxanamanea06
Copy link

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):

  • 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.

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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant