@Override public void testResults(SubmissionResults results) { results.assertNoErrors(); results.assertEncounterCreated(); encounter = results.getEncounterCreated(); Drug drug2 = Context.getConceptService().getDrug(2); Drug drug3 = Context.getConceptService().getDrug(3); Drug drug11 = Context.getConceptService().getDrug(11); assertThat( encounter.getOrders(), containsInAnyOrder( allOf(hasProperty("drug", is(drug2)), hasProperty("dose", is(1.0)), hasProperty("dateActivated", is(ymdToDate(dateAsString(date))))), allOf(hasProperty("drug", is(drug3)), hasProperty("dose", is(1.0)), hasProperty("dateActivated", is(ymdToDate(dateAsString(date))))), allOf(hasProperty("drug", is(drug11)), hasProperty("dose", is(1.0)), hasProperty("dateActivated", is(ymdToDate(dateAsString(date))))))); }
@Override public void testResults(SubmissionResults results) { results.assertNoErrors(); results.assertEncounterCreated(); results.assertProvider(502); results.assertLocation(2); Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.set(Calendar.MILLISECOND, 0); results.assertEncounterDatetime(cal.getTime()); } }.run();
@Override public void testResults(SubmissionResults results) { results.assertNoErrors(); List<Obs> obsList = os.getObservationsByPersonAndConcept(results.getPatient(), cs.getConcept("4200")); Assert.assertEquals(obsList.size(),0); }
private SubmissionResults doSubmission(FormEntrySession session, HttpServletRequest request) throws Exception { SubmissionResults results = new SubmissionResults(); session.prepareForSubmit(); List<FormSubmissionError> validationErrors = session.getSubmissionController().validateSubmission( session.getContext(), request); if (validationErrors != null && validationErrors.size() > 0) { results.setValidationErrors(validationErrors); return results; } session.getSubmissionController().handleFormSubmission(session, request); if (session.getContext().getMode() == Mode.ENTER && session.hasEncouterTag() && (session.getSubmissionActions().getEncountersToCreate() == null || session.getSubmissionActions() .getEncountersToCreate().size() == 0)) throw new IllegalArgumentException("This form is not going to create an encounter"); Context.getService(HtmlFormEntryService.class).applyActions(session); results.setPatient(session.getPatient()); results.setEncounterCreated(session.getEncounter()); results.setFormEntrySession(session); return results; }
@Override public void testEditedResults(SubmissionResults results) { Date datePartOnly = ymdToDate(dateAsString(date)); results.assertNoErrors(); results.assertPatient(); Assert.assertEquals("Given", results.getPatient().getGivenName()); Assert.assertEquals("Family", results.getPatient().getFamilyName()); Assert.assertEquals("F", results.getPatient().getGender()); Assert.assertEquals(datePartOnly, results.getPatient().getBirthdate()); Assert.assertEquals(false, results.getPatient().getBirthdateEstimated()); Assert.assertEquals("987654-1", results.getPatient().getPatientIdentifier().getIdentifier()); results.assertEncounterEdited(); Assert.assertEquals(datePartOnly, results.getEncounterCreated().getEncounterDatetime()); results.assertProvider(502); results.assertLocation(2); results.assertObsCreatedCount(3); results.assertObsCreated(2,new Double(75)); results.assertObsCreated(8, "Bee stings"); results.assertObsCreated(1119, datePartOnly); } }.run();
@Override public void testEditedResults(SubmissionResults results) { results.assertNoErrors(); Encounter encounter = results.getEncounterCreated(); assertThat(encounter.getAllObs(false).size(), is(2)); // should be two non-voided obs of value 1002 & 1003 assertThat(encounter.getAllObs(true).size(), is(3)); // should be three obs included the voided obs for 1001 Set<Integer> valueCoded = new HashSet<Integer>(); for (Obs obs : encounter.getAllObs(true)) { if (obs.isVoided()) { assertThat(obs.getValueCoded().getId(), is(1001)); } else { valueCoded.add(obs.getValueCoded().getId()); } } assertTrue(valueCoded.contains(1002)); assertTrue(valueCoded.contains(1003)); }
@Override public void testResults(SubmissionResults results) { results.assertNoErrors(); results.assertEncounterCreated(); results.assertLocation(2); Map<EncounterRole, Set<Provider>> byRoles = results.getEncounterCreated().getProvidersByRoles(); Assert.assertEquals(1, byRoles.size()); Set<Provider> doctors = byRoles.get(Context.getEncounterService().getEncounterRole(3)); Assert.assertEquals(2, doctors.size()); // we can't guarantee the order of providers, but make sure both providers are now present Set<Integer> providerIds = new HashSet<Integer>(); for (Provider doctor : doctors) { providerIds.add(doctor.getId()); } Assert.assertEquals(2, providerIds.size()); Assert.assertTrue(providerIds.contains(1)); Assert.assertTrue(providerIds.contains(2)); }
@Override public void testResults(SubmissionResults results) { results.assertNoErrors(); results.assertEncounterCreated(); Encounter e = results.getEncounterCreated(); Assert.assertTrue(e != null); Assert.assertTrue(e.getOrders() != null); Assert.assertTrue(e.getOrders().size() == 3); for (Order o : e.getOrders()){ if (o instanceof DrugOrder == false) Assert.assertTrue(false); Assert.assertTrue(dateAsString(o.getStartDate()).equals(dateAsString(date))); Assert.assertTrue(o.isDiscontinued(new Date(date.getTime() + 5000))); Assert.assertTrue(o.getDiscontinuedReason().getConceptId().equals(102)); } } }.run();
@Override public void testResults(SubmissionResults results) { Date datePartOnly = ymdToDate(dateAsString(date)); results.assertNoErrors(); results.assertPatient(); Assert.assertEquals("Given", results.getPatient().getPersonName().getGivenName()); Assert.assertEquals("Family", results.getPatient().getPersonName().getFamilyName()); Assert.assertEquals("F", results.getPatient().getGender()); Assert.assertEquals(datePartOnly, results.getPatient().getBirthdate()); Assert.assertEquals(false, results.getPatient().getBirthdateEstimated()); Assert.assertEquals("987654-1", results.getPatient().getPatientIdentifier().getIdentifier()); results.assertEncounterCreated(); Assert.assertEquals(datePartOnly, results.getEncounterCreated().getEncounterDatetime()); results.assertProvider(502); results.assertLocation(2); } }.run();
public void testEditedResults(SubmissionResults results) { results.assertNoErrors(); ProgramWorkflowState state = Context.getProgramWorkflowService().getStateByUuid(START_STATE); // first verify that the existing patient program still exists and that the enrollment date has not been changed PatientProgram patientProgram = getPatientProgramByState(results.getPatient(), state, DATE); Assert.assertNotNull(patientProgram); Assert.assertEquals(dateAsString(DATE), dateAsString(patientProgram.getDateEnrolled())); // assert that the program has only one state Assert.assertEquals(1, patientProgram.getStates().size()); // assert that the start state of the state is correct PatientState patientState = getPatientState(patientProgram, state, DATE); Assert.assertNotNull(patientState); Assert.assertEquals(dateAsString(DATE), dateAsString(patientState.getStartDate())); Assert.assertNull(patientState.getEndDate()); }
public void testEditedResults(SubmissionResults results) { Encounter editedEncounter = results.getEncounterCreated(); List<Order> orders = getOrderedOrders(editedEncounter); Drug drug = Context.getConceptService().getDrug(2); assertThat(orders, contains( allOf(hasProperty("drug", is(drug)), hasProperty("dose", is(1.0)), hasProperty("dateActivated", is(ymdToDate(dateAsString(date))))), allOf(hasProperty("drug", is(drug)), hasProperty("dose", is(2.0)), hasProperty("action", is(Order.Action.REVISE))), allOf(hasProperty("drug", is(drug)), hasProperty("dateActivated", is(ymdToDate(dateAsString(date)))), hasProperty("action", is(Order.Action.DISCONTINUE))) )); } };
public void testEditedResults(SubmissionResults results) { ProgramWorkflowState state = Context.getProgramWorkflowService().getStateByUuid(MIDDLE_STATE); PatientProgram patientProgram = getPatientProgramByState(results.getPatient(), state, DATE); PatientState patientState = getPatientState(patientProgram, state, DATE); Assert.assertNotNull(patientProgram); // assert that the start dates of the program and state have been moved Assert.assertEquals(dateAsString(PAST_DATE), dateAsString(patientProgram.getDateEnrolled())); Assert.assertEquals(dateAsString(PAST_DATE), dateAsString(patientState.getStartDate())); Assert.assertNull(patientState.getEndDate()); // assert that the other state no longer exists state = Context.getProgramWorkflowService().getStateByUuid(START_STATE); patientState = getPatientState(patientProgram, state, DATE); Assert.assertNull(patientState); }
@Override public void testResults(SubmissionResults results) { results.assertNoErrors(); results.assertEncounterCreated(); results.assertProvider(502); results.assertLocation(2); //Then: Workflow state Y is created with a start date of the encounter date 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())); Assert.assertEquals(dateAsString(DATE), dateAsString(patientProgram.getDateEnrolled())); } }.run();
public void testEditedResults(SubmissionResults results) { results.assertNoErrors(); 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()); // assert that the other state no longer exists state = Context.getProgramWorkflowService().getStateByUuid(START_STATE); patientState = getPatientState(patientProgram, state, DATE); Assert.assertNull(patientState); } }.run();
@Override public void testEditedResults(SubmissionResults results) { Date datePartOnly = ymdToDate(dateAsString(date)); results.assertNoErrors(); results.assertPatient(); results.getPatient().getPersonName(); Assert.assertEquals("Mike", results.getPatient().getGivenName()); Assert.assertEquals("Den", results.getPatient().getFamilyName()); Assert.assertEquals("M", results.getPatient().getGender()); results.assertObsCreated(2, 100d); Assert.assertEquals(datePartOnly, results.getEncounterCreated().getEncounterDatetime()); results.assertProvider(502); results.assertLocation(2); results.assertEncounterEdited(); }
public void testEditedResults(SubmissionResults results) { Encounter editedEncounter = results.getEncounterCreated(); List<Order> orders = getOrderedOrders(editedEncounter); Drug drug = Context.getConceptService().getDrug(2); assertThat(orders, contains( allOf(hasProperty("drug", is(drug)), hasProperty("dose", is(1.0)), hasProperty("dateActivated", is(ymdToDate(dateAsString(date))))), allOf(hasProperty("drug", is(drug)), hasProperty("voided", is(true)), hasProperty("action", is(Order.Action.DISCONTINUE)), hasProperty("dateActivated", is(ymdToDate(dateAsString(discontinueDate))))), allOf(hasProperty("drug", is(drug)), hasProperty("dateActivated", is(ymdToDate(dateAsString(newDiscontinueDate)))), hasProperty("action", is(Order.Action.DISCONTINUE))) )); } };
@Override public void testResults(SubmissionResults results) { results.assertNoErrors(); results.assertEncounterCreated(); results.assertLocation(2); Map<EncounterRole, Set<Provider>> byRoles = results.getEncounterCreated().getProvidersByRoles(); Assert.assertEquals(2, byRoles.size()); Set<Provider> doctors = byRoles.get(Context.getEncounterService().getEncounterRole(3)); Set<Provider> nurses = byRoles.get(Context.getEncounterService().getEncounterRole(2)); Assert.assertEquals(1, doctors.size()); Assert.assertEquals(1, nurses.size()); Assert.assertEquals(2, (int) doctors.iterator().next().getProviderId()); Assert.assertEquals(1, (int) nurses.iterator().next().getProviderId()); }
@Override public void testResults(SubmissionResults results) { results.assertNoErrors(); 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()); }
@Override public void testEditedResults(SubmissionResults results) { results.assertNoErrors(); 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()); }
public void assertEncounterType(Integer expectedEncounterTypeId) { assertEncounterType(); Assert.assertEquals(expectedEncounterTypeId, getEncounterCreated().getEncounterType().getEncounterTypeId()); }