Stream: terminology
Topic: Dealing with value sets with an intrinsic ordering
Morten Ernebjerg (Aug 28 2020 at 12:10):
We are planning to use the value set given by LOINC LL2335-9 (Numeric rating scale from 0-10 / Score of 0-10) for collecting questionnaire answers about reported pain levels (cf. LOINC 72514-3 (Pain severity - 0-10 verbal numeric rating [Score] - Reported) for which it is the associated answer set). This gives a nice standard encoding, but on the client side it leads to some added complexity. Specifically, is hard to tell that a code from this set actually represents a number that can e.g. be mapped to a 0-10 scale for display.
Does anyone have experience with/general advice on working with such "crypto-numeric" value sets and communicating their numeric nature? Specifically, here are the questions I am wondering about (apologies for the vagueness, my own thoughts on this are still nebulous!):
- Now that the suitable codes are available, my instinct was to use them. But are there good arguments for simply making the answer type for the relevant questions "integer" even if the LOINC code for the questions (say, LOINC 72514-3) has LL2335-9 as the official set of answers?
- For now, we are looking at using the questionnaire-itemcontrol to signal that the answer from a particular choice-type question should be rendered by a UI item that understands the numeric nature (including the ordering of codes). But that pushes all the logic to the client. Are there other approaches to making the ordering this more explicit in the resources, e.g. by using the Questionnaire maxValue/minValue extensions (or maybe an extension on ValueSet)? Or using the ordering of the codes in the value set expansion? (If I read it right, the spec states that the list of codes in a value set expansion is actually considered ordered: "Note that the expansion structure is inherently ordered; this specification does not fix the meaning of use of the order. ")
Rob Hausam (Aug 28 2020 at 13:09):
@Morten Ernebjerg I think you are looking for the ordinal value extension? You can use it in CodeSystem.concept and ValueSet.compose.include.concept (as well as Coding and Questionnaire.item.answerOption, if needed). I'm not sure that there is any way to use it (or anything else) to order the codes in a value set expansion (I haven't really explored that), but it seems that it could help with a lot of what you want.
Morten Ernebjerg (Aug 28 2020 at 20:25):
@Rob Hausam ah, excellent, I'd missed that! - that would indeed cover some important parts of our use case. But is there any way to use this with a pre-defined value set like LOINC LL2335-9 (0-10 scale) that does not contain the extension out of the box? E.g. is there something similar to how code system supplements allows supplying translations for existing code systems?
Rob Hausam (Aug 28 2020 at 20:39):
When you say "pre-defined value set", do you mean in this case the values of the LOINC answer list? Or are you referring to a particular ValueSet resource instance (e.g. from fhir.loinc.org) that is defined based on that code list? If it's the set of LOINC codes itself that you care about, could you not create a ValueSet resource instance yourself with a definition of that set of codes that also includes the ordinal value extension?
Rob Hausam (Aug 28 2020 at 20:54):
You can start with the definition in 'compose' as here for LL2335-9 and add the extension with the appropriate value for each repetition of 'concept'.
Morten Ernebjerg (Aug 29 2020 at 19:13):
Yes indeed, I was referring to the ValueSet with the canonical http://loinc.org/vs/LL2335-9 . I suppose I was under the impression than since this exists as a LOINC answers set with a canonical URL, it would not be best practice to define an identical ValueSet (with a different canonical) that differs only by the presence of extensions. Hence, I was wondering if there would be some way to just "tack on" the extensions but keep the canonical URL. Or are "parallel value sets" not a problem?
Rob Hausam (Aug 29 2020 at 20:01):
A value set is "a selection of concepts for use in a particular context". So my take is that if, in your context of use, the ordinal value extension is needed and (to your knowledge) a value set with the needed codes and the extension hasn't already been defined, then it is perfectly legitimate to go ahead and create that value set and use it in your application.
Morten Ernebjerg (Aug 30 2020 at 13:48):
OK, perfect - thanks. @Rob Hausam!
Michael Lawley (Sep 03 2020 at 05:13):
I would think that such implicitly defined LOINC ValueSets should also include the ordinal extension?
Jim Steel (Sep 03 2020 at 05:23):
Last time I looked at LOINC answers in the distribution, the ordering was difficult (the same answer list could be ordered differently for different terms, IIRC). It's been a while, though
Morten Ernebjerg (Sep 03 2020 at 07:22):
@Michael Lawley Unfortunately, that does not seem to be case for the ValueSets served by the central LOINC server (which is where the answer set canonicals takes you). E.g it is not on the scale I mention, http://loinc.org/vs/LL2335-9 --> resolves to https://fhir.loinc.org/ValueSet/LL2335-9.
Rob Hausam (Sep 03 2020 at 12:39):
That's something that Regenstrief hasn't implemented for those value sets, but we can suggest to them that they should consider doing that. @Swapna Abhyankar?
Swapna Abhyankar (Sep 04 2020 at 01:53):
LOINC Answer lists include a sequence number for each of the answer strings in a particular list. The AnswerList .csv download file includes this field (see the AnswerFileReadme for the details), but it looks like it's not implemented in the FHIR TS, or at least not visibly so. Is it possible that it's implemented on the backend, which is why the answer strings show up in the correct order when you look at https://fhir.loinc.org/ValueSet/LL2335-9, but just not displayed? (Sorry, FHIR newbie here).
Last updated: Apr 12 2022 at 19:14 UTC