cmsgov / qpp-conversion-tool Goto Github PK
View Code? Open in Web Editor NEWConversion tool for QPP, particularly focused on QRDA3 -> QPP, built by Flexion.
License: Creative Commons Zero v1.0 Universal
Conversion tool for QPP, particularly focused on QRDA3 -> QPP, built by Flexion.
License: Creative Commons Zero v1.0 Universal
$ java -version
.)$ docker -v
.)Testing qpp convert on 2021 MIPS file including eCQM CMS 347v4 and expecting valid conversion
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
Convert MIPS.xml file attached to case
error.json included from conversion
CMS347v4-QPP-Convert-Issue.zip
Thank you
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.
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>
run the docker-compose up command
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).
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.
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)
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
$ java -version
.)$ docker -v
.):(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'
(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
(Tell us any other details you think are pertinent to this issue.)
Hi,
By when we can expect the QPP validation tool update with 2022 changes?
$ docker -v
.)(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.)
(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.
(Tell us any other details you think are pertinent to this issue.)
Hi Team
Currently we are started CQM2020 development, Please suggest from where i have download the QPP tool
Regards
Feroz
Trying to use it with test files for 2021 and it appears to be expecting 2020, according to the error we're getting
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"
Submit file for 2021
Wondering if it's yet been updated for 2021 and if not, what might be the ETA?
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
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
$ java -version
.)$ docker -v
.)(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.)
(Please be more descriptive than "This file didn't create valid QPP.")
(Tell us any other details you think are pertinent to this issue.)
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.
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
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
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.
"docker-compose -f ./docker-compose.test.yaml up" builds and starts the tool successfully.
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
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
$ java -version
.) build 1.8.0_181-b13$ docker -v
.) n/aTest CAT3 files (xml) are producing 'Validation errors exist', but analyst insists they have converted them
successfully. (They're not responding to emails).
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)
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 );
}
(Tell us any other details you think are pertinent to this issue.)
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
Hello-
Using the latest version of the Qrda3 conversion tool, finding that CMS22v7 conversions throwing errors on measure guid reference 40280382-610b-e7a4-0161-9a3a392c37d5 as error but guid appears in eCQM spec and IG.
excerpt from CMS22v7.xml
CMS22v7 GUID from Qrda IG
https://ecqi.healthit.gov/sites/default/files/2019-CMS-QRDA-III-Eligible-Clinicians-and-EP-IG-Addendum-08022019-508.pdf
CMS22v7 measure GUID
40280382-610b-e7a4-0161-9a3a392c37d5
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.
Example CMS165v11 Guid: 2c928082-7a14-d92c-017a67b6f9971ea8
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?
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?
hi,
Is this tool also updated for validating 2022 QRDAIII files?
Building converter from first call of convert.bat of latest version installed on server where previous versions were working.
[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]
run git clone to get latest version
run convert.bat ./qrda-files/valid-QRDA-III-latest.xml
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
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
.
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}}]}]}
JSON file to be generated when QRDA3 file created for CMS156 is processed by QPP Conversion tool
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.
(Tell us any other details you think are pertinent to this issue.)
Are you done with qpp conversion tool 2023 updates?
If not then when you will be finished it with?
Originally posted by @abhisheka1993 in #1364 (comment)
Are you done with qpp conversion tool 2023 updates?
If not then when you will be finished it with?
See QPPCT-889
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)" ] } ] }
They should implement ErrorCode/Warning interfaces, and contain general converter errors, such as malformed XML, missing encoder, or an unexpected error.
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.
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.
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.
XML file should get validate
The measure GUID supplied is invalid
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.
#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?
$ java -version
.)$ docker -v
.)(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.)
(Please be more descriptive than "This file didn't create valid QPP.")
(Tell us any other details you think are pertinent to this issue.)
-windows 10
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}}]}]}
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
[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
$ java -version
.)$ docker -v
.)(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.)
(Please be more descriptive than "This file didn't create valid QPP.")
(Tell us any other details you think are pertinent to this issue.)
$ java -version
.)$ docker -v
.) N/ASubmitted 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.
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']" }
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>
`
Hi,
Can we get sample files for year 2021 which will convert successfully.
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.
The tagged release for 4.3.2
is still building as 4.3.1-RELEASE
https://github.com/CMSgov/qpp-conversion-tool/blob/v4.3.2/pom.xml#L9
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
[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
$ java -version
.)$ docker -v
.)(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.)
(Please be more descriptive than "This file didn't create valid QPP.")
(Tell us any other details you think are pertinent to this issue.)
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 17.12.0-ce, build c97c6d6
A successful conversion. See attached JSON:
success.json.txt
This results in a DateTimeParseException
. See attached log:
error.log
Download this file (remove .txt extension added for github):
CPC_PLUS_FAILURE.xml.txt
Checkout the commit c18f8f976
(latest version at the time of writing this issue)
Run qpp conversion tool
POST the file downloaded in step 1, with headers specified in the documentation
See that the response is CT-unexpected exception occurred during conversion
See that the qpp conversion tool logged an exception
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
value
field in the JSON for CMS 156 (measureId 238
)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
Do we have an ETA on when the conversion tool will be updated and how will we know that an update is available?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.