Stream: conformance
Topic: Validating against multiple profiles
Simone Heckmann (Nov 10 2017 at 16:09):
Is there a way to "include" other profiles into a profile? I mean not like derived profile, but assuming that you derive from a national base profile but your profile requires to also be compatible with an IHE profile...
Can I say something like: Instances are only valid to my profile if they also validate against this/these other profile(s)?
Lloyd McKenzie (Nov 10 2017 at 16:15):
You might be able to do it with an invariant, or you could require declaration of the other profile (which would then cause validation to happen against that profile if the validator had access to it). Otherwise no mechanism I can think of.
Simone Heckmann (Nov 10 2017 at 16:44):
How would I be able to tell whether there are conflicts between my profile and the declared profile?
Simone Heckmann (Nov 10 2017 at 20:24):
The only way I came up with is to create the derived profile with Forge, then open the StructureDefinition with an editor, change the base definition to the included/declared profile, re-open in Forge, and see if there's any errors. In theory, I think that should work, but it feels like a "hack".
Grahame Grieve (Nov 10 2017 at 21:27):
yes you can but I haven't pcakaged up the tooling to make it easy without hacking java code et
Lloyd McKenzie (Nov 11 2017 at 11:36):
@Grahame Grieve , how would that manifest in the StructureDefinition?
Grahame Grieve (Nov 12 2017 at 07:18):
well, no directly. There's a tool that you can give a pair of structure definitions, and ask whether instances can be compatible to both, and what profile would be or/and for them
Grahame Grieve (Nov 12 2017 at 07:19):
not sure what a structure definition should actually do
Simone Heckmann (Nov 12 2017 at 11:38):
I my mind (being a Forge user) it should work somehow like this:
I create a new StructureDefinition B based on StructureDefiniton A, then I somehow add the information, that B needs to comply also with C and D.
So whenever I add a constraint, Forge would check if it's compliant with A, C and D otherwise show an error. Same if C or D have required extensions or modifierExtension that are missing in B.
Does that make sense?
Simone Heckmann (Nov 12 2017 at 11:40):
I guess from the technical perspective, Forge would have to "rotate" C and D into the basedOn property and re-validate to see if it still works and report an error if it doesn't.
Simone Heckmann (Nov 12 2017 at 11:48):
I expect vendors having to orchestrate their own system profiles with both national profiles and IHE profiles is going to be a common problem, soon.
Grahame Grieve (Nov 12 2017 at 20:05):
I think that this is how it works with a single derivedFrom now, no?
Simone Heckmann (Nov 12 2017 at 20:58):
Yes, with the issue being "single".
Simone Heckmann (Nov 12 2017 at 21:03):
deleted....wrong thread...
Simone Heckmann (Nov 12 2017 at 21:09):
deleted ...wrong thread...
Simone Heckmann (Nov 15 2017 at 14:02):
We'll have a BoF at DevDays about this. Time and place will follow...
Simone Heckmann (Nov 15 2017 at 14:36):
@Grahame Grieve @Ewout Kramer @Michel Rutten : How about Thu 14:45h ? Are you interested/available?
Lloyd McKenzie (Nov 15 2017 at 14:51):
I'm interested. Then works for me
Grahame Grieve (Nov 15 2017 at 15:21):
yes I'm available
Simone Heckmann (Nov 15 2017 at 16:37):
We have room Oprah from 14:45-15:15 for a "multi profile conformance BoF"
Simone Heckmann (Nov 19 2017 at 12:33):
Added GF#14205 to add standard extension to StructureDefinition as discussed at the DevDays BoF
Last updated: Apr 12 2022 at 19:14 UTC