FHIR Chat · Template-based IG Documentation · IG creation

Stream: IG creation

Topic: Template-based IG Documentation


view this post on Zulip Chris Moesel (Dec 03 2019 at 22:34):

Is the template-based approach to IG publishing documented anywhere (aside from the sample-ig)? As far as I can tell, the docs on wiki/confluence still seem to apply to the old (non-template) approach.

view this post on Zulip Grahame Grieve (Dec 03 2019 at 22:39):

Lloyd keep promising that the documentation will be done soon

view this post on Zulip Lloyd McKenzie (Dec 04 2019 at 02:03):

Soon = hopefully by end of this month at current rate :(

view this post on Zulip Chris Moesel (Dec 04 2019 at 02:12):

I'm trying to determine when is best to start working on exporting IGs in SUSHI (the FHIR Shorthand compiler). @Lloyd McKenzie -- do you think that the sample-ig is a good enough representation for me to use to infer the correct approach? Or should I wait for docs? Do you expect many changes in the format of the source/config for a template-based IG?

view this post on Zulip Lloyd McKenzie (Dec 04 2019 at 02:22):

There will be some changes, but they should be minor and well communicated. If you're comfortable looking at the Sample-IG and or SDC and inferring, you should be fine. You can also look at what documentation does exist in the ig-guidance implementation guide.

view this post on Zulip Chris Moesel (Dec 04 2019 at 02:42):

@Lloyd McKenzie -- I didn't even know about the ig-guidance IG! Even if it's not complete, that's a lot more than I had a few hours ago. Thanks!

view this post on Zulip Kevin Mayfield (Dec 04 2019 at 11:15):

I pretty new to IG and found the sample-IG good enough. The initial UK IG used sample-IG as a base.

view this post on Zulip Mark Kramer (Dec 04 2019 at 22:13):

@Chris Moesel That link is 404. Where is the ig-guidance IG really located?

view this post on Zulip Chris Moesel (Dec 04 2019 at 22:22):

Ugh. That link totally worked last night. And now the FHIR IG Builds page doesn't even list the guidance-ig anymore. @Lloyd McKenzie?

view this post on Zulip Grahame Grieve (Dec 04 2019 at 22:25):

the last build failed because of some template reference issue

view this post on Zulip Grahame Grieve (Dec 04 2019 at 22:25):

@Josh Mandel failed IGs are falling off the IG page again

view this post on Zulip Grahame Grieve (Dec 04 2019 at 22:26):

also, after a few seconds, the page crashes chrome...

view this post on Zulip Grahame Grieve (Dec 04 2019 at 22:27):

that's pretty cool

view this post on Zulip Josh Mandel (Dec 04 2019 at 22:28):

Hmm, failing IGs fall off the page -- is that new since this afternoon? Re: crash, oh fun! Won't be able to look at this right away, but will take a look tomorrow (unless it's causing big problems for someone).

view this post on Zulip Grahame Grieve (Dec 04 2019 at 22:29):

I don't think it's new - I've been meaning to say something for a while

view this post on Zulip Josh Mandel (Dec 05 2019 at 00:51):

OK, re: the new crashing behavior: https://build.fhir.org/ig/HL7/fhir-qi-core/branches/master/build.log is, um, 16Gb. (!!)

view this post on Zulip Josh Mandel (Dec 05 2019 at 00:51):

How does fhir-qi-core generate a sixteen gig log file?

view this post on Zulip Josh Mandel (Dec 05 2019 at 00:52):

@Grahame Grieve

view this post on Zulip Josh Mandel (Dec 05 2019 at 00:58):

For now I've truncated the file (but hopefully left enough for you to debug; you can probably re-run the build to regenerate the huge log ;-))

view this post on Zulip Josh Mandel (Dec 05 2019 at 01:01):

Re: debugging failed builds, some are showing up, like:
pasted image

... can you point me toward one you expect to see that's missing?

view this post on Zulip Grahame Grieve (Dec 05 2019 at 01:03):

y. this one built and failed:

view this post on Zulip Grahame Grieve (Dec 05 2019 at 01:04):

https://github.com/FHIR/ig-guidance

view this post on Zulip Grahame Grieve (Dec 05 2019 at 01:04):

there was a bug that lead to repeated stack dumps that were then ignored. It's fixed now

view this post on Zulip Grahame Grieve (Dec 05 2019 at 01:04):

(for the big log file)

view this post on Zulip Chris Moesel (Dec 05 2019 at 03:38):

@Lloyd McKenzie -- in all the samples (and SDC), the ImplementationGuide instance is always XML. Is this required, or should a JSON instance of ImplementationGuide work as well?

view this post on Zulip Lloyd McKenzie (Dec 05 2019 at 03:45):

JSON will work just fine (for the IF or anything else, though for examples only XML lets you include comments, which is often useful.

view this post on Zulip Josh Mandel (Dec 05 2019 at 05:18):

So that failed build is showing up, But the time of the failure is not being correctly determined, so it shows up towards the end of the list. I can look into that (probably it results from any small change to the format of the date in the build log).

view this post on Zulip Grahame Grieve (Dec 05 2019 at 05:20):

I don't see it at the end of the list?

view this post on Zulip Chris Moesel (Dec 05 2019 at 14:07):

It looks like it has since succeeded. I see ig-guidance in the list now. But I definitely did not see it at all last time I checked last night (end of the list or otherwise).

view this post on Zulip Josh Mandel (Dec 05 2019 at 18:11):

OK -- sorry for the confusion. We're still seeing some failures but not all. I've tried re-building one that has been long-term failing, and that failure does show up:

pasted image

view this post on Zulip Josh Mandel (Dec 05 2019 at 18:12):

If someone notices a failure that doesn't appear in the list, it'd be great if you could save the build.log from the failure so we can evaluate it (I'm guessing there's something that breaks the date-extraction regex).

view this post on Zulip Grahame Grieve (Dec 05 2019 at 18:15):

hl7 / bser failed recently, and appears in the list but down the bottom with no date? is that what you are looking for?

view this post on Zulip Josh Mandel (Dec 05 2019 at 18:15):

Yes, thanks!

view this post on Zulip Josh Mandel (Dec 05 2019 at 18:37):

Updated the date regex to fix. BTW the commit that broke it was:

https://github.com/HL7/fhir-ig-publisher/commit/d76c9212e1e2e0870dbb232fa4f1146114486983#diff-8ba944eececf281bdf40b620083d2e9eL6310-L6316

... I'm relying on the details of how the publisher tool represents failure times in the build.log, so I'm sensitive to changes in this format.

view this post on Zulip Grahame Grieve (Dec 05 2019 at 18:39):

ok sorry about that. which particular change broke it?

view this post on Zulip Josh Mandel (Dec 05 2019 at 18:42):

The block I highlighted: taking @ out of the parens, so dates went from (@ 2019... to (2019....

view this post on Zulip Josh Mandel (Dec 05 2019 at 18:43):

Obviously it'd be good to have some kind of structured log format :)

view this post on Zulip Grahame Grieve (Dec 05 2019 at 18:54):

I thought we already did - something produced for your code to process

view this post on Zulip Grahame Grieve (Dec 05 2019 at 18:55):

I'm thinking of qa.json

view this post on Zulip Grahame Grieve (Dec 05 2019 at 18:55):

{
  "url": "http://hl7.org/fhir/uv/howto/ImplementationGuide/hl7.fhir.uv.howto",
  "name": "HowToCreateIGs",
  "package-id": "hl7.fhir.uv.howto",
  "date": "Thu, 05 Dec, 2019 17:51:00 +1100",
  "errs": 30,
  "warnings": 0,
  "hints": 0,
  "version": "4.0.1",
  "tool": "4.1.0 (3)"
}

view this post on Zulip Josh Mandel (Dec 05 2019 at 20:56):

I grab data from qa.json when available -- but I guess in some failure scenarios it's not, so I also grab data from build logs.

view this post on Zulip Grahame Grieve (Dec 05 2019 at 21:01):

I'll make sure qa.json is always produced

view this post on Zulip Grahame Grieve (Dec 05 2019 at 21:53):

it wasn't bring produced if the run fails. It almost always will be now

view this post on Zulip Josh Mandel (Dec 05 2019 at 23:10):

That's great, thanks!

view this post on Zulip Grahame Grieve (Dec 05 2019 at 23:12):

it will have "exception" : "[message]" if the run didn't finish

view this post on Zulip Natasha Singh (Dec 07 2019 at 00:06):

Hi @Grahame Grieve would it be possible for qa.json to contain the summary table and errors table in some form? I'm looking for a more machine parseable format than qa.html or qa.txt so that my Python validation script can easily extract the non-build errors.

Maybe something like

{
  "url": "http://fhir.kids-first.io/ImplementationGuide/kidsfirst.fhir-0.1.0",
  "name": "KidsFirst",
  "package-id": "kidsfirst.fhir",
  "ig-ver": "0.1.0",
  "date": "Wed, 04 Dec, 2019 22:47:12 -0500",
  "errs": 0,
  "warnings": 0,
  "hints": 0,
  "version": "4.0.1",
  "tool": "4.1.0 (3)",
  "summary": {
      "build": {
          "error": 0,
          "info": 0,
          "warning": 1
      },
      "path/to/resources/Patient": {
          "error": 0,
          "info": 0,
          "warning": 1
      },
      "path/to/examples/Patient":{
          "error": 1,
          "info": 0,
          "warning": 1
      }
  },
...
}

Thanks!

view this post on Zulip Grahame Grieve (Dec 07 2019 at 01:00):

you'd be looking for qa.xml


Last updated: Apr 12 2022 at 19:14 UTC