diff --git a/.github/workflows/sonarqube.yml b/.github/workflows/sonarqube.yml index 66470ed6f..dc9432c2b 100644 --- a/.github/workflows/sonarqube.yml +++ b/.github/workflows/sonarqube.yml @@ -5,6 +5,9 @@ on: types: [opened, synchronize, reopened] branches: - develop + push: + branches: + - develop env: PROJECT_NAME: qppa-repos-sonarqube-analysis diff --git a/ERROR_MESSAGES.md b/ERROR_MESSAGES.md index 98c6915cf..9c6fb15d1 100644 --- a/ERROR_MESSAGES.md +++ b/ERROR_MESSAGES.md @@ -58,4 +58,3 @@ Any text in the following format `(Example)` are considered variables to be fill * 53 : CT - The QRDA III file must contain one Category Section v5 with the extension 2020-12-01 * 54 : CT - The APM to TIN/NPI Combination file is missing. * 55 : CT - The Promoting Interoperability section cannot contain PI_HIE_5 with PI_HIE_1, PI_LVOTC_1, PI_HIE_4, or PI_LVITC_2 -* 56 : CT - Review the Clinical Document for program `(program name)`. Only the Promoting Interoperability (PI) measure category is permitted; found `(provided category)`. diff --git a/acceptance-tests/pom.xml b/acceptance-tests/pom.xml index a5b7a388f..d8c560825 100644 --- a/acceptance-tests/pom.xml +++ b/acceptance-tests/pom.xml @@ -3,7 +3,7 @@ 4.0.0 acceptance-tests gov.cms.qpp.conversion - 2025.11.19.01-RELEASE + 2025.12.16.01-RELEASE conversion-tests jar diff --git a/commandline/pom.xml b/commandline/pom.xml index 447f1339a..2412d2485 100644 --- a/commandline/pom.xml +++ b/commandline/pom.xml @@ -6,7 +6,7 @@ gov.cms.qpp.conversion qpp-conversion-tool-parent - 2025.11.19.01-RELEASE + 2025.12.16.01-RELEASE ../pom.xml diff --git a/commons/pom.xml b/commons/pom.xml index 0723a3655..ad6b8289c 100644 --- a/commons/pom.xml +++ b/commons/pom.xml @@ -6,7 +6,7 @@ gov.cms.qpp.conversion qpp-conversion-tool-parent - 2025.11.19.01-RELEASE + 2025.12.16.01-RELEASE ../pom.xml diff --git a/commons/src/main/java/gov/cms/qpp/conversion/model/error/ProblemCode.java b/commons/src/main/java/gov/cms/qpp/conversion/model/error/ProblemCode.java index 62fa4b675..7212efc1b 100644 --- a/commons/src/main/java/gov/cms/qpp/conversion/model/error/ProblemCode.java +++ b/commons/src/main/java/gov/cms/qpp/conversion/model/error/ProblemCode.java @@ -121,10 +121,7 @@ public enum ProblemCode implements LocalizedProblem { MEASURE_SECTION_V5_REQUIRES_CATEGORY_SECTION(95, "The QRDA III file must contain one Category Section v5 with the extension 2020-12-01"), MISSING_API_TIN_NPI_FILE(96, "The APM to TIN/NPI Combination file is missing."), PI_RESTRICTED_MEASURES(102, "The Promoting Interoperability section cannot contain " - + "PI_HIE_5 with PI_HIE_1, PI_LVOTC_1, PI_HIE_4, or PI_LVITC_2", false), - SSP_PI_ONLY_MEASURE_CATEGORY(109, "Review the Clinical Document for program `(program name)`. " - + "Only the Promoting Interoperability (PI) measure category is permitted; " - + "found `(provided category)`.", true); + + "PI_HIE_5 with PI_HIE_1, PI_LVOTC_1, PI_HIE_4, or PI_LVITC_2", false); private static final Map CODE_TO_VALUE = Arrays.stream(values()) .collect(Collectors.toMap(ProblemCode::getCode, Function.identity())); diff --git a/commons/src/main/resources/measures-data.json b/commons/src/main/resources/measures-data.json index 9e5f934ab..ab9242cce 100644 --- a/commons/src/main/resources/measures-data.json +++ b/commons/src/main/resources/measures-data.json @@ -2547,7 +2547,7 @@ "isBonus": false, "reportingCategory": "required", "measureSpecification": { - "default": "https://qpp.cms.gov/docs/pi_specifications/Measure Specifications/2025-MIPS-Promoting-Interoperability-Measure-Query-of-PDMP.pdf" + "default": "https://qpp.cms.gov/docs/pi_specifications/Measure%20Specifications/2025-MIPS-Promoting-Interoperability-Measure-Query-of-PDMP-Updated-Oct2025.pdf" }, "measureSets": [], "exclusion": [ @@ -2606,7 +2606,9 @@ }, "measureSets": [], "exclusion": null, - "substitutes": [], + "substitutes": [ + "PI_EP_2_EX_2" + ], "allowedPrograms": [ "mips", "app1", @@ -2658,7 +2660,9 @@ }, "measureSets": [], "exclusion": null, - "substitutes": [], + "substitutes": [ + "PI_EP_2_EX_1" + ], "allowedPrograms": [ "mips", "app1", @@ -2706,7 +2710,7 @@ "isBonus": false, "reportingCategory": "required", "measureSpecification": { - "default": "https://qpp.cms.gov/docs/pi_specifications/Measure Specifications/2025-MIPS-Promoting Interoperability-Measure-Electronic-Referral-Loops-by-Sending-Health-Info.pdf" + "default": "https://qpp.cms.gov/docs/pi_specifications/Measure%20Specifications/2025-MIPS-Promoting-Interoperability-Measure-Electronic-Referral-Loops-by-Sending-Health-Info-Updated-Oct2025.pdf" }, "measureSets": [], "exclusion": [ @@ -2876,7 +2880,7 @@ "isBonus": false, "reportingCategory": "required", "measureSpecification": { - "default": "https://qpp.cms.gov/docs/pi_specifications/Measure Specifications/2025-MIPS-Promoting-Interoperability-Measure-Enabling-Exchange-Under-TEFCA.pdf" + "default": "https://qpp.cms.gov/docs/pi_specifications/Measure%20Specifications/2025-MIPS-Promoting-Interoperability-Measure-Enabling-Exchange-Under-TEFCA-Updated-Oct2025.pdf" }, "measureSets": [], "exclusion": null, @@ -3771,7 +3775,7 @@ "category": "pi", "measureId": "PI_PHCDRR_3", "title": "Electronic Case Reporting", - "description": "The MIPS eligible clinician is in active engagement with a public health agency to electronically submit case reporting of reportable conditions.", + "description": "UPDATE: This measure has been suppressed for the CY 2025 performance period but is still required to be reported. To receive full credit for this measure, you’ll need to attest “Yes” or “No,” or claim an applicable exclusion. (The 25 points for this objective won’t be redistributed to another objective.)\nThe MIPS eligible clinician is in active engagement with a public health agency to electronically submit case reporting of reportable conditions.", "metricType": "boolean", "firstPerformanceYear": 2017, "lastPerformanceYear": null, @@ -3780,7 +3784,7 @@ "isBonus": false, "reportingCategory": "required", "measureSpecification": { - "default": "https://qpp.cms.gov/docs/pi_specifications/Measure%20Specifications/2025-MIPS-Promoting-Interoperability-Measure-Electronic-Case-Reporting-Updated-April-2025.pdf" + "default": "https://qpp.cms.gov/docs/pi_specifications/Measure%20Specifications/2025-MIPS-Promoting-Interoperability-Measure-Electronic-Case-Reporting-Updated-Oct2025.pdf" }, "measureSets": [], "exclusion": [ @@ -15130,7 +15134,7 @@ "nephrology" ], "measureSpecification": { - "registry": "https://qpp.cms.gov/docs/QPP_quality_measure_specifications/CQM-Measures/2025_Measure_510_MIPSCQM.pdf" + "registry": "https://qpp.cms.gov/docs/QPP_quality_measure_specifications/CQM-Measures/2025_Measure_510_MIPSCQM_Addendum.pdf" }, "isSevenPointCapRemoved": false, "sevenPointCapRemoved": [], diff --git a/converter/pom.xml b/converter/pom.xml index 694ccbdc7..3a3fc1804 100644 --- a/converter/pom.xml +++ b/converter/pom.xml @@ -6,7 +6,7 @@ gov.cms.qpp.conversion qpp-conversion-tool-parent - 2025.11.19.01-RELEASE + 2025.12.16.01-RELEASE ../pom.xml @@ -185,7 +185,7 @@ gov.cms.qpp.conversion commons - 2025.11.19.01-RELEASE + 2025.12.16.01-RELEASE compile diff --git a/converter/src/main/java/gov/cms/qpp/conversion/decode/ClinicalDocumentDecoder.java b/converter/src/main/java/gov/cms/qpp/conversion/decode/ClinicalDocumentDecoder.java index 57f7195f7..eb4b87cd2 100644 --- a/converter/src/main/java/gov/cms/qpp/conversion/decode/ClinicalDocumentDecoder.java +++ b/converter/src/main/java/gov/cms/qpp/conversion/decode/ClinicalDocumentDecoder.java @@ -228,18 +228,6 @@ private Pair getProgramNameEntityPair(String name) { pair = new ImmutablePair<>(APP_PLUS_PROGRAM_NAME, ENTITY_APM); break; - case SSP_PI_INDIVIDUAL: - pair = new ImmutablePair<>(SSP_PROGRAM_NAME, ENTITY_INDIVIDUAL); - break; - - case SSP_PI_GROUP: - pair = new ImmutablePair<>(SSP_PROGRAM_NAME, ENTITY_GROUP); - break; - - case SSP_PI_APM: - pair = new ImmutablePair<>(SSP_PROGRAM_NAME, ENTITY_APM); - break; - default: pair = new ImmutablePair<>(name.toLowerCase(Locale.ENGLISH), ENTITY_INDIVIDUAL); break; diff --git a/converter/src/main/java/gov/cms/qpp/conversion/encode/ClinicalDocumentEncoder.java b/converter/src/main/java/gov/cms/qpp/conversion/encode/ClinicalDocumentEncoder.java index 5816140fd..9b557c927 100755 --- a/converter/src/main/java/gov/cms/qpp/conversion/encode/ClinicalDocumentEncoder.java +++ b/converter/src/main/java/gov/cms/qpp/conversion/encode/ClinicalDocumentEncoder.java @@ -75,7 +75,7 @@ private void encodeToplevel(JsonWrapper wrapper, Node thisNode) { wrapper.put(ENTITY_ID, thisNode.getValue(ENTITY_ID)); } - if ((Program.isApp(thisNode) || Program.isMips(thisNode) || Program.isAppPlus(thisNode) || Program.isSsp(thisNode)) + if ((Program.isApp(thisNode) || Program.isMips(thisNode) || Program.isAppPlus(thisNode)) && ENTITY_APM.equalsIgnoreCase(entityType)) { wrapper.put(ENTITY_ID, thisNode.getValue(ENTITY_ID)); } diff --git a/converter/src/main/java/gov/cms/qpp/conversion/encode/PiSectionEncoder.java b/converter/src/main/java/gov/cms/qpp/conversion/encode/PiSectionEncoder.java index e24025e5a..ad6cff25f 100644 --- a/converter/src/main/java/gov/cms/qpp/conversion/encode/PiSectionEncoder.java +++ b/converter/src/main/java/gov/cms/qpp/conversion/encode/PiSectionEncoder.java @@ -56,7 +56,7 @@ private void encodeTopLevelValues(JsonWrapper wrapper, Node node) { wrapper.put(SUBMISSION_METHOD, "electronicHealthRecord"); Node topLevelParent = node.getParent(); if ((TemplateId.PI_SECTION_V3 == node.getType() || TemplateId.MEASURE_SECTION_V5 == node.getType()) - && (Program.isMips(topLevelParent) || Program.isApp(topLevelParent) || Program.isAppPlus(topLevelParent) || Program.isSsp(topLevelParent))) { + && (Program.isMips(topLevelParent) || Program.isApp(topLevelParent) || Program.isAppPlus(topLevelParent))) { wrapper.put(CEHRT, topLevelParent.getValue(CEHRT)); } } diff --git a/converter/src/main/java/gov/cms/qpp/conversion/model/Constants.java b/converter/src/main/java/gov/cms/qpp/conversion/model/Constants.java index fb8274d8e..81743f80f 100644 --- a/converter/src/main/java/gov/cms/qpp/conversion/model/Constants.java +++ b/converter/src/main/java/gov/cms/qpp/conversion/model/Constants.java @@ -65,7 +65,6 @@ public class Constants { public static final String ENTITY_VIRTUAL_GROUP = "virtualGroup"; public static final String APP_PROGRAM_NAME = "app1"; public static final String APP_PLUS_PROGRAM_NAME = "appPlus"; - public static final String SSP_PROGRAM_NAME = "ssp"; public static final String MIPS = "MIPS"; public static final Set MVP_ENTITIES = Set.of(ENTITY_INDIVIDUAL, ENTITY_GROUP, ENTITY_SUBGROUP, ENTITY_APM); @@ -84,9 +83,6 @@ public class Constants { public static final String APP_PLUS_INDIVIDUAL = "APP_PLUS_INDIV"; public static final String APP_PLUS_GROUP = "APP_PLUS_GROUP"; public static final String APP_PLUS_APM = "APP_PLUS_APMENTITY"; - public static final String SSP_PI_INDIVIDUAL = "SSP_PI_INDIV"; - public static final String SSP_PI_GROUP = "SSP_PI_GROUP"; - public static final String SSP_PI_APM = "SSP_PI_APMENTITY"; // Library utility class so the constructor is private and empty. private Constants() {} diff --git a/converter/src/main/java/gov/cms/qpp/conversion/model/Program.java b/converter/src/main/java/gov/cms/qpp/conversion/model/Program.java index cf3935c04..2e316afe5 100644 --- a/converter/src/main/java/gov/cms/qpp/conversion/model/Program.java +++ b/converter/src/main/java/gov/cms/qpp/conversion/model/Program.java @@ -16,7 +16,6 @@ public enum Program { MIPS("MIPS_GROUP", "MIPS_INDIV", "MIPS_VIRTUALGROUP", "MIPS", "MIPS_APMENTITY", "MIPS_SUBGROUP"), APP("MIPS_APP1_INDIV", "MIPS_APP1_GROUP", "MIPS_APP1_APMENTITY"), APP_PLUS("APP_PLUS_INDIV", "APP_PLUS_GROUP", "APP_PLUS_APMENTITY"), - SSP("SSP_PI_INDIV", "SSP_PI_GROUP", "SSP_PI_APMENTITY"), ALL; private final Set aliases; @@ -60,16 +59,6 @@ public static boolean isAppPlus(Node node) { return extractProgram(node) == Program.APP_PLUS; } - /** - * Checks if a node is using the ssp program - * - * @param node - * @return - */ - public static boolean isSsp(Node node) { - return extractProgram(node) == Program.SSP; - } - /** * Extracts a program type from a node * diff --git a/converter/src/main/java/gov/cms/qpp/conversion/validate/ClinicalDocumentValidator.java b/converter/src/main/java/gov/cms/qpp/conversion/validate/ClinicalDocumentValidator.java index 7232660f7..f69e04066 100644 --- a/converter/src/main/java/gov/cms/qpp/conversion/validate/ClinicalDocumentValidator.java +++ b/converter/src/main/java/gov/cms/qpp/conversion/validate/ClinicalDocumentValidator.java @@ -53,7 +53,7 @@ protected void performValidation(final Node node) { String entityType = Optional.ofNullable(node.getValue(ENTITY_TYPE)).orElse(""); forceCheckErrors(node).valueIn(ProblemCode.CLINICAL_DOCUMENT_INCORRECT_PROGRAM_NAME.format(VALID_PROGRAM_NAMES, programName), - PROGRAM_NAME, MIPS_PROGRAM_NAME, APP_PROGRAM_NAME, APP_PLUS_PROGRAM_NAME, SSP_PROGRAM_NAME); + PROGRAM_NAME, MIPS_PROGRAM_NAME, APP_PROGRAM_NAME, APP_PLUS_PROGRAM_NAME); if (ENTITY_VIRTUAL_GROUP.equals(entityType)) { forceCheckErrors(node).value(ProblemCode.VIRTUAL_GROUP_ID_REQUIRED, ENTITY_ID); diff --git a/converter/src/main/java/gov/cms/qpp/conversion/validate/SspClinicalDocumentValidator.java b/converter/src/main/java/gov/cms/qpp/conversion/validate/SspClinicalDocumentValidator.java deleted file mode 100644 index 662a2e60a..000000000 --- a/converter/src/main/java/gov/cms/qpp/conversion/validate/SspClinicalDocumentValidator.java +++ /dev/null @@ -1,35 +0,0 @@ -package gov.cms.qpp.conversion.validate; - -import gov.cms.qpp.conversion.model.Node; -import gov.cms.qpp.conversion.model.Program; -import gov.cms.qpp.conversion.model.TemplateId; -import gov.cms.qpp.conversion.model.Validator; -import gov.cms.qpp.conversion.model.error.LocalizedProblem; -import gov.cms.qpp.conversion.model.error.ProblemCode; - -import java.util.Locale; - -import static gov.cms.qpp.conversion.model.Constants.CATEGORY; -import static gov.cms.qpp.conversion.model.Constants.PROGRAM_NAME; - -@Validator(value = TemplateId.CLINICAL_DOCUMENT, program = Program.SSP) -public class SspClinicalDocumentValidator extends NodeValidator { - private static final String ALLOWED_CATEGORY = "pi"; - - @Override - protected void performValidation(Node clinicalDocument) { - String programName = clinicalDocument.getValue(PROGRAM_NAME).toUpperCase(Locale.ROOT); - clinicalDocument - .getChildNodes(TemplateId.MEASURE_SECTION_V5) - .forEach(sectionNode -> { - String category = sectionNode.getValue(CATEGORY); - System.out.println("category: " + category); - if (category == null || !ALLOWED_CATEGORY.equalsIgnoreCase(category)) { - LocalizedProblem error = ProblemCode.SSP_PI_ONLY_MEASURE_CATEGORY - .format(programName, category == null ? "none" : category); - checkErrors(sectionNode) - .valueIn(error, CATEGORY, ALLOWED_CATEGORY); - } - }); - } -} \ No newline at end of file diff --git a/converter/src/test/java/gov/cms/qpp/conversion/model/ProgramTest.java b/converter/src/test/java/gov/cms/qpp/conversion/model/ProgramTest.java index ab9d41006..b5e5a27c3 100644 --- a/converter/src/test/java/gov/cms/qpp/conversion/model/ProgramTest.java +++ b/converter/src/test/java/gov/cms/qpp/conversion/model/ProgramTest.java @@ -109,41 +109,6 @@ void testIsAppPlusAppEntityIsTrue() { assertThat(Program.isAppPlus(node)).isTrue(); } - @Test - void testIsSspIndividualIsTrue() { - Node node = new Node(); - node.putValue(RAW_PROGRAM_NAME, "SSP_PI_INDIV"); - assertThat(Program.isSsp(node)).isTrue(); - } - - @Test - void testIsSspGroupIsTrue() { - Node node = new Node(); - node.putValue(RAW_PROGRAM_NAME, "SSP_PI_GROUP"); - assertThat(Program.isSsp(node)).isTrue(); - } - - @Test - void testIsSspAppEntityIsTrue() { - Node node = new Node(); - node.putValue(RAW_PROGRAM_NAME, "SSP_PI_APMENTITY"); - assertThat(Program.isSsp(node)).isTrue(); - } - - @Test - void testIsSspReturnsFalseForMips() { - Node node = new Node(); - node.putValue(RAW_PROGRAM_NAME, "MIPS_INDIV"); - assertThat(Program.isSsp(node)).isFalse(); - } - - @Test - void testIsSspReturnsFalseForNullValue() { - Node node = new Node(); - node.putValue(RAW_PROGRAM_NAME, null); - assertThat(Program.isSsp(node)).isFalse(); - } - @Override public Class> getEnumType() { return Program.class; diff --git a/converter/src/test/java/gov/cms/qpp/conversion/validate/SspClinicalDocumentValidatorTest.java b/converter/src/test/java/gov/cms/qpp/conversion/validate/SspClinicalDocumentValidatorTest.java deleted file mode 100644 index 920453d98..000000000 --- a/converter/src/test/java/gov/cms/qpp/conversion/validate/SspClinicalDocumentValidatorTest.java +++ /dev/null @@ -1,72 +0,0 @@ -package gov.cms.qpp.conversion.validate; - -import static com.google.common.truth.Truth.assertWithMessage; - -import java.util.List; - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; - -import gov.cms.qpp.conversion.model.Node; -import gov.cms.qpp.conversion.model.TemplateId; -import gov.cms.qpp.conversion.model.error.Detail; -import gov.cms.qpp.conversion.model.error.ProblemCode; -import gov.cms.qpp.conversion.model.error.correspondence.DetailsErrorEquals; - -class SspClinicalDocumentValidatorTest { - - private Node clinicalDocumentNode; - private Node measureSectionNode; - - @BeforeEach - void setUp() { - clinicalDocumentNode = new Node(TemplateId.CLINICAL_DOCUMENT); - clinicalDocumentNode.putValue("programName", "SSP"); - - measureSectionNode = new Node(TemplateId.MEASURE_SECTION_V5); - } - - @Test - void testValidCategory_NoErrors() { - measureSectionNode.putValue("category", "pi"); - clinicalDocumentNode.addChildNode(measureSectionNode); - - SspClinicalDocumentValidator validator = new SspClinicalDocumentValidator(); - List errors = validator.validateSingleNode(clinicalDocumentNode).getErrors(); - - assertWithMessage("There should be no errors for category 'pi'") - .that(errors).isEmpty(); - } - - @Test - void testNullCategory_ShouldError() { - // category is not set - clinicalDocumentNode.addChildNode(measureSectionNode); - - SspClinicalDocumentValidator validator = new SspClinicalDocumentValidator(); - List errors = validator.validateSingleNode(clinicalDocumentNode).getErrors(); - - assertWithMessage("Must report SSP_PI_ONLY_MEASURE_CATEGORY when category is null") - .that(errors) - .comparingElementsUsing(DetailsErrorEquals.INSTANCE) - .containsExactly( - ProblemCode.SSP_PI_ONLY_MEASURE_CATEGORY.format("SSP", "none") - ); - } - - @Test - void testInvalidCategory_ShouldError() { - measureSectionNode.putValue("category", "invalid"); - clinicalDocumentNode.addChildNode(measureSectionNode); - - SspClinicalDocumentValidator validator = new SspClinicalDocumentValidator(); - List errors = validator.validateSingleNode(clinicalDocumentNode).getErrors(); - - assertWithMessage("Must report SSP_PI_ONLY_MEASURE_CATEGORY when category is invalid") - .that(errors) - .comparingElementsUsing(DetailsErrorEquals.INSTANCE) - .containsExactly( - ProblemCode.SSP_PI_ONLY_MEASURE_CATEGORY.format("SSP", "invalid") - ); - } -} diff --git a/converter/src/test/resources/ssp/2025/ssp-ApmEntity-Qrda-III.xml b/converter/src/test/resources/ssp/2025/ssp-ApmEntity-Qrda-III.xml deleted file mode 100644 index 00c7d9233..000000000 --- a/converter/src/test/resources/ssp/2025/ssp-ApmEntity-Qrda-III.xml +++ /dev/null @@ -1,382 +0,0 @@ - - - - - - - - - - - 2017 Eligible Clinicians (EC) and Eligible Professionals (EP) Sample QRDA-III - - - - - - - - - - - - - - - - - - - Good Health Clinic - - - - - - - - - - - - - - - - - - - - - - - - - - - - Good Health Clinic - - - - - - - - - - - - - - - - - -
- - - - - - Measure Section - - - - - - - -
Reporting Period: January 01, 2023 - December 31, 2023
- - - - - - - - - - - - - -
PI Measure TitleMeasure Identifier
Query of the Prescription Drug Monitoring Program (PDMP)PI_EP_2
- - - Measure Answer (Yes/No): Yes - - - - - - - - - - - - - - -
PI Measure TitleMeasure Identifier
e-PrescribingPI_EP_1
- - - Denominator: 800 - - Numerator: 750 - - - - - - - - - - - - - - -
PI Measure TitleMeasure Identifier
Provide Patients Electronic Access to their Health InformationPI_PEA_1
- - - Denominator: 800 - - Numerator: 600 - -
- - - - - - - - - - - - - - - - Query of the Prescription Drug Monitoring Program (PDMP) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - e-Prescribing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Provide Patients Electronic Access to their Health - Information - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
-
diff --git a/converter/src/test/resources/ssp/2025/ssp-Group-QRDA-III.xml b/converter/src/test/resources/ssp/2025/ssp-Group-QRDA-III.xml deleted file mode 100644 index 9abb8fd14..000000000 --- a/converter/src/test/resources/ssp/2025/ssp-Group-QRDA-III.xml +++ /dev/null @@ -1,395 +0,0 @@ - - - - - - - - - - - 2017 Eligible Clinicians (EC) and Eligible Professionals (EP) Sample QRDA-III - - - - - - - - - - - - - - - - - - - Good Health Clinic - - - - - - - - - - - - - - - - - - - - - - - - - - - - Good Health Clinic - - - - - - - - - - Good Healthcare Practice - - - - - - - - - - - - - - - - - -
- - - - - - Measure Section - - - - - - - -
Reporting Period: January 01, 2023 - December 31, 2023
- - - - - - - - - - - - - -
PI Measure TitleMeasure Identifier
Query of the Prescription Drug Monitoring Program (PDMP)PI_EP_2
- - - Measure Answer (Yes/No): Yes - - - - - - - - - - - - - - -
PI Measure TitleMeasure Identifier
e-PrescribingPI_EP_1
- - - Denominator: 800 - - Numerator: 750 - - - - - - - - - - - - - - -
PI Measure TitleMeasure Identifier
Provide Patients Electronic Access to their Health InformationPI_PEA_1
- - - Denominator: 800 - - Numerator: 600 - -
- - - - - - - - - - - - - - - - Query of the Prescription Drug Monitoring Program (PDMP) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - e-Prescribing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Provide Patients Electronic Access to their Health - Information - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
-
diff --git a/converter/src/test/resources/ssp/2025/ssp-Indv-QRDA-III.xml b/converter/src/test/resources/ssp/2025/ssp-Indv-QRDA-III.xml deleted file mode 100644 index b0ef4e2bd..000000000 --- a/converter/src/test/resources/ssp/2025/ssp-Indv-QRDA-III.xml +++ /dev/null @@ -1,395 +0,0 @@ - - - - - - - - - - - 2017 Eligible Clinicians (EC) and Eligible Professionals (EP) Sample QRDA-III - - - - - - - - - - - - - - - - - - - Good Health Clinic - - - - - - - - - - - - - - - - - - - - - - - - - - - - Good Health Clinic - - - - - - - - - - Good Healthcare Practice - - - - - - - - - - - - - - - - - -
- - - - - - Measure Section - - - - - - - -
Reporting Period: January 01, 2023 - December 31, 2023
- - - - - - - - - - - - - -
PI Measure TitleMeasure Identifier
Query of the Prescription Drug Monitoring Program (PDMP)PI_EP_2
- - - Measure Answer (Yes/No): Yes - - - - - - - - - - - - - - -
PI Measure TitleMeasure Identifier
e-PrescribingPI_EP_1
- - - Denominator: 800 - - Numerator: 750 - - - - - - - - - - - - - - -
PI Measure TitleMeasure Identifier
Provide Patients Electronic Access to their Health InformationPI_PEA_1
- - - Denominator: 800 - - Numerator: 600 - -
- - - - - - - - - - - - - - - - Query of the Prescription Drug Monitoring Program (PDMP) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - e-Prescribing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Provide Patients Electronic Access to their Health - Information - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
-
diff --git a/generate-race-cpcplus/pom.xml b/generate-race-cpcplus/pom.xml index 2b5143175..8af379ca9 100644 --- a/generate-race-cpcplus/pom.xml +++ b/generate-race-cpcplus/pom.xml @@ -5,7 +5,7 @@ qpp-conversion-tool-parent gov.cms.qpp.conversion - 2025.11.19.01-RELEASE + 2025.12.16.01-RELEASE ../ 4.0.0 diff --git a/generate/pom.xml b/generate/pom.xml index 9796df48c..7438084e5 100644 --- a/generate/pom.xml +++ b/generate/pom.xml @@ -5,7 +5,7 @@ qpp-conversion-tool-parent gov.cms.qpp.conversion - 2025.11.19.01-RELEASE + 2025.12.16.01-RELEASE ../pom.xml 4.0.0 diff --git a/pom.xml b/pom.xml index 66597ace4..628e45729 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ gov.cms.qpp.conversion qpp-conversion-tool-parent pom - 2025.11.19.01-RELEASE + 2025.12.16.01-RELEASE QPP Conversion Tool diff --git a/qrda3-update-measures/pom.xml b/qrda3-update-measures/pom.xml index 51bbbe68b..c3bdb0d3a 100644 --- a/qrda3-update-measures/pom.xml +++ b/qrda3-update-measures/pom.xml @@ -3,7 +3,7 @@ qpp-conversion-tool-parent gov.cms.qpp.conversion - 2025.11.19.01-RELEASE + 2025.12.16.01-RELEASE ../ diff --git a/rest-api/pom.xml b/rest-api/pom.xml index c79491f6a..775fbf03f 100644 --- a/rest-api/pom.xml +++ b/rest-api/pom.xml @@ -19,7 +19,7 @@ gov.cms.qpp.conversion qpp-conversion-tool-parent - 2025.11.19.01-RELEASE + 2025.12.16.01-RELEASE ../pom.xml diff --git a/test-commons/pom.xml b/test-commons/pom.xml index e1629b559..dd0ae2372 100644 --- a/test-commons/pom.xml +++ b/test-commons/pom.xml @@ -6,7 +6,7 @@ gov.cms.qpp.conversion qpp-conversion-tool-parent - 2025.11.19.01-RELEASE + 2025.12.16.01-RELEASE ../pom.xml diff --git a/test-coverage/pom.xml b/test-coverage/pom.xml index b414ea9ca..2c5689734 100644 --- a/test-coverage/pom.xml +++ b/test-coverage/pom.xml @@ -6,7 +6,7 @@ gov.cms.qpp.conversion qpp-conversion-tool-parent - 2025.11.19.01-RELEASE + 2025.12.16.01-RELEASE ../pom.xml