FHIR Chat · Slice coding · implementers

Stream: implementers

Topic: Slice coding


view this post on Zulip Martin Grundberg (Apr 05 2019 at 10:01):

Our requirement is this:
A patient can have many Contacts, each Contact can have one or several Relationship. In Sweden we have a national valueSet of relationship types which are all Snomed CT codes.

Question
How do we slice relationship.coding so that:
- One slice is always a snomed code from the national value set
-The rest of the codes can be from any code system, including Snomed ct (could be a more specific Snomed code than from the national valueSet, or it could even be the same Snomed code that is contained in the national value set)

We have only done slicing with the discriminator System before, what is the discriminator for this use case?

view this post on Zulip Michele Mottini (Apr 05 2019 at 10:28):

Isn't that just a Required binding to the national value set ?

view this post on Zulip Martin Grundberg (Apr 05 2019 at 11:11):

Maybe, but how do we then say e.g. that you need 1..1 coding from that value set (that slice)? And that you also can provide any number of additional codes from other code systems?

view this post on Zulip Chris Moesel (Apr 05 2019 at 12:15):

I think you slice the Coding like normal for the 1..1 coding from your VS (in your case, since you're using a required VS, probably value discriminator on system and code -- and when you define the slice, set card to 1..1 and bind to required VS) -- and then ensure that the slicing rule is open to allow any additional Codings outside of the VS.

view this post on Zulip Martin Grundberg (Apr 05 2019 at 13:29):

Thanks, I'll try that out and see what happens!

view this post on Zulip Lloyd McKenzie (Apr 05 2019 at 14:55):

When you have a required or extensible binding on a CodeableConcept, that implicitly creates a slice saying that one of the codings needs to adhere to that binding. You only need to mess around with slicing if you need to specify multiple bindings.

view this post on Zulip Chris Moesel (Apr 05 2019 at 15:51):

Ha. You're right. I was so focused on the slicing question that I forgot to step back and think about it at the higher level. If you had 0.* Coding outside of the context of a CodeableConcept -- then you'd need to slice -- but within a CodeableConcept the required VS is essentially saying "at least one Coding from here."

view this post on Zulip Chris Moesel (Apr 05 2019 at 15:52):

@Michele Mottini said it, but I didn't process it for some reason (and it sounds like @Martin Grundberg didn't either). Sorry for leading you astray with a more complicated solution, Martin!

view this post on Zulip Chris Moesel (Apr 05 2019 at 15:54):

Now... if you really want to slice the 0..* CodeableConcept, then that's a different issue (and more like what I initially suggested).

view this post on Zulip Martin Grundberg (Apr 08 2019 at 07:27):

Easier than I thought then! Thx @Lloyd McKenzie , @Chris Moesel


Last updated: Apr 12 2022 at 19:14 UTC