FHIR Chat · Forge propagating normative flags · IG creation

Stream: IG creation

Topic: Forge propagating normative flags


view this post on Zulip Lloyd McKenzie (Apr 09 2020 at 16:49):

Forge is now propagating the 'structuredefinition-normative-version' into derived profiles (which is triggering errors because of how the extension is defined). I understand the errors will go away eventually when/if we push a technical correction to R4. However, I want to focus on a different issue:
Are these extensions appropriate to propagate? More specifically, what happens when we start taking profiles normative, but want to note that certain elements (even certain elements within particular slices) are not normative? How will we do that? Should we be asserting the model within which the normative assertion is being made? That's the only convention I can think of given that there's no real mechanism to keep extensions from propagating through derived models

view this post on Zulip Grahame Grieve (Apr 09 2020 at 20:25):

well, isn't it a claim that the profile itself is normative?

view this post on Zulip Lloyd McKenzie (Apr 09 2020 at 20:51):

They show up on elements, not on the overall profile. And they get inherited in the derivation process

view this post on Zulip Grahame Grieve (Apr 09 2020 at 20:53):

so are they claiming the element itself is normative, or that this element definition profile is normative?

view this post on Zulip Lloyd McKenzie (Apr 09 2020 at 20:53):

You certainly don't want the fact an element is normative in a resource to mark it as normative in profiles

view this post on Zulip Frank Oemig (Apr 10 2020 at 06:33):

When a profile goes normative, it is statically bound to the used resources?!

view this post on Zulip Lloyd McKenzie (Apr 10 2020 at 14:12):

I'm not sure what you mean Frank. A profile can't go normative until the underlying resource has gone normative. A profile is always tied to exactly one resource.

view this post on Zulip Grahame Grieve (Apr 11 2020 at 07:15):

A profile is always tied to exactly one resource.

not nessarily

view this post on Zulip Frank Oemig (Apr 19 2020 at 10:49):

@Lloyd McKenzie we have a lot of profiling work, some of which is referencing outdated fhir stuff. But they are declared somehow normative. (Well, not in the HL7 sense, but in their minds.) So, I would say that you can make a profile normative although the underlying resource is not.
I also would say that it is bad practice, but on the other hand in order to make progress and to use fhir we cannot wait until all needed resources are normative.

The problem here in Germany is that the ones who are heavily promoting that they use the newest standard fhir, are not too familiar with all associated details.

view this post on Zulip Lloyd McKenzie (Apr 19 2020 at 14:01):

There's nothing to stop a designer with authority from mandating whatever they like. That's not the same as 'normative' though. 'Normative' promises that future versions will interoperate with past versions without breaking changes. It doesn't matter who the designer is or what level of authority they have, they can't make that promise if HL7 hasn't made the same promise with respect to the underlying resource definitions. 'Normative' is absolutely not a prerequisite for widespread implementation though (as can be clearly seen with FHIR's rate of adoption pretty much everywhere).

All implementers should certainly encourage designers/regulators to be familiar with the FHIR Maturity Model and adhere to its spirit - trying to lock things down without adequate implementation experience inevitably creates problems. However, we can't force it on anyone.

view this post on Zulip David Pyke (Apr 19 2020 at 15:10):

Grahame Grieve said:

A profile is always tied to exactly one resource.

not nessarily

Okay, I'll bite. How can a profile have multiple resources?

view this post on Zulip Lloyd McKenzie (Apr 19 2020 at 15:19):

Profiles can navigate down into contained resources

view this post on Zulip David Pyke (Apr 19 2020 at 15:29):

Oh, okay, that one I knew.

view this post on Zulip Ward Weistra (May 06 2020 at 08:58):

@Lloyd McKenzie Should we have a way to indicate that some extensions should not be inherited?

Most extensions should probably be inherited, except for some extensions on profiles. Like the extensions http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status and http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version of Element should probably not be inherited by every type of element. Thus @Abel Enthoven suggested perhaps adding an extension with 'do not inherit' on those.

view this post on Zulip Lloyd McKenzie (May 06 2020 at 15:17):

That's the question I'm asking. I don't know we've landed on an answer - @Grahame Grieve ?

view this post on Zulip Grahame Grieve (May 06 2020 at 19:56):

well, maybe. I think 'do not inherit' is too simplistic a notion. It's kind of like is this data or metadata, and if it's metadata, what kind of metadata is it?

view this post on Zulip Lloyd McKenzie (May 06 2020 at 20:38):

I see two alternatives - either we say that certain extensions don't propagate, or we need to require that extensions on structure definitions recognize that they will propagate.

view this post on Zulip Lloyd McKenzie (May 06 2020 at 20:39):

(Which in this case, would mean the declaration of normative would also have to specify what canonical it was normative as part of.)

view this post on Zulip Abel Enthoven (May 07 2020 at 07:46):

I like your solution of always propagating Lloyd, because it does not rely on tools to understand any extra meta info communicated in extensions. Would require changing the definition of the mentioned extensions' definitions (and every instance of them) then, right?

view this post on Zulip Lloyd McKenzie (May 07 2020 at 14:58):

Correct

view this post on Zulip Ward Weistra (May 20 2020 at 14:41):

Created FHIR#27535 for this.


Last updated: Apr 12 2022 at 19:14 UTC