Search in sources :

Example 11 with Concept

use of org.openmrs.Concept in project openmrs-module-pihcore by PIH.

the class PastMedicalHistoryCheckboxTagHandlerTest method testCreateAndEdit.

@Test
public void testCreateAndEdit() throws Exception {
    final Date date = new Date();
    final Concept construct = MetadataUtils.existing(Concept.class, ClinicalConsultationConcepts.Concepts.PAST_MEDICAL_HISTORY_CONSTRUCT);
    final Concept which = MetadataUtils.existing(Concept.class, ClinicalConsultationConcepts.Concepts.PAST_MEDICAL_HISTORY_FINDING);
    final Concept presence = MetadataUtils.existing(Concept.class, ClinicalConsultationConcepts.Concepts.PAST_MEDICAL_HISTORY_PRESENCE);
    final Concept comment = MetadataUtils.existing(Concept.class, ClinicalConsultationConcepts.Concepts.PAST_MEDICAL_HISTORY_COMMENT);
    new RegressionTestHelper() {

        @Override
        public String getXmlDatasetPath() {
            return "";
        }

        @Override
        public String getFormName() {
            return "pastMedicalHistoryForm";
        }

        @Override
        public String[] widgetLabels() {
            return new String[] { "Date:", "Location:", "Provider:", "Asthma:", "Epilepsy:", "STI:", "STI:!!1" };
        }

        @Override
        public void testBlankFormHtml(String html) {
            log.debug(html);
        }

        @Override
        public void setupRequest(MockHttpServletRequest request, Map<String, String> widgets) {
            request.setParameter(widgets.get("Date:"), dateAsString(date));
            request.setParameter(widgets.get("Location:"), "2");
            request.setParameter(widgets.get("Provider:"), "1");
            request.setParameter(widgets.get("Asthma:"), "present");
            request.setParameter(widgets.get("STI:"), "present");
            request.setParameter(widgets.get("STI:!!1"), "");
        }

        @Override
        public void testResults(SubmissionResults results) {
            results.assertNoErrors();
            results.assertEncounterCreated();
            results.assertObsGroupCreatedCount(2);
            results.assertObsGroupCreated(construct.getConceptId(), which.getId(), ashthma, presence.getId(), yes);
            results.assertObsGroupCreated(construct.getConceptId(), which.getId(), sti, presence.getId(), yes);
        }

        @Override
        public boolean doEditEncounter() {
            return true;
        }

        @Override
        public String[] widgetLabelsForEdit() {
            return widgetLabels();
        }

        @Override
        public void setupEditRequest(MockHttpServletRequest request, Map<String, String> widgets) {
            request.setParameter(widgets.get("Date:"), dateAsString(date));
            request.setParameter(widgets.get("Location:"), "2");
            request.setParameter(widgets.get("Provider:"), "1");
            // this is an unchecked checkbox (but HFE isn't smart enough to know this)
            request.removeParameter(widgets.get("Asthma:"));
            // this is an unchecked checkbox (but HFE isn't smart enough to know this)
            request.removeParameter(widgets.get("Epilepsy:"));
            request.setParameter(widgets.get("STI:"), "present");
            request.setParameter(widgets.get("STI:!!1"), "HIV");
        }

        @Override
        public void testEditedResults(SubmissionResults results) {
            results.assertNoErrors();
            results.assertEncounterCreated();
            // there should be one voided obs group (asthma)
            results.assertObsVoided(construct.getConceptId(), null);
            // there should be one obs group (STI), now also with a comment
            results.assertObsGroupCreatedCount(1);
            results.assertObsGroupCreated(construct.getConceptId(), which.getId(), sti, presence.getId(), yes, comment.getId(), "HIV");
        }
    }.run();
}
Also used : Concept(org.openmrs.Concept) MockHttpServletRequest(org.springframework.mock.web.MockHttpServletRequest) Date(java.util.Date) RegressionTestHelper(org.openmrs.module.htmlformentry.RegressionTestHelper) PihCoreContextSensitiveTest(org.openmrs.module.pihcore.PihCoreContextSensitiveTest) Test(org.junit.Test)

Example 12 with Concept

use of org.openmrs.Concept in project openmrs-module-pihcore by PIH.

the class MultipleObsForEncounterDataEvaluatorTest method addSymptomPresentOrAbsentColumn.

protected void addSymptomPresentOrAbsentColumn(EncounterDataSetDefinition dsd, String columnName, String symptomPresentQuestion, String symptomAbsentQuestion, String symptomAnswer, Object valueIfPresent, Object valueIfAbsent) {
    Concept presentConcept = Metadata.getConcept(symptomPresentQuestion);
    Concept absentConcept = Metadata.getConcept(symptomAbsentQuestion);
    Concept answerConcept = Metadata.getConcept(symptomAnswer);
    MultipleObsForEncounterDataDefinition d = new MultipleObsForEncounterDataDefinition();
    d.addQuestion(presentConcept);
    d.addQuestion(absentConcept);
    CodedObsConverter converter = new CodedObsConverter();
    converter.addOption(presentConcept.getUuid(), answerConcept.getUuid(), valueIfPresent);
    converter.addOption(absentConcept.getUuid(), answerConcept.getUuid(), valueIfAbsent);
    dsd.addColumn(columnName.toUpperCase(), d, "", converter);
}
Also used : Concept(org.openmrs.Concept) CodedObsConverter(org.openmrs.module.pihcore.reporting.converter.CodedObsConverter) MultipleObsForEncounterDataDefinition(org.openmrs.module.pihcore.reporting.encounter.definition.MultipleObsForEncounterDataDefinition)

Example 13 with Concept

use of org.openmrs.Concept in project openmrs-module-pihcore by PIH.

the class DrugListSetupTest method shouldInstallNewDrugList.

@Test
public void shouldInstallNewDrugList() throws Exception {
    ConceptService cs = Context.getConceptService();
    List<Drug> initialInstalledDrugs = Context.getConceptService().getAllDrugs();
    Concept testDrugConcept = new Concept();
    testDrugConcept.addName(new ConceptName("test drug concept", Locale.ENGLISH));
    // N/A
    testDrugConcept.setDatatype(cs.getConceptDatatype(4));
    // Drug
    testDrugConcept.setConceptClass(cs.getConceptClass(3));
    cs.saveConcept(testDrugConcept);
    ConceptReferenceTerm crt = new ConceptReferenceTerm();
    // SNOMED CT
    ConceptSource source = cs.getConceptSource(2);
    crt.setConceptSource(source);
    crt.setCode("9876");
    cs.saveConceptReferenceTerm(crt);
    ConceptMap map = new ConceptMap();
    map.setConcept(testDrugConcept);
    map.setConceptReferenceTerm(crt);
    testDrugConcept.addConceptMapping(map);
    cs.saveConcept(testDrugConcept);
    // prevents "Unexpected call to partialFlushEnd; expecting partialFlushStart"
    Context.flushSession();
    DrugListSetup.installDrugList();
    List<Drug> installedDrugs = Context.getConceptService().getAllDrugs();
    List<String> installedDrugNames = new ArrayList<String>();
    for (Drug drug : installedDrugs) {
        installedDrugNames.add(drug.getName());
    }
    assertThat("Test Drug", is(in(installedDrugNames)));
    assertThat(installedDrugs.size(), is(initialInstalledDrugs.size() + 1));
}
Also used : Drug(org.openmrs.Drug) Concept(org.openmrs.Concept) ArrayList(java.util.ArrayList) ConceptName(org.openmrs.ConceptName) ConceptSource(org.openmrs.ConceptSource) ConceptMap(org.openmrs.ConceptMap) ConceptService(org.openmrs.api.ConceptService) ConceptReferenceTerm(org.openmrs.ConceptReferenceTerm) Test(org.junit.Test) PihCoreContextSensitiveTest(org.openmrs.module.pihcore.PihCoreContextSensitiveTest)

Example 14 with Concept

use of org.openmrs.Concept in project openmrs-module-pihcore by PIH.

the class MockConcepts method question.

private Concept question(String name, ConceptDatatype datatype, ConceptSource source, String mapping) {
    Concept concept = baseConcept(name);
    concept.setDatatype(datatype);
    concept.setConceptClass(question);
    concept.addConceptMapping(new ConceptMapBuilder(uuid()).type(sameAs).ensureTerm(source, mapping).build());
    return concept;
}
Also used : Concept(org.openmrs.Concept) ConceptMapBuilder(org.openmrs.module.metadatadeploy.builder.ConceptMapBuilder)

Example 15 with Concept

use of org.openmrs.Concept in project openmrs-module-pihcore by PIH.

the class MockConcepts method diagnosis.

private Concept diagnosis(String name, ConceptSource source, String mapping) {
    Concept concept = diagnosis(name);
    concept.addConceptMapping(new ConceptMapBuilder(uuid()).type(sameAs).ensureTerm(source, mapping).build());
    return concept;
}
Also used : Concept(org.openmrs.Concept) ConceptMapBuilder(org.openmrs.module.metadatadeploy.builder.ConceptMapBuilder)

Aggregations

Concept (org.openmrs.Concept)294 Test (org.junit.Test)210 BaseContextSensitiveTest (org.openmrs.test.BaseContextSensitiveTest)176 ConceptName (org.openmrs.ConceptName)62 OpenmrsMatchers.hasConcept (org.openmrs.test.OpenmrsMatchers.hasConcept)62 Obs (org.openmrs.Obs)49 Date (java.util.Date)48 Patient (org.openmrs.Patient)42 ConceptDescription (org.openmrs.ConceptDescription)33 Locale (java.util.Locale)32 ConceptDatatype (org.openmrs.ConceptDatatype)32 OrderUtilTest (org.openmrs.order.OrderUtilTest)29 ConceptClass (org.openmrs.ConceptClass)27 ArrayList (java.util.ArrayList)26 BindException (org.springframework.validation.BindException)26 DrugOrder (org.openmrs.DrugOrder)25 Encounter (org.openmrs.Encounter)25 Errors (org.springframework.validation.Errors)25 ConceptMapBuilder (org.openmrs.module.metadatadeploy.builder.ConceptMapBuilder)21 Location (org.openmrs.Location)19