public DischargeMedicationDetailsVo getMedication(CareContextRefVo careContextRefvo) { //TODO Put following two lines back in when the MEDS Componetn for STHK is implemented. // EDischargeMedicationComponent impl = (EDischargeMedicationComponent)getDomainImpl(EDischargeMedicationComponentImpl.class); // return impl.getMedication(careContextRefvo); if(careContextRefvo == null) throw new CodingRuntimeException("careContextRefVo Filter not provided for list call. "); if(careContextRefvo != null) { DomainFactory factory = getDomainFactory(); StringBuffer hql = new StringBuffer(" from MedicationDetails md where "); String andStr = " "; ArrayList<String> markers = new ArrayList<String>(); ArrayList<Serializable> values = new ArrayList<Serializable>(); hql.append(andStr + " md.careContext.id = :careContextId"); markers.add("careContextId"); values.add(careContextRefvo.getID_CareContext()); andStr = " and "; List list = factory.find(hql.toString(), markers,values); if(list != null && list.size() > 0) { DischargeMedicationDetailsVoCollection voColl = DischargeMedicationDetailsVoAssembler.createDischargeMedicationDetailsVoCollectionFromMedicationDetails(list); if(voColl != null && voColl.size() > 0) return voColl.get(0); } } return null; }
/** * saveFuturePlan */ public ims.clinical.vo.DischargeMedicationDetailsVo saveMedication(ims.clinical.vo.DischargeMedicationDetailsVo voMeds) throws ims.domain.exceptions.DomainInterfaceException, ims.domain.exceptions.StaleObjectException { if(voMeds == null) throw new CodingRuntimeException("DischargeMedicationDetailsVo is null"); if(!voMeds.isValidated()) throw new CodingRuntimeException("DischargeMedicationDetailsVo Value Object has not been validated"); DomainFactory factory = getDomainFactory(); MedicationDetails doMeds = DischargeMedicationDetailsVoAssembler.extractMedicationDetails(factory, voMeds); //WDEV-8813 //Workaround for the case when 2 users save in the same time a new DischargeMedicationDetailsVo //In this case the domain.save call doesn't throw a StaleObjectExeption, even if it is the case if (!voMeds.getID_MedicationDetailsIsNotNull()) { DischargeMedicationDetailsVo dmDetail = getMedication(voMeds.getCareContext()); if (dmDetail != null) throw new StaleObjectException(doMeds,"A Discharge Medication Detail has been saved by another user"); } factory.save(doMeds); return DischargeMedicationDetailsVoAssembler.create(doMeds); }
public ims.clinical.vo.DischargeMedicationDetailsVo getMedication(ims.core.admin.vo.CareContextRefVo careContextRefvo) { if(careContextRefvo == null) throw new CodingRuntimeException("careContextRefVo Filter not provided for list call. "); if(careContextRefvo != null) { DomainFactory factory = getDomainFactory(); StringBuffer hql = new StringBuffer(" from MedicationDetails md where "); String andStr = " "; ArrayList<String> markers = new ArrayList<String>(); ArrayList<Serializable> values = new ArrayList<Serializable>(); hql.append(andStr + " md.careContext.id = :careContextId"); markers.add("careContextId"); values.add(careContextRefvo.getID_CareContext()); andStr = " and "; List list = factory.find(hql.toString(), markers,values); if(list != null && list.size() > 0) { DischargeMedicationDetailsVoCollection voColl = DischargeMedicationDetailsVoAssembler.createDischargeMedicationDetailsVoCollectionFromMedicationDetails(list); if(voColl != null && voColl.size() > 0) return voColl.get(0); } } return null; }
public DischargeMedicationDetailsVo getDischargeMedicationDetailsForCareContext(CareContextRefVo careContext) { if(careContext == null || careContext.getID_CareContext() == null) throw new CodingRuntimeException("CareContext is null or id not provided for getDischargeDetailsForCareContext"); DomainFactory factory = getDomainFactory(); List dischargeMedication = factory.find("select md from MedicationDetails as md left join md.careContext as cc where cc.id = :idCareContext", new String[]{"idCareContext"}, new Object[]{careContext.getID_CareContext()}); DischargeMedicationDetailsVoCollection medication = DischargeMedicationDetailsVoAssembler.createDischargeMedicationDetailsVoCollectionFromMedicationDetails(dischargeMedication); return medication != null && medication.size() > 0 ? (medication.get(0) != null ? medication.get(0) : null) : null; }
/** * saveFuturePlan */ public DischargeMedicationDetailsVo saveMedication(DischargeMedicationDetailsVo voMeds, RTLSummaryVo rTLSummary) throws DomainInterfaceException, StaleObjectException { if(voMeds == null) throw new CodingRuntimeException("DischargeMedicationDetailsVo is null"); if(!voMeds.isValidated()) throw new CodingRuntimeException("DischargeMedicationDetailsVo Value Object has not been validated"); DomainFactory factory = getDomainFactory(); MedicationDetails doMeds = DischargeMedicationDetailsVoAssembler.extractMedicationDetails(factory, voMeds); RTLSummary doRTLSummary = RTLSummaryVoAssembler.extractRTLSummary(factory, rTLSummary); //WDEV-18622 //WDEV-8813 //Workaround for the case when 2 users save in the same time a new DischargeMedicationDetailsVo //In this case the domain.save call doesn't throw a StaleObjectExeption, even if it is the case if (!voMeds.getID_MedicationDetailsIsNotNull()) { DischargeMedicationDetailsVo dmDetail = getMedication(voMeds.getCareContext()); if (dmDetail != null) throw new StaleObjectException(doMeds,"A Discharge Medication Detail has been saved by another user"); } factory.save(doMeds); factory.save(doRTLSummary); //WDEV-18622 return DischargeMedicationDetailsVoAssembler.create(doMeds); }