FHIR Chat · IG Publisher · committers

Stream: committers

Topic: IG Publisher


view this post on Zulip Eric Haas (Nov 16 2016 at 03:46):

Don't know if here or implementers is best place since may be a publishing issue:

1) I can't slice up DR.results when is based on the US-Core DR profile (min = "1" ) and have a slice be min = " 0" without a build failure. How do I state that the sum of all slices should match the base. or at least allow for one slice match the minimum cardinality and let the rest be min="0" ?

Similar issue when trying to set max = "0" for observation.value[x] when is based on US-Core lab results profile which is sliced three ways each with a min ="0" and Max= "1".

view this post on Zulip Grahame Grieve (Nov 16 2016 at 03:49):

what is the exact error?

view this post on Zulip Eric Haas (Nov 16 2016 at 03:50):

for 1) Publishing Content Failed: Exception loading http://hl7.org/fhir/us/lab/StructureDefinition/microreport: Profile US-Core Micro Report (http://hl7.org/fhir/us/lab/StructureDefinition/microreport). Error generating snapshot: Derived min (0) cannot be less than base min (1) (15.0036sec)

view this post on Zulip Eric Haas (Nov 16 2016 at 03:50):

for error 2) the dreaded null -I had to go through a process of splitting the SD in half etc to find it.

view this post on Zulip Eric Haas (Nov 16 2016 at 03:52):

actually scratch that on 2) I don't know what the problem is just that this bit causes the null error
<!--
<element id="uscore-gscomp-17">
<path value="Observation.value[x]"/>
<short value= "ValueType"/>
<max value="0"/>
</element>
-->

view this post on Zulip Eric Haas (Nov 16 2016 at 03:52):

assumed was the max = "0" but commenting that out didn't fix it

view this post on Zulip Eric Haas (Nov 16 2016 at 03:54):

Publishing Content Failed: Exception loading http://hl7.org/fhir/us/lab/StructureDefinition/gramstain-component: null (18.0969sec)

view this post on Zulip Eric Haas (Nov 16 2016 at 04:03):

I wonder if have to max = 0 each slice in US-Core to do what I want (instead of value[x]) What a pain, I have a comment to change the slice in US-Core lab result to an invariant so is easier to base other profile on it.

view this post on Zulip Grahame Grieve (Nov 16 2016 at 04:05):

it should definitely be possible to have a slice with a min cardinality less than the unsliced. I'll have to review the validator

view this post on Zulip Eric Haas (Nov 16 2016 at 04:56):

OK I fixed the second problem was a reslicing naming issue on my part

view this post on Zulip Eric Haas (Nov 16 2016 at 16:43):

I think I;ll make a fgorge to provide an example of "resclicing" second time its tripped me up.

view this post on Zulip Eric Haas (Nov 17 2016 at 23:29):

a few issues with the IG publisher. I started with tests.ig10 These things don't render correctly:

  • Links from elements to the definitions are absent

For example see this

Am I missing something by starting with ig10?

view this post on Zulip Eric Haas (Nov 18 2016 at 02:23):

Fixed it have to define the definitions templates in ig.json

view this post on Zulip Eric Haas (Nov 23 2016 at 03:24):

the example resources ( for example allergyintolerance instance) have no title so when the are display using the base templates a big old '{title?}' is a the top of the page this is also true for the lists and tables thar are generated. Any suggestions. Create a template for examples or is there a tweak to the publisher that can make it pretty for examples too?

view this post on Zulip Eric Haas (Dec 04 2016 at 15:47):

a lot of my broken links iook like they are due to how i name the base and mapping file in the definitions file it it a question of capitalization. The publisher does "Type-id" and I did "type-id". I haven't seen a problem in OS-X but i wonder if will trip up a linux system or somewhere else Im not aware of like when the definitions are imported.

view this post on Zulip Eric Haas (Dec 04 2016 at 15:53):

also many examples have following error in qa:

   Observation/BUN: Observation.valueQuantity   error   Profile
  http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults, Element matches more 
  than one slice`

which i cannot debug. see http://healthedatainc.com/go-ftp/US-Core/structuredefinition-us-core-observationresults.html for profile and http://healthedatainc.com/go-ftp/US-Core/observation-BUN.html for example

view this post on Zulip Eric Haas (Dec 18 2016 at 22:47):

The publisher is freezing on the terminology server. Trying to expand http://build.fhir.org/valueset-languages.html hangs it as does the LOINC code 29463-7 with system = http://loinc.org So no longer able to run local builds

view this post on Zulip Grahame Grieve (Dec 19 2016 at 01:03):

I restarted my terminology server... maybe that was it

view this post on Zulip Eric Haas (Dec 19 2016 at 01:11):

yep

view this post on Zulip Eric Haas (Dec 19 2016 at 23:53):

the complex extension are lacking url names for the slices. See here and here. I compared SDs with the same extensions in core which are rendered correctly and did not see any difference so I don't think is no my end.

view this post on Zulip Eric Haas (Dec 20 2016 at 19:27):

the QA is validating a bundled example funny. not sure if it designed to handle a bundle example? not a pressing issue for me either

view this post on Zulip Eric Haas (Dec 20 2016 at 19:53):

@GG can you check out the slicing by valueset and how it is rendering. The first slice does not have a cardinality. I had added an empty row to discriminate before to get all the slice cardinalities to display but I thought that was wrong. because the first slice should nominate the discriminator I don't know if it a spreadsheet thing and maybe I have to edit the xml directly? also slice name is not showing up in the SD. - I think its a spreadsheet thingy? see this example http://build.fhir.org/ig/Healthedata1/Argo-DSTU2/StructureDefinition-argo-procedure.html

view this post on Zulip Eric Haas (Dec 20 2016 at 23:51):

Slicing Issue:

  • Spreadsheet instruction say put the discriminator on the first slice but then the generated SD is wrong. - I would like to confirm and the update the instructions on the wiki.
  • When slicing on codeableConcept.coding you get qa-error when a valueset is not bound to the discriminator element - Since slicing by valuesets you don't want the discriminator binding to be valued. (
  • The *DSTU2* SD generation for the spreadsheets does not populate the name element, Which is needed for reslicing. ( I can always manually update the xml since we phasing out the spreadsheets)

view this post on Zulip Eric Haas (Dec 22 2016 at 01:17):

@Grahame Grieve [#12488][#12491][#12492][#12493][#12494][#12495]

view this post on Zulip Grahame Grieve (Dec 22 2016 at 01:32):

thx

view this post on Zulip Eric Haas (Dec 22 2016 at 02:18):

and the most important one... [#12496]

view this post on Zulip Josh Mandel (Dec 22 2016 at 06:09):

(Don't forget you can write GF#12496 to make a link. Like GF#12496 @Eric Haas .)

view this post on Zulip Grahame Grieve (Dec 23 2016 at 02:39):

@Eric Haas GF#12494 - where's an example?

view this post on Zulip Eric Haas (Dec 23 2016 at 03:02):

I removed all the slices from the argo guide. umm I can grab one from git

view this post on Zulip Eric Haas (Dec 23 2016 at 03:23):

I created an example in test ig10 on SVN. reasource is a immunization profile called badslice.xml. I'm committing now

view this post on Zulip Eric Haas (Dec 23 2016 at 03:26):

Actually I added a folder called badslice to tests folder in SVN. the SD output has no slice names based on the spreadsheet. bad slicexml

view this post on Zulip Grahame Grieve (Dec 23 2016 at 19:24):

@Eric Haas I still can't commit to the Argonaut-pd project

view this post on Zulip Grahame Grieve (Dec 23 2016 at 20:00):

after looking at 12494, I'm not sure what is not being produced correctly. From the SD that is produced:

    <element id="Immunization:argoprofile.vaccineCode.coding:vaccinetypecvx">
      <path value="Immunization.vaccineCode.coding"/>
      <name value="VaccineTypeCVX"/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="Coding"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <binding>
        <strength value="required"/>
        <description value="The CVX (vaccine administered) code system"/>
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/daf-cvx"/>
        </valueSetReference>
      </binding>
    </element>

view this post on Zulip Grahame Grieve (Dec 23 2016 at 20:00):

that looks correct to me

view this post on Zulip Grahame Grieve (Dec 23 2016 at 20:14):

and regarding bad slice - a couple of things - don't commit the output (ignore it from svn), and I'd rather this stuf was committed to the standard 3 test igs

view this post on Zulip Eric Haas (Dec 28 2016 at 19:02):

@Grahame Grieve I just sent you a new invitation for Argo-PD

view this post on Zulip Eric Haas (Dec 28 2016 at 21:29):

does the tooling support invariants on complex extensions?

view this post on Zulip Eric Haas (Dec 28 2016 at 23:02):

OK I deleted badslice from tests

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:00):

I've been playing with the IG Publisher this week (with both 2017Jan branch and also master) and I have some questions...not sure if they are limitations of the tooling or just something I'm doing wrong)

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:00):

1. Is it possible to add an invariant from a profile and have that reflected in the IG via the genereated templates?

view this post on Zulip Grahame Grieve (Jan 05 2017 at 22:01):

maybe I misunderstand, but it's not just possible, it should happen

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:01):

for example, the test-ig-spreadsheet.xml has an invariant listed, but that doesn't seem to show up in the output. (e.g. i can't find it at [base]/build/tests/ig/output/profile-sd.html after running the build)

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:02):

unless i'm just missing it

view this post on Zulip Grahame Grieve (Jan 05 2017 at 22:02):

the first place to look is the generated profile - is it in the actual profile?

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:02):

checking now

view this post on Zulip Eric Haas (Jan 05 2017 at 22:03):

yes it does like this example here: http://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-condition-definitions.html#Condition:argoprofile

view this post on Zulip Eric Haas (Jan 05 2017 at 22:04):

also in the definitions files for validation

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:06):

yes, its in StructureDefinition-test-patient.xml

<element id="Patient:testpatient.address.postalCode">
      <path value="Patient.address.postalCode"/>
      <min value="1"/>
      <max value="1"/>
      <type>
        <code value="string"/>
      </type>
      <constraint>
        <key value="1"/>
        <severity value="error"/>
        <human value="(Zip or Postal Code) SHALL be formatted as 99999[-9999] for US Zip or ZIP +4 codes or as A9A9A9 for Canadian postal codes."/>
        <expression value="matches(&#39;[0-9]{5}(-[0-9]{4}){0,1}&#39;)"/>
        <xpath value="f:matches(issued,[0-9]{5}(-[0-9]{4}){0,1} )"/>
      </constraint>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:10):

but i don't see it mentioned in profile-sd.html the way Eric's argoprofile one is

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:10):

maybe because its actually an invariant on a datatype that is referenced from the resource (Address.postalCode) in this case?

view this post on Zulip Grahame Grieve (Jan 05 2017 at 22:12):

yes. it will be in the generated html for the datatype

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:14):

I don't see any html generated for the datatype. i guess the ig needs to define a profile of the Address datatype for this to happen?

view this post on Zulip Grahame Grieve (Jan 05 2017 at 22:21):

actually, no, it's not on the data type, it's on the element so it should show - at least, you should get an invariant flaf

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:21):

so maybe just a bad sample (this was from trunk/build/tests/ig but I also see it at http://build.fhir.org/ig/Healthedata1/US-Core/StructureDefinition-us-core-patient.html

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:22):

that is, in the source i checked out for us-core it has this same invariant (and one more), but i don't see them in the published IG

view this post on Zulip Grahame Grieve (Jan 05 2017 at 22:23):

you mean like this: pat-1: SHALL at least contain a contact's details or a reference to an organization

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:25):

no, this one: Patient.address.postalCode (Zip or Postal Code) SHALL be formatted as 99999[-9999] for US Zip or ZIP +4 codes or as A9A9A9 for Canadian postal codes.

view this post on Zulip Grahame Grieve (Jan 05 2017 at 22:25):

well, the one I quoted is from the us-core page you referenced - it's shown in the snapshot

view this post on Zulip Grahame Grieve (Jan 05 2017 at 22:26):

so you should see your invariant mentioned in the snapshot too

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:28):

but i don't :-/

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:29):

anyway, this isn't urgent...i'm just trying to understand this

view this post on Zulip Grahame Grieve (Jan 05 2017 at 22:36):

what do you see for that element in the snapshot then?

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:46):

just its normal state, with no invariant (even though it seems to be in the generated StructureDefinition)

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:46):

in the test-ig one

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:46):

that US-Core one is confusing me

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:46):

here is the spreadsheet i'm looking at: pasted image

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:47):

but note the missing '-' and so i don't think its even using those

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:47):

and in that case they are NOT in the generated StructureDefinition

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:47):

(which makes sense)

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:47):

but i can't find where that pat-1 is coming from

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:48):

(that one IS in the generated StructureDefinition, but not in the spreadsheet)

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:48):

i must be totally missing something

view this post on Zulip Lee Surprenant (Jan 05 2017 at 22:49):

i'm going back to the simple ig-test one to play some more (that the one where it IS in the StructureDefinition but not in the published ig)

view this post on Zulip Grahame Grieve (Jan 05 2017 at 22:58):

which ig is this?

view this post on Zulip Lee Surprenant (Jan 05 2017 at 23:00):

the test-ig one is the one that is in trunk/build/tests/ig

view this post on Zulip Grahame Grieve (Jan 05 2017 at 23:00):

and that's not rendering correctly?

view this post on Zulip Lee Surprenant (Jan 05 2017 at 23:01):

well, its not displaying the invariant for Patient.address.postalCode

view this post on Zulip Grahame Grieve (Jan 05 2017 at 23:04):

which page?

view this post on Zulip Lee Surprenant (Jan 05 2017 at 23:04):

/trunk/build/tests/ig/output/profile-sd.html

view this post on Zulip Grahame Grieve (Jan 05 2017 at 23:05):

well, that is showing the invariant ok

view this post on Zulip Grahame Grieve (Jan 05 2017 at 23:05):

tst-1: A full date is required

view this post on Zulip Lee Surprenant (Jan 05 2017 at 23:06):

pasted image

view this post on Zulip Lee Surprenant (Jan 05 2017 at 23:06):

is that not getting used in the publish process?

view this post on Zulip Lee Surprenant (Jan 05 2017 at 23:07):

where is tst-1 defined?

view this post on Zulip Grahame Grieve (Jan 05 2017 at 23:08):

generating the IG is a 2 step process.
- first, we generate fragments for all the things you might want to publish
- then, jekyll assembles the final out of the fragments, as directed.

view this post on Zulip Grahame Grieve (Jan 05 2017 at 23:08):

in the case of the test ig, we generate the fragments - see, for example, build/tests/ig/qa/StructureDefinition-test-patient-snapshot.html

view this post on Zulip Grahame Grieve (Jan 05 2017 at 23:09):

but these are never built into any output in /output - it's not configured to do that

view this post on Zulip Grahame Grieve (Jan 05 2017 at 23:09):

tst-1 comes from build\tests\ig\resources\test-ig-sd.xml

view this post on Zulip Eric Haas (Jan 09 2017 at 17:10):

Does the publisher ( validator ) really use the fhir path expression or xpath expression for invariants? I have to put both in the profiles. Why do we need both? and I am only able to idependently verify my xpath but I guess on the FhirPath - Can't get Notepad plugin to work : (

view this post on Zulip Grahame Grieve (Jan 09 2017 at 19:46):

fhirpath is required. xpath is optional. why doesn't notepad++ work?

view this post on Zulip Lee Surprenant (Jan 09 2017 at 19:58):

@Grahame Grieve thanks for putting up with my questions last week. i should have mentioned that i finally 'got it' the next day. what had tripped me up is two things:
1. that the test-ig defines two different profiles for 'Patient' (one via StructuredDocument and one via the spreadsheet approach)
2. the the US-Core ig i was looking at had this 'US Core-Patient-Inv' tab that wasn't actually being used (since it was missing the '-' in the tab name)

view this post on Zulip Lee Surprenant (Jan 09 2017 at 19:59):

i was finally able to make the inv show up on the patient.address.postalCode

view this post on Zulip Lee Surprenant (Jan 09 2017 at 19:59):

for both

view this post on Zulip Lee Surprenant (Jan 09 2017 at 19:59):

after messing with their config

view this post on Zulip Grahame Grieve (Jan 09 2017 at 20:00):

great

view this post on Zulip Lee Surprenant (Jan 09 2017 at 20:01):

since then i've made good progress on my own ig, but i wanted to mention something else i think is a limitation (although it might be my bad again). its about specifying 'code set' on the binding for an extension (from a spreadsheet profile)

view this post on Zulip Lee Surprenant (Jan 09 2017 at 20:01):

i don't think its with the IG builder, maybe its the build stuff that converts spreadsheet to resources

view this post on Zulip Lee Surprenant (Jan 09 2017 at 20:01):

its generating the codesystem and valueset appropriately

view this post on Zulip Lee Surprenant (Jan 09 2017 at 20:02):

but in the SD for the extension, the binding element is missing its 'reference' element

view this post on Zulip Lee Surprenant (Jan 09 2017 at 20:02):

it leads to the structure widget saying the extension is unbound

view this post on Zulip Lee Surprenant (Jan 09 2017 at 20:03):

i think i can just work around it by just avoiding 'code list' and defining the code system and value sets appropriately

view this post on Zulip Grahame Grieve (Jan 09 2017 at 20:03):

what do you have in the binding tab?

view this post on Zulip Lee Surprenant (Jan 09 2017 at 20:03):

here's one i adapted from the US-Core ig

view this post on Zulip Lee Surprenant (Jan 09 2017 at 20:03):

pasted image

view this post on Zulip Lee Surprenant (Jan 09 2017 at 20:04):

and i have code list tab called 'birthsex'

view this post on Zulip Lee Surprenant (Jan 09 2017 at 20:06):

and here is what it puts in the extension of type 'code' where i reference this binding:

view this post on Zulip Grahame Grieve (Jan 09 2017 at 20:06):

well, you're right

view this post on Zulip Grahame Grieve (Jan 09 2017 at 20:07):

fixed. you'll have to wait for 10718 to build though

view this post on Zulip Lee Surprenant (Jan 09 2017 at 20:07):

<element id="Extension:birthsex.valueCode">
      <path value="Extension.valueCode"/>
      <short value="Value of extension"/>
      <definition value="Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list)."/>
      ...
      <type>
        <code value="code"/>
      </type>
      <binding>
        <strength value="required"/>
        <description value="Code for sex assigned at birth"/>
      </binding>
      ...
    </element>
  </snapshot>

view this post on Zulip Lee Surprenant (Jan 09 2017 at 20:08):

cool

view this post on Zulip Lee Surprenant (Jan 09 2017 at 20:08):

you rock

view this post on Zulip Lee Surprenant (Jan 09 2017 at 20:08):

thx grahame

view this post on Zulip Eric Haas (Jan 09 2017 at 22:11):

re Notepad - don't know keep getting errors. I'll try from scratch again.

view this post on Zulip Eric Haas (Jan 09 2017 at 22:14):

@Lee Surprenant The invarients are used in the US-Core spreadsheet. The "-" is in the metadata page....

view this post on Zulip Eric Haas (Jan 09 2017 at 22:18):

@Lee Surprenant I think its easier to manage all valuesets as separate resources than use the spreadsheets. Kind of standardized the approach and easier to sautogenerate of the ig.xml and ig.json files .

view this post on Zulip Eric Haas (Jan 10 2017 at 00:00):

@Grahame Grieve With Fresh install Notepad plugin works for checking fhirpath for STU3 which is great. When I switch over to DSTU2 I get and error

view this post on Zulip Eric Haas (Jan 10 2017 at 00:01):

Error validating: Unable to open file [3: The system cannot find the path specified.]: 'C:\work\org.hl7.fhir\build\publish\definitions-r2asr3.xml.zip'

view this post on Zulip Eric Haas (Jan 10 2017 at 00:01):

I can work around this one though.

view this post on Zulip Grahame Grieve (Jan 10 2017 at 01:24):

hmm. I'll look at the install again;...

view this post on Zulip Eric Haas (Jan 10 2017 at 20:29):

Does the IG publisher use the ig.xml resource resource.purpose.value for anything ( does it matter what the value is?)

view this post on Zulip Eric Haas (Jan 10 2017 at 20:32):

in DSTU2

view this post on Zulip Lloyd McKenzie (Jan 10 2017 at 20:37):

I use it in generating the table of contents - figuring out whether something is a generated resource page or a regular page

view this post on Zulip Lee Surprenant (Feb 13 2017 at 23:40):

Decided to update to trunk today and now i'm getting this error on my ig builds: Snapshot does not contain differential element with id (seemingly for whatever is the first extension element referenced in my ig)

view this post on Zulip Lee Surprenant (Feb 13 2017 at 23:41):

I reverted to r11138 and its working again for me now. so, barring something strange, I think it must have been a very recent commit that broke it

view this post on Zulip Lloyd McKenzie (Feb 13 2017 at 23:43):

It is a recent commit, but it's a commit that indicate that your profile is broken

view this post on Zulip Lloyd McKenzie (Feb 13 2017 at 23:43):

I.e. We added some checking that wasn't there before.

view this post on Zulip Lloyd McKenzie (Feb 13 2017 at 23:43):

It means you've got an element in your differential that isn't showing up in your snapshot - which is a problem.

view this post on Zulip Lloyd McKenzie (Feb 13 2017 at 23:44):

Generally it means something in your differential is mis-named

view this post on Zulip Lloyd McKenzie (Feb 13 2017 at 23:44):

(Or shouldn't be there at all)

view this post on Zulip Lee Surprenant (Feb 14 2017 at 01:24):

hmm, i'm generating off a spreadsheet...not sure what isn't right. the one at /build/tests/ig is failing with a similar error
Publishing Content Failed: Exception loading http://hl7.org/fhir/test/StructureDefinition/test-ig-militaryService: Snapshot does not contain differential element with id: Extension:militaryservice.value[x] (08.0064sec)
(08.0064sec)

view this post on Zulip Lee Surprenant (Feb 14 2017 at 01:24):

as does the latest US-Core version i just ran

view this post on Zulip Eric Haas (Feb 14 2017 at 01:30):

OK let me fix US-Core

view this post on Zulip Eric Haas (Feb 14 2017 at 01:42):

after dinner

view this post on Zulip Lloyd McKenzie (Feb 14 2017 at 01:48):

You've problem is that you've probably constrained the data type of the value[x], so the name should be valueCodeableConcept or whatever the data type is. (The differential name needs to be consistent with what the name's going to be in the snapshot.)

view this post on Zulip Lee Surprenant (Feb 14 2017 at 14:09):

i'm sorry to say it, but i still don't understand the problem. ignoring my ig, lets just consider the one at /build/tests/ig (I posted the error above).
it defines an extension element with a profile name of 'militaryService'. that military service extension is defined to be of type code.
the ig publisher fails with the above error and when I check the qa folder I can see what its complaining about:
pasted image

view this post on Zulip Lee Surprenant (Feb 14 2017 at 14:10):

so i guess the question is: how to make the differential use valueCode instead of value[x] ?

view this post on Zulip Lloyd McKenzie (Feb 14 2017 at 16:51):

In the differential, the path name should be Extension.valueCode, not Extension.value[x]

view this post on Zulip Lee Surprenant (Feb 14 2017 at 21:36):

Sorry, was out this afternoon due to car troubles. I'm still missing some knowledge about how the differential is generated. I'm using spreadsheet profile authoring in my IG (and so does that test-ig) and I'm not sure what to change in order to change the path in the differential

view this post on Zulip Sadiq Saleh (Feb 14 2017 at 22:11):

I have tried both combinations for restricting Observation.value[x] in the spreadsheet: i.e. putting Observation.value[x] or Observation.valueCodeableConcept and still keep getting the same error that Lee mentioned. Still not sure what the issue/fix is.

view this post on Zulip Eric Haas (Feb 15 2017 at 00:10):

US-Core validates - look at that for examples here

view this post on Zulip Lloyd McKenzie (Feb 15 2017 at 01:47):

What is your data type?

view this post on Zulip Sadiq Saleh (Feb 15 2017 at 14:25):

Not sure if you were referring to my post, but this is how I have filled out the spreadsheet:
pasted image

view this post on Zulip Sadiq Saleh (Feb 15 2017 at 18:01):

I am still having issues getting the IG to work with extensions. As far as I can tell there are no examples of working extensions in the US-core, unless I missed one?

view this post on Zulip Eric Haas (Feb 15 2017 at 18:45):

My extension are all xml SD files. The spreadsheet doesn't create them correctly and there is an open tracker on creating extensions with the spreadsheets which likely won't get fixed soon. what I do is use the spreadsheet to create the extension then edit in xml. You need to understand the StructureDefinition resource to do this though.

view this post on Zulip Eric Haas (Feb 15 2017 at 18:48):

Curiously the latest IG publisher caused my US-Core build to fail due to the dict fragment for the complex extension not being created. Argo works fine and they are nearly the same, I need to see what the problem is. Did I mention you need to understand SD pretty good to hand edit. :-)

view this post on Zulip Sadiq Saleh (Feb 15 2017 at 18:51):

As an alternative to hand editing the SD (which I am not sure I am capable of doing). Does the build process build extensions correctly? Could I build my extensions there and grab them from there once built?

view this post on Zulip Eric Haas (Feb 15 2017 at 18:52):

Could see if Forge is up to the task

view this post on Zulip Eric Haas (Feb 15 2017 at 18:52):

I think the build would work too

view this post on Zulip Grahame Grieve (Feb 15 2017 at 19:24):

I'm confused by this - the problem seems to be with Observation.valueCodeableConcept, not an extension.

view this post on Zulip Grahame Grieve (Feb 15 2017 at 19:25):

I think that should work fine - @Lloyd McKenzie have you broken something?

view this post on Zulip Eric Haas (Feb 15 2017 at 19:31):

@Grahame Grieve the 'this" I'm talking about is extensions and how they are not working for my IGs.. (specifically the diff view in my templates - the snapshots seem fine) Observation.valueCodeableConcept is working for me. e.g us core
Smokingstatus

view this post on Zulip Grahame Grieve (Feb 15 2017 at 19:32):

how are extensions not working?

view this post on Zulip Eric Haas (Feb 15 2017 at 19:35):

GF#12496

view this post on Zulip Grahame Grieve (Feb 15 2017 at 19:36):

k

view this post on Zulip Eric Haas (Feb 15 2017 at 19:40):

I've also logged GF#12833 which just cropped up. Not 100% sure is not on my end though it only affects complex extensions and I thnk it may be related to the change in the discriminator element

view this post on Zulip Lloyd McKenzie (Feb 15 2017 at 20:02):

I think we're talking about multiple issues. Lee's and Sadiq's problem is that the build dies. I'm a bit confused in that Sadiq is talking about extensions but posted an example not using extensions. What's the specific message you get back in your build @Sadiq Saleh with that spreadsheet filed out as you pasted it here?

view this post on Zulip Sadiq Saleh (Feb 15 2017 at 20:12):

@Lloyd McKenzie I would get the error:
java.lang.Exception: Exception loading http://evinance.com/fhir-DSTU3/StructureDefinition/t-category-bc: Snapshot does not contain differential element with id: Observation:t-category-bc.valueCodeableConcept
and I 'fixed' it by reordering the rows:
pasted image

view this post on Zulip Sadiq Saleh (Feb 15 2017 at 20:18):

This exception seems to mimic the exception thrown by the extensions that Lee observed, though I am unclear why reordering it worked here? Is it because it is expecting the atrributes of codeableconcept to be listed?

view this post on Zulip Lloyd McKenzie (Feb 15 2017 at 20:19):

I have no clue why re-ordering made a difference - particularly given that category should actually appear before code, not after. That's just downright weird . . .

view this post on Zulip Eric Haas (Feb 15 2017 at 21:34):

I am getting a new error logged which I didnt notcie before and probably has something to do with the schematrons not being generated.

view this post on Zulip Eric Haas (Feb 15 2017 at 21:35):

xception generating resource /Users/ehaas/Documents/FHIR/US-Core/resources/structuredefinition-us-core-race::StructureDefinition/us-core-race: String index out of range: -1 (00:01:04.0940sec)
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1967)
at org.hl7.fhir.dstu3.utils.formats.CSVWriter.itemList(CSVWriter.java:223)
at org.hl7.fhir.dstu3.utils.formats.CSVWriter.processElement(CSVWriter.java:170)
at org.hl7.fhir.dstu3.conformance.ProfileUtilities.generateCsvs(ProfileUtilities.java:2709)
at org.hl7.fhir.igtools.publisher.Publisher.generateOutputsStructureDefinition(Publisher.java:2876)
at org.hl7.fhir.igtools.publisher.Publisher.generateOutputs(Publisher.java:2563)
at org.hl7.fhir.igtools.publisher.Publisher.generate(Publisher.java:1802)
at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:281)
at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:3204)
java.lang.String.substring(String.java:1967) (00:01:04.0941sec)
org.hl7.fhir.dstu3.utils.formats.CSVWriter.itemList(CSVWriter.java:223) (00:01:04.0941sec)
org.hl7.fhir.dstu3.utils.formats.CSVWriter.processElement(CSVWriter.java:170) (00:01:04.0942sec)
org.hl7.fhir.dstu3.conformance.ProfileUtilities.generateCsvs(ProfileUtilities.java:2709) (00:01:04.0942sec)
org.hl7.fhir.igtools.publisher.Publisher.generateOutputsStructureDefinition(Publisher.java:2876) (00:01:04.0942sec)
org.hl7.fhir.igtools.publisher.Publisher.generateOutputs(Publisher.java:2563) (00:01:04.0942sec)
org.hl7.fhir.igtools.publisher.Publisher.generate(Publisher.java:1802) (00:01:04.0942sec)
org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:281) (00:01:04.0942sec)
org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:3204) (00:01:04.0942sec)

view this post on Zulip Eric Haas (Feb 15 2017 at 21:35):

not sure what a string out of range error is.

view this post on Zulip Grahame Grieve (Feb 15 2017 at 21:47):

slack coding by Lloyd. I'll commit a fix

view this post on Zulip Lloyd McKenzie (Feb 16 2017 at 00:10):

Apologies. (And thanks Grahame)

view this post on Zulip Eric Haas (Feb 16 2017 at 00:41):

type Reference(any) creating bad links for Any.html in FHIR build links to http://build.fhir.org/resourcelist.html I am creating a redirect in Any.html - is there a better way?

view this post on Zulip Grahame Grieve (Feb 16 2017 at 00:51):

there's something wrong there.

view this post on Zulip Grahame Grieve (Feb 16 2017 at 00:51):

is it your case being wrong? there is no reason to create any.html

view this post on Zulip Eric Haas (Feb 16 2017 at 02:11):

I didn't specify the type is coming from the snapshot. So I don' t think is a case issue.

view this post on Zulip Grahame Grieve (Feb 16 2017 at 02:13):

so is this in a commited IG?

view this post on Zulip Eric Haas (Feb 16 2017 at 03:20):

yes here: https://github.com/Healthedata1/US-Core. OK when I removed from the differential definition it changes the type to "Reference(Resource)".

view this post on Zulip Grahame Grieve (Feb 16 2017 at 04:04):

that's better

view this post on Zulip Eric Haas (Feb 20 2017 at 23:49):

IG publisher is not working when I create a dependency to US Core: here is the warning ( same whether use location or source for vaildation.pack ):

 Load uscore (http://build.fhir.org/ig/Healthedata1/US-Core) from resources       (18.0925sec)
 Version mismatch. This IG is version 1.9.0, while the IG 'uscore' is from version 1.7.0. Will try to run anyway) (18.0956sec)
 Publishing Content Failed: Unable to parse StructureDefinition-us-core-procedure.json from IG uscore (19.0130sec)

view this post on Zulip Eric Haas (Feb 20 2017 at 23:50):

note the version mismatch is weird because the validation.pack si version 1.9.0 and here is the ig.json:

,"dependencyList":[{"name":"uscore","location":"http://build.fhir.org/ig/Healthedata1/US-Core","source":"resources"}],

view this post on Zulip Eric Haas (Feb 20 2017 at 23:53):

USCore was updated to the latest STU3 changes BTW and I can't get a json validator to work on the above file, but the xml schema validation was OK .

view this post on Zulip Grahame Grieve (Feb 21 2017 at 02:49):

will work on this next week

view this post on Zulip Grahame Grieve (May 08 2017 at 06:10):

version 11996 introduces "jurisdiction" to the config file for IGs - you can use it ensure that all your conformance resources are marked for the applicable region. I recommend that we should all use it wherever IGs are region or country specific

view this post on Zulip Lloyd McKenzie (May 08 2017 at 06:22):

Is there a jurisdiction to positively assert "international"?

view this post on Zulip Lloyd McKenzie (May 08 2017 at 06:22):

We could look at making it mandatory - at least in a good practice profile

view this post on Zulip Jose Costa Teixeira (Jun 21 2017 at 20:20):

Hi. Newbie question(is this the right place?): I am trying a very simple IG that just tells "medicationAdministration.performer is mandatory". So i made a simple IG that references the structureDefinition which contains the element in the differential. I am still learning the dependencies but i am getting a "The link 'AdministrationReport-definitions.html#MedicationAdministration.performer' cannot be resolved".

Can anyone tell me what mistake I'm making?

view this post on Zulip Eric Haas (Jun 21 2017 at 20:40):

@Jose Costa Teixeira See how I did this for US Meds IG in this repo. Specifically, this spreadsheet

view this post on Zulip Eric Haas (Jun 21 2017 at 20:44):

The links to the definitions page are stitched together in the ig.json file.

view this post on Zulip Eric Haas (Jun 21 2017 at 20:48):

"defaults": {
    "StructureDefinition": {
        "template-mappings": "sd-mappings.html",
        "template-defns": "sd-definitions.html",
        "template-base": "sd.html"
    },

view this post on Zulip Jose Costa Teixeira (Jun 21 2017 at 20:55):

Thanks @Eric Haas I'm trying to port this info you gave me to my structure where i dont use spreadsheets.

view this post on Zulip Jose Costa Teixeira (Jun 21 2017 at 20:56):

so the ig.json is an implementationGuide resource?

view this post on Zulip Jose Costa Teixeira (Jun 21 2017 at 20:58):

nope, nevermind, it is the control file. mine is almost empty, hence my doubt

view this post on Zulip Eric Haas (Jun 21 2017 at 21:09):

...or you can scrub the definitions from you template all together

view this post on Zulip Jose Costa Teixeira (Jun 21 2017 at 21:10):

still failing. what do you mean scrub the definitions? I think i am not using any

view this post on Zulip Eric Haas (Jun 21 2017 at 21:11):

So the StructureDefinitions are available at: http://hl7.org/fhir/us/meds/StructureDefinition-medicationadministration.html

view this post on Zulip Eric Haas (Jun 21 2017 at 21:11):

instead of spreadsheets

view this post on Zulip Eric Haas (Jun 22 2017 at 17:00):

@Grahame Grieve What is the purpose of the history page folder in the ig config file if it is not published in the output file adn has to be externally maintatined?

"
[history page]: the page that lists the history of the implementation guide. This page is manually managed when the IG is published formally, so it is not produced (and cannot be produced) but is not listed as a broken link
"

view this post on Zulip Grahame Grieve (Jun 22 2017 at 20:08):

turning the warning off

view this post on Zulip Grahame Grieve (Jun 22 2017 at 20:08):

sorry, the broken link error off

view this post on Zulip Eric Haas (Jun 22 2017 at 22:28):

I am trying to figure out how to document how to use the Appointment resource as an input operation parameter. Thing is ... can't really use a profile since it will be incomplete and fail the validation in the tooling. (e.g., .status is not needed for an input parameter).

view this post on Zulip Grahame Grieve (Jun 22 2017 at 22:45):

it's mandatory

view this post on Zulip Eric Haas (Jun 26 2017 at 00:03):

I know is a required element but the context of use here is using the appointment SD as a pre-packaged template for input parameters. When this idea was floated in argonaut the push back came because of the required status elements that were felt to be extra baggage and not appropriate to be populated for input parameter. Right now I may only list the parameters and where they go in the appointment resource without creating a profile for this step and profile the the output and confirmation Appointments.

view this post on Zulip Grahame Grieve (Jun 26 2017 at 00:47):

this has come up before - using a resource as a template or constructor

view this post on Zulip Grahame Grieve (Jun 26 2017 at 00:47):

I don't know what a good answer is

view this post on Zulip Eric Haas (Jun 26 2017 at 17:54):

I alphabetize the configuration file and an error arose because of this:

    ],
 "paths":{
    "resources":[
       "resources",
       "examples"
   ],
   ....

changed to:

    ],
 "paths":{
    "resources":[
       "examples",
       "resources"
   ],
   ....

with this error message:

  java.lang.Exception: Unable to find file /Users/ehaas/Documents/FHIR/IG-
  Template/examples/ig.xml
at org.hl7.fhir.igtools.publisher.SimpleFetcher.fetch(SimpleFetcher.java:39)
at org.hl7.fhir.igtools.publisher.Publisher.load(Publisher.java:1255)
at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:315)
at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:3787

view this post on Zulip Eric Haas (Jun 26 2017 at 18:03):

So only looks for ImplementationGuide resource in the first folder in the resource list.

view this post on Zulip Grahame Grieve (Jun 26 2017 at 20:54):

can you make a task for this please

view this post on Zulip Eric Haas (Jun 26 2017 at 20:58):

GF#13572

view this post on Zulip Eric Haas (Jul 11 2017 at 17:44):

Whenever GG gets back. Got an error I have never before seen and unable to debug for US-Core. ( not yet committed).

Validating Resources                                                             (41.0021sec)
Exception in thread "main" java.lang.Error: Not done yet - resolve Practitioner/practitioner-1 locally
    at org.hl7.fhir.r4.validation.InstanceValidator$ValidatorHostServices.resolveReference(InstanceValidator.java:196)
    at org.hl7.fhir.r4.utils.FHIRPathEngine.funcResolve(FHIRPathEngine.java:2458)
    at org.hl7.fhir.r4.utils.FHIRPathEngine.evaluateFunction(FHIRPathEngine.java:2117)
    at org.hl7.fhir.r4.utils.FHIRPathEngine.execute(FHIRPathEngine.java:899)
    at org.hl7.fhir.r4.utils.FHIRPathEngine.execute(FHIRPathEngine.java:913)
    at org.hl7.fhir.r4.utils.FHIRPathEngine.execute(FHIRPathEngine.java:908)
    at org.hl7.fhir.r4.utils.FHIRPathEngine.evaluate(FHIRPathEngine.java:381)
    at org.hl7.fhir.r4.utils.FHIRPathEngine.evaluateToBoolean(FHIRPathEngine.java:439)
    at org.hl7.fhir.r4.validation.InstanceValidator.checkInvariants(InstanceValidator.java:3349)
    at org.hl7.fhir.r4.validation.InstanceValidator.validateElement(InstanceValidator.java:2981)
    at org.hl7.fhir.r4.validation.InstanceValidator.validateElement(InstanceValidator.java:3283)
    at org.hl7.fhir.r4.validation.InstanceValidator.start(InstanceValidator.java:2385)
    at org.hl7.fhir.r4.validation.InstanceValidator.validateResource(InstanceValidator.java:3450)
    at org.hl7.fhir.r4.validation.InstanceValidator.validateContains(InstanceValidator.java:2948)
    at org.hl7.fhir.r4.validation.InstanceValidator.validateElement(InstanceValidator.java:3222)
    at org.hl7.fhir.r4.validation.InstanceValidator.validateElement(InstanceValidator.java:3283)
    at org.hl7.fhir.r4.validation.InstanceValidator.start(InstanceValidator.java:2369)
    at org.hl7.fhir.r4.validation.InstanceValidator.validateResource(InstanceValidator.java:3450)
    at org.hl7.fhir.r4.validation.InstanceValidator.validate(InstanceValidator.java:642)
    at org.hl7.fhir.r4.validation.InstanceValidator.validate(InstanceValidator.java:603)
    at org.hl7.fhir.igtools.publisher.Publisher.validate(Publisher.java:2157)
    at org.hl7.fhir.igtools.publisher.Publisher.validate(Publisher.java:2133)
    at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:358)
    at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:323)
    at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:3829)

view this post on Zulip Eric Haas (Jul 11 2017 at 20:57):

Looked at this again and the problem lies with MedicationRequest.requester.agent reference element. Commented out and builds successfully.

view this post on Zulip Christopher Schuler (Jul 19 2017 at 01:43):

When building a derived profile, why doesn't the baseDefinition element of the generated StructureDefinition reference the derived profile? I am deriving several profiles from the US Core IG, but when I reference the baseDefinition element it doesn't point to http://hl7.org/fhir/us/core/StructureDefinition/... endpoint. Instead it points to the http://hl7.org/fhir/StructureDefinition/... endpoint.

view this post on Zulip Eric Haas (Jul 19 2017 at 15:13):

This is known issue with using the spreadsheets but it works if this element is populated correctly.

<baseDefinition value="http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient"/>

I added a profile here to show how its done using StructureDefinition file directly. ( I actually used the the spreadsheets template to crreate the xml and then hand edit the generated StructureDefinition file in xml to to create the corrected profile and reran in the ig-publisher.)

view this post on Zulip Eric Haas (Jul 19 2017 at 15:18):

@Christopher Schuler see above

view this post on Zulip Christopher Schuler (Jul 19 2017 at 21:45):

Thanks @Eric Haas ! That did the trick.
However the full URL is being displayed like so:
This profile builds on http://hl7.org/fhir/us/core/StructureDefinition-us-core-allergyintolerance.html
How to get a link like yours?

view this post on Zulip Christopher Schuler (Jul 19 2017 at 23:41):

Also, it looks like list-xxx.xhtml and list-simple-xxx.xhtml try to access the "name" property of the given example, which causes {title?} to be outputted if the resource doesn't have a name property. Is there a way to access the "id" property instead?

view this post on Zulip Rick Geimer (Jul 20 2017 at 01:32):

Is anyone here able to increase the Java heap space for the IG publisher? My build runs locally once I increased the heap. Other option would be for me to start hacking HTLMLInspector.java to remove the excess caching of LoadedFile objects since that seems to be where the build is failing per http://build.fhir.org/ig/HL7/ccda-on-fhir/build.log. I guess 597 HTML files generated from a single IG is pushing the limits...

view this post on Zulip Eric Haas (Jul 20 2017 at 02:01):

Thanks @Eric Haas ! That did the trick.
However the full URL is being displayed like so:
This profile builds on http://hl7.org/fhir/us/core/StructureDefinition-us-core-allergyintolerance.html
How to get a link like yours?

? I'm not sure what you mean, the sd.html template creates that link from a build generated fragment:

from this code here:...

     <!-- uri -->
     {% include {{[type]}}-{{[id]}}-header.xhtml %}

     <!-- uri -->

Note that you need to use the uri (http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance)in the baseDefinition not the URL (http://hl7.org/fhir/us/core/StructureDefinition-us-core-allergyintolerance.html)

Also, it looks like list-xxx.xhtml and list-simple-xxx.xhtml try to access the "name" property of the given example, which causes {title?} to be outputted if the resource doesn't have a name property. Is there a way to access the "id" property instead?

that is another known issue. I hand edit that as well.

view this post on Zulip Rick Geimer (Jul 20 2017 at 02:16):

Ugh, tried commenting out all examples in the IG, dropping the total generated HTML files to 436, but there is still not enough heap space to build my IG. Hopefully someone with access to the build server can lend a hand tomorrow ...

view this post on Zulip Eric Haas (Jul 20 2017 at 03:27):

FYI US-Core has about 1200 HTML files

http:

view this post on Zulip Rick Geimer (Jul 20 2017 at 12:53):

@Eric Haas Perhaps it's not so much the number of files as their sizes. These are large Composition resource profiles, that inherit from other large Composition profiles, and can be a couple megabytes for many of the generated HTML files. Combine this with large value sets like the LOINC document type codes for Diagnostic Imaging Reports whose ttl.html and xml.html files are about 8 megs each and things start to add up pretty quick.

view this post on Zulip Rick Geimer (Jul 20 2017 at 16:10):

@Josh Mandel Sorry to keep bothering you, but I'm basically dead in the water until the heap gets bumped up. Tried making the fix to the auto-ig-builder myself but I don't have commit privileges to that repo.

http://build.fhir.org/ig/HL7/ccda-on-fhir/build.log

view this post on Zulip Josh Mandel (Jul 20 2017 at 21:59):

Sorry Rick! Let me try to update this now. (note that in general even without commit privileges you can always make a "pull request" in Github).

view this post on Zulip Rick Geimer (Jul 20 2017 at 22:07):

Thanks!

view this post on Zulip Grahame Grieve (Jul 21 2017 at 11:06):

so is this sorted now?

view this post on Zulip Grahame Grieve (Jul 21 2017 at 11:06):

I'll add a task for myself to consider if I can reduce memory requirements when validating the pages

view this post on Zulip Rick Geimer (Jul 21 2017 at 13:34):

@Grahame Grieve Yes, sorted for now. And welcome back! Yes, I think the validation piece could stand a little memory optimization. Also, I'm pretty sure there is a memory leak when -watch is used, because on my system it will slowly start hogging all RAM and eventually crash in about 30 minutes even though I am making no changes to the IG.

view this post on Zulip Grahame Grieve (Jul 21 2017 at 14:14):

hm. I'll look at both

view this post on Zulip Grahame Grieve (Jul 21 2017 at 14:15):

good to be back, though I'm not really back yet

view this post on Zulip Lloyd McKenzie (Jul 21 2017 at 20:12):

Agree on the memory leak with -watch.

view this post on Zulip Eric Haas (Aug 01 2017 at 01:42):

What is the point of this qa message?- for me is white noise. I know there will be instance elements that are not defined in the profile.

Observation/respiratory-rate: Observation.meta[1] information Instance includes element that is not marked as 'mustSupport' and was validated against profiles declaring mustSupport=true

view this post on Zulip Eric Haas (Aug 01 2017 at 01:43):

I got 402 of these

view this post on Zulip Eric Haas (Aug 01 2017 at 01:44):

can we create a separate column for warnings and information in qa.html?

view this post on Zulip Eric Haas (Aug 01 2017 at 01:46):

What does this qa warning mean?
Observation/blood-glucose: Observation.code warning No Message returned

view this post on Zulip Grahame Grieve (Aug 01 2017 at 02:50):

that one looks like a bug

view this post on Zulip Grahame Grieve (Aug 01 2017 at 02:50):

the first one is a policy issue.

view this post on Zulip Lloyd McKenzie (Aug 01 2017 at 03:54):

Separate columns for warnings & QA is appropriate. When creating an IG that uses mustSupport, it's quite helpful to know if you've got content in your examples that isn't expected to be supported. Sometimes that's deliberate, but often it's unintentional and a cue to either fix the example or fix the profile to make the element mustSupport=true. Also, IGs now have the ability to suppress warning and information messages that you deem irrelevant, so you can hide the noise if you like - once you confirm that it is noise...

view this post on Zulip Grahame Grieve (Aug 01 2017 at 04:39):

how does the suppression work?

view this post on Zulip Lloyd McKenzie (Aug 01 2017 at 05:03):

http://wiki.hl7.org/index.php?title=IG_Publisher_Documentation#Suppressed_Warnings

view this post on Zulip Grahame Grieve (Aug 01 2017 at 06:20):

for something like the 'element that is not must-support' which is clearly a policy decision, this should only appear if the IG configuration file asks for it.

view this post on Zulip Lloyd McKenzie (Aug 01 2017 at 06:44):

I'm fine with it being a configuration parameter. It won't show up if the IG doesn't make use of must-support at all.

view this post on Zulip Eric Haas (Aug 01 2017 at 15:16):

thanks for the explanation. I thought I saw something about warnings in the config file. but documentation needs a little clarification. what are the values? is it boolean. I would like to suppress the information and not the warnings so maybe change to 'warnings|information}both'. (I would offer to do it myself - but never got past "Hello world" in Java)

view this post on Zulip Lloyd McKenzie (Aug 01 2017 at 18:21):

It's a text file. One line per warning to suppress. Essentially what shows up in qa.txt. You can also strip off the location text if you want to ignore the warning in general regardless of where it shows up.

view this post on Zulip Eric Haas (Aug 01 2017 at 18:59):

OK for example:

...,"suppressedWarningFile": ["Instance includes element that is not marked as 'mustSupport' and was validated against profiles declaring mustSupport=true", "Some other warning I don't care about"],...

view this post on Zulip Lloyd McKenzie (Aug 01 2017 at 20:51):

No. "suppressedWarningFile": "mySuppressedWarnings.txt"

view this post on Zulip Lloyd McKenzie (Aug 01 2017 at 20:52):

mySuppressedWarnings.txt would then have two lines saying:
Instance includes element that is not marked as 'mustSupport' and was validated against profiles declaring mustSupport=true Some other warning I don't care about

view this post on Zulip Eric Haas (Aug 01 2017 at 21:19):

OK thanks Lloyd I'll update the doco with this example.

view this post on Zulip Eric Haas (Aug 01 2017 at 21:22):

@Grahame Grieve I reviewed all the US-Core errors and was able to correct a few but the following are term server issues and I would like your opinion and or assistance:

view this post on Zulip Eric Haas (Aug 01 2017 at 21:23):

1) This group of warnings are because the term server does not support the Code system:

view this post on Zulip Eric Haas (Aug 01 2017 at 21:23):

WARNING: AllergyIntolerance/example: AllergyIntolerance.code: None of the codes provided are in the value set http://hl7.org/fhir/us/core/ValueSet/us-core-substance (http://hl7.org/fhir/us/core/ValueSet/us-core-substance, and a code should come from this value set unless it has no suitable code) (codes = http://hl7.org/fhir/ndfrt#N0000175503)
WARNING: AllergyIntolerance/example: AllergyIntolerance.code.coding: Unknown Code System http://hl7.org/fhir/ndfrt
WARNING: Immunization/imm-1: Immunization.vaccineCode.coding[2]: Unknown Code System http://hl7.org/fhir/sid/ndc
WARNING: Medication/uscore-med1: Medication.code: None of the codes provided are in the value set http://hl7.org/fhir/us/core/ValueSet/us-core-medication-codes (http://hl7.org/fhir/us/core/ValueSet/us-core-medication-codes, and a code should come from this value set unless it has no suitable code) (codes = http://www.nlm.nih.gov/research/umls/rxnorm#206765)
WARNING: Medication/uscore-med2: Medication.code: None of the codes provided are in the value set http://hl7.org/fhir/us/core/ValueSet/us-core-medication-codes (http://hl7.org/fhir/us/core/ValueSet/us-core-medication-codes, and a code should come from this value set unless it has no suitable code) (codes = http://www.nlm.nih.gov/research/umls/rxnorm#582620)
WARNING: MedicationRequest/uscore-mo1: MedicationRequest.medicationCodeableConcept: None of the codes provided are in the value set http://hl7.org/fhir/us/core/ValueSet/us-core-medication-codes (http://hl7.org/fhir/us/core/ValueSet/us-core-medication-codes, and a code should come from this value set unless it has no suitable code) (codes = http://www.nlm.nih.gov/research/umls/rxnorm#582620)
WARNING: MedicationRequest/uscore-mo2: MedicationRequest.medicationReference.contained.code: None of the codes provided are in the value set http://hl7.org/fhir/us/core/ValueSet/us-core-medication-codes (http://hl7.org/fhir/us/core/ValueSet/us-core-medication-codes, and a code should come from this value set unless it has no suitable code) (codes = http://www.nlm.nih.gov/research/umls/rxnorm#582620)
WARNING: Bundle/uscore-mo3: Bundle.entry[2].resource.code: None of the codes provided are in the value set http://hl7.org/fhir/us/core/ValueSet/us-core-medication-codes (http://hl7.org/fhir/us/core/ValueSet/us-core-medication-codes, and a code should come from this value set unless it has no suitable code) (codes = http://www.nlm.nih.gov/research/umls/rxnorm#582620)
WARNING: MedicationStatement/uscore-ms1: MedicationStatement.medicationCodeableConcept: None of the codes provided are in the value set http://hl7.org/fhir/us/core/ValueSet/us-core-medication-codes (http://hl7.org/fhir/us/core/ValueSet/us-core-medication-codes, and a code should come from this value set unless it has no suitable code) (codes = http://www.nlm.nih.gov/research/umls/rxnorm#206765)
WARNING: MedicationStatement/uscore-ms2: MedicationStatement.medicationReference.contained.code: None of the codes provided are in the value set http://hl7.org/fhir/us/core/ValueSet/us-core-medication-codes (http://hl7.org/fhir/us/core/ValueSet/us-core-medication-codes, and a code should come from this value set unless it has no suitable code) (codes = http://www.nlm.nih.gov/research/umls/rxnorm#206765)
WARNING: Bundle/uscore-ms3: Bundle.entry[2].resource.code: None of the codes provided are in the value set http://hl7.org/fhir/us/core/ValueSet/us-core-medication-codes (http://hl7.org/fhir/us/core/ValueSet/us-core-medication-codes, and a code should come from this value set unless it has no suitable code) (codes = http://www.nlm.nih.gov/research/umls/rxnorm#582620)

view this post on Zulip Eric Haas (Aug 01 2017 at 21:25):

2) Code in LOINC ver 2.61 term server is ver 2.59:

WARNING: Observation/blood-pressure: Observation.code: None of the codes provided are in the value set http://hl7.org/fhir/ValueSet/observation-vitalsignresult (http://hl7.org/fhir/ValueSet/observation-vitalsignresult, and a code should come from this value set unless it has no suitable code) (codes = http://loinc.org#85354-9)
WARNING: Observation/bp-data-absent: Observation.code: None of the codes provided are in the value set http://hl7.org/fhir/ValueSet/observation-vitalsignresult (http://hl7.org/fhir/ValueSet/observation-vitalsignresult, and a code should come from this value set unless it has no suitable code) (codes = http://loinc.org#85354-9)
WARNING: Observation/vitals-panel: Observation.code: None of the codes provided are in the value set http://hl7.org/fhir/ValueSet/observation-vitalsignresult (http://hl7.org/fhir/ValueSet/observation-vitalsignresult, and a code should come from this value set unless it has no suitable code) (codes = http://loinc.org#85353-1)

view this post on Zulip Grahame Grieve (Aug 01 2017 at 21:26):

stinking LOINC shouldn't roll over so fast

view this post on Zulip Eric Haas (Aug 01 2017 at 21:26):

3) Thu NUCC Display names in term server are kind of misleading without context maybe should do it like Snomed and list the parent e.g. currently 207RC0000X|Cardiovascular Disease but instead change to 207RC0000X|Cardiovascular Disease (Internal Medicine)

view this post on Zulip Eric Haas (Aug 01 2017 at 21:27):

WARNING: CareTeam/example: CareTeam.participant[1].role: The display "Allopathic &amp; Osteopathic Physicians:Internal Medicine:Cardiovascular Disease" is not a valid display for the code {http://nucc.org/provider-taxonomy}207RC0000X
WARNING: CareTeam/example: CareTeam.participant[2].role: The display "Allopathic &amp; Osteopathic Physicians:General Practice" is not a valid display for the code {http://nucc.org/provider-taxonomy}208D00000X

view this post on Zulip Eric Haas (Aug 01 2017 at 21:27):

I can go either way on that -just wondering

view this post on Zulip Eric Haas (Aug 01 2017 at 21:28):

4) Example uses text only in codeabeconcept - so I guess I could suppress this one.

view this post on Zulip Eric Haas (Aug 01 2017 at 21:29):

WARNING: Condition/hc1: Condition.code: No code provided, and a code should be provided from the value set http://hl7.org/fhir/us/core/ValueSet/us-core-problem (http://hl7.org/fhir/us/core/ValueSet/us-core-problem

view this post on Zulip Eric Haas (Aug 01 2017 at 21:30):

5) This one does expand in the IG and the terminology server does have this when checking manually not sure why getting this warning?

   WARNING: Immunization/imm-1: Immunization.vaccineCode.coding[1]: Unknown Code System http://hl7.org/fhir/sid/cvx

view this post on Zulip Eric Haas (Aug 01 2017 at 21:32):

Finally 6) I ignore these as they are build generated artifacts - I guess can suppress too.

WARNING: ValueSet/us-core-medication-codes: ValueSet.meta.profile[0]: StructureDefinition reference "http://hl7.org/fhir/StructureDefinition/valueset-shareable-definition" could not be resolved
... 6 more like this

view this post on Zulip Grahame Grieve (Aug 01 2017 at 23:38):

ok I have upgraded the FHIR server to LOINC 2.61. Is there anywhere you can sign up for alerts when a new version of LOINC is released?

view this post on Zulip Grahame Grieve (Aug 01 2017 at 23:40):

RxNorm is a known and supported code system. I haven't added ndc and ndfrt to http://tx.fhir.org yet

view this post on Zulip Grahame Grieve (Aug 01 2017 at 23:41):

ndc and ndfrt are already in the core. so no need to say anything about them in the us IG

view this post on Zulip Grahame Grieve (Aug 01 2017 at 23:42):

NUCC display names - discuss on terminology stream

view this post on Zulip Grahame Grieve (Aug 01 2017 at 23:42):

4- your choice to suppress or not

view this post on Zulip Grahame Grieve (Aug 01 2017 at 23:42):

5 - clean your tx cache out

view this post on Zulip Grahame Grieve (Aug 01 2017 at 23:43):

6- make a task. you shouldn't get that

view this post on Zulip Eric Haas (Aug 02 2017 at 02:31):

RxNorm is a known and supported code system.

What does that mean? The FHIR TS supports it ? The value sets expands and the examples render just fine. But I Ican't do a manual code lookup and is not validating?

view this post on Zulip Grahame Grieve (Aug 02 2017 at 03:12):

should validate. what's an example where it's not?

view this post on Zulip Christopher Schuler (Aug 02 2017 at 03:20):

I am getting the following error when publishing:

Snapshot for http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-familymemberhistory does not contain differential element with id: FamilyMemberHistory.condition.onset[x]

How are the snapshots generated? Using the profiles-resources.xml in the igpack?

view this post on Zulip Grahame Grieve (Aug 02 2017 at 03:51):

yes

view this post on Zulip Grahame Grieve (Aug 02 2017 at 03:51):

typically that means there is a problem in your profile

view this post on Zulip Lloyd McKenzie (Aug 02 2017 at 04:53):

It's probably looking for a specific name - e.g. onsetPeriod

view this post on Zulip Christopher Schuler (Aug 02 2017 at 05:16):

I tried all the choices and just onset as well, but they all generated the same error. It is building fine when I remove onset[x] from the profile.

view this post on Zulip Grahame Grieve (Aug 02 2017 at 05:19):

is this an IG in github?

view this post on Zulip Christopher Schuler (Aug 02 2017 at 05:20):

Yeah, it is the qi-core ig.

view this post on Zulip Grahame Grieve (Aug 02 2017 at 06:15):

k, well, commit, and I'll have a look at it as soon as I can

view this post on Zulip Grahame Grieve (Aug 02 2017 at 06:16):

or create a branch or whatever

view this post on Zulip Eric Haas (Aug 02 2017 at 15:23):

ok I have upgraded the FHIR server to LOINC 2.61. Is there anywhere you can sign up for alerts when a new version of LOINC is released?

According to their website "Joining our mail list is the best way to get notified of new LOINC releases. We will also keep you up to date with everything happening in the LOINC community. This isn't a discussion list, so you won't get bombarded with messages. You'll just get a few choice morsels from our team here at Regenstrief to help you stay informed."

view this post on Zulip Eric Haas (Aug 02 2017 at 15:31):

should validate. what's an example where it's not?

pasted image

view this post on Zulip Eric Haas (Aug 02 2017 at 15:35):

Upon further investigation - RxNorm was supported when I published US-Core, but no longer - not expanding in the CI Build

view this post on Zulip Grahame Grieve (Aug 02 2017 at 20:45):

so it turns out that RxNorm has become undefined on tx.fhir.org, which created confusion for me

view this post on Zulip Grahame Grieve (Aug 02 2017 at 20:46):

I've just restarted tx.fhir.org with RxNorm support. That should fix the build, but maybe not this particular build, since the restart came after it restarted

view this post on Zulip Eric Haas (Aug 02 2017 at 22:28):

Warning number 5 from above did not go away when I cleared the cache....

 Immunization/imm-1: Immunization.vaccineCode.coding[1] warning Unknown Code System http://hl7.org/fhir/sid/cvx
 Immunization/imm-1: Immunization.vaccineCode.coding[2] warning Unknown Code System http://hl7.org/fhir/sid/ndc

view this post on Zulip Eric Haas (Aug 02 2017 at 22:28):

here is the examples -I can successfully look up manually on the term server . and expansion is fine too.

view this post on Zulip Eric Haas (Aug 02 2017 at 22:29):

{
    "resourceType": "Immunization",
    "id": "imm-1",
        "meta": {
        "profile": [
            "http://hl7.org/fhir/us/core/StructureDefinition/us-core-immunization"
        ]
    },
    "status": "completed",
    "date": "2016-01-08",
    "vaccineCode": {
        "coding": [
            {
                "system": "http://hl7.org/fhir/sid/cvx",
                "code": "158",
                "display": "influenza, injectable, quadrivalent"
            },
            {
                "system": "http://hl7.org/fhir/sid/ndc",
                "code": "49281-0623-78",
                "display": "FLUZONE QUADRIVALENT"
            }
        ]
    },
    "patient": {
        "reference": "Patient/example",
    "display": "Amy Shaw"
    },
    "notGiven": false,
    "primarySource": false
}

view this post on Zulip Grahame Grieve (Aug 03 2017 at 01:26):

@Eric Haas which IG is this?

view this post on Zulip Eric Haas (Aug 03 2017 at 02:34):

repo: https://github.com/HL7/US-Core

see: http://build.fhir.org/ig/HL7/US-Core/qa.html#_scratch_ig-build-temp-W403NB_repo_examples_imm-1

and: http://build.fhir.org/ig/HL7/US-Core/ValueSet-us-core-ndc-vaccine-codes.html

view this post on Zulip Eric Haas (Aug 08 2017 at 15:14):

recent builds have this new informational message as part of initialization for US-Core dependency :

In IG uscore map: No identity found for http://hl7.org/fhir/us/core/ValueSet/us-core-provider-role|1.0.0
etc....

What does that mean?

view this post on Zulip Eric Haas (Aug 08 2017 at 19:26):

what is the purpose of [specification] parameter in the ig-pub config file? I have an experimental build with a new case report resource and I wanted to profile it. I assumed naively if I listed the file://[path to my build]/publish. The ig-publisher would be directed to load that igpack.zip and all would be golden. Alas the igpack is always coming from the same source (tweaking the code to see if this works locally) . Is what I want to do possible?

view this post on Zulip Eric Haas (Aug 08 2017 at 21:07):

I tweaked to code so IGPack.zip come from local build but still not recognizing new reasource. I am using the ig-pub from the local build as well. Am i trying to do something that is not possible right now?

view this post on Zulip Grahame Grieve (Aug 08 2017 at 22:42):

I'll have time to look at this tomorrow

view this post on Zulip Rick Geimer (Aug 09 2017 at 15:04):

@Grahame Grieve Still seeing the following error in the qa.html files:

Invalid System URI: http://loinc.org

It's not only showing up in ccda on fhir, I also see it in the qi-core qa.html file, so I'm pretty sure it's not just me being stupid for once :)

view this post on Zulip Eric Haas (Aug 09 2017 at 22:53):

I'll have time to look at this tomorrow

I think this 'user error'. so let me get back to you on it...

view this post on Zulip Brett Esler (Aug 21 2017 at 03:34):

In IG uscore map: No identity found for http://hl7.org/fhir/us/core/ValueSet/us-core-provider-role|1.0.0

view this post on Zulip Brett Esler (Aug 21 2017 at 03:35):

i am getting this also for au build - any advice?

view this post on Zulip Joshua Clingo (Aug 22 2017 at 20:11):

We've run into an issue when pointing an extension to a dead url in that the build crashes and spits out "todo" as an error:

Exception in thread "main" java.lang.Error: todo
        at org.hl7.fhir.r4.utils.NarrativeGenerator$PropertyWrapperMetaElement.getTypeCode(NarrativeGenerator.java:665)
        at org.hl7.fhir.r4.utils.NarrativeGenerator.splitExtensions(NarrativeGenerator.java:1188)
        at org.hl7.fhir.r4.utils.NarrativeGenerator.generateByProfile(NarrativeGenerator.java:1083)
        at org.hl7.fhir.r4.utils.NarrativeGenerator.generate(NarrativeGenerator.java:1031)
        at org.hl7.fhir.igtools.publisher.Publisher.generateNarratives(Publisher.java:440)
        at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:361)
        at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:329)
        at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:3885)

And an example of the extension JSON:

"extension": [
    {
        "url": "http://dead-endpoint.com",
        ...
    }
]

What we'd expect is that this does not error but that it produces a warning in the qa output. As is, we have to stub in a valid extension URL to get our project to build.

view this post on Zulip Grahame Grieve (Aug 22 2017 at 21:48):

can you send me an example?

view this post on Zulip Joshua Clingo (Aug 22 2017 at 22:30):

Sure. I added back one of the offending URLs. It'll work if you replace that link with any working endpoint (I've been using http://hl7.org/fhir/StructureDefinition/organization-alias for testing).

Link to Git branch/file

view this post on Zulip Eric Haas (Aug 23 2017 at 00:41):

In IG uscore map: No identity found for http://hl7.org/fhir/us/core/ValueSet/us-core-provider-role|1.0.0

its in the CI build: http://build.fhir.org/ig/HL7/US-Core/ValueSet-us-core-careteam-provider-roles.html and will be pat of an upcoming technical correction. (thanks to GG for fixing it)

view this post on Zulip Eric Haas (Aug 23 2017 at 00:42):

note provider-roles not provider-role

view this post on Zulip Joshua Clingo (Aug 24 2017 at 20:35):

Think you meant to reply to another topic, @Eric Haas

view this post on Zulip Eric Haas (Aug 24 2017 at 20:38):

was replying to @Brett Esler post above

view this post on Zulip Joshua Clingo (Sep 01 2017 at 02:02):

I've learned through painful experience that the ig.json (or equivalent source file) "resources" attribute can either be an array of strings or a single string and that this has no apparent effect locally, but the difference matters when the remote build occurs. If you have nested resources (say, resources/patient/patient-resource.xml), you must have "resources": Array[string], not "resources": string, or the remote build will fail. I don't have any knowledge of how or why this occurs internally, but I recommend that it at least be documented somewhere.

Basically, if you have resources more than one level below the desired resources root, we recommend use the array (even if it's only one element like ["resources"]). Or maybe for simplicity we should forbid a non-array "resources" attribute in the build source.

view this post on Zulip Lloyd McKenzie (Sep 01 2017 at 02:23):

The behavior should be consistent. Can you submit a tracker item?

view this post on Zulip Grahame Grieve (Sep 01 2017 at 11:28):

I can't imagine why this is, given the code. it's pretty straight forward:

view this post on Zulip Grahame Grieve (Sep 01 2017 at 11:28):

    if (paths != null && paths.get("resources") instanceof JsonArray) {
      for (JsonElement e : (JsonArray) paths.get("resources"))
        resourceDirs.add(Utilities.path(root, ((JsonPrimitive) e).getAsString()));
    } else
      resourceDirs.add(Utilities.path(root, str(paths, "resources", "resources")));

view this post on Zulip Grahame Grieve (Sep 01 2017 at 11:29):

you see that the difference between array or not is exactly nothing outside this code - suggest that you investigate more deeply

view this post on Zulip Lloyd McKenzie (Sep 01 2017 at 13:58):

Is there any possibility they're using different versions of the code base?

view this post on Zulip Grahame Grieve (Sep 01 2017 at 18:51):

maybe but that's never changed

view this post on Zulip Lloyd McKenzie (Sep 02 2017 at 13:56):

It did change at one point - that's why we support both an array and non-array

view this post on Zulip Eric Haas (Sep 03 2017 at 00:50):

documented for arrays only.

view this post on Zulip Rick Geimer (Sep 11 2017 at 18:52):

@Grahame Grieve , getting a nullPointer exception on the build server that I was not getting yesterday, perhaps related to your latest commit. Is also running clean locally with a copy of the IG publisher jar from 11am PT. See the following build log for details: http://build.fhir.org/ig/HL7/ccda-on-fhir/build.log

Edit: the log is no longer showing the error at the moment. Maybe you kicked off a new buiid? Anyway, was showing this:

Publishing Content Failed: Process exited with an error: 137 (Exit value: 137) (00:03:06.0793sec)
(00:03:06.0793sec)
Use -? to get command line help (00:03:06.0793sec)
(00:03:06.0793sec)
Stack Dump (for debugging): (00:03:06.0793sec)
org.apache.commons.exec.ExecuteException: Process exited with an error: 137 (Exit value: 137)
at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404)
at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166)
at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:153)
at org.hl7.fhir.igtools.publisher.Publisher.runJekyll(Publisher.java:2600)
at org.hl7.fhir.igtools.publisher.Publisher.runTool(Publisher.java:2522)
at org.hl7.fhir.igtools.publisher.Publisher.generate(Publisher.java:2227)
at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:377)
at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:336)
at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:3907)
Exception in thread "main" java.lang.NullPointerException
at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:3917)

view this post on Zulip Rick Geimer (Sep 11 2017 at 19:16):

Ok, now the server is showing a failed build, but there is no error reported in the build log.

view this post on Zulip Grahame Grieve (Sep 11 2017 at 19:23):

@Josh Mandel this looks like an infrastructure fail to me?

view this post on Zulip Grahame Grieve (Mar 18 2018 at 10:55):

@David Hay @Brett Esler @Eric Haas @Lloyd McKenzie - I've just fixed a rather long standing bug in the IG publisher - it's been producing definitions.xml.zip and definitions.json.zip in v 3.2.0, irrespective of the version of the IG. That's become a whole lot more noticeable since we made a few changes in v3.2.0. Any future builds, definitions.*.zip will be produced in the version of the IG (though igpack.zip will still be produced in the current build version for now, while I consider the issues around that)

view this post on Zulip David Hay (Mar 18 2018 at 16:40):

was that the issue with the argonaut profile? And is the correct version up now?

view this post on Zulip Grahame Grieve (Mar 18 2018 at 20:14):

no. @Eric Haas we need to talk about this

view this post on Zulip Eric Haas (Mar 19 2018 at 04:48):

I have a local copy working in order to create a compatible dependency files, but not ready to push to github. Too many moving parts right now.

view this post on Zulip Grahame Grieve (Mar 19 2018 at 04:53):

well, this just needs a rebuild of the old version and then update just the definitions files

view this post on Zulip Eric Haas (Mar 19 2018 at 05:02):

I had to convert all the spreadsheets to xml due to spreadsheet parser errors too. Need to coordinate with Brett if there are ballot updates he made as well.

view this post on Zulip Grahame Grieve (Mar 19 2018 at 05:06):

I don't recall you asking me about the errors? Not that I object to transiting to xml

view this post on Zulip Eric Haas (Mar 19 2018 at 15:54):

https://chat.fhir.org/#narrow/stream/IG.20creation/topic/type.20being.20generated.20twice.20twice

but I figured you were too busy to maintain it and warned us you were not going to....

I will take a stab at a new build that I can push to the CI build after talking to @Brett Marquard because he may be applying changes

view this post on Zulip Brett Marquard (Mar 19 2018 at 15:56):

From Jan ballot, we will have about 30 changes. repo is up-to-date, haven't started implementing yet.

view this post on Zulip Grahame Grieve (Sep 12 2019 at 09:22):

if you notice multiple releases of the publisher... I am debugging an error that occurs only on the ci-build, not on my local build... weird....

view this post on Zulip Josh Mandel (Sep 12 2019 at 13:38):

(BTW if you ever want to, I would be happy to talk you through a local docker setup that would allow you to reproduce what is happening on the CI build.)

view this post on Zulip Grahame Grieve (Sep 12 2019 at 13:40):

hmm interesting. but it would still be docker on windows, not unix?

view this post on Zulip Josh Mandel (Sep 12 2019 at 13:42):

Right -- but the whole benefit is that you get a uniform consistent environment. (Under the hood docker on Windows includes some kind of a Linux VM-like where things actually run -- but it is all managed by the tool set.)

view this post on Zulip Grahame Grieve (Sep 12 2019 at 13:43):

I think it was case of file that was tripping me over here

view this post on Zulip Josh Mandel (Sep 12 2019 at 13:45):

:-) We could also set up automated tests on the publisher repository itself so that every time a code is pushed a test IG will be built with it. It's probably only helps If you are going to use a pull requests though

view this post on Zulip Grahame Grieve (Sep 12 2019 at 13:52):

I have some test cases, but deciding whether they built succesfully is... a challenge

view this post on Zulip Josh Mandel (Sep 12 2019 at 13:58):

Yeah -- We could at least check exit codes

view this post on Zulip Brian Postlethwaite (Jul 20 2020 at 00:33):

@Josh Mandel Did such a Docker image ever get created?

view this post on Zulip Josh Mandel (Jul 20 2020 at 02:18):

There's a docker image used by the auto build pipeline, yes -- https://github.com/FHIR/auto-ig-builder/tree/master/images/ig-build . But it's not super convenient to run outside of that pipeline; @Carl Anderson was going to look at adding another entry point for more convenient local invocation.

view this post on Zulip Josh Mandel (Jul 20 2020 at 02:26):

I can talk you the details if you like

view this post on Zulip Brian Postlethwaite (Aug 26 2020 at 03:29):

Hey @Josh Mandel , thanks. I found another project that does it, and have rolled my own with the current version, and successfully have it running locally, and also in my own Azure DevOps CI pipeline(s)
https://hub.docker.com/repository/docker/brianpos/fhir-ig-publisher/general
I'm also packaging up some other IG building tools in the same way...

view this post on Zulip Brian Postlethwaite (Aug 26 2020 at 03:31):

image.png

view this post on Zulip Josh Mandel (Aug 26 2020 at 15:57):

Cool @Brian Postlethwaite ! I wound up building this last week anyway for local development, including fsh. https://github.com/FHIR/auto-ig-builder/tree/master/images/ig-publisher-base is the repo + usage notes and hl7fhir/ig-publisher-base is the image published on Docker Hub.

view this post on Zulip Josh Mandel (Aug 26 2020 at 15:58):

(I don't see a source Dockerfile for https://hub.docker.com/r/brianpos/fhir-ig-publisher -- it's always nice if you can get Docker Hub to do a trusted build, for transparency.)

view this post on Zulip Josh Mandel (Aug 26 2020 at 15:58):

You mentioned https://github.com/ncpi-fhir/hl7-fhir-ig-publisher/blob/master/scripts/fetch_publisher_jar.sh as a source, but I expect you noticed it's fetching the publisher from the old/wrong place (in Sonatype) and probably fixed that locally?

view this post on Zulip Brian Postlethwaite (Aug 26 2020 at 20:13):

Sorry, my dockerfile is here:
https://github.com/brianpos/FHIR-IG-Builder-Assistant/tree/docker/hl7-fhir-ig-publisher-docker
(and I pointed out to the other project that the location moved again and that they should update it)

view this post on Zulip Brian Postlethwaite (Aug 26 2020 at 20:22):

@Josh Mandel was there anything smart you did to minimize traffic to/from the host?
so that the temp file are generated into the docker image, rather than out to the mounted folder.
Running this from Windows is talking 10x what running the local processing is - and I think it's the in/out of the image that's the problem?
(Maybe not an issue when both host and image are linux? Didn't appear to be an issue running in Azure on linux)

view this post on Zulip Josh Mandel (Aug 26 2020 at 20:32):

In my example, the user mounts a local directory with the IG into the docker container. So the publisher jar, all fsh outputs, and all IG Publisher temp + output are persisted outside of the container and shouldn't need to be downloaded each time. One thing I'm unsure about: does the publisher use any temp space other than the "temp" it creates in the directory it's run from? That could lead to missed caching opportunities.

view this post on Zulip Josh Mandel (Aug 26 2020 at 20:32):

When you mentioned 10x the expected traffic is that using your image, or my mine, or both @Brian Postlethwaite ?

view this post on Zulip Brian Postlethwaite (Aug 26 2020 at 20:35):

I haven't tried yours yet.
I also mount in the userprofile/.fhir folder too so that it uses my profile cache too.

view this post on Zulip Josh Mandel (Aug 26 2020 at 20:40):

BTW how are you measuring network traffic attributable to running the publisher?

view this post on Zulip Brian Postlethwaite (Aug 26 2020 at 20:41):

Hunch only, trying to consider possible reasons why there was such a difference between the docker image vs local.


Last updated: Apr 12 2022 at 19:14 UTC