Search in sources :

Example 1 with Concept

use of org.opencds.cqf.cql.engine.runtime.Concept in project quality-measure-and-cohort-service by Alvearie.

the class CQLToFHIRMeasureReportHelperTest method testConcept.

@Test
public void testConcept() {
    String codeString1 = "code1";
    String system1 = "system1";
    String display1 = "display1";
    String version1 = "version1";
    String codeString2 = "code2";
    String system2 = "system2";
    String display2 = "display2";
    String version2 = "version2";
    String conceptDisplay = "conceptDisplay";
    Code code1 = new Code().withCode(codeString1).withSystem(system1).withDisplay(display1).withVersion(version1);
    Code code2 = new Code().withCode(codeString2).withSystem(system2).withDisplay(display2).withVersion(version2);
    Concept concept = new Concept().withCodes(Arrays.asList(code1, code2)).withDisplay(conceptDisplay);
    IBaseDatatype fhirTypeValue = CQLToFHIRMeasureReportHelper.getFhirTypeValue(concept);
    assertTrue(fhirTypeValue instanceof CodeableConcept);
    CodeableConcept castResult = (CodeableConcept) fhirTypeValue;
    List<Coding> codingList = castResult.getCoding();
    boolean code1Found = false;
    boolean code2Found = false;
    for (Coding coding : codingList) {
        if (coding.getCode().equals(codeString1)) {
            verifyBaseTypeAsCode(coding, codeString1, system1, display1, version1);
            code1Found = true;
        } else if (coding.getCode().equals(codeString2)) {
            verifyBaseTypeAsCode(coding, codeString2, system2, display2, version2);
            code2Found = true;
        } else {
            Assert.fail();
        }
    }
    assertTrue(code1Found && code2Found);
    assertEquals(2, codingList.size());
}
Also used : CodeableConcept(org.hl7.fhir.r4.model.CodeableConcept) Concept(org.opencds.cqf.cql.engine.runtime.Concept) IBaseDatatype(org.hl7.fhir.instance.model.api.IBaseDatatype) Coding(org.hl7.fhir.r4.model.Coding) Code(org.opencds.cqf.cql.engine.runtime.Code) CodeableConcept(org.hl7.fhir.r4.model.CodeableConcept) Test(org.junit.Test)

Example 2 with Concept

use of org.opencds.cqf.cql.engine.runtime.Concept in project quality-measure-and-cohort-service by Alvearie.

the class ConceptParameter method toCqlType.

@Override
public Object toCqlType() {
    Concept concept = new Concept();
    concept.withDisplay(this.display);
    if (codes != null) {
        for (CodeParameter param : codes) {
            concept.withCode((Code) param.toCqlType());
        }
    }
    return concept;
}
Also used : Concept(org.opencds.cqf.cql.engine.runtime.Concept)

Aggregations

Concept (org.opencds.cqf.cql.engine.runtime.Concept)2 IBaseDatatype (org.hl7.fhir.instance.model.api.IBaseDatatype)1 CodeableConcept (org.hl7.fhir.r4.model.CodeableConcept)1 Coding (org.hl7.fhir.r4.model.Coding)1 Test (org.junit.Test)1 Code (org.opencds.cqf.cql.engine.runtime.Code)1