private void populateAllergyListControl(PatientAllergyEDischargeVoCollection voCollPatientAllergy) { clearAllergyDetailsPanel(); clearAllergyGrid(); if (voCollPatientAllergy != null) { PatientAllergyEDischargeVo voPatientAllergy = null; grdAllergiesRow row = null; for (int i=0; i<voCollPatientAllergy.size(); i++) { voPatientAllergy = voCollPatientAllergy.get(i); row = form.grdAllergies().getRows().newRow(); populateAllergyRow(voPatientAllergy, row); } } }
/** * lists patient allergies, filtering by patient and active status */ public PatientAllergyEDischargeVoCollection listPatientAllergies(ims.core.vo.PatientShort patient, Boolean active) { if(patient == null) throw new CodingRuntimeException("Mandatory parameter - Patient not supplied"); ArrayList names = new ArrayList(); ArrayList values = new ArrayList(); DomainFactory factory = getDomainFactory(); StringBuffer hql = new StringBuffer("from PatientAllergy patAlrg "); hql.append(" where patAlrg.patient.id = :patient"); names.add("patient"); values.add(patient.getID_Patient()); if (active.equals(Boolean.TRUE)) { hql.append (" and patAlrg.isCurrentlyActiveAllergy = :isActive"); names.add("isActive"); values.add(Boolean.TRUE); } List list = factory.find(hql.toString(), names,values); return (PatientAllergyEDischargeVoAssembler.createPatientAllergyEDischargeVoCollectionFromPatientAllergy(list).sort()); }
private void openAllergy() { clearAllergyDetailsPanel(); boolean hasAllergies = false; PatientAllergyEDischargeVoCollection voCollPatientAllergy = domain.listPatientAllergies(form.getGlobalContext().Core.getPatientShort(), Boolean.FALSE); PatientAllergyEDischargeVoCollection voColl = new PatientAllergyEDischargeVoCollection(); if(voCollPatientAllergy != null && voCollPatientAllergy.size() > 0) { hasAllergies = true; // if (form.groupFilter().getValue().equals(GenForm.groupFilterEnumeration.rdoActive)) // { for (int i = 0; i < voCollPatientAllergy.size(); i++) { if (voCollPatientAllergy.get(i) != null) if (voCollPatientAllergy.get(i).getIsCurrentlyActiveAllergyIsNotNull()) if(voCollPatientAllergy.get(i).getIsCurrentlyActiveAllergy()) { voColl.add(voCollPatientAllergy.get(i)); } } // } // else // { // voColl = voCollPatientAllergy; // } } setToolBarAllergies(hasAllergies); // refresh the local and global contexts due to whether the patient has active allergies or not form.getLocalContext().setbActiveAllergies(new Boolean(hasAllergies)); populateAllergyListControl(voColl); // select record in the grid if the local context value is not null and populate details panel if (form.getLocalContext().getVoAllergyIsNotNull()) { form.grdAllergies().setValue(form.getLocalContext().getVoAllergy()); form.getLocalContext().setVoAllergy(form.grdAllergies().getValue()); // updates for concurrent use if (form.getLocalContext().getVoAllergyIsNotNull()) populateAllergyDetailsPanel(form.grdAllergies().getValue()); } form.getLocalContext().setbEditingAllergy(false); form.setMode(FormMode.VIEW); }