Stream: IG creation
Topic: Showing artifact status in IG
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?
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
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.
Jose Costa Teixeira (Aug 07 2020 at 06:07):
How did you do this?
Jose Costa Teixeira (Aug 07 2020 at 06:07):
We could set the template to do that
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>
Richard Townley-O'Neill (Aug 07 2020 at 06:32):
The key bit is
[{{site.data.structuredefinitions.{{[id]}}.status | capitalize}}]
Jose Costa Teixeira (Aug 07 2020 at 06:36):
Yes, I think we can do the same for other resources.
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
Jose Costa Teixeira (Aug 07 2020 at 06:38):
I'd prefer the box under the heading.
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}}]
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.
Jose Costa Teixeira (Aug 07 2020 at 14:54):
I was actually told this what we have on codesystem - a small table on top
Jose Costa Teixeira (Aug 07 2020 at 14:55):
so we can do a table. What should that table look like?
Lloyd McKenzie (Aug 07 2020 at 15:21):
I think just status and FMM level
Grahame Grieve (Aug 07 2020 at 21:32):
hey wait
Grahame Grieve (Aug 07 2020 at 21:33):
I would like to reproduce the status bar we have in the core specification
Grahame Grieve (Aug 07 2020 at 21:33):
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.
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?
Jose Costa Teixeira (Aug 07 2020 at 22:06):
Where's the maturity level defined for a resource?
Grahame Grieve (Aug 07 2020 at 22:11):
http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm
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
Lloyd McKenzie (Aug 07 2020 at 22:30):
Work group would be the same for the whole IG, so seems redundant.
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
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
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
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
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
Jose Costa Teixeira (Aug 12 2020 at 09:28):
@Grahame Grieve what do you think is better?
- All in java - Publisher does the full rendering
- Publisher gets the attributes to resources.json, and template builds the box
- We just get all resources as jsons to _data, and template builds the box
Jose Costa Teixeira (Aug 12 2020 at 09:29):
I'd imagine 2 and 3 are more flexible and possibly less work for you.
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
Jose Costa Teixeira (Aug 18 2020 at 05:29):
#2 is more delegatable
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
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"
}
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
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.
Grahame Grieve (Aug 26 2020 at 07:04):
I think so
Jose Costa Teixeira (Aug 26 2020 at 07:12):
I'll add this once the publisher release is out
Lloyd McKenzie (Aug 26 2020 at 15:46):
What is "colstu"?
Grahame Grieve (Aug 26 2020 at 20:07):
it's the style in fhir.css that is appropriate for this status
Jose Costa Teixeira (Aug 27 2020 at 13:46):
I don't see the fragment. Where is it?
Grahame Grieve (Aug 27 2020 at 21:42):
I see it being produced for canonical resources = {type}-{id}-status.xhtml
Jose Costa Teixeira (Aug 28 2020 at 07:04):
Jose Costa Teixeira (Aug 28 2020 at 07:04):
got it
Jose Costa Teixeira (Aug 28 2020 at 07:04):
this table doesn't have headers?
Grahame Grieve (Aug 28 2020 at 07:04):
hmm null isn't right
Jose Costa Teixeira (Aug 28 2020 at 07:05):
yes, that too
Grahame Grieve (Aug 28 2020 at 07:05):
it doesn't have headers in the main spec
Jose Costa Teixeira (Aug 28 2020 at 07:05):
true, but has prefix /suffix
image.png
Jose Costa Teixeira (Aug 28 2020 at 07:06):
(or some of the attributes are self-explanatory)
Jose Costa Teixeira (Aug 28 2020 at 07:06):
I can take this in the template, and do a couple of jekyll if
s
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
Jose Costa Teixeira (Aug 28 2020 at 07:13):
ok then I wait for next release and then see if Jekyll is needed
Jose Costa Teixeira (Aug 28 2020 at 07:25):
made a PR if you want to merge
Jose Costa Teixeira (Aug 28 2020 at 07:25):
https://github.com/HL7/ig-template-base/pull/121
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
Jose Costa Teixeira (Aug 28 2020 at 07:27):
(OTOH, this will be a significant visual change, not sure if it will cause reactions)
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.
Lloyd McKenzie (Feb 02 2021 at 19:55):
Yes
Lloyd McKenzie (Feb 02 2021 at 19:55):
It's definitely going to happen.
Lloyd McKenzie (Feb 02 2021 at 19:55):
Timeframe is still up in the air though.
Jose Costa Teixeira (Feb 02 2021 at 20:25):
My PR got superseded..
Jose Costa Teixeira (Feb 02 2021 at 20:33):
So i checked and the PR never got merged and eventually it had a conflict
Jose Costa Teixeira (Feb 02 2021 at 20:33):
this is what was done - is this what would be expected?
Jose Costa Teixeira (Feb 02 2021 at 20:33):
Jose Costa Teixeira (Feb 02 2021 at 20:43):
@Carl Anderson , others? Is this what you were looking for?
Jose Costa Teixeira (Feb 02 2021 at 20:46):
I can fix the PR if we want this
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?
Lloyd McKenzie (Feb 02 2021 at 21:45):
It would be for any IGs using the base template.
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?
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
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:
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
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...
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 :)
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.
Jose Costa Teixeira (Feb 02 2021 at 22:47):
I'll see if we can get the definition into a liquid expression.
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"
Jose Costa Teixeira (Feb 02 2021 at 22:49):
: evil_grin :
Last updated: Apr 12 2022 at 19:14 UTC