Giter Club home page Giter Club logo

qpp-conversion-tool's Introduction

qpp-conversion-tool

Installation Instructions

Prerequisite Software

Before you can use the qpp-conversion-tool application, you must install and configure the following products on your machine:

  • Git and/or the GitHub application.

    GitHub's Guide to Installing Git is a good source of information.

  • Java Runtime (version >= 17).

    It is important that you have the right version of java on your path.

    # When you run 'java -version', you should get 17. For example:
    java -version
    java version "17"
    ...

    Sometimes the Java Runtime installer doesn't update your path. So you must do it manually. Alternatively, download and install the Java Development Kit (version >= 17). The JDK is better at updating your path.

  • Maven (version >= 3.9.6).

    Maven is used to build the application, manage dependencies, and run tests. After you unzip the Maven archive, you need to add the bin directory to your path, as described the Maven installation instructions.

    # When you run 'mvn -v', you should get 3.8.4. For example:
    mvn -v
    Apache Maven 3.9.6
    ...
  • Docker.

    Docker is not required but is an alternative to the above requirements if all you need is to run the converter.

Getting the Converter

Use the GitHub application or the command line to clone this repository.

# Clone the GitHub repository.
git clone https://github.com/CMSgov/qpp-conversion-tool.git

# Go to the qpp-conversion-tool directory.
cd ./qpp-conversion-tool

Running the Converter

Disable HTTPS

In order to run converter locally, HTTPS may need to be disabled. It can be done by removing or commenting server.port and server.ssl.key-store-type in application.properties file under rest-api/src/main/resources

ReST API via Docker

The Conversion Tool can be executed through a ReST API. Using the ReST API has the added benefit of having the QPP validated if you so choose. For the examples below, make sure you're in the qpp-conversion-tool directory.

Starting the API Endpoint

# Build the Docker image and run the container using docker-compose.
docker-compose -f ./docker-compose.test.yaml up --build 

Invoking the Endpoint

curl -X POST \
  http://localhost:3000 \
  -H 'cache-control: no-cache' \
  -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
  -F file=@./qrda-files/valid-QRDA-III-latest.xml

The response body will either be the QPP JSON on success or error JSON on an error. The HTTP Status will be 201 Created on success or 422 Unprocessable entity on an error.

Submission Validation

While the converter will validate the format of the QRDA-III file and some basic semantics, deeper semantic checks are only available if you enable the public submission validation API. If any errors are found by the public submission validation API, error JSON will be returned from the ReST API like normal.

To enable the public submission validation API, modify the .env file with VALIDATION_URL=https://qpp.cms.gov/api/submissions/public/validate-submission and then restart the ReST API endpoint.

Ensure the environment variable CPC_END_DATE is set to a valid date, in the format YYYY-MM-DD, or a validation error may be thrown.

Command Line

For the examples below, make sure you're in the qpp-conversion-tool directory.

Note: If you are using Windows, replace ./convert.sh in the examples below with convert.bat.

Convert a File

# Try the convert script. If the JAR isn't built yet, the script will build it for you first.
./convert.sh ./qrda-files/valid-QRDA-III-latest.xml

If a QRDA-III XML file is successfully converted, a QPP JSON file is created in the current working directory. The file name will have the same name as the input file but with the extension .qpp.json. For example, valid-QRDA-III-latest.qpp.json.

When an invalid file is provided to the converter, an error JSON file is created in the current working directory. The file name will be the same as the input file but with the extension .err.json. For example, not-a-QRDA-III-file.err.json. This error file contains descriptions and XPaths that help in identifying the errors in the provided input file.

View all commands with convert.sh.

Sample files

Sample QRDA-III files that cover all of the eCQM, PI, and IA measures as well as other scenarios can be found in the sample-files folder.

Swagger Info

Swagger will be enabled under /swagger-ui/index.html#/ path. And the api docs are avilable under v3/api-docs.

Want to Contribute?

Want to file a bug or contribute some code? Read up on our guidelines for contributing and developer instructions.

Public Domain

This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.

All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.

See the formal LICENSE file.

qpp-conversion-tool's People

Contributors

akostibas avatar anirudh-addepalli avatar bijujoseph avatar clydet avatar davelauta avatar dependabot[bot] avatar dknesek avatar dpuglielli avatar gabesmed avatar halprin avatar jeffbjr56 avatar jeremy-page avatar jiahuang avatar jonadecker avatar jonalarson avatar kilbergr avatar kyleapfel avatar ohlol avatar pkasarski avatar qpp-mla0 avatar rajkpammi avatar saquino0827 avatar scotthasse avatar sethalt avatar sfradkin avatar shadford avatar sivaksb avatar snyk-bot avatar timothy-ellis-ky avatar zack-harrison avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qpp-conversion-tool's Issues

License question..(not an issue)

Question about the license of this tool. The CC0 is no longer presented as an option on GitHub.com while creating repositories. I guess that the list of available option is pulled from https://choosealicense.com/licenses/ which also has its own gist.

How can this repository be forked when the supporting CC0 license is no longer available on GitHub.com?

2019 Reporting Period

Hey there. I'm a developer for an EHR. We're updating our measures for the 2019 reporting period. Before releasing the updates, we need to confirm that our generated QRDA III files pass CMS validation.

Do you have an rough estimate on when the qpp-conversion-tool will be updated for the 2019 reporting period?

Thank you,
Ryan

QPP conversion tool configure locally

#Configuration of this tool issue:
Cannot create a WAR file of this project. So how to configure this and deploy in apache tomcat to use the API locally?
How to use with Docker?

Information

  • OS & version:
  • Java version: (Run $ java -version.)
  • Docker version if using: (Run $ docker -v.)

Expected behavior

(Please be more descriptive than "This file should have created valid QPP."
Also, if you can attach a sample QRDA3 file without Personally Identifiable Information, that will make triage easier.)

Actual behavior

(Please be more descriptive than "This file didn't create valid QPP.")

Steps to reproduce

  1. (Please include detailed steps.)

Other details

(Tell us any other details you think are pertinent to this issue.)

Submissions for 2021 not working- says needs to comply with 2020 guidelines

Information

  • OS & version: Windows 10
  • Docker version: Docker version 19.03.8, build afacb8b

Expected behavior

Trying to use it with test files for 2021 and it appears to be expecting 2020, according to the error we're getting

Actual behavior

Error message when submitting with a 2021 formatted file:
"The file is not a QRDA-III XML document. Please ensure that the submission complies with the 2020 implementation guide. https://ecqi.healthit.gov/sites/default/files/2020-CMS-QRDA-III-Eligible-Clinicians-and-EP-IG-v1.1-508.pdf#page=19"

Steps to reproduce

Submit file for 2021

Other details

Wondering if it's yet been updated for 2021 and if not, what might be the ETA?

Build failed

Information

  • OS & version: macOS Catalina
  • Java version: openjdk version "1.8.0_262"
  • Docker version if using: (Run $ docker -v.)

Expected behavior

(Please be more descriptive than "This file should have created valid QPP."
Also, if you can attach a sample QRDA3 file without Personally Identifiable Information, that will make triage easier.)

Actual behavior

(Please be more descriptive than "This file didn't create valid QPP.")
We got Build failed error when we try convert XML to Json

โฏ ./convert.sh ./qpp/test.XML
Jar not found. Building...
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] QPP Conversion Tool [pom]
[INFO] Test Commons [jar]
[INFO] Commons [jar]
[INFO] generate-maven-plugin [maven-plugin]
[INFO] Converter [jar]
[INFO] Commandline Converter Extension [jar]
[INFO] RESTful Converter Extension [jar]
[INFO]
[INFO] ---------< gov.cms.qpp.conversion:qpp-conversion-tool-parent >----------
[INFO] Building QPP Conversion Tool 4.1.0-RELEASE [1/7]
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] ----------------< gov.cms.qpp.conversion:test-commons >-----------------
[INFO] Building Test Commons 4.1.0-RELEASE [2/7]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ test-commons ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/mweng/Documents/qpp-conversion-tool-develop/test-commons/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ test-commons ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 19 source files to /Users/mweng/Documents/qpp-conversion-tool-develop/test-commons/target/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /Users/mweng/Documents/qpp-conversion-tool-develop/test-commons/src/main/java/gov/cms/qpp/test/annotations/ParameterizedAcceptanceTest.java:[5,28] cannot access java.lang.annotation.Retention
bad class file: /modules/java.base/java/lang/annotation/Retention.class
class file has wrong version 58.0, should be 53.0
Please remove or make sure it appears in the correct subdirectory of the classpath.
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for QPP Conversion Tool 4.1.0-RELEASE:
[INFO]
[INFO] QPP Conversion Tool ................................ SUCCESS [ 0.004 s]
[INFO] Test Commons ....................................... FAILURE [ 3.146 s]
[INFO] Commons ............................................ SKIPPED
[INFO] generate-maven-plugin .............................. SKIPPED
[INFO] Converter .......................................... SKIPPED
[INFO] Commandline Converter Extension .................... SKIPPED
[INFO] RESTful Converter Extension ........................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.616 s
[INFO] Finished at: 2020-10-05T14:20:02-07:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project test-commons: Compilation failure
[ERROR] /Users/mweng/Documents/qpp-conversion-tool-develop/test-commons/src/main/java/gov/cms/qpp/test/annotations/ParameterizedAcceptanceTest.java:[5,28] cannot access java.lang.annotation.Retention
[ERROR] bad class file: /modules/java.base/java/lang/annotation/Retention.class
[ERROR] class file has wrong version 58.0, should be 53.0
[ERROR] Please remove or make sure it appears in the correct subdirectory of the classpath.
[ERROR]
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn -rf :test-commons
Build failed. Aborting.

Steps to reproduce

  1. (Please include detailed steps.)
  2. Download the repository
  3. run "./convert.sh ./qpp/test.XML" in terminal

Other details

(Tell us any other details you think are pertinent to this issue.)

QRDA III is successfully converted but is rejected by QPP due to invalid measurement `value` field

Information

  • OS, Java, and Docker versions are whatever is running on the production server as of 20180103

Expected behavior

  • QRDA III file is converted and submission is accepted

Actual behavior

  • QRDA III file is indeed converted, but submission is rejected due to invalid value field in the JSON for CMS 156 (measureId 238)
  • Error file from QPP: csv_error_file copy.csv.txt (txt extension added for Github)

Steps to reproduce

  1. Navigate to the QPP production submission site: https://qpp.cms.gov/
  2. Upload the following QRDA III file: cms156-failure.xml.txt (txt extension added for Github)
  3. Receive error

Other details

  • Note that the attached QRDA has fake data (name and TIN replaced)
  • Apologies if there is a better place to submit this issue. We were instructed by CMS last year, "If you can create a QRDA III file that can be converted using this tool, then you can create one that can be successfully submitted to QPP." That, coupled with the opaqueness of the error message, meant that this was the best I could do to triangulate the source of the issue. Feel free to close and redirect me if needed.
  • Local difference: I also tested the file on a local instance of the conversion tool and noted a difference in the value field: the one shown in the error message has metadata while the local one did not. Here's my local machine's info:

Conversion tool ref: ed8e0ef3c
OS: macOS Mojave 10.14
Java:

java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

Docker: 18.06.1-ce-mac73

2018 refactoring proposal

See QPPCT-889

Change converter endpoint response

Instead of just returning the qpp json, return the following object:
{ "qpp": { // the qpp json in object form }, "warnings": [ { "code": 10, "message": "Blah blah something in your submission was odd but we did our best blah blah", "references": [ "(link to the IG if applicable)", "(another link to the IG if applicable)" ] } ] }

Create StandardErrorCodes and StandardWarnings enums

They should implement ErrorCode/Warning interfaces, and contain general converter errors, such as malformed XML, missing encoder, or an unexpected error.

Refactor data-specific error codes / warnings into date-based packages

Move error codes such as NPI_TIN_COMBINATION_MISSING_CLINICAL_DOCUMENT (error code 46) into their own date-based package, for example gov.cms.qpp.conversion.model.error.nov2018jan2019.ErrorCode. Also change the numeric code to include the date; such as nov2018jan2019-46 or 09201801201946. These should be further linked to a full list of all error codes, to facilitate the pipeline, explained in the next two sections.

Change error code format to use named rather than numeric parameters

In the current format, placeholders in a message are replaced by the parameter passed in a numeric way. For example, in Hello (your name)! My name is (my name)., the placeholders (your name) and (my name) when passed parameters 1: "George", 2: "John", would be replaced in the message to make Hello George! My name is John.. My proposal would have the same outcome, but a different way of achieving it by replacing the numeric parameters with readable names. The passed parameters would become your name: "George", my name: "John". If the message requires a parameter that is not given, an error should be thrown. This system has two benefits: readability, and facilitation of a pipeline mechanism; when calling an error in an encoder/decoder/validator, you'd reference the shared error code between all years mentioned in the previous item, passing in all required variables for that shared error code's date-based implementor.

Create encoder/decoder/validation date based pipeline

To make supporting a new submission date range easier, we should only have to implement a diff of the changes between the current supported date range's spec and the new spec. If no changes are made to an encoder/decoder/validator, we don't want to have to repeat the same code.

2023 Release

when will the 2023 release show up as the "latest" release? It currently still show 2022.

Screenshot 2023-11-28 141032

Also the date for the 2023 still shows the September 7th date and a pre release state. Will that be updated? Does the developer just need to grab this code to update our tool?

image

NUMEx issue

Hi,
It seems NumEx the new section has been introduced in QPP exported file. Could you please let us know what kind of data needs to export in this section. Do you have any same data for it.

NumEx

Error running the docker image: Keystore not found

We are trying to build and run the docker container on Windows with Hyper-V and Linux containers enabled. The container builds fine, but when we run the final JAR we get the following error

exec java $JAVA_OPTS -javaagent:./newrelic/newrelic.jar -jar ./rest-api.jar [root@6a06071e28b8 run]# exec java $JAVA_OPTS -javaagent:./newrelic/newrelic.jar -jar ./rest-api.jar Jan 18, 2022 19:45:53 +0000 [20 1] com.newrelic INFO: New Relic Agent: Loading configuration file "/usr/src/run/newrelic/./newrelic.yml" Jan 18, 2022 19:45:53 +0000 [20 1] com.newrelic INFO: Using configured collector host: gov-collector.newrelic.com Jan 18, 2022 19:45:54 +0000 [20 1] com.newrelic INFO: New Relic Agent: Writing to log file: /usr/src/run/newrelic/logs/newrelic_agent.log {"timestamp":"2022-01-18 19:45:58.718","thread":"main","attachment":"","level":"INFO ","logger":"g.c.q.c.api.RestApiApplication","message":"Starting RestApiApplication v16.2.0-RELEASE on 6a06071e28b8 with PID 20 (/usr/src/run/rest-api.jar started by root in /usr/src/run)"} {"timestamp":"2022-01-18 19:45:58.726","thread":"main","attachment":"","level":"INFO ","logger":"g.c.q.c.api.RestApiApplication","message":"No active profile set, falling back to default profiles: default"} {"timestamp":"2022-01-18 19:46:01.917","thread":"main","attachment":"","level":"WARN ","logger":"o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext","message":"Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Could not load key store 'null'"} {"timestamp":"2022-01-18 19:46:01.933","thread":"main","attachment":"","level":"INFO ","logger":"o.s.b.a.l.ConditionEvaluationReportLoggingListener","message":"\n\nError starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled."} {"timestamp":"2022-01-18 19:46:01.942","thread":"main","attachment":"","level":"ERROR","logger":"o.s.boot.SpringApplication","message":"Application run failed","stack_trace":"org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Could not load key store 'null'\n\tat org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:156)\n\tat org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:544)\n\tat org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)\n\tat org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)\n\tat org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)\n\tat org.springframework.boot.SpringApplication.run(SpringApplication.java:315)\n\tat org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)\n\tat org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)\n\tat gov.cms.qpp.conversion.api.RestApiApplication.main(RestApiApplication.java:23)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.base/java.lang.reflect.Method.invoke(Method.java:566)\n\tat org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)\n\tat org.springframework.boot.loader.Launcher.launch(Launcher.java:87)\n\tat org.springframework.boot.loader.Launcher.launch(Launcher.java:51)\n\tat org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:52)\nCaused by: org.springframework.boot.web.server.WebServerException: Could not load key store 'null'\n\tat org.springframework.boot.web.embedded.tomcat.SslConnectorCustomizer.configureSslKeyStore(SslConnectorCustomizer.java:128)\n\tat org.springframework.boot.web.embedded.tomcat.SslConnectorCustomizer.configureSsl(SslConnectorCustomizer.java:88)\n\tat org.springframework.boot.web.embedded.tomcat.SslConnectorCustomizer.customize(SslConnectorCustomizer.java:57)\n\tat org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.customizeSsl(TomcatServletWebServerFactory.java:339)\n\tat org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.customizeConnector(TomcatServletWebServerFactory.java:317)\n\tat org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:183)\n\tat org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:180)\n\tat org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:153)\n\t... 16 common frames omitted\nCaused by: java.lang.IllegalArgumentException: Resource location must not be null\n\tat org.springframework.util.Assert.notNull(Assert.java:198)\n\tat org.springframework.util.ResourceUtils.getURL(ResourceUtils.java:130)\n\tat org.springframework.boot.web.embedded.tomcat.SslConnectorCustomizer.configureSslKeyStore(SslConnectorCustomizer.java:125)\n\t... 23 common frames omitted\n"}

We believe this might be due to non-existent configuration in our dev environment to have HTTPS binding. How can we disable HTTPS and use the unsecured version?

CMS 156v11 Issue Version Specific Measure

We are using Version Specific Measure id 2c928084-808a-9589-0180-d74bf7b7164d for CMS156v11 but the file is not validating successfully. Could you please help us here.

Unable to push the code

Hi Team,
I found the issue in the QRDAIII to Json vconversion.
I made the code change in the converter project.
I want to commit the changes. can you please give me permission

modified: converter/src/main/java/gov/cms/qpp/conversion/decode/ClinicalDocumentDecoder.java
modified: converter/src/main/resources/pathing/path-correlation.json
modified: converter/src/test/java/gov/cms/qpp/SingularAttributeTest.java
modified: converter/src/test/java/gov/cms/qpp/acceptance/CpcPlusRoundTripTest.java
modified: converter/src/test/java/gov/cms/qpp/conversion/encode/PiSectionEncoderMultiMeasureTest.java

Information

  • OS & version:
  • Java version: (Run $ java -version.)
  • Docker version if using: (Run $ docker -v.)

Expected behavior

(Please be more descriptive than "This file should have created valid QPP."
Also, if you can attach a sample QRDA3 file without Personally Identifiable Information, that will make triage easier.)

Actual behavior

(Please be more descriptive than "This file didn't create valid QPP.")

Steps to reproduce

  1. (Please include detailed steps.)

Other details

(Tell us any other details you think are pertinent to this issue.)

CMS144 and CMS135 - Consolitated count getting displayed in Converted Json

Information

Today we validate the CMS135 and 144 with QPP tool, Files are converted to Json successfully but in the Json files, Consolidated data count getting displayed for multiple IPP measures(CMS 144 and CMS135)

Same thing we did for CMS 145(this is also multiple ipp measures), IPP1 and Ipp2 data getting displayed separately in the Json as shown in the below screenshot2.

Expected behavior

Two different data sections should be displayed for Multiple Ipp measures like 135,144. Here is the screenshot attached for your reference which works fine for CMS145

image

Actual behavior

Consolitated data getting displayed for multiple ipp measures

Here is the screenshot attached for your reference which is not works fine for CMs144 and 135

image

Steps to reproduce

  1. Generated the QRDA III for CMS135 and 144 and Validate with QPP tool(locally), Files are converted to Json successfully but in the Json files, Consolidated data count getting displayed for multiple IPP measures(CMS 144 and CMS135)

Jar not found

ErrorLog

Getting this error while validating QRDA file, I have already installed JDK but still giving this error. Also it seems the mentioned files are not present in qpp-conversion-tool (commandline/target/commandline.jar). Can someone please do needful here. #1110

Question about CMS_22

Hi,

We are trying to validate our QRDA III files for the 2019 reporting period using the QPP validation tool. https://github.com/CMSgov/qpp-conversion-tool
All of our files validate successfully with the exception of the files for CMS 22. Apparently the validator seems to think we have the wrong GUIDs. We have confirmed that file pass Cypress validation for the same reporting period. The GUID we for CMS22 is 40280382-610b-e7a4-0161-9a3a392c37d5 which is matching the Cypress

Attached QRDA-III and error file

INFO - Transform invoked
INFO - Decoded template ID CLINICAL_DOCUMENT
INFO - Validating all nodes in the tree
ERROR - MEASURE_GUID_MISSING 40280382-610b-e7a4-0161-9a3a392c37d5
ERROR - There were errors during conversion. Writing out errors to CMS_22-error.json
gov.cms.qpp.conversion.model.error.TransformException: Validation errors exist
at gov.cms.qpp.conversion.Converter.transform(Converter.java:89)
at gov.cms.qpp.conversion.ConversionFileWriterWrapper.executeConverter(ConversionFileWriterWrapper.java:64)
at gov.cms.qpp.conversion.ConversionFileWriterWrapper.transform(ConversionFileWriterWrapper.java:54)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:373)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1556)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:291)
at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinTask.doInvoke(ForkJoinTask.java:401)
at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:734)
at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
at gov.cms.qpp.conversion.CommandLineRunner.run(CommandLineRunner.java:83)
at gov.cms.qpp.conversion.CommandLineMain.main(CommandLineMain.java:45)

Other details

I also found CMS 22, MeasureUuid were missing in following file

https://raw.githubusercontent.com/CMSgov/qpp-measures-data/master/measures/2019/measures-data.json

CMS_22.zip

Confirmation regarding XML file validation

Information
OS & version: Windows 10
Java version: 11.0.12
Other details
Could you please let me know when Update the latest Tool for converting XML, I want to validate it?
I want to validate XML file 2022.

I'm getting a Unexpected Exception Error.

Information

-windows 10

  • Java version: 1.8

When I run
curl -X POST "http://localhost:3000" -H "cache-control: no-cache" -H "content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW" -F file=@.\qrda-files\valid-QRDA-III.xm
I get the following error. But it does not create any error files, so I'm not sure what is causing it.

{"errors":[{"sourceIdentifier":"testtest.xml","type":null,"message":null,"details":[{"errorCode":3,"message":"CT - Unexpected exception occurred during conversion. Please contact the Service Center for assistance via phone at 1-866-288-8292 or TTY: 1-877-715-6222, or by emailing [email protected]","value":null,"type":null,"location":{"location":null,"path":"","line":null,"column":null}}]}]}

XML files are reported to be valid, but converter says 'Validation errors exist'.

Information

  • OS & version: Windows 10
  • Java version: (Run $ java -version.) build 1.8.0_181-b13
  • Docker version if using: (Run $ docker -v.) n/a

Expected behavior

Test CAT3 files (xml) are producing 'Validation errors exist', but analyst insists they have converted them
successfully. (They're not responding to emails).

Actual behavior

20190122 131331 INFO ProcessQPP - Processing file: .\testfilesdir\ASG_CPC_CAT 3 TEST - SFTP.xml
20190122 131332 ERROR ProcessQPP - TransformException for file: Validation errors exist
20190122 131332 ERROR ProcessQPP - Stack Trace:
gov.cms.qpp.conversion.model.error.TransformException: Validation errors exist
at gov.cms.qpp.conversion.Converter.transform(Converter.java:90)

ASG_CPC_CAT 3 TEST - SFTP.xml.txt
ASG_CPC_CAT 3 TEST_WU.xml.txt
ASG_CPC_CAT 3 TEST - SFTP.xml.txt
at ProcessQPP.main(ProcessQPP.java:81)

Steps to reproduce

	String sourcePathAndFile = SOURCE_DIR + File.separator + fileToProcess.getName();
	Path sourcePath = Paths.get(sourcePathAndFile);
	log.info("Processing file: " + sourcePathAndFile );
	//Converter converter = new Converter(new PathSource(path));
	Converter converter = new Converter(new PathSource(sourcePath));

	JsonWrapper jsonWrapper = new JsonWrapper();
	try { 
		jsonWrapper = converter.transform();
	} catch( TransformException te ) { 
		log.error("TransformException for file: " + te.getMessage() );
		log.error( "Stack Trace: ", te );
	}

Other details

(Tell us any other details you think are pertinent to this issue.)

ASG_CPC_CAT3_TEST_WU.xml.txt
ASG_CPC_CAT3_TEST_SFTP.xml.txt

Docker build fails

Information

  • OS & version: mac OS 10.14.6
  • Java version: 1.8.0_73
  • Docker version if using: 20.10.2, build 2291f61

Expected behavior

"docker-compose -f ./docker-compose.test.yaml up" builds and starts the tool successfully.

Actual behavior

Fails with this error:

ERROR: Service 'rest' failed to build : The command '/bin/sh -c mvn install -Dmaven.test.skip -Djacoco.skip=true > /dev/null' returned a non-zero code: 1

Steps to reproduce

  1. Download the zip and unpack
  2. cs into directory
  3. docker-compose -f ./docker-compose.test.yaml up

Other details

Release 4.3.2 works correctly.

I updated the DockerfileTest to show the errors in that step:

Davids-MacBook-Pro-3:qpp-conversion-tool-develop davidknapp$ docker-compose -f ./docker-compose.test.yaml up
Building rest
Step 1/13 : FROM maven:3.6.3-jdk-11
---> 8de5407a7beb
Step 2/13 : RUN mkdir -p /usr/src/app/
---> Using cache
---> 72ddf9c42aa0
Step 3/13 : RUN mkdir -p /usr/src/run/
---> Using cache
---> c10d91eb1c15
Step 4/13 : RUN apt-get update && apt-get install dos2unix
---> Using cache
---> d0798fed55b0
Step 5/13 : COPY ./ /usr/src/app/
---> a38778e00693
Step 6/13 : WORKDIR /usr/src/app/
---> Running in 46d16605a542
Removing intermediate container 46d16605a542
---> 44f84ce2b970
Step 7/13 : RUN mvn install -Dmaven.test.skip -Djacoco.skip=true
---> Running in 7fd3c3fbb44c
[INFO] Scanning for projects...
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[ERROR] Child module /usr/src/app/test-coverage of /usr/src/app/pom.xml does not exist @
@
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR] The project gov.cms.qpp.conversion:qpp-conversion-tool-parent:4.3.2-RELEASE (/usr/src/app/pom.xml) has 1 error
[ERROR] Child module /usr/src/app/test-coverage of /usr/src/app/pom.xml does not exist
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
ERROR: Service 'rest' failed to build : The command '/bin/sh -c mvn install -Dmaven.test.skip -Djacoco.skip=true' returned a non-zero code: 1

Segment error output with no line number indicated when segment is present

Information

  • OS & version:
    Windows 10
  • Java version: (Run $ java -version.)
    Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
  • Docker version if using: (Run $ docker -v.) N/A

Expected behavior

Submitted document via the command line arguement. "convert.bat .
Expecting each of the measure entries to not produce any errors. Basically Recieved this errors from a physician that tried to submit one of our documents. They are exactly to spec and we are a certified Vendor. I can perhaps attach the file after removing some information. for now Will post a snapshot of one of the measure entries. I expected to receive more than just a general segment location. My segment that it is describing is present. Line numbers of the file submitted might help identifying error locations during validation.

Actual behavior

I recieved the following error.
{ "errorCode" : 52, "message" : "CT - Measure data must have exactly one Aggregate Count.", "path" : "/*[local-name() = 'ClinicalDocument' and namespace-uri() = 'urn:hl7-org:v3']/*[local-name() = 'component' and namespace-uri() = 'urn:hl7-org:v3']/*[local-name() = 'structuredBody' and namespace-uri() = 'urn:hl7-org:v3']/*[local-name() = 'component' and namespace-uri() = 'urn:hl7-org:v3'][1]/*[local-name() = 'section' and namespace-uri() = 'urn:hl7-org:v3']/*[local-name() = 'entry' and namespace-uri() = 'urn:hl7-org:v3'][2]/*[local-name() = 'organizer' and namespace-uri() = 'urn:hl7-org:v3']/*[local-name() = 'component' and namespace-uri() = 'urn:hl7-org:v3'][1]/*[local-name() = 'observation' and namespace-uri() = 'urn:hl7-org:v3']" }

Steps to reproduce

  1. run convert.bat against file containing QRDA3 document

Other details

Below is one of the segments that it is complaining about that it seems to not be detecting.
For the purpose of this post i do not find it necessary to post anymore info that the below segment and its parent sections segments.

The below xml will produce the error i am experiencing. I recognize it is not a fully fleshed QRDA III document, but it will produce the issue that i am looking to resolve at this moment.

`

<title>Eligible Clinicians (EC) Meaningful Use Group Sample QRDA-III (Informative)</title>
<!-- CDA Body -->
<component>
	<structuredBody>
		<!-- QRDA Category III Measure Section (CMS EP) -->
		<component>
			<section>
				<!-- Measure Section -->
				<templateId root="2.16.840.1.113883.10.20.24.2.2"/>
				<!-- QRDA Category III Measure Section V4 -->
				<templateId root="2.16.840.1.113883.10.20.27.2.1" extension="2017-06-01"/>
				<!-- QRDA Category III Measure Section - CMS V2 -->
				<templateId root="2.16.840.1.113883.10.20.27.2.3" extension="2017-07-01"/>
				<code code="55186-1" codeSystem="2.16.840.1.113883.6.1" displayName="measure section"/>
				<title>Measure Section</title>
				<text/>
				<!-- Performanc Period -->
				<entry typeCode="DRIV">
					<act classCode="ACT" moodCode="EVN">
						<!-- This is the templateId for Reporting Parameters Act -->
						<templateId root="2.16.840.1.113883.10.20.17.3.8"/>
						<id root="3d7c11cf-b01b-4527-a704-c098c162779d"/>
						<code code="252116004" codeSystem="2.16.840.1.113883.6.96" displayName="Observation Parameters"/>
						<effectiveTime>
							<low value="20170101"/>
							<high value="20171231"/>
						</effectiveTime>
					</act>
				</entry>
				<entry>
					<organizer classCode="CLUSTER" moodCode="EVN">
						<!-- Measure Reference -->
						<templateId root="2.16.840.1.113883.10.20.24.3.98"/>
						<!-- Measure Reference and Results V3 -->
						<templateId root="2.16.840.1.113883.10.20.27.3.1" extension="2016-09-01"/>
						<!-- Measure Reference and Results - CMS V2 -->
						<templateId root="2.16.840.1.113883.10.20.27.3.17" extension="2016-11-01"/>
						<id root="40280381-51F0-825B-0152-22A639D81762"/>
						<statusCode code="completed"/>
						<!--Measure Reference and Results-->
						<reference typeCode="REFR">
							<externalDocument classCode="DOC" moodCode="EVN">
								<id root="2.16.840.1.113883.4.738" extension="40280381-51F0-825B-0152-22A639D81762"/>
								<code code="57024-2" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="Health Quality Measure Document"/>
								<text>ADHD: Follow-Up Care for Children Prescribed Attention-Deficit/Hyperactivity Disorder (ADHD) Medication</text>
							</externalDocument>
						</reference>
						<component>
							<observation classCode="OBS" moodCode="EVN">
								<templateId root="2.16.840.1.113883.10.20.27.3.5" extension="2016-09-01" />
								<templateId root="2.16.840.1.113883.10.20.27.3.16" extension="2016-11-01" />
								<code code="ASSERTION" codeSystem="2.16.840.1.113883.5.4" codeSystemName="ActCode" displayName="Assertion" />
								<statusCode code="completed" />
								<value xsi:type="CD" code="IPOP" codeSystem="2.16.840.1.113883.5.4" codeSystemName="ActCode"/>
								<!-- Count -->
								<entryRelationship typeCode="SUBJ" inversionInd="true">
									<observation classCode="OBS" moodCode="EVN">
										<templateId root="2.16.840.1.113883.10.20.27.3.3" />
										<templateId root="2.16.840.1.113883.10.20.27.3.24" />
										<code code="MSRAGG" codeSystem="2.16.840.1.113883.5.4" codeSystemName="ActCode" displayName="rate aggregation" />
										<statusCode code="completed" />
										<value xsi:type="INT" value="1" />
										<methodCode code="COUNT" codeSystem="2.16.840.1.113883.5.84" codeSystemName="ObservationMethod" displayName="Count" />
									</observation>
								</entryRelationship>
								
								<!-- Population ID from eMeasure-->
								<reference typeCode="REFR">
									<externalObservation classCode="OBS" moodCode="EVN">
										<id root="4DF80BC3-980B-465E-8591-616C7DB74FBD" />
									</externalObservation>
								</reference>
							</observation>
						</component>
					</organizer>
				</entry>
			</section>
		</component>
	</structuredBody>
</component>

`

Error Using /qrda-files/valid-QRDA-III-latest.xml through Docker

Information

  • OS & version: Windows 10
  • Java version: 1.8.0_201
  • Docker version if using: 19.03.12

Expected behavior

When trying to run the docker image and Invoking the endpoint using the command provided, I expect the sample file to pass.

The sample QRDA file is the one in the example. But I've also attached a sample QRDA that I am using QRDACat3_165_ 20200929.txt. I had to change the extension to .txt in order for it to be uploaded here. But when using it locally, the file extension is .xml.

Actual behavior

Using the file in the example, I am receiving the following error:

{"errors":[{"sourceIdentifier":"valid-QRDA-III-latest.xml","type":null,"message":null,"details":[{"errorCode":5,"message":"CT - The file is not a QRDA-III XML document. Please ensure that the submission complies with the 2018 implementation guide. https://ecqi.healthit.gov/system/files/2018_CMS_QRDA_III_Eligible_Clinicians_and_EP_IG_v2_508.pdf#page=20","value":null,"type":null,"location":{"location":null,"path":"","line":null,"column":null}}]}]}

Steps to reproduce

  1. Cloned the repository
  2. Run the docker image (using the develop branch)
  3. Use the command provided.
  4. Get the error attached.

QPP Tool getting failed while install

Hi Team
while installing qpp getting the below error and it getting failed, Please suggest and attached screenshot

Z:>cd qpp-conversion-tool-develop

Z:\qpp-conversion-tool-develop>cd qpp-conversion-tool-develop

Z:\qpp-conversion-tool-develop\qpp-conversion-tool-develop>convert.bat qrda-files/valid-QRDA-III.xml
.
"Jar not found. Building..."
.
.
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] QPP Conversion Tool [pom]
[INFO] Test Commons [jar]
[INFO] Commons [jar]
[INFO] generate-maven-plugin [maven-plugin]
[INFO] Converter [jar]
[INFO] Commandline Converter Extension [jar]
[INFO] RESTful Converter Extension [jar]
[INFO] QPP Conversion Tool Test Coverage [pom]
[INFO]
[INFO] ---------< gov.cms.qpp.conversion:qpp-conversion-tool-parent >----------
[INFO] Building QPP Conversion Tool 4.3.3-RELEASE [1/8]
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] --- jacoco-maven-plugin:0.8.5:prepare-agent (jacoco-initialize) @ qpp-conversion-tool-parent ---
[INFO] argLine set to -javaagent:C:\Users\sferoz\.m2\repository\org\jacoco\org.jacoco.agent\0.8.5\org.jacoco.agent-0.8.5-runtime.jar=destfile=Z:\qpp-conversion-tool-develop\qpp-conversion-tool-develop\target\jacoco.exec
[INFO]
[INFO] ----------------< gov.cms.qpp.conversion:test-commons >-----------------
[INFO] Building Test Commons 4.3.3-RELEASE [2/8]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- jacoco-maven-plugin:0.8.5:prepare-agent (jacoco-initialize) @ test-commons ---
[INFO] argLine set to -javaagent:C:\Users\sferoz\.m2\repository\org\jacoco\org.jacoco.agent\0.8.5\org.jacoco.agent-0.8.5-runtime.jar=destfile=Z:\qpp-conversion-tool-develop\qpp-conversion-tool-develop\test-commons\target\jacoco.exec
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ test-commons ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory Z:\qpp-conversion-tool-develop\qpp-conversion-tool-develop\test-commons\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ test-commons ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 19 source files to Z:\qpp-conversion-tool-develop\qpp-conversion-tool-develop\test-commons\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] javac: invalid target release: 11
Usage: javac
use -help for a list of possible options

[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for QPP Conversion Tool 4.3.3-RELEASE:
[INFO]
[INFO] QPP Conversion Tool ................................ SUCCESS [01:00 min]
[INFO] Test Commons ....................................... FAILURE [ 13.001 s]
[INFO] Commons ............................................ SKIPPED
[INFO] generate-maven-plugin .............................. SKIPPED
[INFO] Converter .......................................... SKIPPED
[INFO] Commandline Converter Extension .................... SKIPPED
[INFO] RESTful Converter Extension ........................ SKIPPED
[INFO] QPP Conversion Tool Test Coverage .................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:14 min
[INFO] Finished at: 2021-09-07T11:54:36+05:30
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project test-commons: Compilation failure
[ERROR] javac: invalid target release: 11
[ERROR] Usage: javac
[ERROR] use -help for a list of possible options
[ERROR]
[ERROR]
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn -rf :test-commons
""
"Build failed. Aborting."
""
Error: Unable to access jarfile commandline/target/commandline.jar

image

Information

  • OS & version:
  • Java version: (Run $ java -version.)
  • Docker version if using: (Run $ docker -v.)

Expected behavior

(Please be more descriptive than "This file should have created valid QPP."
Also, if you can attach a sample QRDA3 file without Personally Identifiable Information, that will make triage easier.)

Actual behavior

(Please be more descriptive than "This file didn't create valid QPP.")

Steps to reproduce

  1. (Please include detailed steps.)

Other details

(Tell us any other details you think are pertinent to this issue.)

qpp update

Hi,
By when we can expect the QPP validation tool update with 2022 changes?

Build of 14.5.0 throwing error on tools.jar

Information

  • OS & version: Windows Server 2016 DC
  • Java version: 1.8.0_301
  • Docker version if using: N/A

Expected behavior

Building converter from first call of convert.bat of latest version installed on server where previous versions were working.

Actual behavior

[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.640 s
[INFO] Finished at: 2021-09-22T12:49:57-04:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project test-commons: Fatal error compiling: tools.jar not found: C:\Program Files (x86)\Java\jre1.8.0_301..\lib\tools.jar -> [Help 1]

Steps to reproduce

run git clone to get latest version
run convert.bat ./qrda-files/valid-QRDA-III-latest.xml

Other details

This environment has been supporting the qpp-converter project for the last several reporting years using the instructions provided @ https://github.com/CMSgov/qpp-conversion-tool#installation-instructions

QPP Tool(2021) - Getting error while installing qpp in our system

Hi Team
we are getting the below error while installing qpp in our system , Please suggest what could be the issue

also, Just wanted to confirm , is QPP tool is availble for CQM 2021?
Thanks in Advance

Java version -java version "1.8.0_291"
Maven version - Apache Maven 3.8.1

C:\qpp-conversion-tool>convert.bat qrda-files/valid-QRDA-III.xml
.
"Jar not found. Building..."
.
.
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] QPP Conversion Tool [pom]
[INFO] Test Commons [jar]
[INFO] Commons [jar]
[INFO] generate-maven-plugin [maven-plugin]
[INFO] Converter [jar]
[INFO] Commandline Converter Extension [jar]
[INFO] RESTful Converter Extension [jar]
[INFO] QPP Conversion Tool Test Coverage [pom]
[INFO]
[INFO] ---------< gov.cms.qpp.conversion:qpp-conversion-tool-parent >----------
[INFO] Building QPP Conversion Tool 4.3.3-RELEASE [1/8]
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] --- jacoco-maven-plugin:0.8.5:prepare-agent (jacoco-initialize) @ qpp-conversion-tool-parent ---
[INFO] argLine set to -javaagent:C:\Users\sferoz\.m2\repository\org\jacoco\org.jacoco.agent\0.8.5\org.jacoco.agent-0.8.5-runtime.jar=destfile=C:\qpp-conversion-tool\target\jacoco.exec
[INFO]
[INFO] ----------------< gov.cms.qpp.conversion:test-commons >-----------------
[INFO] Building Test Commons 4.3.3-RELEASE [2/8]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- jacoco-maven-plugin:0.8.5:prepare-agent (jacoco-initialize) @ test-commons ---
[INFO] argLine set to -javaagent:C:\Users\sferoz\.m2\repository\org\jacoco\org.jacoco.agent\0.8.5\org.jacoco.agent-0.8.5-runtime.jar=destfile=C:\qpp-conversion-tool\test-commons\target\jacoco.exec
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ test-commons ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\qpp-conversion-tool\test-commons\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ test-commons ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 19 source files to C:\qpp-conversion-tool\test-commons\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] javac: invalid target release: 11
Usage: javac
use -help for a list of possible options

[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for QPP Conversion Tool 4.3.3-RELEASE:
[INFO]
[INFO] QPP Conversion Tool ................................ SUCCESS [ 3.523 s]
[INFO] Test Commons ....................................... FAILURE [ 2.425 s]
[INFO] Commons ............................................ SKIPPED
[INFO] generate-maven-plugin .............................. SKIPPED
[INFO] Converter .......................................... SKIPPED
[INFO] Commandline Converter Extension .................... SKIPPED
[INFO] RESTful Converter Extension ........................ SKIPPED
[INFO] QPP Conversion Tool Test Coverage .................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.315 s
[INFO] Finished at: 2021-06-15T16:57:45+05:30
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project test-commons: Compilation failure
[ERROR] javac: invalid target release: 11
[ERROR] Usage: javac
[ERROR] use -help for a list of possible options
[ERROR]
[ERROR]
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn -rf :test-commons
""
"Build failed. Aborting."
""
Error: Unable to access jarfile commandline/target/commandline.jar
C:\qpp-conversion-tool>

Information

  • OS & version:
  • Java version: (Run $ java -version.)
  • Docker version if using: (Run $ docker -v.)

Expected behavior

(Please be more descriptive than "This file should have created valid QPP."
Also, if you can attach a sample QRDA3 file without Personally Identifiable Information, that will make triage easier.)

Actual behavior

(Please be more descriptive than "This file didn't create valid QPP.")

Steps to reproduce

  1. (Please include detailed steps.)

Other details

(Tell us any other details you think are pertinent to this issue.)

Version Specific Measure GUID issue for validating File

Hi Team,
We are facing Version Specific Measure id GUID issue for every measure. One of the example is given below. It seems the provided Version Specific Measure guid is not in proper format. That's why we are facing issues. We have also tried to validate the guid online but there also shows invalid guid. Screenshot attached. Could you please check and let us know the details.
GuidTest

Example CMS165v11 Guid: 2c928082-7a14-d92c-017a67b6f9971ea8

Unable to execute docker-compose up

Information

  • macOS Monterey 12.6.2
  • Java N/A
  • Docker version 20.10.22, build 3a2c30b

Expected behavior

In the qpp-conversion-tool directory, I should be able to run:

docker-compose -f ./docker-compose.test.yaml up

and receive some indication that the container has started.

Actual behavior

Receive an error:

Attaching to qpp-conversion-tool-rest-1
qpp-conversion-tool-rest-1  | {"timestamp":"2023-02-03 15:51:26.151","thread":"main","attachment":"","level":"INFO ","logger":"g.c.q.c.api.RestApiApplication","message":"Starting RestApiApplication v20.2.0-RELEASE using Java 11.0.10 on 1ff2b3114f6f with PID 1 (/usr/src/run/rest-api.jar started by root in /usr/src/run)"}
qpp-conversion-tool-rest-1  | {"timestamp":"2023-02-03 15:51:26.157","thread":"main","attachment":"","level":"INFO ","logger":"g.c.q.c.api.RestApiApplication","message":"No active profile set, falling back to 1 default profile: \"default\""}
qpp-conversion-tool-rest-1  | {"timestamp":"2023-02-03 15:51:26.731","thread":"main","attachment":"","level":"WARN ","logger":"o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext","message":"Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Could not load key store 'null'"}
qpp-conversion-tool-rest-1  | {"timestamp":"2023-02-03 15:51:26.736","thread":"main","attachment":"","level":"INFO ","logger":"o.s.b.a.l.ConditionEvaluationReportLoggingListener","message":"\n\nError starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled."}
qpp-conversion-tool-rest-1  | {"timestamp":"2023-02-03 15:51:26.748","thread":"main","attachment":"","level":"ERROR","logger":"o.s.boot.SpringApplication","message":"Application run failed","stack_trace":"org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Could not load key store 'null'\n\tat org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:163)\n\tat org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577)\n
<SNIP>

Steps to reproduce

run the docker-compose up command

Other details

I think this is very similar to #1187. I have followed the instructions in the first reply (commenting the two lines in the config file and exposing port 8080), but it's still looking for a key store. I think there's some tweaking to the configuration I can probably do to get going, but I'm not sure what that might be (not really a Java/Spring guy).

XML file validation issue

Information

  • OS & version: windows 10
  • Java version: 11.0.12

Expected behavior

XML file should get validate

Actual behavior

The measure GUID supplied is invalid
validation_Issue

Steps to reproduce

1.Open Location C:\GitHub\qpp-conversion-tool\qrda-files
2.Place MIPS QPP file under the bove mentioned path
3.Run--> Cmd
4.Set path from cmd C:\GitHub\qpp-conversion-tool using following command.
cd C:\GitHub\qpp-conversion-tool
5.For validating file use below command
convert.bat .\qrda-files<filename>

Please let me know if you have any suggestions for how to resolve this.

xml producing an Unexpected EOF read on the socket error

Information

  • OS & version: Windows 10
  • Java version: (Run $ java -version.)
    java version "1.8.0_161"
    Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
  • Docker version if using: (Run $ docker -v.):
    Docker version 18.09.0

Expected behavior

(Please be more descriptive than "This file should have created valid QPP."
Also, if you can attach a sample QRDA3 file without Personally Identifiable Information, that will make triage easier.)
It doesn't let me upload the xml source file here, but I can send the mock file over through some other means if applicable. The file should upload just like the test 'valid-QRDA-III-latest.xml'

Actual behavior

(Please be more descriptive than "This file didn't create valid QPP.") The curl result produces: Warning: setting file ./qrda-files/QRDACat3_20190109.xml failed!
and
curl: (26) read function returned funny value
It looks like the overall issue is java.io.IOException: org.apache.tomcat.util.http.fileupload.FileUploadException: Unexpected EOF read on the socket

Steps to reproduce

  1. *(Please include detailed steps.) Run the curl using the file provided (through the means I can provide the file to you).

Other details

(Tell us any other details you think are pertinent to this issue.)

Conversion error from CMS347v4

Information

  • OS & version: Windows Server running latest version of QPP-Converter-tool v14.5.0
  • Java version: (Run $ java -version.)
  • Docker version if using: (Run $ docker -v.)

Expected behavior

Testing qpp convert on 2021 MIPS file including eCQM CMS 347v4 and expecting valid conversion

Actual behavior

QPP convert on file including 347v4 is generating error on NUM and DENEX with message
"CT - The electronic measure id: CMS347v4 requires a NUMER with the correct UUID of 17D080CB-6211-4E3E-AD9A-DFA623DD6F42. Here is a link to the IG containing all the valid measure ids: https://ecqi.healthit.gov/sites/default/files/2021-CMS-QRDA-III-Eligible-Clinicians-and-EP-IG-v1.3.pdf#page=40",

The file to be converted includes the appropriate populations and UUID according to eCQM specs and the UUID table included in the EP IG, Section 6

Steps to reproduce

Convert MIPS.xml file attached to case

Other details

error.json included from conversion
CMS347v4-QPP-Convert-Issue.zip

Thank you

UUID errors on CMS156 for 2021

Information

  • OS & version: Windows 10
  • Java version: 11.0.10
  • Docker version if using: N/A

Expected behavior

JSON file to be generated when QRDA3 file created for CMS156 is processed by QPP Conversion tool

Actual behavior

Receiving errors on the UUID for the DENEX and the NUMER. When I compare the UUID's given as expected for each of these in the error message to the UUIDs in the 2021-CMS-QRDA-III-Eligible-Clinicians-and-EP-IG-v1.3 document they are reversed.

The error message for the DENEX says this - CT - The electronic measure id: CMS156v9 requires a DENEX with the correct UUID of 14F9E2DB-C09F-4E06-AFBD-C1E5E178D920. This UUID is for the NUMER according to the document.

The error message for the NUMER is CT - The electronic measure id: CMS156v9 requires a NUMER with the correct UUID of 827502FD-FF19-45FB-974B-B7F32B281873. This UUID is for the DENEX.

image

image

Steps to reproduce

  1. Use the QPP Conversion Tool with 2021 updates to convert a file for CMS156.

Other details

(Tell us any other details you think are pertinent to this issue.)

CPC+: DateTimeParseException in the latest version but success in an earlier version

Information

  • OS & version:
    -- macOS Sierra
    -- Whatever the production QPP utility's OS is
  • Java version:
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
  • Docker version:
Docker version 17.12.0-ce, build c97c6d6

Expected behavior

A successful conversion. See attached JSON:
success.json.txt

Actual behavior

This results in a DateTimeParseException. See attached log:
error.log

Steps to reproduce

  1. Download this file (remove .txt extension added for github):
    CPC_PLUS_FAILURE.xml.txt

  2. Checkout the commit c18f8f976 (latest version at the time of writing this issue)

  3. Run qpp conversion tool

  4. POST the file downloaded in step 1, with headers specified in the documentation

  5. See that the response is CT-unexpected exception occurred during conversion

  6. See that the qpp conversion tool logged an exception

Other details

  • This is also happening for a production qpp submission (same file but with real info)

  • Expected behavior can be achieved if you repeat the above steps but in step 2 checkout the commit 66510dba instead

  • The file works if you change the intendedRecipient extension to MIPS_GROUP (line 103 of the document), which suggests this error is unique to the CPC+ code

Confirmation regarding XML file validation

Information

  • OS & version: Windows 10
  • Java version: 11.0.12

Other details

Could you please let me know when Update the latest Tool for converting XML, I want to validate it?
I want to validate XML file 2022.

Jar not found

Hi,
It is an urgent issue...!!
We have installed apache maven 3.8.2 and java 11 but still getting below exceptions
JarError
Maven
.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.