FHIR / sample-ig

A sample, template-driven implementation guide that provides instruction on creating IGs
Other
41 stars 65 forks source link

Fixed errors and warnings related to CQL QA items #49

Closed brynrhodes closed 1 year ago

brynrhodes commented 3 years ago

Note that I turned off "apply-version" to get this to work, since there is no way to override that setting per resource. Should the default behavior of the publisher be to apply the version to a canonical resource only if the resource source doesn't specify a version?

lmckenzi commented 3 years ago

I think that's a discussion that requires a broader set of participants. Right now, if you say propagate version, it overrides everything. Why does that cause you grief?

brynrhodes commented 3 years ago

So there are a couple issues:

  1. The parameter, according to the publisher documentation here: https://confluence.hl7.org/display/FHIR/Implementation+Guide+Parameters Is apply-version. So the documentation in the XML source for the IG should be fixed, because it refers to a propagate-version extension, which I cannot find anywhere.
  2. The documentation on confluence says the default is false, but the behavior of the publisher seems to be that the default is true, and unless you override it to false, the publisher will set the version of every conformance resource to the version of the IG. So the documentation on confluence, I think should be corrected?
  3. The real issue is that the version of the resource isn't necessarily the same as the version of the IG, but the only way I can control that is with this overall parameter of apply-version. It's all or nothing, which is fine, but it seems like there ought to be a way to say apply-version-if-not-specified, so it could be controlled more easily for the edge cases.
lmckenzi commented 3 years ago

The default value of the parameter is 'false', but the standard template forces it to 'true', and I would expect it to be forced to true for most HL7 IGs. What is the reason in this IG to not have all the versions be the same as the IG? Thus far, the only IG that has discussed allowing versions to be independent is UTG, though I don't recall if they landed there or not.

brynrhodes commented 3 years ago

Specifically, the CQL uses FHIR version '4.0.1', so the version of the FHIR-ModelInfo library is 4.0.1, same for FHIRHelpers. I've kept the versions of those libraries consistent with the version of FHIR they reference to avoid confusion. So after the CQL builds and refreshes the library content with those versions, the publisher comes along and changes the version element of the FHIR-ModelInfo and FHIRHelpers libraries, which then result in the validation check failing to find the reference to the 4.0.1 version.

lmckenzi commented 2 years ago

@brynrhodes Is that strictly necessary? It seems to me that you don't want to update the library for every technical correction. And you may well want to update the library between core releases. Finally, this is an example IG - it's not the source for any official set of content and I'd like it to work the way we expect most IGs to work - which is that everything gets versioned together.

brynrhodes commented 1 year ago

Overtaken by subsequent events