Search in sources :

Example 36 with Detail

use of gov.cms.qpp.conversion.model.error.Detail in project qpp-conversion-tool by CMSgov.

the class ClinicalDocumentValidatorTest method testMissingTin.

@Test
void testMissingTin() {
    Node clinicalDocumentNode = new Node(TemplateId.CLINICAL_DOCUMENT);
    clinicalDocumentNode.putValue("programName", "mips");
    clinicalDocumentNode.putValue("nationalProviderIdentifier", "2567891421");
    Node aciSectionNode = createAciSectionNode(clinicalDocumentNode);
    clinicalDocumentNode.addChildNode(aciSectionNode);
    ClinicalDocumentValidator validator = new ClinicalDocumentValidator();
    Set<Detail> errors = validator.validateSingleNode(clinicalDocumentNode);
    assertWithMessage("there should NOT be an error").that(errors).isEmpty();
}
Also used : Node(gov.cms.qpp.conversion.model.Node) Detail(gov.cms.qpp.conversion.model.error.Detail) Test(org.junit.jupiter.api.Test)

Example 37 with Detail

use of gov.cms.qpp.conversion.model.error.Detail in project qpp-conversion-tool by CMSgov.

the class ClinicalDocumentValidatorTest method testMissingName.

@Test
void testMissingName() {
    Node clinicalDocumentNode = new Node(TemplateId.CLINICAL_DOCUMENT);
    clinicalDocumentNode.putValue("taxpayerIdentificationNumber", "123456789");
    clinicalDocumentNode.putValue("nationalProviderIdentifier", "2567891421");
    Node aciSectionNode = createAciSectionNode(clinicalDocumentNode);
    clinicalDocumentNode.addChildNode(aciSectionNode);
    ClinicalDocumentValidator validator = new ClinicalDocumentValidator();
    Set<Detail> errors = validator.validateSingleNode(clinicalDocumentNode);
    assertWithMessage("error should be about missing missing program name").that(errors).comparingElementsUsing(DetailsErrorEquals.INSTANCE).containsExactly(ErrorCode.CLINICAL_DOCUMENT_MISSING_PROGRAM_NAME);
}
Also used : Node(gov.cms.qpp.conversion.model.Node) Detail(gov.cms.qpp.conversion.model.error.Detail) Test(org.junit.jupiter.api.Test)

Example 38 with Detail

use of gov.cms.qpp.conversion.model.error.Detail in project qpp-conversion-tool by CMSgov.

the class ClinicalDocumentValidatorTest method testNoSections.

@Test
void testNoSections() {
    Node clinicalDocumentNode = createValidClinicalDocumentNode();
    ClinicalDocumentValidator validator = new ClinicalDocumentValidator();
    Set<Detail> errors = validator.validateSingleNode(clinicalDocumentNode);
    assertWithMessage("error should be about missing section node").that(errors).comparingElementsUsing(DetailsErrorEquals.INSTANCE).containsExactly(ErrorCode.CLINICAL_DOCUMENT_MISSING_ACI_OR_IA_OR_ECQM_CHILD);
}
Also used : Node(gov.cms.qpp.conversion.model.Node) Detail(gov.cms.qpp.conversion.model.error.Detail) Test(org.junit.jupiter.api.Test)

Example 39 with Detail

use of gov.cms.qpp.conversion.model.error.Detail in project qpp-conversion-tool by CMSgov.

the class ClinicalDocumentValidatorTest method testDuplicateAciSectionCausesError.

@Test
void testDuplicateAciSectionCausesError() {
    Node clinicalDocumentNode = createValidClinicalDocumentNode();
    Node aciSectionNode = createAciSectionNode(clinicalDocumentNode);
    Node duplicateAciSectionNode = createAciSectionNode(clinicalDocumentNode);
    clinicalDocumentNode.addChildNodes(aciSectionNode, duplicateAciSectionNode);
    ClinicalDocumentValidator validator = new ClinicalDocumentValidator();
    Set<Detail> errors = validator.validateSingleNode(clinicalDocumentNode);
    assertWithMessage("Should contain one error").that(errors).comparingElementsUsing(DetailsErrorEquals.INSTANCE).containsExactly(ErrorCode.CLINICAL_DOCUMENT_CONTAINS_DUPLICATE_ACI_SECTIONS);
}
Also used : Node(gov.cms.qpp.conversion.model.Node) Detail(gov.cms.qpp.conversion.model.error.Detail) Test(org.junit.jupiter.api.Test)

Example 40 with Detail

use of gov.cms.qpp.conversion.model.error.Detail in project qpp-conversion-tool by CMSgov.

the class ClinicalDocumentValidatorTest method testDuplicateIASectionCausesError.

@Test
void testDuplicateIASectionCausesError() {
    Node clinicalDocumentNode = createValidClinicalDocumentNode();
    Node IASectionNode = createIASectionNode(clinicalDocumentNode);
    Node duplicateIASectionNode = createIASectionNode(clinicalDocumentNode);
    clinicalDocumentNode.addChildNodes(IASectionNode, duplicateIASectionNode);
    ClinicalDocumentValidator validator = new ClinicalDocumentValidator();
    Set<Detail> errors = validator.validateSingleNode(clinicalDocumentNode);
    assertWithMessage("Should contain one error").that(errors).comparingElementsUsing(DetailsErrorEquals.INSTANCE).containsExactly(ErrorCode.CLINICAL_DOCUMENT_CONTAINS_DUPLICATE_IA_SECTIONS);
}
Also used : Node(gov.cms.qpp.conversion.model.Node) Detail(gov.cms.qpp.conversion.model.error.Detail) Test(org.junit.jupiter.api.Test)

Aggregations

Detail (gov.cms.qpp.conversion.model.error.Detail)123 Test (org.junit.jupiter.api.Test)108 Node (gov.cms.qpp.conversion.model.Node)105 LocalizedError (gov.cms.qpp.conversion.model.error.LocalizedError)16 Converter (gov.cms.qpp.conversion.Converter)9 AllErrors (gov.cms.qpp.conversion.model.error.AllErrors)9 TransformException (gov.cms.qpp.conversion.model.error.TransformException)9 PathSource (gov.cms.qpp.conversion.PathSource)8 ArrayList (java.util.ArrayList)6 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)6 Context (gov.cms.qpp.conversion.Context)4 Test (org.junit.Test)4 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)4 QrdaDecoderEngine (gov.cms.qpp.conversion.decode.QrdaDecoderEngine)3 FormattedErrorCode (gov.cms.qpp.conversion.model.error.FormattedErrorCode)3 Path (java.nio.file.Path)2 LinkedHashSet (java.util.LinkedHashSet)2 InputStreamSupplierSource (gov.cms.qpp.conversion.InputStreamSupplierSource)1 JsonWrapper (gov.cms.qpp.conversion.encode.JsonWrapper)1 TemplateId (gov.cms.qpp.conversion.model.TemplateId)1