if (successView != null) { successView = successView.replaceAll("\\{\\{patient.id\\}\\}", session.getPatient().getId().toString()); successView = successView.replaceAll("\\{\\{encounter.id\\}\\}", session.getEncounter().getId().toString()); successView = request.getContextPath() + "/" + successView; } else {
@Before public void setUp() { patient = new Patient(); encounter = new Encounter(); encounter.setPatient(patient); unknownConcept = new Concept(); patientService = mock(PatientService.class); submissionController = mock(FormSubmissionController.class); formEntrySession = mock(FormEntrySession.class); when(formEntrySession.getSubmissionController()).thenReturn(submissionController); when(formEntrySession.getPatient()).thenReturn(patient); when(formEntrySession.getEncounter()).thenReturn(encounter); tagHandler = new MarkPatientDeadTagHandler() { @Override Concept getUnknownConcept() { return unknownConcept; } }; tagHandler.setPatientService(patientService); }
@Override public void applyAction(FormEntrySession session) { Patient patient = session.getPatient(); Encounter encounter = session.getEncounter(); patient.setDead(true); if (deathDateFromEncounter) { if (patient.getDeathDate() == null || !preserveExistingDeathDate) { patient.setDeathDate(encounter.getEncounterDatetime()); } } if (patient.getCauseOfDeath() == null || !preserveExistingCauseOfDeath) { Concept causeOfDeath = null; if (causeOfDeathFromObs != null) { causeOfDeath = findObsCodedValue(session.getEncounter(), causeOfDeathFromObs); } if (causeOfDeath == null) { // don't overwrite with Unknown, even if we haven't specifically said to preserve existing causeOfDeath = patient.getCauseOfDeath(); } if (causeOfDeath == null) { causeOfDeath = getUnknownConcept(); } patient.setCauseOfDeath(causeOfDeath); } patientService.savePatient(patient); }
Encounter encounter = session.getEncounter(); SerializableFormObject formObject = null; if (patient != null && encounter != null) {
newState.getProgramWorkflow().getProgram(), session.getEncounter().getEncounterDatetime()); PatientProgram patientProgram = oldPatientState.getPatientProgram(); Date previousEncounterDate = session.getContext().getPreviousEncounterDate(); Date newEncounterDate = session.getEncounter().getEncounterDatetime(); state.getProgramWorkflow().getProgram(), session.getEncounter().getEncounterDatetime());
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; }