} // end of CreateNurse #endregion #region CreateTreatmentFacility /// <summary> /// Creates a treatment facility drawing object, different objects for different /// skill types of treatment facilities are generated, e.g. CT or MRI /// </summary> /// <param name="entity">Treatment facility entity</param> /// <returns>A drawing object visualizing a treatment facility</returns> public DrawingObject CreateTreatmentFacility(Entity entity) { EntityTreatmentFacility treatFac = (EntityTreatmentFacility)entity; DrawingObject drawTreatFac; if (treatFac.HasSingleSill("Register")) { drawTreatFac = new DrawRegisterBooth(treatFac, treatFac.Position, treatFac.Size, PersonSize, Colors.Gray); } else if (treatFac.HasSingleSill("MRI")) { drawTreatFac = new DrawMRICTFacility(treatFac, treatFac.Position, treatFac.Size, PersonSize, Colors.Gray); } else if (treatFac.HasSingleSill("CT")) { drawTreatFac = new DrawMRICTFacility(treatFac, treatFac.Position, treatFac.Size, PersonSize, Colors.Gray); } else if (treatFac.HasSingleSill("XRay")) { drawTreatFac = new DrawXRay(treatFac, treatFac.Position, treatFac.Size, PersonSize, Colors.Gray); } else { drawTreatFac = new DrawTreatmentFacility(treatFac, treatFac.Position, treatFac.Size, PersonSize, Colors.Gray); } drawTreatFac.CaptionSize = 24; drawTreatFac.SetCaption(treatFac.ToString(), CustomStringAlignment.Left); return(drawTreatFac); } // end of CreatePatient
} // end of WaitInFacilityEnd #endregion #region WaitInFacilityStart /// <summary> /// Method that visualized the start of a wait in facility action, patient is added to /// the drawing system and set to the corresponding positions in the treatment facility /// (if it is not a multiple patient treatment facility). /// </summary> /// <param name="activity">Instance of health care action</param> /// <param name="time">Time the activity is started</param> public void WaitInFacilityStart(Activity activity, DateTime time) { ActivityWaitInFacility waitInFac = (ActivityWaitInFacility)activity; if (waitInFac.Facility is EntityMultiplePatientTreatmentFacility) { return; } DrawPatient drawPatient = (DrawPatient)DrawingObjectPerEntity(waitInFac.Patient); DrawTreatmentFacility drawTreatFac = (DrawTreatmentFacility)ParentDepartmentVisualization.DrawingObjectPerEntity(waitInFac.Facility); drawPatient.SetPositionType(drawTreatFac.PatientPositionType); drawPatient.SetPosition(drawTreatFac.PatientInRoomPosition); } // end of WaitInFacilityEnd