FHIR Chat · Jira spec file, version-code-default · IG creation

Stream: IG creation

Topic: Jira spec file, version-code-default


view this post on Zulip Nathan Davis (Jan 28 2022 at 18:13):

When I check my Jira spec file (FHIR-us-vitals) locally using buildlocal.bat, I don't get any errors/warnings. When I try to do a pull request I get this error:

[schemavalidate] /home/runner/work/JIRA-Spec-Artifacts/JIRA-Spec-Artifacts/xml/FHIR-us-vitals.xml:141:17: cvc-identity-constraint.4.3: Key 'version-code-default' with value '0.1' not found for identity constraint of element 'specification'.

What do I need to fix?

view this post on Zulip David Pyke (Jan 28 2022 at 18:18):

you've got defaultVersion set to 0.1 instead of 0.1.0

view this post on Zulip Nathan Davis (Jan 28 2022 at 18:24):

When I change the version I get this error when I run buildlocal.bat

ERROR: Version with code 0.1 in specification FHIR-us-vitals has been removed or changed.  Versions should never change.  Keys should also not be removed.  Versions can only be removed if no JIRA tracker references that version.  If this is the case and the version should really be removed, please coordinate with an administrator.

view this post on Zulip David Pyke (Jan 28 2022 at 18:26):

Yeah, at some point you changed the version to the proper 0.1.0 from 0.1 and that's going to make it complain. Only @Lloyd McKenzie can fix that problem.

view this post on Zulip John Moehrke (Jan 28 2022 at 18:53):

flush your local cache

view this post on Zulip Nathan Davis (Jan 28 2022 at 18:55):

still getting same error after flushing cache

view this post on Zulip David Pyke (Jan 28 2022 at 18:56):

The problem is that the Jira spec file in github has version 0.1, his local has 0.1.0. That's not fixable by anyone but Lloyd

view this post on Zulip Lloyd McKenzie (Jan 28 2022 at 18:56):

You can't change a version. You can deprecate a version and add a new one. Your package-list.json will need to contain both.

view this post on Zulip Nathan Davis (Jan 28 2022 at 19:06):

I'm not trying to change a version. I'm attempting to update the Jira spec file to get rid of the warning that it's out of date. I haven't touched the package-list.json

view this post on Zulip Lloyd McKenzie (Jan 28 2022 at 19:07):

Does your package-list.json include both a 0.1 and a 0.1.0?

view this post on Zulip Lloyd McKenzie (Jan 28 2022 at 19:07):

And does your proposed Jira spec file contain the same?

view this post on Zulip Nathan Davis (Jan 28 2022 at 19:09):

package-list does not have a 0.1 only a 0.1.0 (and others, 0.2.0 etc.)

view this post on Zulip Lloyd McKenzie (Jan 28 2022 at 19:28):

Jira Spec file contains a 0.1 that's marked as deprecated?

view this post on Zulip Nathan Davis (Jan 28 2022 at 19:36):

@Lloyd McKenzie I'm not seeing that. Not in my local folder nor in my fork of the Jira-Spec-Artifacts repo. What line do you see it in? File is FHIR-us-vitals.xml

view this post on Zulip Lloyd McKenzie (Jan 28 2022 at 19:41):

You need to add it to your proposed jira spec file - because it was present in the original.

view this post on Zulip Lloyd McKenzie (Jan 28 2022 at 19:41):

Because it was there, you can't make it go away

view this post on Zulip Nathan Davis (Jan 28 2022 at 19:48):

@Lloyd McKenzie Would that be done like...
defaultVersion = "0.1.0"
and
<version code="0.1" deprecated="true"/>
?

view this post on Zulip Gino Canessa (Jan 28 2022 at 19:51):

This happened to the Subscriptions Backport too, so you can see an example here

view this post on Zulip Nathan Davis (Jan 28 2022 at 19:53):

@Gino Canessa Thanks!

view this post on Zulip Nathan Davis (Jan 28 2022 at 20:05):

It's now working. Thanks all for the help!

view this post on Zulip Nathan Davis (Jan 28 2022 at 20:08):

(deleted)

view this post on Zulip Nathan Davis (Jan 31 2022 at 17:16):

@Lloyd McKenzie Where does the version code for the Jira spec file come from? When I run the publisher locally now the default version is now being set to null. I have it set to 0.2.0 in the sushi-config.yaml file as well as in the package-list.json file.

view this post on Zulip Lloyd McKenzie (Jan 31 2022 at 17:51):

defaultVersion is calculated. It looks at your package-list and finds the first official release and grabs the version from that. If there's no official release, it grabs the first ballot. If it can't find that, it grabs the version of the first release listed.

view this post on Zulip Nathan Davis (Jan 31 2022 at 18:33):

@Lloyd McKenzie Is this from the status element in each version in the list? I have three versions in my package-list, a current with status of "ci-build", a 0.1 with status of "ballot", and a 0.2.0 with status of "trial-use". It should be using the 0.1 version since it's the only "ballot" version. Like I said, it isn't putting anything for "defaultVersion".

view this post on Zulip Lloyd McKenzie (Jan 31 2022 at 18:36):

By the logic, it should actually be using the 'trial use' version. What's your IG git repository?

view this post on Zulip Nathan Davis (Jan 31 2022 at 18:37):

https://github.com/HL7/cimi-vital-signs

view this post on Zulip Nathan Davis (Jan 31 2022 at 18:39):

Do I need to list it before the others in the package-list.json?

view this post on Zulip Lloyd McKenzie (Jan 31 2022 at 20:01):

You should list them with newest first.

view this post on Zulip Nathan Davis (Jan 31 2022 at 21:55):

@Lloyd McKenzie Thanks for the help! I found a typo in my package-list. Fixed it and will make a pull request for the Jira-Spec-Artifacts file soon.

view this post on Zulip Eric Haas (Mar 10 2022 at 01:39):

I am having similar issues with web messaging. When I prep for publishing, I created a new package-list file because there was not one before, I put in the anticipated version entry into the pl file and mark it as current = true. Here is what I did:

{
  "package-id": "hl7.fhir.uv.smart-web-messaging",
  "title": "SMART Web Messaging Implementation Guide",
  "canonical": "https://hl7.org/fhir/uv/smart-web-messaging",
  "list": [
    {
      "version": "current",
      "date": "n/a",
      "desc": "Continuous Integration Build (latest in version control)",
      "path": "http://build.fhir.org/ig/HL7/smart-web-messaging",
      "status": "ci-build"
    },
    {
      "version": "1.0.0",
      "date": "2022-03-08",
      "desc": "STU 1: For a list of changes applied to this version see the SMART Web Messaging [STU1 trackers](https://jira.hl7.org/issues/?filter=16804#)
      (log in required to view)",
      "path": "https://hl7.org/fhir/uv/smart-web-messaging",
      "sequence": "STU 1",
      "fhirversion": "4.0.1",
      "status": "trial-use",
      "current": true
    },
    {
      "version": "0.1.0",
      "date": "2020-08-11",
      "desc": "STU 1 Ballot",
      "path": "http://hl7.org/fhir/uv/smart-web-messaging/2020Sep",
      "sequence": "STU 1",
      "fhirversion": "4.0.1",
      "status": "ballot",
      "current":  false
    }
  ],
  "category": "EHR Access"
}

view this post on Zulip Eric Haas (Mar 10 2022 at 01:43):

thing is the jira new file has version 1.0.0 as deprecated and no version 0.1.0 and a deprecated version 1.0. and defaultVersion as current this seems wrong:

defaultVersion="current" ....
<version code="current" url="http://build.fhir.org/ig/HL7/smart-web-messaging"/>
<version code="1.0.0" deprecated="true" url="http://hl7.org/fhir/uv/smart-web-messaging/STU1"/>
<version code="1.0" deprecated="true

I expect there to be defaultVersion = 1.0.0, version 1.0.0 not deprecated and a version 0.1.0.

view this post on Zulip Eric Haas (Mar 10 2022 at 01:44):

What am I missing here?

view this post on Zulip Lloyd McKenzie (Mar 10 2022 at 03:29):

What version is your IG defined as?

view this post on Zulip Lynn Laakso (Mar 10 2022 at 14:21):

I think this is one where the code 1.0.0 was added in error when it went to ballot, and so that version was marked as deprecated for the time. As you're approaching STU publication now I suggest making the change to "un-deprecate" that entry for publication approval review.

view this post on Zulip Eric Haas (Mar 10 2022 at 17:22):

Again referring the the package-list file above, this is jira-current.xml where I did hand edit deprecated = "false" for 1.0.0. However am still getting the Jira warning:

<?xml version="1.0" encoding="UTF-8"?>
<specification xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ciUrl="http://build.fhir.org/ig/HL7/smart-web-messaging" defaultVersion="current" defaultWorkgroup="fhir-i" gitUrl="https://github.com/HL7/smart-web-messaging" url="https://hl7.org/fhir/uv/smart-web-messaging">
<version code="current" url="http://build.fhir.org/ig/HL7/smart-web-messaging"/>
<version code="1.0.0" deprecated="false" url="http://hl7.org/fhir/uv/smart-web-messaging/STU1"/> <!--  ***** undid the deprecated tag -->
<version code="0.1.0" url="http://hl7.org/fhir/uv/smart-web-messaging/2020Sep"/>
<version code="1.0" deprecated="true"/>
<!-- the rest of the file... -->
</specification>

HOWEVER the suggested jira-new.xml only has current and deprecated 1.0 ?:

<?xml version="1.0" encoding="UTF-8"?>
<specification xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ciUrl="http://build.fhir.org/ig/HL7/smart-web-messaging" defaultVersion="current" defaultWorkgroup="fhir-i" gitUrl="https://github.com/HL7/smart-web-messaging" url="https://hl7.org/fhir/uv/smart-web-messaging">
<version code="current" url="http://build.fhir.org/ig/HL7/smart-web-messaging"/>
<version code="1.0" deprecated="true"/>. <!-- ****No 0.1.0 or 1.0.0  ???? -->
<!-- the rest of the file... -->
</specification>

view this post on Zulip Lynn Laakso (Mar 10 2022 at 17:23):

did you do the pull request to make that change in the Jira-spec_artifacts xml file?

view this post on Zulip Eric Haas (Mar 10 2022 at 17:24):

Yes, and LLoyd approved it. but let me double check. obviously the jira-new.xml is wrong. Is there some other package-list.json file it could be referencing, because it was missing only last wee and I had to create and add it to the repository ?

view this post on Zulip Lynn Laakso (Mar 10 2022 at 17:30):

I don't think so, but I'm not sure that you want deprecated in the line entry for version code="1.0.0" at all. @Lloyd McKenzie ?

view this post on Zulip Lynn Laakso (Mar 10 2022 at 17:30):

image.png

view this post on Zulip Eric Haas (Mar 10 2022 at 17:39):

Ok I will remove it and try again and after that beg Lloyd for assistance. ;-)

view this post on Zulip Lloyd McKenzie (Mar 10 2022 at 17:50):

If something used to be deprecated, it'll default to deprecated until you change and merge it as no longer deprecated

view this post on Zulip Eric Haas (Mar 14 2022 at 18:43):

Yes I did that , and I still cannot figure it out.

view this post on Zulip Lloyd McKenzie (Mar 14 2022 at 18:51):

Which IG?

view this post on Zulip Eric Haas (Mar 14 2022 at 19:40):

Web Messaging IG. ... here is my fork: https://github.com/Healthedata1/smart-web-messaging/tree/eh-update-packagelist

view this post on Zulip Eric Haas (Mar 14 2022 at 23:08):

here is the main (hl7) build: https://github.com/HL7/smart-web-messaging


Last updated: Apr 12 2022 at 19:14 UTC