Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion acceptance-tests/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>acceptance-tests</artifactId>
<groupId>gov.cms.qpp.conversion</groupId>
<version>2024.2.14-RELEASE</version>
<version>2025.07.16.01-RELEASE</version>
<name>conversion-tests</name>
<packaging>jar</packaging>
<properties>
Expand Down
2 changes: 1 addition & 1 deletion commandline/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>gov.cms.qpp.conversion</groupId>
<artifactId>qpp-conversion-tool-parent</artifactId>
<version>2024.2.14-RELEASE</version>
<version>2025.07.16.01-RELEASE</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion commons/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>gov.cms.qpp.conversion</groupId>
<artifactId>qpp-conversion-tool-parent</artifactId>
<version>2024.2.14-RELEASE</version>
<version>2025.07.16.01-RELEASE</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down
4 changes: 2 additions & 2 deletions converter/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>gov.cms.qpp.conversion</groupId>
<artifactId>qpp-conversion-tool-parent</artifactId>
<version>2024.2.14-RELEASE</version>
<version>2025.07.16.01-RELEASE</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down Expand Up @@ -170,7 +170,7 @@
<dependency>
<groupId>gov.cms.qpp.conversion</groupId>
<artifactId>commons</artifactId>
<version>2024.2.14-RELEASE</version>
<version>2025.07.16.01-RELEASE</version>
<scope>compile</scope>
</dependency>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -246,15 +246,15 @@ private Pair<String, String> getProgramNameEntityPair(String name) {
break;

case APP_PLUS_INDIVIDUAL:
pair = new ImmutablePair<>(APP_PLUS_INDIVIDUAL, ENTITY_INDIVIDUAL);
pair = new ImmutablePair<>(APP_PLUS_PROGRAM_NAME, ENTITY_INDIVIDUAL);
break;

case APP_PLUS_GROUP:
pair = new ImmutablePair<>(APP_PLUS_GROUP, ENTITY_GROUP);
pair = new ImmutablePair<>(APP_PLUS_PROGRAM_NAME, ENTITY_GROUP);
break;

case APP_PLUS_APM:
pair = new ImmutablePair<>(APP_PLUS_APM, ENTITY_APM);
pair = new ImmutablePair<>(APP_PLUS_PROGRAM_NAME, ENTITY_APM);
break;

case SSP_PI_INDIVIDUAL:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ private void encodeToplevel(JsonWrapper wrapper, Node thisNode) {
wrapper.put(ENTITY_ID, thisNode.getValue(ENTITY_ID));
}

if ((Program.isApp(thisNode) || Program.isMips(thisNode))
if ((Program.isApp(thisNode) || Program.isMips(thisNode) || Program.isAppPlus(thisNode))
&& ENTITY_APM.equalsIgnoreCase(entityType)) {
wrapper.put(ENTITY_ID, thisNode.getValue(ENTITY_ID));
}
Expand Down Expand Up @@ -118,7 +118,7 @@ private JsonWrapper encodeMeasurementSets(
Node currentNode
) {
JsonWrapper measurementSetsWrapper = new JsonWrapper();
JsonWrapper childWrapper;
String measureRoot = TemplateId.MEASURE_SECTION_V5.getRoot();

for (Node child : childMapByTemplateId.values()) {
if (child == null) {
Expand All @@ -133,23 +133,31 @@ private JsonWrapper encodeMeasurementSets(
}

try {
childWrapper = new JsonWrapper();
JsonWrapper childWrapper = new JsonWrapper();
sectionEncoder.encode(childWrapper, child);
childWrapper.put("source", "qrda3");

String mvpId = currentNode.getValue(MVP_ID);
if (TemplateId.MEASURE_SECTION_V5.getRoot().equalsIgnoreCase(childType.getRoot())
&& !StringUtils.isEmpty(mvpId)) {
childWrapper.put(PROGRAM_NAME, mvpId);
}
else if (TemplateId.MEASURE_SECTION_V5.getRoot().equalsIgnoreCase(childType.getRoot())
&& MIPS_APM.equalsIgnoreCase(
currentNode.getValue(RAW_PROGRAM_NAME))) {
childWrapper.put(PROGRAM_NAME, MIPS.toLowerCase(Locale.getDefault()));
} else if (TemplateId.MEASURE_SECTION_V5.getRoot().equalsIgnoreCase(childType.getRoot())
&& APP_APM.equalsIgnoreCase(
currentNode.getValue(RAW_PROGRAM_NAME))) {
childWrapper.put(PROGRAM_NAME, APP_PROGRAM_NAME.toLowerCase(Locale.getDefault()));
if (measureRoot.equalsIgnoreCase(childType.getRoot())) {
String mvpId = currentNode.getValue(MVP_ID);
if (!StringUtils.isEmpty(mvpId)) {
childWrapper.put(PROGRAM_NAME, mvpId);
} else {
String raw = currentNode.getValue(RAW_PROGRAM_NAME);
String key = (raw != null ? raw.toUpperCase(Locale.ROOT) : "");

switch (key) {
case MIPS_APM:
childWrapper.put(PROGRAM_NAME,
MIPS.toLowerCase(Locale.getDefault()));
break;
case APP_APM:
childWrapper.put(PROGRAM_NAME,
APP_PROGRAM_NAME.toLowerCase(Locale.getDefault()));
break;
default:
// no matching program
}
}
}

measurementSetsWrapper.put(childWrapper);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ public enum Program {
MIPS("MIPS_GROUP", "MIPS_INDIV", "MIPS_VIRTUALGROUP", "MIPS", "MIPS_APMENTITY", "MIPS_SUBGROUP"),
PCF("PCF"),
APP("MIPS_APP1_INDIV", "MIPS_APP1_GROUP", "MIPS_APP1_APMENTITY"),
APP_PLUS("APP_PLUS_INDIV", "APP_PLUS_GROUP", "APP_PLUS_APMENTITY"),
ALL;

private final Set<String> aliases;
Expand Down Expand Up @@ -59,6 +60,16 @@ public static boolean isApp(Node node) {
return extractProgram(node) == Program.APP;
}

/**
* Checks if a node is using the appPlus program
*
* @param node
* @return
*/
public static boolean isAppPlus(Node node) {
return extractProgram(node) == Program.APP_PLUS;
}

/**
* Extracts a program type from a node
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ protected void performValidation(final Node node) {
String entityType = Optional.ofNullable(node.getValue(ENTITY_TYPE)).orElse("<missing>");

forceCheckErrors(node).valueIn(ProblemCode.CLINICAL_DOCUMENT_INCORRECT_PROGRAM_NAME.format(VALID_PROGRAM_NAMES, programName),
PROGRAM_NAME, MIPS_PROGRAM_NAME, PCF, APP_PROGRAM_NAME);
PROGRAM_NAME, MIPS_PROGRAM_NAME, PCF, APP_PROGRAM_NAME, APP_PLUS_PROGRAM_NAME);

if (ENTITY_VIRTUAL_GROUP.equals(entityType)) {
forceCheckErrors(node).value(ProblemCode.VIRTUAL_GROUP_ID_REQUIRED, ENTITY_ID);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,27 @@ void testSetOfProgramNames() {
assertThat(actual).containsAtLeastElementsIn(expected);
}

@Test
void testIsAppPlusIndividualIsTrue() {
Node node = new Node();
node.putValue(RAW_PROGRAM_NAME, "APP_PLUS_INDIV");
assertThat(Program.isAppPlus(node)).isTrue();
}

@Test
void testIsAppPlusGroupIsTrue() {
Node node = new Node();
node.putValue(RAW_PROGRAM_NAME, "APP_PLUS_GROUP");
assertThat(Program.isAppPlus(node)).isTrue();
}

@Test
void testIsAppPlusAppEntityIsTrue() {
Node node = new Node();
node.putValue(RAW_PROGRAM_NAME, "APP_PLUS_APMENTITY");
assertThat(Program.isAppPlus(node)).isTrue();
}

@Override
public Class<? extends Enum<?>> getEnumType() {
return Program.class;
Expand Down
2 changes: 1 addition & 1 deletion generate-race-cpcplus/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>qpp-conversion-tool-parent</artifactId>
<groupId>gov.cms.qpp.conversion</groupId>
<version>2024.2.14-RELEASE</version>
<version>2025.07.16.01-RELEASE</version>
<relativePath>../</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
Expand Down
6 changes: 3 additions & 3 deletions generate/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>qpp-conversion-tool-parent</artifactId>
<groupId>gov.cms.qpp.conversion</groupId>
<version>2024.2.14-RELEASE</version>
<version>2025.07.16.01-RELEASE</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
Expand Down Expand Up @@ -49,7 +49,7 @@
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>3.6.2</version>
<version>3.9.8</version>
</dependency>

<dependency>
Expand All @@ -61,7 +61,7 @@
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.8.1</version>
<version>3.9.8</version>
<exclusions>
<exclusion>
<groupId>org.apache.maven.shared</groupId>
Expand Down
8 changes: 4 additions & 4 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
<groupId>gov.cms.qpp.conversion</groupId>
<artifactId>qpp-conversion-tool-parent</artifactId>
<packaging>pom</packaging>
<version>2024.2.14-RELEASE</version>
<version>2025.07.16.01-RELEASE</version>
<name>QPP Conversion Tool</name>

<properties>
<java.version>17</java.version>
<aws.version>1.12.316</aws.version>
<aws.version>1.12.787</aws.version>
<junit.version>5.8.1</junit.version>
<jjwt.version>0.10.7</jjwt.version>

Expand Down Expand Up @@ -431,13 +431,13 @@
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.5.12</version>
<version>1.5.13</version>
</dependency>

<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.5.12</version>
<version>1.5.13</version>
</dependency>

<dependency>
Expand Down
2 changes: 1 addition & 1 deletion qrda3-update-measures/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<parent>
<artifactId>qpp-conversion-tool-parent</artifactId>
<groupId>gov.cms.qpp.conversion</groupId>
<version>2024.2.14-RELEASE</version>
<version>2025.07.16.01-RELEASE</version>
<relativePath>../</relativePath>
</parent>

Expand Down
28 changes: 13 additions & 15 deletions rest-api/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>gov.cms.qpp.conversion</groupId>
<artifactId>qpp-conversion-tool-parent</artifactId>
<version>2024.2.14-RELEASE</version>
<version>2025.07.16.01-RELEASE</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand All @@ -30,7 +30,7 @@
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>3.3.7</version>
<version>3.4.7</version>
<executions>
<execution>
<goals>
Expand Down Expand Up @@ -63,7 +63,7 @@
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>3.3.7</version>
<version>3.4.7</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Expand All @@ -72,6 +72,11 @@
<artifactId>spring-webmvc</artifactId>
<version>6.1.14</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-crypto</artifactId>
<version>6.3.8</version>
</dependency>
</dependencies>
</dependencyManagement>

Expand Down Expand Up @@ -122,17 +127,17 @@
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<version>3.3.7</version>
<version>3.4.7</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.3.7</version>
<version>3.4.7</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>6.1.15</version>
<version>6.1.21</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
Expand Down Expand Up @@ -178,7 +183,7 @@
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>6.1.15</version>
<version>6.1.21</version>
<scope>test</scope>
<exclusions>
<exclusion>
Expand Down Expand Up @@ -211,13 +216,6 @@
</exclusion>
</exclusions>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>6.1.15</version>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-test</artifactId>
Expand Down Expand Up @@ -319,7 +317,7 @@
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>3.3.7</version>
<version>3.4.7</version>
<scope>test</scope>
<exclusions>
<exclusion>
Expand Down
2 changes: 1 addition & 1 deletion test-commons/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>gov.cms.qpp.conversion</groupId>
<artifactId>qpp-conversion-tool-parent</artifactId>
<version>2024.2.14-RELEASE</version>
<version>2025.07.16.01-RELEASE</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion test-coverage/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>gov.cms.qpp.conversion</groupId>
<artifactId>qpp-conversion-tool-parent</artifactId>
<version>2024.2.14-RELEASE</version>
<version>2025.07.16.01-RELEASE</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down
Loading