FHIR Chat · slicing by value set · implementers

Stream: implementers

Topic: slicing by value set


view this post on Zulip Eric Haas (Jul 21 2016 at 05:17):

I need to say "must use the core 5 race code and you can also have as many additional race codes as you want as translations all from the same code system. So I am assuming I need to slice the us-core-race extension by 2 differene valuesets that are all derived from the same code system. for this I'll need to use the value set reference extension on coding as a discriminator. Does that sound correct?

view this post on Zulip Grahame Grieve (Jul 21 2016 at 05:18):

no

view this post on Zulip Eric Haas (Jul 21 2016 at 05:18):

good cause that sounded like a lot of work

view this post on Zulip Eric Haas (Jul 21 2016 at 05:19):

how do I slice it?

view this post on Zulip Grahame Grieve (Jul 21 2016 at 05:21):

well, the question is what you want to achieve here

view this post on Zulip Grahame Grieve (Jul 21 2016 at 05:21):

are you saying that you can't have translations from other code systems?

view this post on Zulip Eric Haas (Jul 21 2016 at 05:22):

got 900+ race code all from the same code system , 5 of which need to report, the other 895 you may use

view this post on Zulip Eric Haas (Jul 21 2016 at 05:23):

so first slice required for reporting one of the 5 codes, second slice is optionally for one ot the others

view this post on Zulip Eric Haas (Jul 21 2016 at 05:24):

I have a pair of valuesets for each slice

view this post on Zulip Grahame Grieve (Jul 21 2016 at 05:24):

I think that's a yes

view this post on Zulip Eric Haas (Jul 21 2016 at 05:24):

yes to my original question?

view this post on Zulip Grahame Grieve (Jul 21 2016 at 05:25):

yes "you can't have translations from other code systems"

view this post on Zulip Grahame Grieve (Jul 21 2016 at 05:25):

but I don't think that should be a yes

view this post on Zulip Nagesh Bashyam (Jul 21 2016 at 05:26):

@Eric Browne : Why not have 2 codeable concepts within the race extension
one to report the 5 race codes with the right value set , a second one where they can record as many as they want....using the 0..* coding from the 895+ race codes

view this post on Zulip Nagesh Bashyam (Jul 21 2016 at 05:26):

meant @Eric Haas

view this post on Zulip Nagesh Bashyam (Jul 21 2016 at 05:27):

Is slicing really required for this ?

view this post on Zulip Grahame Grieve (Jul 21 2016 at 05:29):

I'm not sure what rules you're being driven by, but if it was me, this would be a required binding to the 5 codes, and a text note saying that you have translations from the same code system for greater granularity.

view this post on Zulip Eric Haas (Jul 21 2016 at 05:29):

I'm not clear what you are saying - these codes are all from the same code system? the system is heirarchical the other codes all roll up into one of the 5. the translations would be more granular.

view this post on Zulip Grahame Grieve (Jul 21 2016 at 05:29):

or if the answer to my question is yes, just fix the code system as well

view this post on Zulip Eric Haas (Jul 21 2016 at 05:30):

What is the discrimonator?

view this post on Zulip Eric Haas (Jul 21 2016 at 05:30):

What is the discriminator?

view this post on Zulip Grahame Grieve (Jul 21 2016 at 05:31):

don't slce it. just a single CodeableConcept

view this post on Zulip Nagesh Bashyam (Jul 21 2016 at 05:34):

@Grahame Grieve If you use a single codeableconcept - will you bind the element to the value set containing 5 codes or the value set containing the 895+ codes (excluding the 5 aggregate codes) or a valueset with all codes included ?

view this post on Zulip Eric Haas (Jul 21 2016 at 05:34):

Dragon may have something. Does the freeze apply to us race extensions? (i'll post on comitters)

view this post on Zulip Nagesh Bashyam (Jul 21 2016 at 05:36):

For reporting purposes - the 5 aggregate codes are used , for other purposes having more granularity is desirable, so systems may capture only the detailed one and roll it up or may capture only the aggregate or both (multiple)
based on their workflows and UI preferences

view this post on Zulip Lloyd McKenzie (Jul 21 2016 at 05:56):

You have a fixed binding to the 5 codes. As a CodeableConcept, implementers are always free to send as many translations as they like - from any code system, including the one the 5 codes are from. So you don't need to do anything more than that. For greater clarity though, you can add a descriptive note reminding them that they're free to include translations drawing from the same code system that provide greater granularity.

view this post on Zulip Robert McClure (Sep 01 2016 at 20:38):

@ericHass - See I can’t edit in a proper @-mention
While I assume Lloyd is correct (always!) I'm also confused as to why this would not be solved by using two codeableConcepts in the Race Extension wherein one is bound to a value set with only the 5 blessed codes and the other is bound to a value set with all the codes (you might want to make that value set less the blessed 5). You can use terminology service to detemine which granular code rolled up to the blessed 5. This approach is actually doirectly consistent with how C-CDA is doing it and is the way most consistent with the US race coding expectation as defined in the ONC ISA. It is important to note that in the USA you can have multiple race codes but must report one blessed 5 so the approach I've noted makes that easy.

That said, if you want to pack everything into one CodeableConcept then I don't see an advantage to this and you have a MAJOR disadvantage in that you can not properly capture multiple different race codes because use of the translation demands that the translation be another concept meant to represent the main concept provided so you would not be able to use that to communicate multiple different races.

view this post on Zulip Grahame Grieve (Sep 01 2016 at 21:26):

could you have translations on those 2 CodeableConcepts? what would they be?

view this post on Zulip Eric Haas (Sep 01 2016 at 21:29):

@Robert McClure Yes could have sliced it by valueset. But, instead we chose to have all this crazinesslive in the extension as a complex extension. So you have a single extension element in patient that defines it all - two codings, two valuesets. no translations. kind of a deconstructed codeable concept. Will map 1 to 1 to ccda.


Last updated: Apr 12 2022 at 19:14 UTC