FHIR Chat · new fragment - table of MS elements · ig publishing requirements

Stream: ig publishing requirements

Topic: new fragment - table of MS elements


view this post on Zulip Eric Haas (Nov 18 2021 at 04:47):

adding this to wish list see https://chat.fhir.org/#narrow/stream/179252-IG-creation/topic/table.20of.20MS.20elements.20being.20produced.3F

view this post on Zulip Lloyd McKenzie (Nov 18 2021 at 14:11):

Within a profile? Across all profiles? To what purpose? How is this distinct from the existing MS view?

view this post on Zulip Eric Haas (Nov 18 2021 at 16:00):

across ig like this: https://hackmd.io/CdjEs6YKSI6fFACKqvCDRA (but ignoring the flavors)

view this post on Zulip Lloyd McKenzie (Nov 18 2021 at 16:26):

And who's the consumer? What's the use-case for this view?

view this post on Zulip Eric Haas (Nov 18 2021 at 17:41):

the implementers who want to know what is must support, the testers who want to test for must support. and this is not a view this is a handy download like a csv or technical artifact.

view this post on Zulip Eric Haas (Nov 18 2021 at 17:42):

I would like a fragment produced but no view created like the lists

view this post on Zulip Lloyd McKenzie (Nov 18 2021 at 21:58):

I understand wanting to know it (and we have it already on a per profile basis), but I don't understand wanting to know it across all profiles...

view this post on Zulip Grahame Grieve (Nov 18 2021 at 22:32):

for a typical IG it would be very long

view this post on Zulip Lloyd McKenzie (Nov 18 2021 at 23:12):

And if your profiles exist in a hierarchy, there'd be a lot of redundancy too...
My experience is that QA folks like the Excel views (which currently are already pre-filtered to the mustSupport elements)

view this post on Zulip Eric Haas (Nov 19 2021 at 06:16):

yes it is a long table but is handy to have all the ms in one place if you are trying to review. I will create for US Core and put in as a download and get feedback.

view this post on Zulip Josh Mandel (Nov 19 2021 at 13:56):

I agree with Eric that having this information available in one page is useful

view this post on Zulip Lloyd McKenzie (Nov 19 2021 at 15:40):

Why MS and not other information?

view this post on Zulip Josh Mandel (Nov 19 2021 at 15:43):

I didn't say this was to the exclusion of other info -- but "MS" plus required elements is a pretty good way to get a handle on the minimu requirements for mapping data into a set of profiles.

view this post on Zulip Lloyd McKenzie (Nov 19 2021 at 15:49):

If we're going to a dump, why not just dump all of the metadata into a CSV/Excel file and people can then filter on what they want?

view this post on Zulip Lloyd McKenzie (Nov 19 2021 at 15:50):

A super long HTML table is pretty useless, in my opinion...

view this post on Zulip Jose Costa Teixeira (Nov 19 2021 at 18:06):

unless you put some fancy javascript that allows people to filter on what they want...

view this post on Zulip Jose Costa Teixeira (Nov 19 2021 at 18:07):

(which fwiw i don't think is a good solution for where things need to be "printable"...)

view this post on Zulip Lloyd McKenzie (Nov 19 2021 at 18:36):

You'll never hit the degree of 'fancy' that people get for free when the open it in Excel (or Google docs or whatever)

view this post on Zulip Josh Mandel (Nov 19 2021 at 18:37):

Or the degree of "easy" that people get for free when the content is right there in the spec. I thought we've long since agreed there is not one "best for everyone" way to present this material, so why not broadly enable the things editors want to use in their work?

view this post on Zulip Lloyd McKenzie (Nov 19 2021 at 18:51):

I'm not saying it shouldn't be produced in the spec. I'm saying that a link to a CSV and/or Excel file is far more useful to everyone who's going to want a cross-artifact listing than an HTML table. HTML tables are going to be too long, too wide and too limiting (regardless of what Javascript we throw at it). If we have a downloadable file, I think there's zero utility to also having an HTML table.

view this post on Zulip Josh Mandel (Nov 19 2021 at 18:53):

I think there's zero utility to also having an HTML table.

I hear this as "zero utility for Lloyd", but everyone gets to define their own utility function. I'm hearing Eric say he finds utility, which seems fair.

view this post on Zulip Grahame Grieve (Nov 19 2021 at 19:39):

otoh, we then get to argue about a bunch of things like, is this diff or snapshot based?

view this post on Zulip Lloyd McKenzie (Nov 20 2021 at 03:36):

My question for Eric is whether his target users would find equal or more utility in a spreadsheet with all the information from all the models. (I know all the testers and analysts I've worked with would.)

view this post on Zulip Eric Haas (Nov 20 2021 at 06:18):

@Lloyd McKenzie Yes you are right the build already produces csv files for the profiles. ( which I forgot :rolling_eyes: ) These would work for my use case if they were all appended together into one big csv . So my request is a single downloadable artifact of one table with all the profiles. I will create for US Core as an example and add as a downloadable artifact. Thanks for digging into this.

Also I am not really that interested in an html table although others may be

view this post on Zulip Jose Costa Teixeira (Nov 20 2021 at 08:04):

A CSV export and an excel export and much more magic would be available with a bit of JavaScript. We don't need to build that functionality from scratch

view this post on Zulip Jose Costa Teixeira (Nov 20 2021 at 08:05):

If we have a single CSV file we just throw it at a DataTable and the rest is done for us

view this post on Zulip Lloyd McKenzie (Nov 20 2021 at 15:05):

We could use Javascript magic, but given that the publisher can already spit them out, may as well let the publisher spit out the combined files too. That'd be more elegant. (And I'm not sure how to combine multiple Excel worksheets into one, removing excess header rows using Javascript...)

view this post on Zulip Lloyd McKenzie (Nov 20 2021 at 15:07):

We want this for StructureDefinitions. Do we want one file for everything? One file for profiles and a separate one for logical models? Do we want files for CodeSystems or ValueSet expansions too?

view this post on Zulip Eric Haas (Nov 20 2021 at 20:18):

I added this feature in US Core - http://build.fhir.org/ig/HL7/US-Core/downloads.html

thanks again @Lloyd McKenzie for getting me to see this obvious solution and @Grahame Grieve for making it so easy.

my aggregation code is here - but assume is useless for the build since is all Pandas and Python.

@GG I discovered a 2 deep issues:

1) with the snapshot generator - my diff for US Core Organization I had a redundant mapping and it resulted in a repeated mapping in the snapshot....

# ==== US Core Organization profile snapshot for Organization.identifier element =====
      mustSupport: true
      isModifier: false
      isSummary: true
      mapping:
        - identity: w5
          map: FiveWs.identifier
        - identity: v2
          map: XON.10 / XON.3
        - identity: rim
          map: '.scopes[Role](classCode=IDENT)'
        - identity: servd #<<<<<<<<<<<<<<<< Repeats !
          map: ./Identifiers
        - identity: servd #<<<<<<<<<<<<<<<< Repeats !
          map: n/a
    - id: Organization.identifier.id
      path: Organization.identifier.id
#...
# ==== US Core Organization profile diff for Organization.identifier element =====
   - id: Organization.identifier
      path: Organization.identifier
      slicing:
        discriminator:
          - type: pattern
            path: $this
        rules: open
      comment: NPI preferred.
      mustSupport: true
      mapping:  #<<<<<< redundant mapping in the diff
        - identity: servd
          map: n/a
# ....

2) the data doesn't seem to match the header in the columns starting at or around column 27:

image.png

Github issues?

view this post on Zulip Lloyd McKenzie (Nov 21 2021 at 01:48):

Can you submit a Git issue for us to add it to the publisher in general?


Last updated: Apr 12 2022 at 19:14 UTC