private void createDynamicGridResults() { form.dyngrdResults().setSelectable(true); // Get default patient identifier PatIdType dispIdType = PatIdType.getNegativeInstance(ConfigFlag.UI.DISPLAY_PATID_TYPE.getValue()); DynamicGridColumn column = form.dyngrdResults().getColumns().newColumn("Patient Name", COLUMN_PATIENT_NAME); column.setWidth(130); column.setAlignment(Alignment.LEFT); column.setReadOnly(true); column.setCanGrow(true); column.setSortMode(SortMode.AUTOMATIC); column = form.dyngrdResults().getColumns().newColumn(dispIdType.getText(), COLUMN_IDENTIFIER); column.setWidth(90); column.setAlignment(Alignment.LEFT); column.setReadOnly(true); column.setCanGrow(true); column.setSortMode(SortMode.AUTOMATIC); column = form.dyngrdResults().getColumns().newColumn("Urgency", COLUMN_URGENCY); column.setWidth(100); column.setAlignment(Alignment.LEFT); column.setReadOnly(true); column.setCanGrow(true); column.setSortMode(SortMode.AUTOMATIC); column = form.dyngrdResults().getColumns().newColumn("Date on List", COLUMN_DATE_ON_LIST); column.setWidth(90); column.setAlignment(Alignment.LEFT); column.setReadOnly(true); column.setCanGrow(true); column.setSortMode(SortMode.AUTOMATIC); column = form.dyngrdResults().getColumns().newColumn("RTT Breach", COLUMN_RTT_BREACH); column.setWidth(90); column.setAlignment(Alignment.LEFT); column.setReadOnly(true); column.setCanGrow(true); column.setSortMode(SortMode.AUTOMATIC); column = form.dyngrdResults().getColumns().newColumn("Procedure", COLUMN_PROCEDURE); column.setWidth(145); column.setAlignment(Alignment.LEFT); column.setReadOnly(true); column.setCanGrow(true); column.setSortMode(SortMode.AUTOMATIC); column = form.dyngrdResults().getColumns().newColumn("Comments", COLUMN_COMMENTS); column.setWidth(-1); column.setAlignment(Alignment.LEFT); column.setReadOnly(true); column.setCanGrow(true); column.setSortMode(SortMode.AUTOMATIC); }
public DementialManualClassAssemblyVoCollection listPatientsManualAssembley( DementiaWorklistSearchCriteriaVo searchCriteria) { String hqlSB = ""; PatIdType dispIdType = PatIdType.getNegativeInstance(ConfigFlag.UI.DISPLAY_PATID_TYPE.getValue()); hqlSB = "select new ims.clinical.helper.DementialManualClass( dem.id, pattitle.text, pat.name.surname, pat.name.forename," + "(select max(p21_1.value) from Patient as p11_1 left join p11_1.identifiers as p21_1 where (p21_1.type = " + dispIdType.getID() + " and p11_1.id = pat.id)) as HOSPNUM, " + " pat.dob, " + " admward.name, mostitle.text, mos.name.surname, mos.name.forename, demstatus.id, demstatus.text," + " demstatexcl.text, dem.isExcludedFromWorklist, " + " dem.dischargeDateTime," + " dem.breachDateTime, " + "dem.deliriumConfirmed, dem.dementiaConfirmed ) "; hqlSB += "from Dementia as dem left join dem.patient as pat left join pat.name.title as pattitle left join pat.identifiers as patident " + "left join dem.currentWorklistStatus as demstat left join demstat.status as demstatus left join demstat.reasonForExclusion as demstatexcl " + "left join dem.admissionDetail as adm left join adm.ward as admward left join adm.consultant as cons left join cons.mos as mos left join mos.name.title as mostitle left join adm.specialty as spec"; StringBuffer hqlConditions = new StringBuffer(); ArrayList<String> markers = new ArrayList<String>(); ArrayList<Object> values = new ArrayList<Object>(); String andStr = ""; // work list should not list patient with DOD or Dementia is RIE hqlConditions.append(andStr); hqlConditions.append(" pat.dod is null and dem.isRIE is null "); andStr = " and "; if (searchCriteria.getWardIsNotNull()) { hqlConditions.append(andStr); hqlConditions.append(" admward.id=:ward "); markers.add("ward"); values.add(searchCriteria.getWard().getID_Location()); andStr = " and "; } else if (searchCriteria.getHospitalIsNotNull()) { hqlConditions.append(andStr); hqlConditions.append(" admward.parentLocation.id = :hospital"); markers.add("hospital"); values.add(searchCriteria.getHospital().getID_Location()); andStr = " and "; } if (searchCriteria.getAdmissionDateFromIsNotNull()) { hqlConditions.append(andStr); hqlConditions.append(" dem.admissionDateTime >= :dateFrom "); markers.add("dateFrom"); values.add(searchCriteria.getAdmissionDateFrom().getJavaDate()); andStr = " and "; } if (searchCriteria.getAdmissionDateToIsNotNull()) { hqlConditions.append(andStr); hqlConditions.append("dem.admissionDateTime <= :dateTo "); markers.add("dateTo"); values.add(searchCriteria.getAdmissionDateTo().getJavaDate()); andStr = " and "; } if (searchCriteria.getConsultantIsNotNull()) { hqlConditions.append(andStr); hqlConditions.append("cons.id = :consultantId"); markers.add("consultantId"); values.add(searchCriteria.getConsultant().getIMosHcpId()); andStr = " and "; } if (searchCriteria.getSpecialtyIsNotNull()) { hqlConditions.append(andStr); hqlConditions.append("spec = :specialty "); markers.add("specialty"); values.add(getDomLookup(searchCriteria.getSpecialty())); andStr = " and "; } if (searchCriteria.getDementiaStatusIsNotNull()) { hqlConditions.append(andStr); hqlConditions.append("demstatus.id = :Status "); markers.add("Status"); values.add(getDomLookup(searchCriteria.getDementiaStatus()).getId()); andStr = " and "; } if (searchCriteria.getSurnameIsNotNull()) { hqlConditions.append(andStr); hqlConditions.append(" pat.name.upperSurname like :msurname "); markers.add("msurname"); // WDEV-16806 String formatedSurname = searchCriteria.getSurname().replaceAll("[^a-zA-Z]+", ""); values.add(formatedSurname.toUpperCase() + "%"); andStr = " and "; } String ret = ""; if (searchCriteria != null && searchCriteria.getForenameIsNotNull()) ret = searchCriteria.getForename().replaceAll("%", ""); if (searchCriteria.getForenameIsNotNull() && ret.length() != 0) { hqlConditions.append(andStr); hqlConditions.append(" pat.name.upperForename like :mforename "); markers.add("mforename"); // WDEV-16806 String formatedForename = searchCriteria.getForename().replaceAll("[^a-zA-Z]+", ""); values.add(formatedForename.toUpperCase() + "%"); andStr = " and "; } if (searchCriteria.getPatIdTypeIsNotNull() && searchCriteria.getPatIdValueIsNotNull()) { hqlConditions.append(andStr); hqlConditions.append(" patident.type = :idType and patident.value = :idValue "); markers.add("idType"); values.add(getDomLookup(searchCriteria.getPatIdType())); markers.add("idValue"); String idVal = searchCriteria.getPatIdValue().trim(); if (searchCriteria.getPatIdType().equals(PatIdType.NHSN)) // wdev-16377 values.add(searchCriteria.getPatIdValue().replace(" ", "")); else values.add(searchCriteria.getPatIdValue()); andStr = " and "; } if (searchCriteria.getDOB() != null && !searchCriteria.getDOB().toString().equals("__/__/____")) { hqlConditions.append(andStr); hqlConditions.append(" pat.dob between :dobFrom and :dobTo "); markers.add("dobFrom"); markers.add("dobTo"); Integer[] range = searchCriteria.getDOB().toSearchRange(); values.add(range[0]); values.add(range[1]); andStr = " and "; } if (searchCriteria.getInpatientOnly()) { hqlConditions.append(andStr); hqlConditions.append(" dem.dischargeDateTime is null"); andStr = " and "; } if (searchCriteria.getDementiaConfirmed()) { hqlConditions.append(andStr); hqlConditions.append(" dem.dementiaConfirmed = :demConfirmed"); markers.add("demConfirmed"); values.add(searchCriteria.getDementiaConfirmed()); andStr = " and "; } if (!searchCriteria.getExcludeRemoved() && !searchCriteria.getDementiaConfirmed() && !searchCriteria.getDeliriumConfirmed()) { hqlConditions.append(andStr); hqlConditions.append( " (dem.isExcludedFromWorklist = 0 or dem.isExcludedFromWorklist is null)) "); andStr = " and "; } if (searchCriteria.getDeliriumConfirmed()) { hqlConditions.append(andStr); hqlConditions.append(" dem.deliriumConfirmed = :delirumConfirmed"); markers.add("delirumConfirmed"); values.add(searchCriteria.getDeliriumConfirmed()); andStr = " and "; } if (hqlConditions.length() > 0) { hqlConditions.insert(0, " where ("); hqlConditions.append(" ) "); } DomainFactory factory = getDomainFactory(); List<?> refList = factory.find( (hqlSB.toString() + hqlConditions.toString() + " ").toString(), markers, values, 2000); DementialManualClassAssemblyVo voItem = null; DementialManualClassAssemblyVoCollection voColl = new DementialManualClassAssemblyVoCollection(); for (int i = 0; i < refList.size(); i++) { DementialManualClass doDem = (DementialManualClass) refList.get(i); voItem = new DementialManualClassAssemblyVo(); voItem.setDementiaId(doDem.getDementiaId()); voItem.setPatientSurname(doDem.getPatientSurnameName()); voItem.setPatientForename(doDem.getPatientForename()); voItem.setPatientIdentifier(doDem.getPatientIdentifier()); voItem.setPatientDOB( doDem.getPatientDOB() != null ? new ims.framework.utils.PartialDate(doDem.getPatientDOB()) : null); voItem.setWard(doDem.getWard()); voItem.setConsultant(doDem.getConsultant()); voItem.setConsultantSort(doDem.getConsultantSort()); voItem.setCurrentStatus( doDem.getStatusID() != null ? new LookupInstVo(doDem.getStatusID(), doDem.getStatusText(), Boolean.TRUE) : null); voItem.setReasonForExclusion(doDem.getReasonForExclusion()); voItem.setIsExcludedFromWorklist(doDem.getisExcludedFromWorklist()); voItem.setDischargeDateTime( doDem .getDischargeDateTime()); // != null ? new // ims.framework.utils.DateTime(doDem.getDischargeDateTime().getDate(), doDem.ge) : null); voItem.setBreachDateTime( doDem .getBreechDateTime()); // != null ? new ims.framework.utils.DateTime // (doDem.getBreachDateTime()) : null); voItem.setDeliriumConfirmed(doDem.getisDeliriumConfirmed()); voItem.setDementiaConfirmed(doDem.getisDementiaConfirmed()); voColl.add(voItem); } return voColl; }