Stream: shorthand
Topic: Problem with slicing
Michael Sauer (May 11 2020 at 18:48):
I try to do some slicing using fsh:
- serviceCategory ^slicing.discriminator.type = #value
- serviceCategory ^slicing.discriminator.path = "coding.system"
-
serviceCategory ^slicing.rules = #open
-
serviceCategory contains
Kostenstelle 0..1 and
Funktionsbereich 0..1 -
serviceCategory[Kostenstelle].coding.system = "http://fhir.uniklinik-freiburg.de/ig/appointment/CodeSystem/UkfKostenstellenCS"
-
serviceCategory[Kostenstelle].coding.code from UkfKostenstellenVS (example)
-
serviceCategory[Funktionsbereich].coding.system = "http://fhir.uniklinik-freiburg.de/ig/appointment/CodeSystem/UkfFktbereicheTPCS"
- serviceCategory[Funktionsbereich].coding.code from UkfFktbereicheTPVS (example)
In the example I use:
- serviceCategory[Funktionsbereich].coding.code = #757
- serviceCategory[Funktionsbereich].text = "Chirurgie CT"
sushi compliles this with no error.
The quality-report from IG-Publisher said:
Appointment/Patiententermin: Appointment.serviceCategory[0] (l10/c6) error Nicht unterstützter fixed Pattern Type für Diskriminator(coding.system) für Slice Appointment.serviceCategory:Kostenstelle: org.hl7.fhir.r5.model.UriType
Appointment/Patiententermin: Appointment.serviceCategory[1] (l19/c6) error Nicht unterstützter fixed Pattern Type für Diskriminator(coding.system) für Slice Appointment.serviceCategory:Kostenstelle: org.hl7.fhir.r5.model.UriType
Appointment/Patiententermin: Appointment.serviceCategory[0] (l10/c6) error Nicht unterstützter fixed Pattern Type für Diskriminator(coding.system) für Slice Appointment.serviceCategory:Funktionsbereich: org.hl7.fhir.r5.model.UriType
Appointment/Patiententermin: Appointment.serviceCategory[1] (l19/c6) error Nicht unterstützter fixed Pattern Type für Diskriminator(coding.system) für Slice Appointment.serviceCategory:Funktionsbereich: org.hl7.fhir.r5.model.UriType
<<<<
I don't have any more idea, where's the problem. Can anybody help me?
Thank you very much!
Michael
David Hay (May 11 2020 at 19:07):
you could try:
serviceCategory[Kostenstelle].coding.system = "http://fhir.uniklinik-freiburg.de/ig/appointment/CodeSystem/UkfKostenstellenCS" (exactly)
ryan moehrke (May 11 2020 at 19:28):
I had a similar problem with valueCoding (if I'm reading your issue correctly) where I couldn't define a fixed system for the slice, but looking at other implementations that did similar, they actually had a binding to a valueset and only included codes from the one system in the valueset.
I don't know if that would work for your usecase but it worked for me.
Michael Sauer (May 11 2020 at 19:39):
@David Hay didn't work. I tried this before.
I think the problem is maybe, that coding is 0..* in serviceCategory
Michael Sauer (May 11 2020 at 19:48):
@ryan moehrke In my case, I need different value sets depending from the system. So that wouldn't help. Thank you for the idea.
Nick Freiter (May 11 2020 at 20:24):
Based on the error message from the IG Publisher, it seems like this could be related to some of the issues users were having in this thread: https://chat.fhir.org/#narrow/stream/179252-IG-creation/topic/New.20validation.20error.20.22Unsupported.20fixed.20pattern.20type.2E.2E.2E.22.
Some pattern types are not supported by the IG Publisher, and perhaps uri
is one of those types? This seems to be the issue, but I'm not totally sure, because if this is what is causing your issue, I would have expected the solution suggested by @David Hay to work. Is there a similar error from the IG Publisher when the (exactly)
keyword is used? Or is there an error from SUSHI in that case?
David Hay (May 11 2020 at 20:31):
How about: serviceCategory ^slicing.discriminator.path = "coding.system" => serviceCategory ^slicing.discriminator.path = "system"
and does changing the discriminator type to 'pattern' help?
Etienne Cantineau (May 12 2020 at 06:23):
I had the same problem with all my slicing and solved as David says by adding (exactly) at every fixed system.
Michael Sauer (May 12 2020 at 15:10):
Thank you all for your support! All together you brougth me on the right way.
I had mixed up some things:
serviceCategory[Kostenstelle].coding.system = "http://fhir.uniklinik-freiburg.de/ig/appointment/CodeSystem/UkfKostenstellenCS" (exactly)
worked with ig-publisher. I had tested it with SMILE-CDR and there it doesn't work.
But with the advice of Nick I changed the type of from "uri" to "string" and: now it works! :-)
Last updated: Apr 12 2022 at 19:14 UTC