Stream: terminology
Topic: Max ValueSet
Grahame Grieve (Jun 17 2019 at 20:29):
hey - a question from FHIR-I. The definition of the FHIR maxValueSet extension says:
The maximum allowable value set, for use when the binding strength is 'extensible' or 'preferred'. This value set is the value set from which additional codes can be taken from. This defines a 'required' binding over the top of the extensible binding
Grahame Grieve (Jun 17 2019 at 20:30):
this has the intriguing consquence that the max value set does not need to include codes in the binding, if the binding is extensible
Grahame Grieve (Jun 17 2019 at 20:30):
Is this what Vocab intended?
Grahame Grieve (Jun 17 2019 at 20:32):
also, on the subject of max binding, we (FHIR-I) are referring GF#20622 to Vocab
Grahame Grieve (Jun 17 2019 at 20:32):
- is using just text and not a code ok if you have a max binding?
Eric Haas (Jun 17 2019 at 22:12):
If not , then how do you say "these codes only or text"?
Lloyd McKenzie (Jun 18 2019 at 00:09):
Right now, if you want to say these codes only or text, you need an invariant. There's no way to say it with the maxValueSet as defined - and furthermore if we change that definition, we'll break other uses of the maxValueSet extension.
Grahame Grieve (Jun 18 2019 at 00:09):
what other uses are those?
Lloyd McKenzie (Jun 18 2019 at 00:09):
Language codes.
Grahame Grieve (Jun 18 2019 at 00:09):
won't break them since text is not allowed anyway
Lloyd McKenzie (Jun 18 2019 at 00:09):
Everywhere?
Grahame Grieve (Jun 18 2019 at 00:10):
well, no, actually. What I said is true for Resource.language but not for Patient.communication.language
Michael Lawley (Jun 18 2019 at 00:11):
Can someone explain why maxValueSet is optional?
Grahame Grieve (Jun 18 2019 at 00:11):
but check this in the defnition:
Grahame Grieve (Jun 18 2019 at 00:11):
However not all systems actually code this but instead have it as free text
Grahame Grieve (Jun 18 2019 at 00:11):
so at least here, maxValueSet is understood as allowing text
Grahame Grieve (Jun 18 2019 at 00:12):
@Michael Lawley as opposed to what?
Michael Lawley (Jun 18 2019 at 00:13):
Ah, ignore me - I was misunderstanding the "Summary" rendering.
Michael Lawley (Jun 18 2019 at 00:16):
If you want to rule out text with maxValueSet, why not just profile it away separately?
Grahame Grieve (Jun 18 2019 at 00:16):
that's an option, yes
Lloyd McKenzie (Jun 18 2019 at 00:17):
ClaimResponse.processNote.language, ExplanationOfBeneifit.processNote.language, HealthcareService.communication, Patient.communication.language, RelatedPerson.communication.language, Practitioner.communication
Lloyd McKenzie (Jun 18 2019 at 00:19):
Part of the problem is we define maxValueSet using the term "required binding" - because that has the semantics we mainly want. However, with a required binding you can't have just text. So we'd need to modify that language to allow text. And then we'd have to confirm that free text was actually what was desired in all of the language locations listed above.
Grahame Grieve (Jun 18 2019 at 00:19):
and do the definitions jump either way on text? (like the patient one does)
Grahame Grieve (Jun 18 2019 at 00:19):
right. we have to resolve this one way or another
Lloyd McKenzie (Jun 18 2019 at 00:20):
For Patient/RelatedPerson/Practitioner yes. For ClaimResponse, EOB and HealthcareService, no
Lloyd McKenzie (Jun 18 2019 at 00:21):
I expect for the latter 3 - and in particular the FM ones, the intention is that they be computable. There's no real good reason to allow text in those cases.
Grahame Grieve (Jun 18 2019 at 00:22):
... legacy for healthcare service, maybe
Josh Mandel (Jun 20 2019 at 15:15):
I also added GF#22725 to see if we can get better documentation of the expected behavior when multiple Codings are present in an instance. (I think there is an intended behavior already, but I'm not sure what it is :-))
Last updated: Apr 12 2022 at 19:14 UTC