Stream: IG creation
Topic: bad links and errors
Eric Haas (Mar 15 2019 at 02:52):
@Bryn Rhodes and @Grahame Grieve
this branch has bad links all pointing spuriously to us core - @GG I think you know about that one...
https://github.com/HL7/davinci-deqm/tree/20190314_badlinksanderrors
1. has 7 bad links all pointing to erroneously tp us core - @GG I think you know about that one already
2. the errors for the measurereport are urls that do not resolve @ Bryn can you verify these are correct and @GG if these are legit but non resolveable measure definitions can we get pass?
e.g.
/scratch/ig-build-temp-PFXVT0/repo/source/examples/MeasureReport-indv-measurereport01.json Path Severity Message MeasureReport/indv-measurereport01: MeasureReport.measure error Unable to resolve resource 'https://ncqa.org/fhir/ig/Measure/measure-mrp' MeasureReport/indv-measurereport01: MeasureReport.evaluatedResources warning A Reference without an actual reference or identifier should have a display
3. @GG , the errors for the cap statements are curious this is the R4 canonicals for this (R4) operation and does not resolve when stick in browser either. I'm not sure if is a problem being in a STU3 ig. I think we should get a pass on this one too.
e.g..
CapabilityStatement/consumer-server: CapabilityStatement.rest.operation[1].definition error Unable to resolve resource 'http://hl7.org/fhir/OperationDefinition/Measure-submit-data'
Grahame Grieve (Mar 15 2019 at 04:21):
#1yes I know about them
Grahame Grieve (Mar 15 2019 at 04:22):
#2 - I'm not sure I follow what is intended here?
Eric Haas (Mar 15 2019 at 04:31):
2. Bryn needs to take crack at it first.
Eric Haas (Mar 15 2019 at 04:36):
MeasureReport.measure is type Reference and in example is using a presumably valid uri value in reference that does not resolve. hence the error
Grahame Grieve (Mar 15 2019 at 04:39):
well, it's the 'presumably valid' bit I don't follow
Grahame Grieve (Mar 15 2019 at 04:59):
#3 - is a FHIR version issue. The error is correct because the IG is R3 and the operation was only defined in R4
Grahame Grieve (Mar 15 2019 at 04:59):
And I'm not minded to give you a pass on that one
Bryn Rhodes (Mar 15 2019 at 06:24):
What I was trying to do with #2 was use what will really be the URL for the Measure; it's a HEDIS measure, so it won't be published as an HL7 IG, so the measure URL we want it to be is http://ncqa.org/fhir/hedis/Measure/measure-mrp, but I can't use http://ncqa.org as a base in the IG publisher, so it's actually http://hl7.org/fhir/us/hedis/Measure/measure-mrp right now.
Bryn Rhodes (Mar 15 2019 at 06:26):
So try updating it to that value (though it still won't actually resolve, because the real link is in the current build: http://build.fhir.org/ig/cqframework/hedis-ig/Measure-measure-mrp.html)
Grahame Grieve (Mar 15 2019 at 06:27):
I can't use http://ncqa.org as a base in the IG publisher
because?
Bryn Rhodes (Mar 15 2019 at 07:10):
The link checking at the end says the links are bad, right? Or was that restriction removed?
Grahame Grieve (Mar 15 2019 at 07:10):
I don't know why it would say that ncqa.org links are valid or not
Bryn Rhodes (Mar 15 2019 at 07:54):
Okay that built locally and I just committed. I know that was an issue at some point with the ig publisher, but I haven't tried it in a while, so I don't know when that changed. It used to require the canonical base start with hl7.org/fhir.
Bryn Rhodes (Mar 15 2019 at 07:56):
So now the measure example is here: http://build.fhir.org/ig/cqframework/hedis-ig/Measure-measure-mrp.html
Bryn Rhodes (Mar 15 2019 at 07:56):
And has the canonical http://ncqa.org/fhir/us/hedis/Measure/measure-mrp
Grahame Grieve (Mar 15 2019 at 12:13):
It used to require the canonical base start with hl7.org/fhir.
a very very long time ago
Bryn Rhodes (Mar 15 2019 at 14:09):
So on #3 (the links to R4 profiles), what should we do there?
Eric Haas (Mar 15 2019 at 23:04):
They are links to R4 OperationDefinitions. I can add to capability statement doco and remove the element as a work around, but the fundamental question remains, can we reference a R4 artifact in an R3 IG ?
My other concern is that the R4 operation canonical are not resolving should they?
R4 canonical that does not resolve : http://hl7.org/fhir/OperationDefinition/Measure-submit-data for http://build.fhir.org/measure-operation-submit-data.html
Eric Haas (Mar 15 2019 at 23:12):
@Bryn Rhodes TY
Grahame Grieve (Mar 15 2019 at 23:13):
no you can't reference an R4 artifact from an R3 IG. If you want to pre-adopt, publish the R4 operation definition in the IG as an R3 operation definition
Eric Haas (Mar 15 2019 at 23:17):
......arrgghhhh..... OK
Eric Haas (Mar 15 2019 at 23:54):
@Bryn Rhodes I need to set up the hedis-ig as a dependency for that to work. What is the location to put in ig.json so the package gets uploaded. Othewise I can make it a display element for now...
Grahame Grieve (Mar 15 2019 at 23:57):
you shouldn't need a location. just use the package id
Eric Haas (Mar 15 2019 at 23:57):
either way I don't know it
Bryn Rhodes (Mar 15 2019 at 23:58):
http://build.fhir.org/ig/cqframework/hedis-ig/package-list.json
Bryn Rhodes (Mar 15 2019 at 23:59):
Well, that’s where it’s supposed to be. I guess I don’t have one set up yet.
Bryn Rhodes (Mar 16 2019 at 00:00):
To build it locally, it’s http://github.com/cqframework/hedis-ig
Bryn Rhodes (Mar 16 2019 at 00:01):
And the package name is us-hedis
Eric Haas (Mar 16 2019 at 00:02):
(deleted)
Grahame Grieve (Mar 16 2019 at 00:03):
package name is us-hedis
That's not a valid package name. It should be something like hl7.fhir.us.hedis
Bryn Rhodes (Mar 16 2019 at 00:06):
Gotcha, one sec...
Eric Haas (Mar 16 2019 at 00:19):
ncqa.fhir.us.hedis ?
Bryn Rhodes (Mar 16 2019 at 00:20):
Yes, that's what I set it to and just committed that
Eric Haas (Mar 16 2019 at 00:24):
also I get this error
Stack Dump (for debugging): java.lang.Exception: Can't have an exampleFor unless the file has exactly one resource at org.hl7.fhir.igtools.publisher.Publisher.load(Publisher.java:1838) at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:563) at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:5098) Exception in thread "main" java.lang.NullPointerException at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:5108) Erics-Air-2:hedis-ig ehaas$
when i run locally?
Bryn Rhodes (Mar 16 2019 at 00:27):
...
Eric Haas (Mar 16 2019 at 00:34):
nm ....I fixed it
Eric Haas (Mar 16 2019 at 00:34):
rather commented out the offending bits
Bryn Rhodes (Mar 16 2019 at 00:34):
I don't get that error
Bryn Rhodes (Mar 16 2019 at 00:34):
I even refreshed from the latest build
Eric Haas (Mar 16 2019 at 00:35):
in the implementation guide resource. I did not see what the error was either.
Grahame Grieve (Mar 16 2019 at 01:01):
ncqa.fhir.us.hedis
if the root is ncqa, they own whatever follows, not us. ncqa is US realm, so I would think ncqa.fhir.hedis but it's their call
Eric Haas (Mar 16 2019 at 01:02):
Okidoki that was bit of effort to get to work
BTW @GG ig.json requires both package and location for this to work:
... { "version": "dev", "name": "ushedis", "package" : "ncqa.fhir.us.hedis", "location": "http://ncqa.org/fhir/us/hedis" } ...
get NPE if location is missing and some other error if package is missing.
Grahame Grieve (Mar 16 2019 at 01:07):
it should only need package, though it's a struggle for me till we get a real package server. Where's the NPE?
Eric Haas (Mar 16 2019 at 01:09):
I think its documented this way actually
here is error when is:
... { "version": "dev", "name": "ushedis", "location": "http://ncqa.org/fhir/us/hedis" } ...
gives me...
Stack Dump (for debugging): (39.0255sec) org.hl7.fhir.exceptions.FHIRException: Error fetching package list for us-hedis from http://ncqa.org/fhir/us/hedis/package-list.json: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 2 column 2 path $ at org.hl7.fhir.utilities.cache.PackageCacheManager.loadPackage(PackageCacheManager.java:611) at org.hl7.fhir.igtools.publisher.Publisher.resolveDependency(Publisher.java:1636) at org.hl7.fhir.igtools.publisher.Publisher.loadIg(Publisher.java:1561) at org.hl7.fhir.igtools.publisher.Publisher.initializeFromJson(Publisher.java:1181) at org.hl7.fhir.igtools.publisher.Publisher.initialize(Publisher.java:976) at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:549) at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:5099) Caused by: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 2 column 2 path $ at com.google.gson.JsonParser.parse(JsonParser.java:65) at com.google.gson.JsonParser.parse(JsonParser.java:45) at org.hl7.fhir.utilities.cache.PackageCacheManager.fetchJson(PackageCacheManager.java:646) at org.hl7.fhir.utilities.cache.PackageCacheManager.loadPackage(PackageCacheManager.java:609) ... 6 more Caused by: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 2 column 2 path $ at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1568) at com.google.gson.stream.JsonReader.checkLenient(JsonReader.java:1409) at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:542) at com.google.gson.stream.JsonReader.peek(JsonReader.java:425) at com.google.gson.JsonParser.parse(JsonParser.java:60) ... 9 more Exception in thread "main" java.lang.NullPointerException at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:5109)
Grahame Grieve (Mar 16 2019 at 01:10):
what if you just have the package?
Grahame Grieve (Mar 16 2019 at 01:11):
btw that location implies that it's actually going to published at http://ncqa.org/fhir - which is good if it is, but I'll be surprised if that is sorted and agreed
Eric Haas (Mar 16 2019 at 01:11):
when locatiion is missing is an NPE;
... { "version": "dev", "name": "ushedis", "package" : "ncqa.fhir.us.hedis" } ...
gives me...
Load qicore (http://hl7.org/fhir/us/qicore) from hl7.fhir.us.qicore#current (29.0328sec) Load uscore (http://hl7.org/fhir/us/core) from hl7.fhir.us.core#2.0.0 (30.0405sec) Load ushedis (http://ncqa.org/fhir/us/hedis) from ncqa.fhir.us.hedis#dev (31.0131sec) Publishing Content Failed: null (31.0133sec) (31.0133sec) Use -? to get command line help (31.0133sec) (31.0134sec) Stack Dump (for debugging): (31.0134sec) java.lang.NullPointerException at org.hl7.fhir.igtools.publisher.Publisher.loadIg(Publisher.java:1574) at org.hl7.fhir.igtools.publisher.Publisher.initializeFromJson(Publisher.java:1181) at org.hl7.fhir.igtools.publisher.Publisher.initialize(Publisher.java:976) at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:549) at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:5099) Exception in thread "main" java.lang.NullPointerException at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:5109)
Eric Haas (Mar 16 2019 at 01:12):
I'm happy is working with both package and location and can live with that ...
Grahame Grieve (Mar 16 2019 at 01:13):
ok
Bryn Rhodes (Mar 16 2019 at 01:14):
btw that location implies that it's actually going to published at http://ncqa.org/fhir - which is good if it is, but I'll be surprised if that is sorted and agreed
Bryn Rhodes (Mar 16 2019 at 01:14):
It's not, just to be clear, but it's close enough for now.
Bryn Rhodes (Mar 16 2019 at 01:14):
Working on it.
Grahame Grieve (Mar 16 2019 at 01:15):
ok
Eric Haas (Mar 16 2019 at 01:15):
assuming @Bryn will have a 'current' package for when I run on autobuid :-)
Bryn Rhodes (Mar 16 2019 at 01:20):
This is a good question, what happens when it hits the autobuild?
Eric Haas (Mar 16 2019 at 01:20):
looks for current
Bryn Rhodes (Mar 16 2019 at 01:20):
Does it need a package-list.json on the current build directory?
Bryn Rhodes (Mar 16 2019 at 01:20):
Or is it going to hit http://ncqa.org/fhir/us/hedis?
Bryn Rhodes (Mar 16 2019 at 01:21):
Which will clearly 404 :)
Grahame Grieve (Mar 16 2019 at 02:40):
no it hits the build server for current
Last updated: Apr 12 2022 at 19:14 UTC