From 4fba2f2a46db25f3e676d23d4236fe391d369ef2 Mon Sep 17 00:00:00 2001 From: Sean Muir Date: Thu, 21 Oct 2021 17:05:05 -0700 Subject: [PATCH] Added junit test for medication section validation was returning duplicate validations --- pom.xml | 2 +- .../referenceccda/test/tests/RefCCDATest.java | 25 ++++++++++++++++-- .../MedicationSectionCodeInvalid.xml | 26 +++++++++++++++++++ 3 files changed, 50 insertions(+), 3 deletions(-) create mode 100644 src/test/resources/MedicationSectionCodeInvalid.xml diff --git a/pom.xml b/pom.xml index 7aa79d6..206d057 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ latestVersion latestVersion - 3.0.0.20211018 + 3.0.0.20211021 ${mdht.models.version} 3.0.0.202110121523 diff --git a/src/test/java/org/sitenv/referenceccda/test/tests/RefCCDATest.java b/src/test/java/org/sitenv/referenceccda/test/tests/RefCCDATest.java index 05c438c..6e4a6c4 100644 --- a/src/test/java/org/sitenv/referenceccda/test/tests/RefCCDATest.java +++ b/src/test/java/org/sitenv/referenceccda/test/tests/RefCCDATest.java @@ -73,7 +73,7 @@ public class RefCCDATest extends ReferenceValidationTester implements Validation SUB_SOCIAL_HISTORY_WITH_BIRTH_SEX_OBS_TEMPLATE_SITE_3094 = 15, SUB_PROCEDURES_WITH_DEVICE_IDENTIFIER_OBSERVATION_SITE_3218 = 16, 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; + 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; // Feel free to add docs to the end but don't alter existing data @@ -105,7 +105,10 @@ public class RefCCDATest extends ReferenceValidationTester implements Validation RefCCDATest.class.getResource("/ReferralNote.xml").toURI(), RefCCDATest.class.getResource("/ReferralNote2.xml").toURI(), RefCCDATest.class.getResource("/SDTCExtensionsTest.xml").toURI(), - RefCCDATest.class.getResource("/ConsolNoteActivity.xml").toURI() + RefCCDATest.class.getResource("/ConsolNoteActivity.xml").toURI(), + RefCCDATest.class.getResource("/MedicationSectionCodeInvalid.xml").toURI() + + }; @@ -827,6 +830,24 @@ public void noteActivity_expectfailtest() { passIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_WARN, "3250-16940, 3250-16941"); } + /* + * SITE-3346 Validators triggers false error for MedicationSectionCode + */ + @Test + public void test_MedicationSectionCodeInvalid() { + List results = validateDocumentAndReturnResults( + convertCCDAFileToString(CCDA_FILES[MEDICATION_SECTION_CODE_INVALID]), CCDATypes.NON_SPECIFIC_CCDAR2); + results = getMDHTErrorsFromResults(results); + passIfIssueIsInResults(results, ValidationResultType.CCDA_MDHT_CONFORMANCE_ERROR, "15387"); + // check that it is returned only once + int codeSectionCounter=0; + for (RefCCDAValidationResult result : results) { + if (result.getDescription() !=null && result.getDescription().contains("15387")) { + codeSectionCounter++; + } + } + assertTrue(codeSectionCounter==1); + } /** diff --git a/src/test/resources/MedicationSectionCodeInvalid.xml b/src/test/resources/MedicationSectionCodeInvalid.xml new file mode 100644 index 0000000..2061f81 --- /dev/null +++ b/src/test/resources/MedicationSectionCodeInvalid.xml @@ -0,0 +1,26 @@ + + + + + + +
+ + + +
+
+ + + +
+
+