Stream: IG creation
Topic: Create profile that implements two base profiles
Elliot Silver (Aug 30 2020 at 05:43):
Is it possible to create a profile that is has multiple base profiles? For example, a profile on Observation that is based on the US Core Lab Observation but has a separate set of constraints defined in another profile. Are there any examples of this?
Grahame Grieve (Aug 30 2020 at 06:35):
no you can't do that. You can add the constraints manually but not inherit them
Elliot Silver (Aug 30 2020 at 06:42):
What about adding the second one to the profile's base element's type.profile?
Elliot Silver (Aug 30 2020 at 06:56):
I'm looking at Logica's COVID-19 profiles, and want to reuse them in an international context, but they're all derived from US Core profiles. I'm talking with them, and wondering if we can refactor into something like abstract USObservation, InternationalObservation, and LabObservations. From that we can create non-abstract USLabObservation and IntlLabObservations. (Obviously simplifying greatly.)
Are you saying that there's no way to do this other than just duplicating the content?
Grahame Grieve (Aug 30 2020 at 09:11):
I don't think there's a way. but these profiles are orthogonal right - they have totally different concerns?
Oliver Egger (Aug 30 2020 at 12:48):
to align our national constraints in our implementation guide with the IHE conformance profiles we derive it (base) from our national profile and use a conformsTo constraint in the derived profile to the IHE profile, e.g: see http://fhir.ch/ig/ch-epr-mhealth/StructureDefinition-ch-mhd-providedocumentbundle-comprehensive.html, that might be a possible way to workaround multiple inheritance?
Elliot Silver (Aug 30 2020 at 16:45):
Grahame Grieve said:
I don't think there's a way. but these profiles are orthogonal right - they have totally different concerns?
Correct, but I'm looking for a way to ensure an Observation complies with both sets of concerns: the "jurisdictional" requirement, and the "clinical" requirement.
Elliot Silver (Aug 30 2020 at 16:49):
Oliver Egger said:
we derive it (base) from our national profile and use a conformsTo constraint in the derived profile to the IHE profile
So you say, as part of the profiling of the Swiss national MHD Bundle, that your Bundles must claim to conform to the IHE MHD Bundle profile. Hmm, interesting. It doesn't actually force compliance with the IHE MHD Bundle, just a claim of compliance.
Lloyd McKenzie (Aug 30 2020 at 20:00):
If an instance includes a profile declaration, they'll be validated against that profile if it's available. It's non-conformant to declare a profile you're not conformant with.
Oliver Egger (Aug 31 2020 at 06:01):
@Elliot Silver : we force compliance, we use a conformsTo constraint in the swiss profile against the ihe profile to force compliance, so each swiss mhd bundle will be checked during validation that it is conforming also to the ihe profile. (what is not a good way of illustrating it, is that the base ihe profile requires an explicit profile statement, but this independent of the discussion about conformsTo)
Elliot Silver (Aug 31 2020 at 22:34):
Thanks @Lloyd McKenzie , @Oliver Egger .
Jens Villadsen (Feb 08 2021 at 14:28):
@Oliver Egger FYI: https://hapifhir.io/hapi-fhir/docs/validation/repository_validating_interceptor.html#using-the-repository-validating-interceptor
Last updated: Apr 12 2022 at 19:14 UTC