/** * 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; }