private static String onePatient(PatientData patient, ISPDBL patComp)
        {
            StringBuilder sb = new StringBuilder();
            OperationData operation = patComp.GetLastOperationByPatientID(patient.Id);
            VisitData visit = patComp.GetLastVisitByPatientID(patient.Id);
            StringBuilder toDoSB = new StringBuilder();

            sb.Append(firstLine(patient));
            sb.Append(name(patient));
            sb.Append(opDiagnoses(operation));
            if (operation == null || String.IsNullOrEmpty(operation.Diagnoses)) {
                sb.Append(visitDiagnoses(visit));
            }
            sb.Append(opPerformed(operation));
            sb.Append(opTeam(operation));
            sb.Append(seperator());
            return sb.ToString();
        }
        private static String onePatient(PatientData patient, ISPDBL patComp, long year, long halfyear, ActionKind actionKind)
        {
            StringBuilder sb = new StringBuilder();
            OperationData operation = patComp.GetLastOperationByPatientID(patient.Id);
            VisitData visit = patComp.GetLastVisitByPatientID(patient.Id);
            StringBuilder toDoSB = new StringBuilder();
            foreach (NextActionData nextAction in patComp.GetNextActionsByPatientID(patient.Id)) {
                if (nextAction.ActionYear == year &&
                    nextAction.ActionhalfYear == halfyear &&
                    nextAction.ActionKind == actionKind &&
                    !String.IsNullOrEmpty(nextAction.Todo)) {
                    toDoSB.Append(nextAction.Todo);
                }
            }

            sb.Append(firstLine(patient));
            sb.Append(name(patient));
            sb.Append(opDiagnoses(operation));
            sb.Append(visitDiagnoses(visit));
            sb.Append(visitTherapy(visit));
            sb.Append(toDo(toDoSB.ToString()));
            sb.Append(seperator());
            return sb.ToString();
        }
        public static PatientBean convert(PatientData patientData, ISPDBL patComp)
        {
            PatientBean patientBean = new PatientBean();
            patientBean.ID = patientData.Id;
            patientBean.FirstName = patientData.FirstName;
            patientBean.SurName = patientData.SurName;
            patientBean.Age = StaticUtilities.getAgeFromBirthDate(patientData.DateOfBirth);
            patientBean.Phone = patientData.Phone;
            patientBean.Sex = patientData.Sex.ToString();
            patientBean.Weight = patientData.Weight.ToString();
            patientBean.Address = patientData.Address;

            switch (patientData.ResidentOfAsmara) {
                case ResidentOfAsmara.yes :
                    patientBean.ResidentOfAsmara = "yes";
                    break;
                case ResidentOfAsmara.no :
                    patientBean.ResidentOfAsmara = "no";
                    break;
                case ResidentOfAsmara.undefined:
                    patientBean.ResidentOfAsmara = string.Empty;
                    break;
                default:
                    throw new InvalidOperationException(patientData.ResidentOfAsmara + "not supportet!!");
            }

            switch (patientData.Ambulant) {
                case Ambulant.ambulant:
                    patientBean.Ambulant = "yes";
                    break;
                case Ambulant.notAmbulant:
                    patientBean.Ambulant = "no";
                    break;
                default:
                    throw new InvalidOperationException(patientData.Ambulant + "not supportet!!");
            }

            switch (patientData.Finished) {
                case Finished.finished:
                    patientBean.Finished = "yes";
                    break;
                case Finished.notFinished:
                    patientBean.Finished = "no";
                    break;
                case Finished.undefined:
                    patientBean.Finished = string.Empty;
                    break;
                default:
                    throw new InvalidOperationException(patientData.Finished + "not supportet!!");
            }

            switch (patientData.Linz) {
                case Linz.finished:
                    patientBean.Linz = "finished";
                    break;
                case Linz.notPlanned:
                    patientBean.Linz = string.Empty;
                    break;
                case Linz.undefined:
                    patientBean.Linz = string.Empty;
                    break;
                case Linz.running:
                    patientBean.Linz = "running";
                    break;
                case Linz.planned:
                    patientBean.Linz = "planed";
                    break;
                default:
                    throw new InvalidOperationException(patientData.Linz + "not supportet!!");
            }

            patientBean.WaitListStartDate = patientData.WaitListStartDate == null ? string.Empty : ((DateTime)patientData.WaitListStartDate).ToShortDateString();

            patientBean.NoOfOPs = patComp.GetOperationsByPatientID(patientData.Id).Count.ToString();
            patientBean.NoOfVisits = patComp.GetVisitsByPatientID(patientData.Id).Count.ToString();

            VisitData lastVisit = patComp.GetLastVisitByPatientID(patientData.Id);

            if (lastVisit == null) {
                patientBean.VisitDiagnosis = string.Empty;
                patientBean.VisitProcedure = string.Empty;
            } else {
                patientBean.VisitDiagnosis = lastVisit.ExtraDiagnosis;
                patientBean.VisitProcedure = lastVisit.Procedure;
            }

            return patientBean;
        }