FHIR Chat · mixing profiles · IG creation

Stream: IG creation

Topic: mixing profiles


view this post on Zulip Eric Haas (Aug 25 2021 at 16:07):

Instead of inherenting 2 profile ( e.g. Profile X based on Profile Y) can you simply declare 2 profiles that both inherit from same base profile?

I am thinking of "decorating" any Observation profile with a Argo Write profile that defines these things

Argo Write Elements

Argo Write Element Mandatory (min=1) Must Support
patent-submitted tag + +
gateway extension - :question:
modality extension - :question:
.basedOn - :question:
Observation.device - :question:
Observation.perfomer - :question:

view this post on Zulip Eric Haas (Aug 25 2021 at 16:17):

Assuming two profiles are compatible. Instead of creating a bunch of new profiles I am assuming these profiles can be mixed together.

How does the validator handle this - does it validate against both profile x and profile y?

view this post on Zulip Lloyd McKenzie (Aug 25 2021 at 16:25):

We generally discourage mandating the declaration of profiles in instances as it means that systems that would otherwise be conformant wouldn't be - just because they didn't declare the profile. It also raises the risk of systems hardcoding the declaration and not removing it/checking it when future evolution of the interface becomes non-conformant with the profile.

What you could do is declare an invariant that says conformsTo('some-profile-url'). The validator would check it. Only downside is that if it fails validation, I think all you'd get out would be that the invariant failed, not why.

view this post on Zulip Eric Haas (Aug 25 2021 at 16:52):

I am not advocating for declaring profiles in the instance. I am asking about the validation behavior? Can it be instructed to validate against profile x and y (assuming yes).

view this post on Zulip Grahame Grieve (Aug 25 2021 at 19:11):

are you asking about the validator or the IG publisher?

view this post on Zulip Lloyd McKenzie (Aug 25 2021 at 19:18):

I'm not totally sure where you're planning to expose the profile(s) you're wanting to validate against. If you mean "exampleOf" within an ImplementationGuide, I vaguely recall that we agreed to change that to allow repetitions, but I'm not certain. Pretty sure it's not supported yet at any rate.

view this post on Zulip Eric Haas (Aug 25 2021 at 20:44):

Grahame Grieve said:

are you asking about the validator or the IG publisher?

both

view this post on Zulip Eric Haas (Aug 25 2021 at 20:46):

so can at least do serial validation using the validation tooling otherwise ( at least for testing )

view this post on Zulip Lloyd McKenzie (Aug 25 2021 at 20:48):

@Eric Haas - where are you planning to declare these profiles?

view this post on Zulip Eric Haas (Aug 25 2021 at 20:54):

Ultimately in an IG

view this post on Zulip Lloyd McKenzie (Aug 25 2021 at 21:16):

Are you wanting to say "If you comply with profile X, you must also comply with profile Y and Z" or are you wanting to say "Example A complies not only with profile B, but also profile C"?

view this post on Zulip Eric Haas (Aug 25 2021 at 22:00):

Example A complies not only with profile B, but also profile C"?

view this post on Zulip Lloyd McKenzie (Aug 25 2021 at 23:43):

There's no support for that right now. FHIR#23965 addresses it, but hasn't been applied yet.


Last updated: Apr 12 2022 at 19:14 UTC