/** Create a patient and then requery it */ @Test public void testGetById() throws Exception { Patient patient = roleHelper.createPatient("564564564", testRenalUnit, testDiseaseUnit); patientManager.save(patient); Patient returnPatient = patientManager.getById(patient.getId()); Assert.assertNotNull("There must be a patient returned", returnPatient); Assert.assertTrue( "The two patients must have the same id", patient.getId().equals(patient.getId())); }
@Test public void testExecute() throws Exception { int uktFilesSize = 0; String parentDir = ResourceUtils.getFile("classpath:schedule/test-uktstatus.gpg.txt").getParent(); setUktDirectory(parentDir); File uktDir = new File(uktDirectory); File[] uktFiles = uktDir.listFiles( new FilenameFilter() { public boolean accept(File dir, String name) { return name.endsWith("uktstatus.gpg.txt"); } }); if (uktFiles != null) { uktFilesSize = uktFiles.length; } assertTrue("Can not read UKT files", uktFilesSize != 0); uktImportExportScheduler.setUktDirectory(parentDir); uktImportExportScheduler.setUktExportDirectory(parentDir); uktImportExportScheduler.execute(); UktStatus uktStatus = ukTransplantManager.getUktStatus("9876543210"); if (uktFilesSize > 0) { assertNotNull("UktStatus not be saved", uktStatus); File file = ResourceUtils.getFile("classpath:schedule/ukt_rpv_export.txt"); CSVParser uktParser = new CSVParser(new FileReader(file)); uktParser.changeDelimiter(','); String[][] uktValues = uktParser.getAllValues(); assertEquals("nhsno not same", patient.getNhsno(), uktValues[0][0]); assertEquals("surname not same", patient.getSurname(), uktValues[0][1]); assertEquals("forname not same", patient.getForename(), uktValues[0][2]); assertEquals("postcode not same", patient.getPostcode(), uktValues[0][4]); uktParser.close(); } else { assertNull("Wrong entity exists.", uktStatus); } }
@Before public void setupSystem() throws Exception { specialty = repositoryHelpers.createSpecialty("Specialty1", "ten1", "A test specialty"); user = repositoryHelpers.createUserWithMapping( "username", "*****@*****.**", "p", "username", "UNITCODEA", "9876543211", specialty); patient = new Patient(); patient.setNhsno("9876543211"); patient.setUnitcode("UNITCODEA"); patient.setSurname("surname"); patient.setForename("forname"); patient.setPostcode("postcode"); patient.setDateofbirth(new Date()); patientDao.save(patient); }
public void saveTreatment(Treatment treatment) throws InvalidModelException { // validation List<String> errors = new ArrayList<String>(); List<Treatment> treatmentsList = treatmentDao.getTreatmentsByRadarNumber(treatment.getRadarNumber()); // Cannot start a new treatment after a previous treatment start date which has not been closed for (Treatment existingTreatment : treatmentsList) { if (existingTreatment.getId().equals(treatment.getId())) { continue; } if (existingTreatment.getEndDate() == null && treatment.getStartDate().compareTo(existingTreatment.getStartDate()) > 0) { if (treatment.getEndDate() != null) { if (treatment.getEndDate().compareTo(existingTreatment.getStartDate()) > 0) { errors.add(TreatmentManager.PREVIOUS_TREATMENT_NOT_CLOSED_ERROR); break; } } } } // dates must not overlap for (Treatment existingTreatment : treatmentsList) { if (existingTreatment.getId().equals(treatment.getId())) { continue; } if (RadarUtility.isEventsOverlapping( existingTreatment.getStartDate(), existingTreatment.getEndDate(), treatment.getStartDate(), treatment.getEndDate())) { errors.add(TreatmentManager.OVERLAPPING_ERROR); break; } } List<Date> datesToCheck = Arrays.asList(treatment.getStartDate(), treatment.getEndDate()); // cannot be before date of birth Patient patient = patientManager.getPatientByRadarNumber(treatment.getRadarNumber()); if (patient != null) { Date dob = patient.getDob(); if (dob != null) { for (Date date : datesToCheck) { if (date != null) { if (dob.compareTo(date) > 0) { errors.add(TreatmentManager.BEFORE_DOB_ERROR); break; } } } } } // cannot be after today Date today = new Date(); for (Date date : datesToCheck) { if (date != null) { if (today.compareTo(date) < 0) { errors.add(TreatmentManager.AFTER_TODAY_ERROR); break; } } } if (!errors.isEmpty()) { InvalidModelException exception = new InvalidModelException("treatment model is not valid"); exception.setErrors(errors); throw exception; } treatmentDao.saveTreatment(treatment); }
public AdminPatientPage(PageParameters parameters) { super(); final Patient patient; final PatientUser patientUser; StringValue idValue = parameters.get(PARAM_ID); patientUser = userManager.getPatientUser(idValue.toLong()); patient = patientManager.getPatientByRadarNumber(patientUser.getRadarNumber()); CompoundPropertyModel<PatientUser> patientUserModel = new CompoundPropertyModel<PatientUser>(patientUser); final FeedbackPanel feedback = new FeedbackPanel("feedback"); feedback.setOutputMarkupId(true); feedback.setOutputMarkupPlaceholderTag(true); add(feedback); final Form<PatientUser> userForm = new Form<PatientUser>("patientForm", patientUserModel) { protected void onSubmit() { try { userManager.savePatientUser(getModelObject()); } catch (Exception e) { error("Could not save patient: " + e.toString()); } } }; add(userForm); userForm.add(new Label("radarNo", patientUser.getRadarNumber().toString())); userForm.add(new Label("forename", patient.getForename())); userForm.add(new Label("surname", patient.getSurname())); userForm.add(new RequiredTextField("username")); userForm.add(new Label("dob", patientUser.getDateOfBirth().toString())); userForm.add(new Label("dateRegistered", patientUser.getDateRegistered().toString())); userForm.add( new AjaxSubmitLink("updateTop") { protected void onSubmit(AjaxRequestTarget ajaxRequestTarget, Form<?> form) { setResponsePage(AdminPatientsPage.class); } protected void onError(AjaxRequestTarget ajaxRequestTarget, Form<?> form) { ajaxRequestTarget.add(feedback); } }); userForm.add( new AjaxLink("cancelTop") { public void onClick(AjaxRequestTarget ajaxRequestTarget) { setResponsePage(AdminPatientsPage.class); } }); userForm.add( new AjaxSubmitLink("updateBottom") { protected void onSubmit(AjaxRequestTarget ajaxRequestTarget, Form<?> form) { setResponsePage(AdminPatientsPage.class); } protected void onError(AjaxRequestTarget ajaxRequestTarget, Form<?> form) { ajaxRequestTarget.add(feedback); } }); userForm.add( new AjaxLink("cancelBottom") { public void onClick(AjaxRequestTarget ajaxRequestTarget) { setResponsePage(AdminPatientsPage.class); } }); }