FHIR Chat · Showing artifact status in IG · IG creation

Stream: IG creation

Topic: Showing artifact status in IG


view this post on Zulip Jose Costa Teixeira (Aug 07 2020 at 05:53):

Should we show the status of the artifact (e.g. draft, active, retired) more visibly in the publisher pages?

view this post on Zulip Jose Costa Teixeira (Aug 07 2020 at 05:55):

I was thinking we could have a banner on the top like what we have for resources in the FHIR spec:
image.png

view this post on Zulip Richard Townley-O'Neill (Aug 07 2020 at 05:59):

We've put the profile status in the heading this way
image.png
It is easy for structure definitions, but we've not found how to do it for value sets or code systems.

view this post on Zulip Jose Costa Teixeira (Aug 07 2020 at 06:07):

How did you do this?

view this post on Zulip Jose Costa Teixeira (Aug 07 2020 at 06:07):

We could set the template to do that

view this post on Zulip Richard Townley-O'Neill (Aug 07 2020 at 06:31):

We are not yet on profiles.
In the ig.json file there is a reference to a default template-base for structure definition.
In that template-base file we have the line

<h3><span class="sectioncount">SD.{{ site.data.structuredefinitions.{{[id]}}.index | plus: 1 }}<a name="SD.{{ site.data.structuredefinitions.{{[id]}}.index | plus: 1 }}"> </a></span>{{[type]}}-{{[id]}}<a title="link to here" class="self-link" href="{{[type]}}-{{[id]}}.html#SD.{{ site.data.structuredefinitions.{{[id]}}.index | plus: 1 }}"><img src="target.png"/></a><a href="http://hl7.org/fhir/r4/valueset-publication-status.html">[{{site.data.structuredefinitions.{{[id]}}.status | capitalize}}]</a></h3>

view this post on Zulip Richard Townley-O'Neill (Aug 07 2020 at 06:32):

The key bit is

[{{site.data.structuredefinitions.{{[id]}}.status | capitalize}}]

view this post on Zulip Jose Costa Teixeira (Aug 07 2020 at 06:36):

Yes, I think we can do the same for other resources.

view this post on Zulip Jose Costa Teixeira (Aug 07 2020 at 06:38):

since I'd want to do it in the template, question: what would be the best way to do it?

  • A box like the one in the FHIR spec
  • Some text after the name

view this post on Zulip Jose Costa Teixeira (Aug 07 2020 at 06:38):

I'd prefer the box under the heading.

view this post on Zulip Jose Costa Teixeira (Aug 07 2020 at 06:39):

btw, @Richard Townley-O'Neill if you want to do this for valuesets, you should be good with
[{{site.data.resources.{{[type]}}/{{[id]}}.status | capitalize}}]

view this post on Zulip Lloyd McKenzie (Aug 07 2020 at 14:13):

Eventually, we want to expose the maturity level for the resource too. So a box is probably the right approach.

view this post on Zulip Jose Costa Teixeira (Aug 07 2020 at 14:54):

I was actually told this what we have on codesystem - a small table on top

view this post on Zulip Jose Costa Teixeira (Aug 07 2020 at 14:55):

so we can do a table. What should that table look like?

view this post on Zulip Lloyd McKenzie (Aug 07 2020 at 15:21):

I think just status and FMM level

view this post on Zulip Grahame Grieve (Aug 07 2020 at 21:32):

hey wait

view this post on Zulip Grahame Grieve (Aug 07 2020 at 21:33):

I would like to reproduce the status bar we have in the core specification

view this post on Zulip Grahame Grieve (Aug 07 2020 at 21:33):

image.png

view this post on Zulip Grahame Grieve (Aug 07 2020 at 21:34):

of these, maturity level and standards status are clearly relevant. Owning work group... not so obvious, but probably worth repeating.

view this post on Zulip Grahame Grieve (Aug 07 2020 at 21:35):

security category and compartments, not so much. I don't know if there's other kinds of things to say?

view this post on Zulip Jose Costa Teixeira (Aug 07 2020 at 22:06):

Where's the maturity level defined for a resource?

view this post on Zulip Grahame Grieve (Aug 07 2020 at 22:11):

http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm

view this post on Zulip Grahame Grieve (Aug 07 2020 at 22:11):

but if we agree then the IG publisher should generate a fragment for this - something like -process-header

view this post on Zulip Lloyd McKenzie (Aug 07 2020 at 22:30):

Work group would be the same for the whole IG, so seems redundant.

view this post on Zulip Grahame Grieve (Aug 07 2020 at 22:33):

well, that's not always true - there's a few IGs that cross work groups, even though there's a final responsible one. And I think this kind of arrangement is going to get more common

view this post on Zulip Grahame Grieve (Aug 07 2020 at 22:34):

also, the current place, in the footer... it's not that obvious. So that's why I proposed putting it in there

view this post on Zulip Jose Costa Teixeira (Aug 08 2020 at 09:12):

Grahame Grieve said:

but if we agree then the IG publisher should generate a fragment for this - something like -process-header

That fragment could actually be generated by the template

view this post on Zulip Jose Costa Teixeira (Aug 08 2020 at 09:12):

the publisher generates the data (1) and then the template has a fragment that uses liquid to get the values and use the right CSS

view this post on Zulip Jose Costa Teixeira (Aug 08 2020 at 09:18):

(1): There was a discussion about bringing all the resources as jekyll data files. If that is done, this whole thing could be easier

view this post on Zulip Jose Costa Teixeira (Aug 12 2020 at 09:28):

@Grahame Grieve what do you think is better?

  1. All in java - Publisher does the full rendering
  2. Publisher gets the attributes to resources.json, and template builds the box
  3. We just get all resources as jsons to _data, and template builds the box

view this post on Zulip Jose Costa Teixeira (Aug 12 2020 at 09:29):

I'd imagine 2 and 3 are more flexible and possibly less work for you.

view this post on Zulip Grahame Grieve (Aug 18 2020 at 04:37):

both #1 and #2 if #1 doesn't lead to the right output, it seems to me

view this post on Zulip Jose Costa Teixeira (Aug 18 2020 at 05:29):

#2 is more delegatable

view this post on Zulip Jose Costa Teixeira (Aug 25 2020 at 08:16):

@Grahame Grieve do you want to populate the resources.json with the attributes? Reading the above, seems we'll have

  • Status (draft/active)
  • Owning work group / contact?
  • Maturity level
  • Standard status

view this post on Zulip Grahame Grieve (Aug 26 2020 at 00:29):

ok the next IG publisher will do 2 things:

  • it will generate a new fragment -summary which contains the preferred rendering for HL7 IGs, and the template should include these.
  • it will generate the information that creates this into the resources.json file:
"status": {
      "class": "colstu",
      "owner": "HL7 International - Public Health Work Group",
      "link": "http://www.hl7.org/Special/committees/pher",
      "status": "Active"
    }

view this post on Zulip Grahame Grieve (Aug 26 2020 at 00:30):

if available, there will also be "fmm" and "standards-status". class is the recommended fhis.css class that provides the background color

view this post on Zulip Jose Costa Teixeira (Aug 26 2020 at 06:22):

the fragment-summary should be added to HL7 templates, right? If we add it to the base template, that would make it hard for other templates to have their own rendering.

view this post on Zulip Grahame Grieve (Aug 26 2020 at 07:04):

I think so

view this post on Zulip Jose Costa Teixeira (Aug 26 2020 at 07:12):

I'll add this once the publisher release is out

view this post on Zulip Lloyd McKenzie (Aug 26 2020 at 15:46):

What is "colstu"?

view this post on Zulip Grahame Grieve (Aug 26 2020 at 20:07):

it's the style in fhir.css that is appropriate for this status

view this post on Zulip Jose Costa Teixeira (Aug 27 2020 at 13:46):

I don't see the fragment. Where is it?

view this post on Zulip Grahame Grieve (Aug 27 2020 at 21:42):

I see it being produced for canonical resources = {type}-{id}-status.xhtml

view this post on Zulip Jose Costa Teixeira (Aug 28 2020 at 07:04):

image.png

view this post on Zulip Jose Costa Teixeira (Aug 28 2020 at 07:04):

got it

view this post on Zulip Jose Costa Teixeira (Aug 28 2020 at 07:04):

this table doesn't have headers?

view this post on Zulip Grahame Grieve (Aug 28 2020 at 07:04):

hmm null isn't right

view this post on Zulip Jose Costa Teixeira (Aug 28 2020 at 07:05):

yes, that too

view this post on Zulip Grahame Grieve (Aug 28 2020 at 07:05):

it doesn't have headers in the main spec

view this post on Zulip Jose Costa Teixeira (Aug 28 2020 at 07:05):

true, but has prefix /suffix
image.png

view this post on Zulip Jose Costa Teixeira (Aug 28 2020 at 07:06):

(or some of the attributes are self-explanatory)

view this post on Zulip Jose Costa Teixeira (Aug 28 2020 at 07:06):

I can take this in the template, and do a couple of jekyll ifs

view this post on Zulip Grahame Grieve (Aug 28 2020 at 07:09):

well, I've made it better next release. If you're going to make it in jekyll, you have to get the right path for references to the spec

view this post on Zulip Jose Costa Teixeira (Aug 28 2020 at 07:13):

ok then I wait for next release and then see if Jekyll is needed

view this post on Zulip Jose Costa Teixeira (Aug 28 2020 at 07:25):

made a PR if you want to merge

view this post on Zulip Jose Costa Teixeira (Aug 28 2020 at 07:25):

https://github.com/HL7/ig-template-base/pull/121

view this post on Zulip Jose Costa Teixeira (Aug 28 2020 at 07:26):

I put this in the base template. Perhaps this should be rather on the HL7 templates. But if that is the case, I can update

view this post on Zulip Jose Costa Teixeira (Aug 28 2020 at 07:27):

(OTOH, this will be a significant visual change, not sure if it will cause reactions)

view this post on Zulip Carl Anderson (Feb 02 2021 at 19:37):

I just stumbled across this and thought I would ask if it's still potentially going to happen.

view this post on Zulip Lloyd McKenzie (Feb 02 2021 at 19:55):

Yes

view this post on Zulip Lloyd McKenzie (Feb 02 2021 at 19:55):

It's definitely going to happen.

view this post on Zulip Lloyd McKenzie (Feb 02 2021 at 19:55):

Timeframe is still up in the air though.

view this post on Zulip Jose Costa Teixeira (Feb 02 2021 at 20:25):

My PR got superseded..

view this post on Zulip Jose Costa Teixeira (Feb 02 2021 at 20:33):

So i checked and the PR never got merged and eventually it had a conflict

view this post on Zulip Jose Costa Teixeira (Feb 02 2021 at 20:33):

this is what was done - is this what would be expected?

view this post on Zulip Jose Costa Teixeira (Feb 02 2021 at 20:33):

image.png

view this post on Zulip Jose Costa Teixeira (Feb 02 2021 at 20:43):

@Carl Anderson , others? Is this what you were looking for?

view this post on Zulip Jose Costa Teixeira (Feb 02 2021 at 20:46):

I can fix the PR if we want this

view this post on Zulip Carl Anderson (Feb 02 2021 at 20:46):

This would work for me, but how will I add this to my IG? Will it be standard for all IGs?

view this post on Zulip Lloyd McKenzie (Feb 02 2021 at 21:45):

It would be for any IGs using the base template.

view this post on Zulip Lloyd McKenzie (Feb 02 2021 at 21:46):

@Jose Costa Teixeira The PR is just the yellow bar at the top? Can we trim some stuff out of the ugly table that's redundant? Or bulk up the yellow bar just a wee bit and then dump the ugly table entirely?

view this post on Zulip Jose Costa Teixeira (Feb 02 2021 at 21:49):

the yellow bar is a fragment generated by the publisher, as well as the "ugly table". The IG publisher exports that as HTML directly, but also exports some of the data we need to rebuild it

view this post on Zulip Jose Costa Teixeira (Feb 02 2021 at 21:55):

From a quick check, and at least for profiles, we should be able to generate a single table (liquid). All the data seems to be available, except 2 things:

view this post on Zulip Jose Costa Teixeira (Feb 02 2021 at 21:57):

  • status : Active as of 2021-02-02T21:28:31+01:00
  • Definition: This Patient profile allows the exchange of patient information, including all the data associated with HIV patients

view this post on Zulip Jose Costa Teixeira (Feb 02 2021 at 21:59):

To properly test this I need an IG that has one of each resource types:
instances, profiles, extensions, LMs, Codesystems, valuesets...

view this post on Zulip Lloyd McKenzie (Feb 02 2021 at 22:23):

SampleIg ought to have all of those. If it doesn't, feel free to add whatever it's missing :)

view this post on Zulip Lloyd McKenzie (Feb 02 2021 at 22:24):

timestamp on the status is unneeded - we have publication date at the bottom of the IG. StructureDefinition.description should be there, though I don't think that should be in a table, that should be the first paragraph under the table.

view this post on Zulip Jose Costa Teixeira (Feb 02 2021 at 22:47):

I'll see if we can get the definition into a liquid expression.

view this post on Zulip Jose Costa Teixeira (Feb 02 2021 at 22:49):

Lloyd McKenzie said:

SampleIg ought to have all of those. If it doesn't, feel free to add whatever it's missing :)

I do have on my backlog: "build up the backlog of things that are needed in the Sample / Guidance IGs"

view this post on Zulip Jose Costa Teixeira (Feb 02 2021 at 22:49):

: evil_grin :


Last updated: Apr 12 2022 at 19:14 UTC