Stream: implementers
Topic: Slice coding
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?
Michele Mottini (Apr 05 2019 at 10:28):
Isn't that just a Required binding to the national value set ?
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?
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.
Martin Grundberg (Apr 05 2019 at 13:29):
Thanks, I'll try that out and see what happens!
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.
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."
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!
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).
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