public ims.core.vo.DiagnosisVo saveDiagnosisVo(ims.core.vo.DiagnosisVo voDiagnosisVo) throws StaleObjectException, UniqueKeyViolationException { if (!voDiagnosisVo.isValidated()) { throw new DomainRuntimeException("This DiagnosisVo has not been validated"); } DomainFactory factory = getDomainFactory(); Diagnosis domDiagnosis = DiagnosisVoAssembler.extractDiagnosis(factory, voDiagnosisVo); domDiagnosis.setKeywords(Keywords.setupKeyWords(domDiagnosis.getKeywords(), domDiagnosis.getDiagnosisName())); try { factory.save(domDiagnosis); } catch(UnqViolationUncheckedException e) { //check which constraint was violated (name/taxononmy map) //name Diagnosis diag = Diagnosis.getDiagnosisFromDiagnosisName(factory, voDiagnosisVo.getDiagnosisName()); if (diag != null && diag.getId() != null && !(diag.getId().equals(voDiagnosisVo.getID_Diagnosis()))) { throw new UniqueKeyViolationException("Diagnosis record called \"" + voDiagnosisVo.getDiagnosisName() + "\" already exists. Duplicates not allowed.", e); } //taxonomy map String dupMessage = Keywords.checkDuplicateTaxonomy(factory, domDiagnosis, voDiagnosisVo.getTaxonomyMap(), "getDiagnosisName"); if(dupMessage != null) throw new UniqueKeyViolationException(dupMessage); throw (e); } return DiagnosisVoAssembler.create(domDiagnosis); }
public DiagnosisVo saveDiagnosisVo(DiagnosisVo voDiagnosisVo) throws StaleObjectException, UniqueKeyViolationException { if (!voDiagnosisVo.isValidated()) { throw new DomainRuntimeException("This DiagnosisVo has not been validated"); } DomainFactory factory = getDomainFactory(); Diagnosis domDiagnosis = DiagnosisVoAssembler.extractDiagnosis(factory, voDiagnosisVo); domDiagnosis.setKeywords(Keywords.setupKeyWords(domDiagnosis.getKeywords(), domDiagnosis.getDiagnosisName())); try { factory.save(domDiagnosis); } catch(UnqViolationUncheckedException e) { //check which constraint was violated (name/taxononmy map) //name Diagnosis diag = Diagnosis.getDiagnosisFromDiagnosisName(factory, voDiagnosisVo.getDiagnosisName()); if (diag != null && diag.getId() != null && !(diag.getId().equals(voDiagnosisVo.getID_Diagnosis()))) { throw new UniqueKeyViolationException("Diagnosis record called \"" + voDiagnosisVo.getDiagnosisName() + "\" already exists. Duplicates not allowed.", e); } //taxonomy map String dupMessage = Keywords.checkDuplicateTaxonomy(factory, domDiagnosis, voDiagnosisVo.getTaxonomyMap(), "getDiagnosisName"); if(dupMessage != null) throw new UniqueKeyViolationException(dupMessage); throw (e); } return DiagnosisVoAssembler.create(domDiagnosis); }
public DiagnosisVo saveDiagnosisVo(DiagnosisVo diagnosisToSave) throws StaleObjectException, UniqueKeyViolationException { if (!diagnosisToSave.isValidated()) { throw new DomainRuntimeException("This DiagnosisVo has not been validated"); } DomainFactory factory = getDomainFactory(); Diagnosis domDiagnosis = DiagnosisVoAssembler.extractDiagnosis(factory, diagnosisToSave); domDiagnosis.setKeywords(Keywords.setupKeyWords(domDiagnosis.getKeywords(), domDiagnosis.getDiagnosisName())); try { factory.save(domDiagnosis); } catch(UnqViolationUncheckedException e) { //check which constraint was violated (name/taxononmy map) //name Diagnosis diag = Diagnosis.getDiagnosisFromDiagnosisName(factory, diagnosisToSave.getDiagnosisName()); if (diag != null && diag.getId() != null && !(diag.getId().equals(diagnosisToSave.getID_Diagnosis()))) { throw new UniqueKeyViolationException("Diagnosis record called \"" + diagnosisToSave.getDiagnosisName() + "\" already exists. Duplicates not allowed.", e); } //taxonomy map String dupMessage = Keywords.checkDuplicateTaxonomy(factory, domDiagnosis, diagnosisToSave.getTaxonomyMap(), "getDiagnosisName"); if(dupMessage != null) throw new UniqueKeyViolationException(dupMessage); throw (e); } return DiagnosisVoAssembler.create(domDiagnosis); }
public ims.core.vo.DiagnosisVo getDiagnosisVo(DiagnosisRefVo voDiagnosisRef) { DomainFactory factory = getDomainFactory(); Diagnosis med = (Diagnosis) factory.getDomainObject(Diagnosis.class, voDiagnosisRef.getID_Diagnosis()); return (DiagnosisVoAssembler.create(med)); }
/** * Given an IGenericItemInfo interface, returns an ICciFull interface, based on the given CciType * @param IGenericItemInfo * @param CciType * @return ICciFull * @author mmccarthy */ public ICciFull getCci(IGenericItemInfo cci, CciType cciType) { DomainFactory factory = getDomainFactory(); if (cci.getIGenericItemInfoID()!=null) { if (cciType.equals(CciType.ALLERGEN)) { return AllergenDetailsAssembler.create((Allergen)factory.getDomainObject(Allergen.class, cci.getIGenericItemInfoID())); } else if (cciType.equals(CciType.MEDICATION)) { return MedicationFullVoAssembler.create((Medication)factory.getDomainObject(Medication.class, cci.getIGenericItemInfoID()));//WDEV-11921 } else if (cciType.equals(CciType.DIAGNOSIS)) { return DiagnosisVoAssembler.create((Diagnosis)factory.getDomainObject(Diagnosis.class, cci.getIGenericItemInfoID())); } else if (cciType.equals(CciType.PROBLEM)) { return ProblemConfigVoAssembler.create((ClinicalProblem)factory.getDomainObject(ClinicalProblem.class, cci.getIGenericItemInfoID())); } else if (cciType.equals(CciType.PROCEDURE)) { return ProcedureVoAssembler.create((Procedure)factory.getDomainObject(Procedure.class, cci.getIGenericItemInfoID())); } else if (cciType.equals(CciType.CANCERIMAGE)) { return CancerImagingEventVoAssembler.create((CancerImagingEvent)factory.getDomainObject(CancerImagingEvent.class, cci.getIGenericItemInfoID())); } else if (cciType.equals(CciType.VACCINE)) { return VaccineVoAssembler.create((Vaccine) factory.getDomainObject(Vaccine.class, cci.getIGenericItemInfoID())); } else if(cciType.equals(CciType.PRESENTING_ISSUE)) { return PresentingComplaintVoAssembler.create((PresentingComplaint) factory.getDomainObject(PresentingComplaint.class, cci.getIGenericItemInfoID())); } else if(cciType.equals(CciType.TREATMENT_INTERVENTION)) //WDEV-17060 { return TreatmentInterventionVoAssembler.create((TreatmentIntervention) factory.getDomainObject(TreatmentIntervention.class, cci.getIGenericItemInfoID())); } else { throw new DomainRuntimeException("Unknown CCI type in 'getCci' = " + cciType.toString()); } } else return null; }
public DiagnosisVo getDiagnosisWithTaxonomyMappings(DiagnosisRefVo diagRefVo) { DomainFactory factory = getDomainFactory(); Diagnosis med = (Diagnosis) factory.getDomainObject(Diagnosis.class, diagRefVo.getID_Diagnosis()); return (DiagnosisVoAssembler.create(med)); }
@SuppressWarnings("unchecked") public DiagnosisVoCollection getHotListItems(String text, Specialty specialty) throws DomainInterfaceException { DomainFactory factory = getDomainFactory(); StringBuffer hql = new StringBuffer("select hListItem.diagnosis from DiagnosisHotlist as diagnosisHotlist " + "left join diagnosisHotlist.hotListItem as hListItem " + "left join hListItem.diagnosis as diagnosisItem join diagnosisItem.keywords as kw " + "left join diagnosisHotlist.specialty as dSpeciality where diagnosisHotlist.isRIE is null and (dSpeciality.id = :lkpSpeciality)"); ArrayList names = new ArrayList(); ArrayList values = new ArrayList(); names.add("lkpSpeciality"); values.add(specialty.getID()); List resultList = Keywords.searchByKeywords(factory, text, hql.toString(), names, values); if(resultList.size() > 0) return DiagnosisVoAssembler.createDiagnosisVoCollectionFromDiagnosis(resultList); return null; }
public DiagnosisVo getDiagnosisByName(String strDiagnosisName) { DomainFactory factory = getDomainFactory(); Diagnosis domDiagnosis = Diagnosis.getDiagnosisFromDiagnosisName(factory, strDiagnosisName); return DiagnosisVoAssembler.create(domDiagnosis); }