Java tutorial
/** * Copyright (c) 2001-2002. Department of Family Medicine, McMaster University. All Rights Reserved. * This software is published under the GPL GNU General Public License. * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * This software was written for the * Department of Family Medicine * McMaster University * Hamilton * Ontario, Canada */ package oscar.oscarEncounter.oscarConsultationRequest.pageUtil; import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.Vector; import org.apache.commons.lang.time.DateFormatUtils; import org.oscarehr.PMmodule.dao.ProviderDao; import org.oscarehr.common.dao.ConsultationRequestDao; import org.oscarehr.common.dao.ConsultationServiceDao; import org.oscarehr.common.dao.DemographicDao; import org.oscarehr.common.dao.ProfessionalSpecialistDao; import org.oscarehr.common.model.ConsultationRequest; import org.oscarehr.common.model.ConsultationServices; import org.oscarehr.common.model.Demographic; import org.oscarehr.common.model.ProfessionalSpecialist; import org.oscarehr.common.model.Provider; import org.oscarehr.util.MiscUtils; import org.oscarehr.util.SpringUtils; import org.oscarehr.common.model.ConsultDocs; import org.oscarehr.common.dao.ConsultDocsDao; import org.oscarehr.document.dao.DocumentDAO; import org.oscarehr.document.model.Document; public class EctViewConsultationRequestsUtil { public boolean estConsultationVecByTeam(String team) { return estConsultationVecByTeam(team, false, null, null); } public boolean estConsultationVecByTeam(String team, boolean showCompleted) { return estConsultationVecByTeam(team, showCompleted, null, null); } public boolean estConsultationVecByTeam(String team, boolean showCompleted, Date startDate, Date endDate) { return estConsultationVecByTeam(team, showCompleted, null, null, null); } public boolean estConsultationVecByTeam(String team, boolean showCompleted, Date startDate, Date endDate, String orderby) { return estConsultationVecByTeam(team, showCompleted, null, null, null, null); } public boolean estConsultationVecByTeam(String team, boolean showCompleted, Date startDate, Date endDate, String orderby, String desc) { return estConsultationVecByTeam(team, showCompleted, null, null, null, null, null); } private boolean bMultisites = org.oscarehr.common.IsPropertiesOn.isMultisitesEnable(); public boolean estConsultationVecByTeam(String team, boolean showCompleted, Date startDate, Date endDate, String orderby, String desc, String searchDate) { ids = new Vector<String>(); status = new Vector<String>(); patient = new Vector<String>(); provider = new Vector<String>(); providerNo = new Vector(); teams = new Vector<String>(); service = new Vector<String>(); vSpecialist = new Vector<String>(); urgency = new Vector<String>(); date = new Vector<String>(); demographicNo = new Vector<String>(); siteName = new Vector<String>(); this.patientWillBook = new Vector<String>(); apptNo = new Vector<String>(); apptDate = new Vector<String>(); followUpDate = new Vector<String>(); boolean verdict = true; try { ConsultationRequestDao consultReqDao = (ConsultationRequestDao) SpringUtils .getBean("consultationRequestDao"); DemographicDao demoDao = (DemographicDao) SpringUtils.getBean("demographicDao"); ProviderDao providerDao = (ProviderDao) SpringUtils.getBean("providerDao"); ProfessionalSpecialistDao specialistDao = (ProfessionalSpecialistDao) SpringUtils .getBean("professionalSpecialistDao"); ConsultationServiceDao serviceDao = (ConsultationServiceDao) SpringUtils .getBean("consultationServiceDao"); ConsultationRequest consult; Demographic demo; Provider prov; ProfessionalSpecialist specialist; ConsultationServices services; Calendar cal = Calendar.getInstance(); Date date1, date2; String providerId, providerName, specialistName; List consultList = consultReqDao.getConsults(team, showCompleted, startDate, endDate, orderby, desc, searchDate); for (int idx = 0; idx < consultList.size(); ++idx) { consult = (ConsultationRequest) consultList.get(idx); demo = demoDao.getDemographicById(consult.getDemographicId()); services = serviceDao.find(consult.getServiceId()); providerId = demo.getProviderNo(); if (providerId != null && !providerId.equals("")) { prov = providerDao.getProvider(demo.getProviderNo()); providerName = prov.getFormattedName(); providerNo.add(prov.getProviderNo()); } else { providerName = "N/A"; providerNo.add("-1"); } if (consult.getProfessionalSpecialist() == null) { specialistName = "N/A"; } else { specialist = consult.getProfessionalSpecialist(); specialistName = specialist.getLastName() + ", " + specialist.getFirstName(); } demographicNo.add(consult.getDemographicId().toString()); date.add(DateFormatUtils.ISO_DATE_FORMAT.format(consult.getReferralDate())); ids.add(consult.getId().toString()); status.add(consult.getStatus()); patient.add(demo.getFormattedName()); provider.add(providerName); service.add(services.getServiceDesc()); vSpecialist.add(specialistName); urgency.add(consult.getUrgency()); siteName.add(consult.getSiteName()); teams.add(consult.getSendTo()); date1 = consult.getAppointmentDate(); date2 = consult.getAppointmentTime(); if (date1 == null || date2 == null) { cal.set(1970, 0, 1, 1, 0, 0); date1 = date2 = cal.getTime(); } apptDate.add(DateFormatUtils.ISO_DATE_FORMAT.format(date1) + " " + DateFormatUtils.ISO_TIME_FORMAT.format(date2)); patientWillBook.add("" + consult.isPatientWillBook()); date1 = consult.getFollowUpDate(); if (date1 == null) { followUpDate.add("N/A"); } else { followUpDate.add(DateFormatUtils.ISO_DATE_FORMAT.format(date1)); } } } catch (Exception e) { MiscUtils.getLogger().error("Error", e); verdict = false; } return verdict; } public boolean estConsultationVecByDemographic(String demoNo) { ids = new Vector<String>(); status = new Vector<String>(); patient = new Vector<String>(); provider = new Vector<String>(); service = new Vector<String>(); date = new Vector<String>(); this.patientWillBook = new Vector<String>(); urgency = new Vector<String>(); apptDate = new Vector<String>(); reason = new Vector<String>(); consultant = new Vector<String>(); documentNo = new Vector<String>(); boolean verdict = true; try { ConsultationRequestDao consultReqDao = (ConsultationRequestDao) SpringUtils .getBean("consultationRequestDao"); ProviderDao providerDao = (ProviderDao) SpringUtils.getBean("providerDao"); DemographicDao demoDao = (DemographicDao) SpringUtils.getBean("demographicDao"); ProfessionalSpecialistDao specialistDao = (ProfessionalSpecialistDao) SpringUtils .getBean("professionalSpecialistDao"); ConsultationServiceDao serviceDao = (ConsultationServiceDao) SpringUtils .getBean("consultationServiceDao"); ConsultDocsDao cdocumentDao = (ConsultDocsDao) SpringUtils.getBean("consultDocsDao"); DocumentDAO documentDAO = (DocumentDAO) SpringUtils.getBean("documentDAO"); ConsultationRequest consult; Provider prov; Demographic demo; ConsultationServices services; String providerId, providerName; List consultList = consultReqDao.getConsults(demoNo); for (int idx = 0; idx < consultList.size(); ++idx) { consult = (ConsultationRequest) consultList.get(idx); demo = demoDao.getDemographicById(consult.getDemographicId()); providerId = demo.getProviderNo(); if (providerId != null && !providerId.equals("")) { prov = providerDao.getProvider(demo.getProviderNo()); providerName = prov.getFormattedName(); } else { providerName = "N/A"; } ids.add(consult.getId().toString()); status.add(consult.getStatus()); patient.add(demo.getFormattedName()); provider.add(providerName); if (consult.getServiceId() != null) { services = serviceDao.find(consult.getServiceId()); if (services != null) service.add(services.getServiceDesc()); else service.add(""); } else { service.add(""); } urgency.add(consult.getUrgency()); patientWillBook.add("" + consult.isPatientWillBook()); date.add(DateFormatUtils.ISO_DATE_FORMAT.format(consult.getReferralDate())); reason.add(consult.getReasonForReferral()); if (consult.getSpecialistId() != null) { ProfessionalSpecialist ps = specialistDao.getById(consult.getSpecialistId()); if (ps != null) consultant.add(ps.getFormattedName()); else consultant.add(""); } else consultant.add(""); List<ConsultDocs> docList = cdocumentDao.findDocumentsByRequestId(consult.getId()); if (docList.size() > 0) { //modified by rohit to display doc descr in consultation list.. and opening the doc on click of it String docStr = ""; for (ConsultDocs consultDoc : docList) { if (consultDoc != null) { int docNo = consultDoc.getDocumentNo(); Document document = documentDAO.getDocument(docNo + ""); if (docStr.length() == 0) docStr = consultDoc.getDocumentNo() + "#" + document.getDocdesc(); else docStr = docStr + "~" + consultDoc.getDocumentNo() + "#" + document.getDocdesc(); } } documentNo.add(docStr); //documentNo.add(String.valueOf(((cdocumentDao.findByRequestId(consult.getId())).get(0)).getDocumentNo())); } else documentNo.add(""); } } catch (Exception e) { MiscUtils.getLogger().error("Error", e); verdict = false; } return verdict; } public Vector<String> ids; public Vector<String> status; public Vector<String> patient; public Vector<String> teams; public Vector<String> provider; public Vector<String> service; public Vector<String> vSpecialist; public Vector<String> date; public Vector<String> demographicNo; public Vector<String> apptNo; public Vector<String> apptDate; public Vector<String> patientWillBook; public Vector<String> urgency; public Vector<String> followUpDate; public Vector<String> providerNo; public Vector<String> siteName; public Vector<String> reason; public Vector<String> consultant; public Vector<String> documentNo; }