FHIR Chat · AllergyIntolerance design problem · committers

Stream: committers

Topic: AllergyIntolerance design problem


view this post on Zulip Grahame Grieve (Feb 25 2017 at 00:05):

@Michelle (Moseman) Miller @Lloyd McKenzie @Rob Hausam AllergyIntolerance has changed from a code to a CodeableConcept with a required binding. Why?

view this post on Zulip Lloyd McKenzie (Feb 25 2017 at 01:00):

Not sure. I suspect to support translations?

view this post on Zulip Rob Hausam (Feb 25 2017 at 05:23):

It's to support multiple values for category. The data type was changed to CodeableConcept due to trying to follow QA rules. The overall issue arose when biologic was added. At first we had it in a hierarchy, with biologic under medicstion, but not everyone agreed with that and the hierarchy was removed. So now we can have biologics which are medications (thus needing multiple category values), and also some biologics potentiallly which are not considered to be medications. I tried to argue against making the change this way, but lost. I did second the resolution, but I still think that overall this turned out somewhat strange, including having the value set remain as required. This is from GF#11352.

view this post on Zulip Rob Hausam (Feb 25 2017 at 05:29):

And the changes to 'biologic' are in GF#11351.

view this post on Zulip Michelle (Moseman) Miller (Feb 25 2017 at 13:22):

Rob H. is correct. I will elaborate by saying it was the FHIR GA guidelines 4e that talks about the "code" data type, “ensure all codes are mutually exclusive or are defined in a proper hierarchy where siblings are mutually exclusive”. Even without biologic in the mix, there may have been questions about whether bee pollen is food or medicine. @Robert McClure logged both trackers and was most vocal during our discussions. As chair, I was unable to vote, but I did try to ask implementers if their system supported multiple distinct categories -- and I recall Epic and Allscripts both saying they did support multiple categories (whereas Cerner only supports a single category).

view this post on Zulip Grahame Grieve (Feb 25 2017 at 16:31):

but my question is not about the cardinality. It's about the change to codeable concept. If you think that the value set is not a proper set of values, then the data type should not be code, and the binding should not be required.

view this post on Zulip Grahame Grieve (Feb 25 2017 at 16:33):

It's stupid if we right QA rules that are over optimistic, and then produce dumb designs. There's a weird edge case why the build allows required binding on codeable concept, but I think it should not allow it

view this post on Zulip Grahame Grieve (Feb 25 2017 at 16:35):

nor do I follow this sentence: " since the value set binding is required and cardinality is 0..*, the value set is neither mutually exclusive, nor defined in a proper hierarchy"

view this post on Zulip Grahame Grieve (Feb 25 2017 at 16:36):

somehow this seems to imply that cardinality is related to mutually exclusiveness which is related to data type?

view this post on Zulip Grahame Grieve (Feb 25 2017 at 16:45):

and @Lloyd McKenzie it is a problem that the qa criteria say nothing about required bindings

view this post on Zulip Rob Hausam (Feb 25 2017 at 17:36):

Sounds like we agree there is an issue, but it's not entirely clear to me at the moment based on this discussion what we should do (presumably in the future) to resolve it.

view this post on Zulip Grahame Grieve (Feb 25 2017 at 17:40):

sigh. I guess it's too late. it's just that we shouldn't have required bindings to CodeableConcepts

view this post on Zulip Michelle (Moseman) Miller (Feb 25 2017 at 19:57):

Yes, it started with cardinality (changing to 0..*), which then implied that the codes weren't mutually exclusive if a given allergen/substance could fall into multiple categories defined in the value set. We didn't think we could use the code data type due to the QA 4e (mutual exclusivity is required when using codes).

I don't mind revisiting this, but I'd like to confirm all of the following options are acceptable....
A) 0..1 code data type with required binding (like DSTU2)
B) 0..* CodeableConcept with preferred binding (relax binding)
C) 0..* code data type with required binding (assuming QA 4e is updated)

view this post on Zulip Lloyd McKenzie (Feb 25 2017 at 20:10):

It's legitimate to have a required binding for a CodeableConcept - it means that translations are expected/necessary but it's reasonable to expect the world to at least send a single code.

view this post on Zulip Lloyd McKenzie (Feb 25 2017 at 20:11):

If we wanted to allow multiples, the correct solution here would be to make it 0..* code

view this post on Zulip Lloyd McKenzie (Feb 25 2017 at 20:11):

It's not legitimate to say that Biological and Drug are two translations of the same category.

view this post on Zulip Michelle (Moseman) Miller (Feb 25 2017 at 20:29):

Side note: I believe Argonaut profiles have required bindings for CodeableConcept elements (e.g. Patient.martialStatus) - albeit 0..1.
I think the current intent with 0..* CodeableConcept with required binding was to allow bee pollen (for example) to have 2 distinct categories, such that the first CodeableConcept could have translations/codings for both SNOMED Food and the FHIR defined food code and then the second CodeableConcept could have translations/codings for both SNOMED Drug and the FHIR defined medication code.

view this post on Zulip Grahame Grieve (Feb 25 2017 at 20:29):

I think that 'mutually exclusive' is misleading then. we have other places code 0..*, and that makes sense. Clearly differentiated might be a better thing to say

view this post on Zulip Grahame Grieve (Feb 25 2017 at 20:30):

options a-c are all ok

view this post on Zulip Grahame Grieve (Feb 25 2017 at 20:31):

I think that Lloyd's case for a required binding for CodeableConcept is very much a corner case. I cannot understand why a committee would decide that translations would be expected or necessary, and also decide that a binding would also be required.

view this post on Zulip Grahame Grieve (Feb 25 2017 at 20:32):

required bindings on codeable concepts in profiles are inevitable and make sense

view this post on Zulip Grahame Grieve (Feb 25 2017 at 20:32):

I don't think that it makes sense to have a required binding, and to cater for snomed codes as well; it would be better to map the fixed codes to snomed, so that the snomed codes are known, but not explicit.

view this post on Zulip Grahame Grieve (Feb 25 2017 at 20:33):

if it turns that there are multiple snomed codes for each of the categories... I don't think that make sense at all then

view this post on Zulip Michelle (Moseman) Miller (Feb 25 2017 at 20:38):

I can take that feedback back to PC. I think the desire with having the required binding to FHIR-defined codes was due to the common use case to search by category (e.g. get all medication allergies). I can recommend option C (i.e. 0..* code required binding) and we'll see if there is anyone who advocates they want/need the SNOMED translations. I'll keep you posted.

view this post on Zulip Grahame Grieve (Feb 25 2017 at 20:39):

ok thanks

view this post on Zulip Rob Hausam (Feb 25 2017 at 20:44):

I'm not sure if the SNOMED CT translations are especially useful, but I am curious if there are implementers that are happy with (and prefer) using that particular set of codes for category - and no others.

view this post on Zulip Michelle (Moseman) Miller (Feb 25 2017 at 20:46):

We discussed this live in one of our Jan WGM quarters, and I thought there were some supporters for using SNOMED (possibly from VA if I remember correctly?)

view this post on Zulip Rob Hausam (Feb 25 2017 at 20:51):

I probably wasn't there for that discussion - I definitely missed the allergy quarter on Wed. Q4 when I was teaching.

view this post on Zulip Grahame Grieve (Feb 25 2017 at 21:06):

the question is whether the justification for using SCT directly - rather than by mapping - is enough to impose the costs of dealing with multiple codes etc on all implementers.

view this post on Zulip Rob Hausam (Feb 25 2017 at 21:06):

Looks like the discussion and vote on GF#11351 was Tues. Q4 (which I also wasn't there for). It's interesting that the minutes document "Recommendation that this should be relaxed from being a required valueSet", whereas the resolution for 11351 documented in the tracker says otherwise (that it should remain as required).

view this post on Zulip Grahame Grieve (Feb 25 2017 at 21:07):

and, in fact, if you're wanting to use SCT only, and you change from code to CodeableConcept, you just increased your own costs as well as everyone else

view this post on Zulip Grahame Grieve (Feb 25 2017 at 21:07):

that was an option, not the actual recommendation. Fooled me first time I read it too

view this post on Zulip Rob Hausam (Feb 25 2017 at 21:09):

in the minutes, that's all of the text that is there (maybe the minutes are just incomplete?)
the tracker has it listed as one of the options, as you said

view this post on Zulip Grahame Grieve (Feb 25 2017 at 21:10):

ah ok

view this post on Zulip Michelle (Moseman) Miller (Feb 25 2017 at 21:31):

Correct. The wiki minutes are severely lacking (probably since the scribe knew I was projecting and taking minutes within the tracker item directly).

view this post on Zulip Michelle (Moseman) Miller (Mar 02 2017 at 23:35):

@Grahame Grieve PC voted on GF#12942 to change the AllergyIntolerance.category back to a code data type (keeping it 0..* and required binding). The million dollar question is whether you would like that change applied during the STU3 QA period or wait until R4?
CC: @Lloyd McKenzie , @Rob Hausam

view this post on Zulip Grahame Grieve (Mar 02 2017 at 23:39):

I'd like it applied for STU 3

view this post on Zulip Rob Hausam (Mar 03 2017 at 04:26):

So it is OK to go ahead and apply this now?

view this post on Zulip Grahame Grieve (Mar 03 2017 at 04:55):

well, same process as for any other substantiative change right now - send me a patch. I'm going to make a round of substantiative changes on sunday evening

view this post on Zulip Grahame Grieve (Mar 03 2017 at 04:55):

I think

view this post on Zulip Rob Hausam (Mar 03 2017 at 04:56):

ok - right

view this post on Zulip Grahame Grieve (Mar 03 2017 at 04:56):

and it needs FMG approval too, I think

view this post on Zulip Michelle (Moseman) Miller (Mar 03 2017 at 10:53):

FYI, I sent FMG the email last night.


Last updated: Apr 12 2022 at 19:14 UTC