private OptionObject EmailAuthorizationNotification(OptionObject optionObject)
        {
            OptionObject returnOptionObject = new OptionObject();
            //string guarantorID;
            var noteStatus = new FieldObject { FieldNumber = "50010" };
            var serviceCode = new FieldObject { FieldNumber = "51001" };
            var serviceDate = new FieldObject { FieldNumber = "51011" };
            var serviceDuration = new FieldObject { FieldNumber = "51003" };
            foreach (var form in optionObject.Forms)
            {
                foreach (var field in form.CurrentRow.Fields)
                {
                    if (field.FieldNumber.Equals(noteStatus.FieldNumber))
                        noteStatus.FieldValue = field.FieldValue;
                    if (field.FieldNumber.Equals(serviceCode.FieldNumber))
                        serviceCode.FieldValue = field.FieldValue;
                    if (field.FieldNumber.Equals(serviceDate.FieldNumber))
                        serviceDate.FieldValue = field.FieldValue;
                    if (field.FieldNumber.Equals(serviceDuration.FieldNumber))
                        serviceDuration.FieldValue = field.FieldValue;
                }
            }
            if (noteStatus.FieldValue.Equals("F"))
            {
                var service = new Service();
                service = GetServiceJustEntered(optionObject.EntityID, optionObject.EpisodeNumber.ToString(),
                                                DateTime.Parse(serviceDate.FieldValue), serviceCode.FieldValue,
                                                optionObject.OptionStaffId);
                try
                {
                    if (service != null && guarantorAndServiceNeedAuth(service))
                        if (!isAuthValid(service))
                            sendEmail(ConfigurationManager.AppSettings["SMTPFromEmailAddress"].ToString(),
                                "Service for (" + service.Patid + ") " + service.PatientName + " provided without proper authorization",
                                service.ToString(),
                                ConfigurationManager.AppSettings["AuthEmailRecipients"].ToString().Split(',').ToList());
                }
                catch (Exception e)
                {
                }
                var svcCodeList = ConfigurationManager.AppSettings["ServiceCodesToExclude"].ToString().Split(',').ToList();
                if (Convert.ToInt32(serviceDuration.FieldValue) > 300 && svcCodeList.IndexOf(serviceCode.FieldValue) < 0)
                {
                    sendEmail(ConfigurationManager.AppSettings["SMTPFromEmailAddress"].ToString(),
                        "Service with a duration of " + serviceDuration.FieldValue + " entered.",
                        "Client ID: " + optionObject.EntityID +
                        "\nEpisode #: " + optionObject.EpisodeNumber +
                        "\nGuarantor ID: " + service.GuarantorId +
                        "\nService Code: " + serviceCode.FieldValue +
                        "\nService Date: " + serviceDate.FieldValue +
                        "\nStaff ID: " + optionObject.OptionStaffId,
                        new List<string> { ConfigurationManager.AppSettings["SMTPCreateSWTicket"].ToString() },
                        new List<string>(),
                        ConfigurationManager.AppSettings["AssignToBilling"].ToString().Split(',').ToList());

                }
            }
            returnOptionObject.EntityID = optionObject.EntityID;
            returnOptionObject.OptionId = optionObject.OptionId;
            returnOptionObject.Facility = optionObject.Facility;
            returnOptionObject.SystemCode = optionObject.SystemCode;
            return returnOptionObject;
        }