Package org.openmrs

Examples of org.openmrs.ProgramWorkflowState


            public void testEditedResults(SubmissionResults results) {
        results.assertNoErrors();
       
        ProgramWorkflow workflow = Context.getProgramWorkflowService().getWorkflow(100);
       
        ProgramWorkflowState startState = Context.getProgramWorkflowService().getStateByUuid(START_STATE);
        ProgramWorkflowState endState = Context.getProgramWorkflowService().getStateByUuid(END_STATE);
       
        PatientProgram patientProgram = Context.getProgramWorkflowService().getPatientPrograms(patient, workflow.getProgram(), null, null, null, null, false).get(0);
        Assert.assertNotNull(patientProgram);
       
        // assert that the patient program only has two states
View Full Code Here


        results.assertEncounterCreated();
        results.assertProvider(502);
        results.assertLocation(2);
       
        // patient should now be in the middle state
        ProgramWorkflowState state = Context.getProgramWorkflowService().getStateByUuid(MIDDLE_STATE);
        PatientProgram patientProgram = getPatientProgramByState(results.getPatient(), state, DATE);
        PatientState patientState = getPatientState(patientProgram, state, DATE);
        Assert.assertNotNull(patientProgram);
        Assert.assertEquals(dateAsString(DATE), dateAsString(patientState.getStartDate()));
        Assert.assertNull(patientState.getEndDate());
View Full Code Here

        results.assertEncounterCreated();
        results.assertProvider(502);
        results.assertLocation(2);
       
        // patient still be in the middle state
        ProgramWorkflowState state = Context.getProgramWorkflowService().getStateByUuid(MIDDLE_STATE);
        PatientProgram patientProgram = getPatientProgramByState(results.getPatient(), state, PAST_DATE);
        PatientState patientState = getPatientState(patientProgram, state, PAST_DATE);
        Assert.assertNotNull(patientProgram);
        Assert.assertEquals(dateAsString(PAST_DATE), dateAsString(patientState.getStartDate()));
        Assert.assertNull(patientState.getEndDate());
View Full Code Here

        results.assertEncounterCreated();
        results.assertProvider(502);
        results.assertLocation(2);
       
        // patient should now be in the middle state
        ProgramWorkflowState state = Context.getProgramWorkflowService().getStateByUuid(MIDDLE_STATE);
        PatientProgram patientProgram = getPatientProgramByState(results.getPatient(), state, DATE);
        PatientState patientState = getPatientState(patientProgram, state, DATE);
        Assert.assertNotNull(patientProgram);
        Assert.assertEquals(dateAsString(DATE), dateAsString(patientState.getStartDate()));
        Assert.assertNull(patientState.getEndDate());
View Full Code Here

                results.assertNoErrors();

                Assert.assertEquals(1, Context.getProgramWorkflowService().getPatientPrograms(patient, Context.getProgramWorkflowService().getProgram(10), null, null, null, null, false).size());

                // double check that states have been set
                ProgramWorkflowState state = Context.getProgramWorkflowService().getStateByUuid(START_STATE);
                ProgramWorkflowState anotherState = Context.getProgramWorkflowService().getStateByUuid("67337cdc-53ad-11e1-8cb6-00248140a5eb");
                PatientProgram patientProgram = getPatientProgramByState(results.getPatient(), state, DATE);
                PatientState patientState = getPatientState(patientProgram, state, DATE);
                PatientState anotherPatientState = getPatientState(patientProgram, anotherState, DATE);

                Assert.assertNotNull(patientProgram);
View Full Code Here

                results.assertNoErrors();

                Assert.assertEquals(1, Context.getProgramWorkflowService().getPatientPrograms(patient, Context.getProgramWorkflowService().getProgram(10), null, null, null, null, false).size());

                // double check that state has been set
                ProgramWorkflowState state = Context.getProgramWorkflowService().getStateByUuid(START_STATE);
                PatientProgram patientProgram = getPatientProgramByState(results.getPatient(), state, DATE);
                PatientState patientState = getPatientState(patientProgram, state, DATE);

                Assert.assertNotNull(patientProgram);
                Assert.assertEquals(dateAsString(DATE), dateAsString(patientState.getStartDate()));
View Full Code Here

                // sanity check
                Assert.assertEquals(1, Context.getProgramWorkflowService().getPatientPrograms(patient, Context.getProgramWorkflowService().getProgram(10), null, null, null, null, false).size());

                // sanity check: program should not yet be in the start state
                ProgramWorkflowState state = Context.getProgramWorkflowService().getStateByUuid(START_STATE);
                PatientProgram patientProgram = getPatientProgramByState(results.getPatient(), state, DATE);
                Assert.assertNull(patientProgram);
            }

            public boolean doEditEncounter() {
                return true;
            }

            public String[] widgetLabelsForEdit() {
                return new String[] { "Date:", "Location:", "Provider:", "State:" };
            }

            public void setupEditRequest(MockHttpServletRequest request, Map<String,String> widgets) {
                request.setParameter(widgets.get("Location:"), "2");
                request.setParameter(widgets.get("Provider:"), "502");
                request.setParameter(widgets.get("Date:"), dateAsString(DATE));
                request.setParameter(widgets.get("State:"), START_STATE);
            }

            public void testEditedResults(SubmissionResults results) {
                results.assertNoErrors();

                Assert.assertEquals(1, Context.getProgramWorkflowService().getPatientPrograms(patient, Context.getProgramWorkflowService().getProgram(10), null, null, null, null, false).size());

                // double check that state has been set
                ProgramWorkflowState state = Context.getProgramWorkflowService().getStateByUuid(START_STATE);
                PatientProgram patientProgram = getPatientProgramByState(results.getPatient(), state, DATE);
                PatientState patientState = getPatientState(patientProgram, state, DATE);

                Assert.assertNotNull(patientProgram);
                Assert.assertEquals(dateAsString(DATE), dateAsString(patientState.getStartDate()));
View Full Code Here

    private void enrollInProgram(String state) {
    enrollInProgram(state, new Date());
  }
 
  private void enrollInProgram(String state, Date date) {
    ProgramWorkflowState workflowState = Context.getProgramWorkflowService().getStateByUuid(state);
   
    PatientProgram patientProgram = getPatientProgramByWorkflow(patient, workflowState.getProgramWorkflow(), date);
    if (patientProgram == null) {
      patientProgram = new PatientProgram();
      patientProgram.setPatient(patient);
      patientProgram.setProgram(workflowState.getProgramWorkflow().getProgram());
      patientProgram.setDateEnrolled(date);
    }
   
    Context.getProgramWorkflowService().savePatientProgram(patientProgram);
  }
View Full Code Here

  private void transitionToState(String state) {
    transitionToState(state, new Date());
  }
 
  private void transitionToState(String state, Date date) {
    ProgramWorkflowState workflowState = Context.getProgramWorkflowService().getStateByUuid(state);
   
    PatientProgram patientProgram = getPatientProgramByWorkflow(patient, workflowState.getProgramWorkflow(), date);
    if (patientProgram == null) {
      patientProgram = new PatientProgram();
      patientProgram.setPatient(patient);
      patientProgram.setProgram(workflowState.getProgramWorkflow().getProgram());
      patientProgram.setDateEnrolled(date);
    }
   
    patientProgram.transitionToState(workflowState, date);
   
View Full Code Here

    states = new LinkedHashMap<String, ProgramWorkflowState>();
    if (tagParams.getStateIds() != null) {
      for (int i = 0; i < tagParams.getStateIds().size(); i++) {
        String stateId = tagParams.getStateIds().get(i);
       
        ProgramWorkflowState state = HtmlFormEntryUtil.getState(stateId, workflow);
       
        if (state == null) {
          throw new IllegalArgumentException("workflow with id " + workflow.getId() + " does not have state id "
                  + stateId);
        }
       
        String label = state.getConcept().getName().getName();
        if (tagParams.getStateLabels() != null) {
          label = tagParams.getStateLabels().get(i);
        }
        states.put(label, state);
      }
    } else {
      for (ProgramWorkflowState state : workflow.getStates()) {
        if (state.isRetired()) {
          continue;
        }
       
        String label = state.getConcept().getName().getName();
        states.put(label, state);
      }
    }
   
    Date encounterDatetime = new Date();
    if (context.getExistingEncounter() != null) {
      encounterDatetime = context.getExistingEncounter().getEncounterDatetime();
    }
   
    ProgramWorkflowState currentState = null;
   
    activePatientState = getActivePatientState(context.getExistingPatient(), encounterDatetime, workflow);
    if (activePatientState != null) {
      currentState = activePatientState.getState();
    }
   
    if (currentState == null) {
      // Remove other than initial states
      for (Iterator<ProgramWorkflowState> it = states.values().iterator(); it.hasNext();) {
        ProgramWorkflowState state = it.next();
        if (Boolean.FALSE.equals(state.getInitial())) {
          it.remove();
        }
      }
    }
   
    if (tagParams.getLabelCode() != null) {
      label = context.getTranslator().translate(Context.getLocale().toString(), tagParams.getLabelCode());
    }
   
    if (label == null && tagParams.getLabelText() != null) {
      label = tagParams.getLabelText();
    }
   
    if (tagParams.getType().equals("hidden")) {
      widget = new HiddenFieldWidget();
      // there is only one state
      Entry<String, ProgramWorkflowState> state = states.entrySet().iterator().next();
      widget.setInitialValue(state.getValue().getUuid());
    } else if (tagParams.getType().equals("checkbox")) {
      // there is only one state
      Entry<String, ProgramWorkflowState> state = states.entrySet().iterator().next();
      widget = new CheckboxWidget(state.getKey(), state.getValue().getUuid());
    } else {
      SingleOptionWidget singleOption;
      if (tagParams.getType().equals("dropdown")) {
        singleOption = new DropdownWidget();
        singleOption.addOption(new Option("", "", false));
      } else {
        singleOption = new RadioButtonsWidget();
      }
     
      for (Entry<String, ProgramWorkflowState> state : states.entrySet()) {
        boolean select = state.getValue().equals(currentState);
        singleOption.addOption(new Option(state.getKey(), state.getValue().getUuid(), select));
      }
     
      widget = singleOption;
    }
   
View Full Code Here

TOP

Related Classes of org.openmrs.ProgramWorkflowState

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.