Stream: implementers
Topic: validator jar with IG with valueset
Robin Bosman (Jul 24 2020 at 10:39):
I was testing with the validator jar against an IG on my machine that contains a Valueset (that only exists in that IG)
The Valueset only contains an 'include' of a codesystem (a codesystem that only exists in that IG)
In other words: when I look at the Valueset in the visualised IG, I see the values of that codesystem nicely shown under the Expansion - so all is well.
That IG contains a structureDefinition that uses that Valueset.
Problem: when running the validator, using -ig and pointing to the locally stored IG, it works well but it gives the warning: 'The value provided ("<the system of the code>") is not in the value set <the valueset>". It seems to me the validator does not take into account the codes of the codesystem that the Valueset refers to. Is this expected behaviour and/or is there a magic trick to make the validator jar aware of the codes that are supposed to be in the valueset as shown in its expansion?
Lloyd McKenzie (Jul 24 2020 at 11:42):
Is the IG available somewhere it could be tested with?
Robin Bosman (Jul 24 2020 at 11:59):
package.tgz
Bundle-ex01.xml
It is not available on line but I attached it here. The example uses two 2 IG's:one is available on line.
So what I would do is something like this:
java -jar validator_cli.jar Bundle-ex01.xml -version 4.0.1 -ig https://ehealthplatformstandards.github.io -ig C:\...\package.tgz
Lloyd McKenzie (Jul 24 2020 at 12:05):
@Grahame Grieve
Grahame Grieve (Jul 27 2020 at 05:23):
the problem is something quite different to what you were looking for.
Grahame Grieve (Jul 27 2020 at 05:24):
The value provided ("<the system of the code>") is not in the value set <the valueset>
Indeed, the system
is not the code. The problem is here:
Grahame Grieve (Jul 27 2020 at 05:24):
{
"id" : "Claim.item.productOrService.coding.system",
"path" : "Claim.item.productOrService.coding.system",
...
"binding" : {
"strength" : "extensible",
"valueSet" : "http://www.mycarenet.be/fhir/ValueSet/be-beproductorservice"
}
}
Grahame Grieve (Jul 27 2020 at 05:25):
the binding should be on the coding, not on the coding.system
Robin Bosman (Jul 27 2020 at 07:38):
package.tgz
Tx, Graham - indeed that makes sense!
However, using the validator jar, it still warns the coding is not in the valueset just like in my original question.
Grahame Grieve (Jul 27 2020 at 11:00):
what's the exact error message
Robin Bosman (Jul 27 2020 at 12:34):
The Coding provided is not in the value set http://www.mycarenet.be/fhir/ValueSet/be-beproductorservice, and a code should come from this value set unless it has no suitable code. (error message = Not in value set http://www.mycarenet.be/fhir/ValueSet/be-beproductorservice)
Grahame Grieve (Jul 27 2020 at 12:40):
hmm. a new validator is due out in a few hours. Once it's released (watch #tooling/releases ), run it again, and then paste the exact error message here
Robin Bosman (Jul 27 2020 at 15:58):
Warning @ Bundle.entry[9].resource.ofType(Claim).item[0].productOrService.coding[0] (line 344, col21) : The Coding provided (http://www.mycarenet.be/fhir/CodeSystem/nihdi-physiotherapy-pathologysituationcode#fb-51) is not in the value set http://www.mycarenet.be/fhir/ValueSet/be-beproductorservice, and a code should come from this value set unless it has no suitable code. (error message = Not in value set http://www.mycarenet.be/fhir/ValueSet/be-beproductorservice)
Warning @ Bundle.entry[9].resource.item[0].productOrService.coding[0] (line 344, col21) : The Coding provided (http://www.mycarenet.be/fhir/CodeSystem/nihdi-physiotherapy-pathologysituationcode#fb-51) is not in the value set http://www.mycarenet.be/fhir/ValueSet/be-beproductorservice, and a code should come from this value set unless it has no suitable code. (error message = Not in value set http://www.mycarenet.be/fhir/ValueSet/be-beproductorservice)
Grahame Grieve (Jul 27 2020 at 19:45):
it was because the code system was defined as a fragment. One of the checks deep down in the validator's terminology processing forgot to allow for fragments. Fixed next release
Robin Bosman (Jul 28 2020 at 06:59):
Great news & tx for investigating!!
Last updated: Apr 12 2022 at 19:14 UTC