Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add blurb about obligation flag. #238

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

Conversation

JayMurdoch
Copy link
Collaborator

Add blurb about obligation flag similar to must support blurb, based on Agency QA feedback

Add blurb about obligation flag similar to must support blurb, based on Agency QA feedback
@JayMurdoch JayMurdoch requested a review from dt-r July 24, 2024 04:44
@@ -63,7 +63,9 @@ Labelling an element *[Must Support](https://www.hl7.org/fhir/conformance-rules.

Because AU Core is a foundational standard, *Must Support* needs to be defined a way that does not impede or prescribe what a system does with the data, so as not to impede each implementation’s ability to tighten and define expectations for use under their own business rules, regulations, policies, etc. There is also a challenge that comes from inheritance of *Must Support* flags into implementation guides that have strict definitions for *Must Support* (e.g., must be able to display this value to an end user). AU Core will only apply the *Must Support* flag on the elements that are necessary to support _minimum_ requirements and are expected to be flagged as *Must Support* across the majority of Australian FHIR implementation guides.

In AU Core, the meaning of *Must Support* is specified in terms of [Obligation Codes](https://hl7.org/fhir/extensions/CodeSystem-obligation.html) in [obligation extensions](https://hl7.org/fhir/extensions/StructureDefinition-obligation.html) on the element definition. The obligation codes used to define the minimum obligations of *Must Support* elements in this implementation guide are reiterated below.
In AU Core, the meaning of *Must Support* is specified in terms of [Obligation Codes](https://hl7.org/fhir/extensions/CodeSystem-obligation.html) in [obligation extensions](https://hl7.org/fhir/extensions/StructureDefinition-obligation.html) on the element definition. When rendered in an implementation guide each profile is presented in different formal views under tabs labelled “Differential Table”, “Key Elements Table”, and “Snapshot Table”. The elements with obligations in these views are flagged with an <span style="padding-left: 3px; padding-right: 3px; color: white; background-color: red" title="This element has obligations">O</span>.
Copy link
Collaborator

@dt-r dt-r Jul 24, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Introducing it here doesn't work well. Given that Must Support is mentioned first but the symbol and explanation doesn't occur until a later section.

To keep it in this section, a serious refactoring of the organisation of this particular section to introduce display of both, and which would likely require a refactoring of the next section would be needed to do this here.

Either way this won't be simple, could require some new headings and / or serious shifting of paragraph order and presentation.

Also consider and trial what it looks like if you move this presentation of obligation to be in the same place as presentation of Must Support elements, and refactor that heading / paragraph.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shifted to same place as Must Support element.

Is there a need to add detail of how obligations are rendered in raw also?

Copy link
Collaborator

@dt-r dt-r Jul 29, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re your question above - I'm reviewing this particular on the basis of you a) does it achieve what the blurb of this PR is (which is what you say it is) and b) if after the change is introduced the IG is of equivalent or better quality.

Noting that yes, to continue with the approach you are advocating then yes you will need to add that because that is the natural conclusion of this particular way of doing it that you've added. Perhaps such a thing is not necessary in AU Core but it does seem necessary to complete this section the way it is currently laid out.

This might be a "QA" to address a single comment but folding it into this page won't be fully solved by a small change. The way the Conformance page is laid out does not lend itself to inserting a sentence with small heading tweaks.

Copy link
Collaborator

@dt-r dt-r left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rethink what this looks and reads like to determine the method of injection of that obligation sentence. See further information in the inline comment.

@JayMurdoch JayMurdoch requested a review from dt-r July 25, 2024 12:12

##### Presentation of elements labelled Must Support in table views
##### Presentation of Must Support and obligations in table views
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capitalise Obligation. Headings should be

  • Presentation of elements labelled Must Support and Obligation in profiles
  • Presentation of elements labelled Must Support and Obligation in table views


When rendered in an implementation guide each profile is presented in different formal views under tabs labelled "Differential Table", "Key Elements Table", and "Snapshot Table".

The elements labelled *Must Support* in these views are flagged with an <span style="padding-left: 3px; padding-right: 3px; color: white; background-color: red" title="This element must be supported">S</span>. Implementers should refer to the "Key Elements Table" to see the full set of elements that are mandatory or *Must Support*, and the full set of terminology requirements.
The elements labelled *Must Support* in these views are flagged with an <span style="padding-left: 3px; padding-right: 3px; color: white; background-color: red" title="This element must be supported">S</span>. The elements with defined obligations in these views are flagged with an <span style="padding-left: 3px; padding-right: 3px; color: white; background-color: red" title="This element has obligations">O</span>. Implementers should refer to the "Key Elements Table" to see the full set of elements that are mandatory or *Must Support*, and the full set of terminology requirements.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replace "The elements with defined obligations" to be "The elements labelled with Obligation in these views are"

Then go on to rephrase the rest of this section now that it is about Must Support and Obligation e.g. "Implementers should refer to the "Key Elements Table" to see the full set of elements that are mandatory or Must Support or with Obligations, and the full set of terminology requirements."


When rendered in an implementation guide each profile is presented in different formal views under tabs labelled "Differential Table", "Key Elements Table", and "Snapshot Table".

The elements labelled *Must Support* in these views are flagged with an <span style="padding-left: 3px; padding-right: 3px; color: white; background-color: red" title="This element must be supported">S</span>. Implementers should refer to the "Key Elements Table" to see the full set of elements that are mandatory or *Must Support*, and the full set of terminology requirements.
The elements labelled *Must Support* in these views are flagged with an <span style="padding-left: 3px; padding-right: 3px; color: white; background-color: red" title="This element must be supported">S</span>. The elements with defined obligations in these views are flagged with an <span style="padding-left: 3px; padding-right: 3px; color: white; background-color: red" title="This element has obligations">O</span>. Implementers should refer to the "Key Elements Table" to see the full set of elements that are mandatory or *Must Support*, and the full set of terminology requirements.

Implementers should take note that the full set of constraints (i.e. invariants) are only presented in the "Detailed Descriptions" tab or the raw representation (e.g. XML or JSON) of the profile.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This sentence on Implementers should take note is no longer true. It can be removed entirely.

Copy link
Collaborator

@dt-r dt-r left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See inline comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants