FHIR Chat · required + Extension: minValueSet · terminology

Stream: terminology

Topic: required + Extension: minValueSet


view this post on Zulip Eric Haas (May 09 2018 at 20:38):

I interpret required binding + Extension: minValueSet to mean that you must support the values enumerated in the VS the extension points to, but can extend to the values in the valueset the element points to. Is that correct? here is an example:

            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-minValueSet">
                    <valueUri value="http://fhir.org/guides/argonaut-scheduling/ValueSet/visit-type"/>
                </extension>
                <strength value="required"/>
                <description value="This is the code specifying the precise type of document"/>
                <valueSetReference>
                    <reference value="http://hl7.org/fhir/ValueSet/c80-doc-typecodes"/>
                </valueSetReference>
            </binding>

view this post on Zulip Lloyd McKenzie (May 09 2018 at 20:55):

No. That would be the max value set. The min value set means that systems shall support all of the codes in the minimum value set.

view this post on Zulip Lloyd McKenzie (May 09 2018 at 20:55):

You can think of the regular binding as being mustSupport=unspecified. minValueSet declares mustSupport on that set of codes - so they must be selectable in the UI, etc.

view this post on Zulip Eric Haas (May 10 2018 at 02:15):

So what we are going after is a minimum set of codes with an extensible binding and set of codes you choose from for extending. and open after that. so min = extensible = A,B,C choose to extend from A,B,C,D,E,F first and if not there roll your own....

view this post on Zulip Eric Haas (May 10 2018 at 02:24):

so min + extensible and the regular binding is the whole set?

view this post on Zulip Lloyd McKenzie (May 10 2018 at 09:53):

min and extensible are orthogonal (though min only makes sense if there's a required or extensible binding). If there's a required binding to red, blue, green, white, it's totally fine if your particular server happens to only support red and blue. You're allowed to constrain what the user sees when selecting - or to have business rules around what you're willing to receive. If the min valueSet is "red, green, blue", then you shall allow the user to select any of those 3 colors and be willing to accept, persist, consider in decision support or whatever other mustSupport behavior is defined for that element.

view this post on Zulip Lloyd McKenzie (May 10 2018 at 09:54):

min will always be either the same as the bound value set or narrower. So you'd never have an extensible binding with a min where the min included codes the base value set did not.

view this post on Zulip Eric Haas (May 10 2018 at 17:36):

re: 'min and extensible are orthogonal' what does this mean since "The minimum allowable value set, for use when the binding strength is 'required' or 'extensible'. " I think we need to document this better with these simple examples. but I am still unclear.

view this post on Zulip Eric Haas (May 10 2018 at 17:39):

here is where I am stuck:

  • min =[ a,b,c] +extensible and "regular" binding is [a,b,c] == [a,b,c] is required and you can extend beyond??
  • min = [a,b,c] +extensible and "regular" binding is [a...f]. == [a,b,c] is required and you can extend to [d..f] and beyond??
  • min = [a,b,c ] +required and "regular" binding is [a,b,c] == [a,b,c] is required (like an identity operation)
  • min = [a,b,c] + required and "regular" binding is [a...f]. == [a,b,c] is required and you can extend to [d..f] only ??
  • min = [a,b,c] + required|extensible and "regular" binding is [x..z]. == Invalid!??

Last updated: Apr 12 2022 at 19:14 UTC