Stream: terminology
Topic: CodeSystem.versionNeeded
Dave Barnet (Sep 19 2019 at 08:01):
For a valueSet that references a codeSystem that is fairly dynamic azn needs to use the version number of the codeSystem, would it be be best practice for the codeSystem to have the versionNeeded flag set to "true". The definition of the versionNeeded flag is "This flag is used to signify that the code system has not (or does not) maintain the definitions, and a version must be specified when referencing this code system" - so the use case is not so much that the codeSystem does not maintain the definitions, its more tthat the codeSystem is dynamic, and a valueSet referencing it should use the codeSystem url & version number.
So the 2 questions I think are
1) can I enforce a valueSet to reference a codeSystem bu url & version number by using the FHIR elements? - if so how?
2) what is the prupose of CodeSystem.versionNeeded? - as its defintion is unclear to me.
Grahame Grieve (Sep 19 2019 at 09:23):
Our view is that it's not necessary to reference the version of the code system unless the meaning of the concepts changes over time. If concepts are stable, they mean the same thing, irrespective of version, and it's not necessary to reference the version in a Coding.
If, however, concepts do or have changed meaning over time, then you need to reference the version so that systems processing the data can know what you mean. So in this case you set versionNeeded = true.
Note that none of that has anything to do with how quickly concepts are added or removed from the code system.
The other reason that people insist on having version in the Coding is actually to do with the way their validation infrastructure works, and a mis-apprehension that somehow saying what the version is allows a validator to do a better job validating (the difference between "the code xxx is unknown' and 'the version of yyy is not supported'), and that this justifies all the expense that adding version creates.
Well, if people want to do that, it's their cost (though mostly the people deciding this can externalise that costs on others). But that doesn't mean that versionNeeded = true in the definition of the code system, since the reason for doing that has nothing to do with the code system.
Grahame Grieve (Sep 19 2019 at 09:25):
Note also that in most real world cases I've seen, it's the selection of codes in the value set that creates actual changes in the meaning of the concepts over time, irrespective of what the code system says
Michael Lawley (Sep 19 2019 at 09:28):
And this effect (meaning skew) tends to be bigger when the ValueSet (expansion) is small
Last updated: Apr 12 2022 at 19:14 UTC