Skip to content

Commit

Permalink
Merge pull request #188 from onc-healthit/develop
Browse files Browse the repository at this point in the history
SITE 3.1.75
  • Loading branch information
austinmoody committed Jan 30, 2024
2 parents 6f2c2af + 193d182 commit 0bd9158
Show file tree
Hide file tree
Showing 7 changed files with 9,864 additions and 23 deletions.
19 changes: 19 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,3 +115,22 @@ Server Configuration
```
* The log states, "Could not resolve dependencies for project ..."
* Likely caused by an inproper configuration installation of Java. Make sure the JAVA_HOME and JRE_HOME environment variables are set properly and you are using a version of Java 8. Also check the build path in your IDE. At the time of this documentation, the version of Java used is 1.8.0_361.

**5. Public API Usage**

* We have API documentation via swagger here:
* https://ccda.healthit.gov/referenceccdaservice/swagger-ui.html#/reference-ccda-validation-controller

* Public API:
* https://ccda.healthit.gov/referenceccdaservice/

* form-data
* ccdaFile: file
* referenceFileName: string of filename or empty
* validationObjective: C-CDA_IG_Plus_Vocab
* If you want to use the cures update, add:
* curesUpdate: true
* Or if you want SVAP 2022 or SVAP 2023, add:
* svap2022: true
* or
* svap2023: true
817 changes: 806 additions & 11 deletions configuration/ccdaReferenceValidatorConfig.xml

Large diffs are not rendered by default.

16 changes: 8 additions & 8 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

<groupId>org.sitenv</groupId>
<artifactId>referenceccdavalidator</artifactId>
<version>1.0.70</version>
<version>1.0.71</version>
<packaging>war</packaging>
<name>Reference CCDA Validator</name>

Expand All @@ -15,22 +15,22 @@
<code.validator.version>latestVersion</code.validator.version>
<content.validator.version>latestVersion</content.validator.version>
<!-- MDHT SITE properties -->
<mdht.models.groupid>mdht.openhealthtools.mdht.cda</mdht.models.groupid>
<mdht.models.version>3.0.0.20230823</mdht.models.version>
<mdht.models.groupid>mdht.openhealthtools.mdht.cda</mdht.models.groupid>
<mdht.models.version>3.0.0.20231120</mdht.models.version>
<ds4pcontent.groupId>mdht.hl7.ds4p</ds4pcontent.groupId>
<ds4pcontent.version>${mdht.models.version}</ds4pcontent.version>
<mdht.plugins.groupId>mdht.eclipse.mdht</mdht.plugins.groupId>
<mdht.plugins.version>3.0.0.202209230500</mdht.plugins.version>
<mdht.plugins.version>3.0.0.202209230500</mdht.plugins.version>
<logback.version>1.2.11</logback.version>
<!-- MDHT SNAPSHOT properties: Uncomment for local test -->
<!--
<mdht.models.groupid>org.openhealthtools.mdht.cda</mdht.models.groupid>
<!--<mdht.models.groupid>org.openhealthtools.mdht.cda</mdht.models.groupid>
<mdht.models.version>3.0.0-SNAPSHOT</mdht.models.version>
<ds4pcontent.groupId>org.hl7.security.ds4p</ds4pcontent.groupId>
<ds4pcontent.version>${mdht.models.version}</ds4pcontent.version>
<mdht.plugins.groupId>org.eclipse.mdht</mdht.plugins.groupId>
<mdht.plugins.version>3.0.0-SNAPSHOT</mdht.plugins.version>
-->
<mdht.plugins.version>3.0.0-SNAPSHOT</mdht.plugins.version> -->
</properties>

<repositories>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,15 +54,15 @@ private ArrayList<RefCCDAValidationResult> doValidation(String validationObjecti
org.sitenv.contentvalidator.dto.enums.SeverityLevel.valueOf(severityLevel.name());

List<ContentValidationResult> validationResults = contentValidatorService.validate(
validationObjective, referenceFileName, ccdaFile,
validationObjective, referenceFileName, ccdaFile,
curesUpdate, svap2022, svap2023,
userSeverityLevelForContentValidation);

ArrayList<RefCCDAValidationResult> results = new ArrayList<>();
for (ContentValidationResult result : validationResults) {
results.add(createValidationResult(result));
}

return results;
}

Expand Down
107 changes: 105 additions & 2 deletions src/test/java/org/sitenv/referenceccda/test/tests/RefCCDATest.java
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ public class RefCCDATest extends ReferenceValidationTester implements Validation
SUB_PROCEDURES_WITH_DEVICE_IDENTIFIER_OBSERVATION_BAD_VALUE_ROOT_SITE_3218 = 17,
DS4P_REFRAIN_OBSERVATION = 18, IVL_REAL_EXAMPLE = 19, IVL_REAL_EXAMPLE2 = 20, REFERRAL_NOTE = 21,
REFERRAL_NOTE2 = 22, SDTCTEST = 23, CONSOLNOTEACTIVITY = 24, MEDICATION_SECTION_CODE_INVALID = 25,
MARITALSTATUS = 26, MARITALSTATUS2 = 27, LOTORBATCH = 28, APPENDIXAANDB = 29;
MARITALSTATUS = 26, MARITALSTATUS2 = 27, LOTORBATCH = 28, APPENDIXAANDB = 29,SVAPCCD2023=30,SVAPCCD20232=31;


// Feel free to add docs to the end but don't alter existing data
Expand Down Expand Up @@ -104,7 +104,9 @@ public class RefCCDATest extends ReferenceValidationTester implements Validation
RefCCDATest.class.getResource("/maritalstatus.xml").toURI(),
RefCCDATest.class.getResource("/maritalstatus2.xml").toURI(),
RefCCDATest.class.getResource("/lotorbatch.xml").toURI(),
RefCCDATest.class.getResource("/AppendixAandB.xml").toURI()
RefCCDATest.class.getResource("/AppendixAandB.xml").toURI(),
RefCCDATest.class.getResource("/2023SVAPCCD.xml").toURI(),
RefCCDATest.class.getResource("/2023SVAPCCD2.xml").toURI()
};
} catch (URISyntaxException e) {
if (LOG_RESULTS_TO_CONSOLE)
Expand Down Expand Up @@ -862,6 +864,10 @@ public void allergySection_codetest() {
failIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "CONF: 15346");
}





/*
* SITE-3348 ETT GG, Errata CDA-2008, MDHT: "A plethora of b.1 issues that we think are invalid"
*/
Expand Down Expand Up @@ -1337,6 +1343,103 @@ public void testInformantRelatedEntityIssueSITE_3762() {
printResults(getMDHTErrorsFromResults(results));
failIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "[0..0] addr");
}


@Test
public void test2023SVAPCCD() {

List<RefCCDAValidationResult> results = validateDocumentAndReturnResults(
convertCCDAFileToString(CCDA_FILES[SVAPCCD2023]), CCDATypes.NON_SPECIFIC_CCDAR2);
printResults(getMDHTErrorsFromResults(results));

//Coverage Test
passIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "4537-33065");

// Consol Disability Status Observation
passIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "4537-32628");

// Consol Medication Dispense
passIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "4537-32361");

// Consol Result Organizer
passIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "4537-32616");

// Consol Result Observation
passIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "4537-32612");

// Consol Pregnancy Intention
passIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "4537-2682");

// Consol Basic Occupation Observation
passIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "4537-33007");

// Basic Industry Observation S
passIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "4537-33022");

// Gender
passIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "4537-33070");
// Sexual
passIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "4515-32884");
// Policy
passIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "1198-32852");

passIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "DSTU:818" );






}


@Test
public void test2023SVAPCCD2() {

List<RefCCDAValidationResult> results = validateDocumentAndReturnResults(
convertCCDAFileToString(CCDA_FILES[SVAPCCD20232]), CCDATypes.NON_SPECIFIC_CCDAR2);
printResults(getMDHTErrorsFromResults(results));

//Coverage Test
failIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "4537-33065");

// Consol Disability Status Observation
failIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "4537-32628");

// Consol Medication Dispense
failIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "4537-32361");

// Consol Result Organizer
failIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "4537-32616");

// Consol Result Observation
failIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "4537-32612");

// Consol Pregnancy Intention
failIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "4537-2682");

// Consol Basic Occupation Observation
failIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "4537-33007");

// Basic Industry Observation S
failIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "4537-33022");

// Gender
failIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "4537-33070");
// Sexual
failIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "4515-32884");
// Policy
failIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "1198-32852");

failIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "DSTU:818" );






}



}
Loading

0 comments on commit 0bd9158

Please sign in to comment.