Stream: conformance
Topic: Adding default slice in Forge
Simone Heckmann (Dec 29 2017 at 09:53):
How do I add an default slice as per https://www.hl7.org/fhir/profiling.html#default-slice when using forge? Using "@default" as slice name gives me an error:
Message : sliceName must be composed of proper tokens (a-z | A-Z | 0-9 | _ | -) separated by "/"
Id : eld-16
Severity: Warning
Source : Slice name
Context : patient / identifier / @default / Slice name
Or is this even an error in the spec with eld-16 contradicting the above description of how to use default slices...?
Simone Heckmann (Dec 29 2017 at 09:57):
It appears that eld-16 still doesn't allow "@default" as a slice name even in the current build:
http://build.fhir.org/elementdefinition-definitions.html
Simone Heckmann (Jan 03 2018 at 13:51):
Is somebody going to tell me that I'm wrong or do we need a CR?
Lloyd McKenzie (Jan 03 2018 at 16:25):
@Grahame Grieve @Chris Grenz ?
Chris Grenz (Jan 03 2018 at 16:32):
Looks like we need a CR for eld-16. @default is a reserved sliceName.
Lloyd McKenzie (Jan 03 2018 at 17:07):
Can one of you submit one
Simone Heckmann (Jan 04 2018 at 15:47):
Michel Rutten (Jan 08 2018 at 10:50):
Indeed, Forge has no special logic concerning "@default" slice, however this slice name currently this triggers eld-16. Once the invariant is fixed, I can update Forge. Possibly add some custom UI support, e.g. "Add default slice" command.
Ewout Kramer (Jan 09 2018 at 16:34):
I always thought @default was an R4 thing ;-) Oops...my .NET validator does not support it yet!
Michel Rutten (Jan 09 2018 at 17:51):
[Edit] I'm actually a bit surprised myself, but it's defined in the DSTU3 spec:
https://www.hl7.org/fhir/profiling.html#default-slice
Rob Hausam (Jun 13 2018 at 17:58):
We were trying to use it in the IPS IG, and since we moved to R4 I thought it should work now, but it's still giving some errors. With that I've also been wondering if it's even needed or would be useful as opposed to just using open slicing?
Richard Townley-O'Neill (Jun 15 2018 at 01:01):
A default slice allows invarients that conflict with invarients on the other slices.
This cannot be done with invarients on an element with open slicing. Unless you effectivly define the other slices in the invarient - messy.
Simone Heckmann (Jun 15 2018 at 11:31):
IMO, default slice makes perfectly sense.
The slice defines the required identifier for Resource X but it's allowed to add additional identifiers, as long as these have at least a value and a system.
You can't define that without default slices.
Lloyd McKenzie (Jun 15 2018 at 11:37):
You can, but only if you impose those constraints on all your other slices too. A better example might be mandating Identifier.type.text in the default slice. You don't care about that for the specific identifiers whose system you know (enumerated with specific slices), but you want it for everything else.
Simone Heckmann (Jun 15 2018 at 14:46):
...not in Forge. Once you slice an element, you can only constrain the individual slices, but not the element itself.
Lloyd McKenzie (Jun 15 2018 at 15:04):
Yeah, that needs to be fixed
Michel Rutten (Jun 17 2018 at 11:04):
Correct, Forge UI does not support editing default slice constraints (yet). We prioritize features based on user requests and we haven't seen much demand for this until recently.
Last updated: Apr 12 2022 at 19:14 UTC