Stream: IG creation
Topic: UTG validation issues
Lloyd McKenzie (Feb 04 2022 at 17:46):
I'm getting a couple of messages like this in CRD: The system "General Practice" http://terminology.hl7.org/CodeSystem/service-category was found but did not contain enough information to properly validate the code (mode = example) (from http://tx.fhir.org/r4) for 'http://terminology.hl7.org/CodeSystem/service-category#17'
The code system is clearly in UTG, and the code and display match. What's the problem?
Grahame Grieve (Feb 04 2022 at 18:58):
the content is labelled as a'example'
Lloyd McKenzie (Feb 04 2022 at 19:43):
I don't understand. The content where?
Grahame Grieve (Feb 04 2022 at 19:45):
in that code system
Lloyd McKenzie (Feb 04 2022 at 19:52):
Ah - so the issue is that CodeSystem.content="example" - which is completely nonsensical here. "example" is intended to be used when you're including a CodeSystem instance for some external terminology and are listing a subset of the concepts as examples. In this case, this is an HL7-defined code system that is not subsetting something defined elsewhere. That means the 'example' value shouldn't be used.
In any case, if the code specified in an instance matches an example code, then it's obviously a valid code and there shouldn't be a warning. The only time there should be a warning is if the code isn't in the example set, in which case you'd provide a warning saying "couldn't find it, but I only have access to examples of the possible codes, so it's possible your code is still valid".
Lloyd McKenzie (Feb 04 2022 at 19:53):
I think:
a) the tooling should prohibit any code other than "complete" for code systems with a canonical URL that starts with "hl7.org"
b) the tooling should be revised to only warn about example codes if there's no match
Do you want Git issues for either of these?
I'll submit a change request for the 'example' flag to be fixed on this particular code system.
Grahame Grieve (Feb 04 2022 at 20:12):
you can propose a change to UTG for the fact that it shouldn't be using example - I don't know what the intent is here.
Grahame Grieve (Feb 04 2022 at 20:13):
but the fact that you get a warning for an example code systems - you can propose a change, but that was a policy decided as part of the UTG work, and it's not a 'fix'.
Grahame Grieve (Feb 04 2022 at 20:13):
(a) is also a policy question you can discuss with vocab.
Grahame Grieve (Feb 04 2022 at 20:14):
so you should ask vocab where those issues go
Lloyd McKenzie (Feb 04 2022 at 22:05):
I don't understand - what is the warning warning about? The example codes listed must be a valid code, no? Or do we allow a code system instance to list example codes that aren't even valid codes?
Lloyd McKenzie (Feb 04 2022 at 22:06):
Understand that removing the example flag will be a UTG change request. I'm going to try to make the WG that uses the code system do the work though.
Grahame Grieve (Feb 05 2022 at 09:17):
a code system with example codes (as opposed to an example binding), that means that these codes are just examples of what might be in the code system. It's not even a fragment. So we warn that there's no guarantee that the code is actually valid. Just a warning - it would be an error if the code isn't a defined example
Lloyd McKenzie (Feb 05 2022 at 15:23):
What 'might be' or 'what is'? I don't understand why we would ever list example codes that aren't actual codes...
Lloyd McKenzie (Feb 05 2022 at 15:52):
What's the use-case for allowing that?
Grahame Grieve (Feb 05 2022 at 20:27):
if they're real codes, why isn't it a fragment then?
Lloyd McKenzie (Feb 05 2022 at 21:35):
A fragment is a complete collection of a subset of codes. E.g. "All CA SNOMED codes". An example code system is "here's a representative set of the codes to give you an idea of the kinds of stuff that exists". With a subset, there's a likelihood that, for some uses, the set of codes will be complete. With an example set, there's no likelihood except, perhaps, to ensure that examples in an IG are validatable.
Lloyd McKenzie (Feb 05 2022 at 21:35):
But in both cases, the codes listed are valid codes.
Lloyd McKenzie (Feb 05 2022 at 21:36):
(Making allowance for the possibility that the source of truth might deprecate something and that won't be reflected in a fragment or example instance created before the deprecation took place.)
Grahame Grieve (Feb 06 2022 at 02:54):
in both cases, the codes listed are valid codes
really? on what basis do you say that?
Lloyd McKenzie (Feb 06 2022 at 03:29):
That was the original use-case and there's absolutely no reason for them not to be required to be valid codes. In fact, it's downright dangerous.
Lloyd McKenzie (Feb 06 2022 at 03:34):
Also, there's nothing that says the codes aren't valid, merely that the collection of them isn't "workable" - whatever that means.
Grahame Grieve (Feb 06 2022 at 05:01):
representative concepts does not mean valid concepts. Don't see any point in further discussion - talk to Vocab
Last updated: Apr 12 2022 at 19:14 UTC