FHIR Chat · Forge: Conflicts between a slice and a profile · implementers

Stream: implementers

Topic: Forge: Conflicts between a slice and a profile


view this post on Zulip Brian Reinhold (Apr 12 2017 at 12:45):

I have sliced a value[x] element in an Observation and selected a slice to be a valueQuantity and given it a profile URI to a PhdQuantity. However, in the slice itself I am left with all the sub-elements of the valueQuantity and these are already defined in the PhdQuantity profile. The default settings in the slice are not consistent with the PhdQuantity profile especially with respect to the cardinality. I am not sure how to handle that situation. Should I match cardinalities at least and leave further description to the profile? I would think this conflict would be confusing to the user.

I suppose I could get rid of the PhdQuantity profile but I would like to reuse this profile for cases in the Observation.component elements when it happens.

view this post on Zulip Michel Rutten (Apr 12 2017 at 13:05):

@Brian Reinhold when you constrain an element type, you can also specify a custom profile uri (in textbox right next to the type code). So in your case, you can constrain a specific slice to type "Quantity" and also constraint the type profile to "PhdQuantity". Forge will then merge the constraints from the external type profile.

view this post on Zulip Brian Reinhold (Apr 12 2017 at 13:22):

So what you are saying is that I should leave the sub fields in the StructureDefinition alone and when viewed in Simplifier, for example, I will see only the valueQuantity as defined by the PhdQuantity. Is that correct? Of course I could just try it and find out!

view this post on Zulip Michel Rutten (Apr 12 2017 at 13:28):

If a profile element has e.g. type Quantity, then you can further constrain that element by referencing a custom profile on the Quantity datatype, in your case PhdQuantity. The constraints defined by PhdQuantity override the constraints on the core Identifier type. These PhdQuantity constraints are then (recursively) merged onto the valueQuantity slice in you Observation profile.

view this post on Zulip Michel Rutten (Apr 12 2017 at 13:28):

You may have to reload the profile in Forge to force expansion of the custom type profile.

view this post on Zulip Brian Reinhold (Apr 12 2017 at 13:30):

That brings up another question. How do I save a session? Right now I have to individually open each of my profile xml files when I open Forge. Is there a way to save a session?

view this post on Zulip Michel Rutten (Apr 12 2017 at 13:37):

You can create an ImplementationGuide resource and add a Package component. If you select the package node and open some profiles, then Forge will add profile references to the parent package. Now you can save and close the IG resource. If you re-open the IG, Forge will try to load all profiles referenced by the package(s).
Note that we are planning to completely replace the current Session Explorer in Forge with a new file/folder-based approach. The associated logic is a bit outdated and will eventually be phased out.


Last updated: Apr 12 2022 at 19:14 UTC