protected void onCmbStatusValueChanged() throws PresentationLogicException { //check the logged on user, Only a HCP from the Team that created the problem can resolve a problem if(form.cmbStatus().getValue() != null && form.cmbStatus().getValue().equals(PatientConcernStatus.RESOLVED)) { Hcp voHcp = (Hcp) domain.getHcpUser(); HcpDisType identifiedByTeamType = form.cmbIdByTeam().getValue(); if(identifiedByTeamType != null) { if(voHcp != null && (!voHcp.getHcpType().equals(identifiedByTeamType))) { form.cmbStatus().setValue(null); engine.showMessage("You are not a member of the team that created the concern and therefore cannot resolve it"); return; } } } }
public PatientCurrentConcernVoCollection listPatientConcern(PatientShort patient, IMos voHcp, PatientConcernStatus patientConcernStatus) { if(patient == null) throw new CodingRuntimeException("Patient is mandatory in method listPatientConcern"); DomainFactory factory = getDomainFactory(); ArrayList markers = new ArrayList(); ArrayList values = new ArrayList(); StringBuffer condStr = new StringBuffer(); String hql = "from PatientConcern conc where conc.careContext.episodeOfCare.careSpell.patient.id = '" + patient.getID_Patient() + "'"; if(voHcp != null && voHcp.getIMosHcpId() != null) { condStr.append(" and conc.allocToTeamMember.id = :idHcp"); markers.add("idHcp"); values.add(voHcp.getIMosHcpId()); } if(patientConcernStatus != null) { condStr.append(" and conc.concernStatus = :status"); markers.add("status"); values.add(getDomLookup(patientConcernStatus)); } hql += condStr.toString(); return PatientCurrentConcernVoAssembler.createPatientCurrentConcernVoCollectionFromPatientConcern(factory.find(hql,markers,values)).sort(); }
private void listPatientConcerns(IMos iHcp, PatientConcernStatus status) { form.getGlobalContext().SpinalInjuries.setViewRecord(new Boolean(false)); form.grdConcernList().getRows().clear(); PatientCurrentConcernVo voConcern; PatientCurrentConcernVoCollection voCollConcerns = domain.listPatientConcern(form.getGlobalContext().Core.getPatientShort(),iHcp,status); GenForm.grdConcernListRow row = null; for(int i=0;i<voCollConcerns.size();i++) { row = form.grdConcernList().getRows().newRow(); voConcern = voCollConcerns.get(i); row.setcolConcern(voConcern.getConcernDescription()); if(voConcern.getMemberIdentifiedIsNotNull()) row.setcolIdentifiedBy(voConcern.getMemberIdentified().toString()); if(voConcern.getAllocToTeamMemberIsNotNull()) row.setcolAllocatedTo(voConcern.getAllocToTeamMember().toString()); if(voConcern.getConcernStatusIsNotNull()) row.setcolStatus(voConcern.getConcernStatus().getText()); //30/11/2005 - Replace Recording/Updating date/time with SystemInformation Date creationDate = SysInfoUtil.getCreationDate(voConcern.getSysInfo()); Date lastUpdatedDate = SysInfoUtil.getLastUpdatedDate(voConcern.getSysInfo()); row.setcolDate(creationDate != null?creationDate.toString():""); row.setcolStatusDate(lastUpdatedDate != null?lastUpdatedDate.toString():creationDate.toString()); row.setValue(voConcern); } form.grdConcernList().setValue(form.getLocalContext().getCurrentConcern()); //WDEV-15355 if(form.grdConcernList().getValue() != null) { form.getLocalContext().setCurrentConcern(domain.getConcern(form.grdConcernList().getValue())); } else { form.getLocalContext().setCurrentConcern(null); } }