예제 #1
0
        ///<summary>Converts a DataTable to a list of objects.</summary>
        public static List <EhrMeasureEvent> TableToList(DataTable table)
        {
            List <EhrMeasureEvent> retVal = new List <EhrMeasureEvent>();
            EhrMeasureEvent        ehrMeasureEvent;

            foreach (DataRow row in table.Rows)
            {
                ehrMeasureEvent = new EhrMeasureEvent();
                ehrMeasureEvent.EhrMeasureEventNum = PIn.Long(row["EhrMeasureEventNum"].ToString());
                ehrMeasureEvent.DateTEvent         = PIn.DateT(row["DateTEvent"].ToString());
                ehrMeasureEvent.EventType          = (OpenDentBusiness.EhrMeasureEventType)PIn.Int(row["EventType"].ToString());
                ehrMeasureEvent.PatNum             = PIn.Long(row["PatNum"].ToString());
                ehrMeasureEvent.MoreInfo           = PIn.String(row["MoreInfo"].ToString());
                ehrMeasureEvent.CodeValueEvent     = PIn.String(row["CodeValueEvent"].ToString());
                ehrMeasureEvent.CodeSystemEvent    = PIn.String(row["CodeSystemEvent"].ToString());
                ehrMeasureEvent.CodeValueResult    = PIn.String(row["CodeValueResult"].ToString());
                ehrMeasureEvent.CodeSystemResult   = PIn.String(row["CodeSystemResult"].ToString());
                ehrMeasureEvent.FKey                   = PIn.Long(row["FKey"].ToString());
                ehrMeasureEvent.DateStartTobacco       = PIn.Date(row["DateStartTobacco"].ToString());
                ehrMeasureEvent.TobaccoCessationDesire = PIn.Byte(row["TobaccoCessationDesire"].ToString());
                retVal.Add(ehrMeasureEvent);
            }
            return(retVal);
        }
예제 #2
0
        ///<summary>Converts a DataTable to a list of objects.</summary>
        public static List <ProcedureCode> TableToList(DataTable table)
        {
            List <ProcedureCode> retVal = new List <ProcedureCode>();
            ProcedureCode        procedureCode;

            foreach (DataRow row in table.Rows)
            {
                procedureCode                    = new ProcedureCode();
                procedureCode.CodeNum            = PIn.Long(row["CodeNum"].ToString());
                procedureCode.ProcCode           = PIn.String(row["ProcCode"].ToString());
                procedureCode.Descript           = PIn.String(row["Descript"].ToString());
                procedureCode.AbbrDesc           = PIn.String(row["AbbrDesc"].ToString());
                procedureCode.ProcTime           = PIn.String(row["ProcTime"].ToString());
                procedureCode.ProcCat            = PIn.Long(row["ProcCat"].ToString());
                procedureCode.TreatArea          = (OpenDentBusiness.TreatmentArea)PIn.Int(row["TreatArea"].ToString());
                procedureCode.NoBillIns          = PIn.Bool(row["NoBillIns"].ToString());
                procedureCode.IsProsth           = PIn.Bool(row["IsProsth"].ToString());
                procedureCode.DefaultNote        = PIn.String(row["DefaultNote"].ToString());
                procedureCode.IsHygiene          = PIn.Bool(row["IsHygiene"].ToString());
                procedureCode.GTypeNum           = PIn.Int(row["GTypeNum"].ToString());
                procedureCode.AlternateCode1     = PIn.String(row["AlternateCode1"].ToString());
                procedureCode.MedicalCode        = PIn.String(row["MedicalCode"].ToString());
                procedureCode.IsTaxed            = PIn.Bool(row["IsTaxed"].ToString());
                procedureCode.PaintType          = (OpenDentBusiness.ToothPaintingType)PIn.Int(row["PaintType"].ToString());
                procedureCode.GraphicColor       = Color.FromArgb(PIn.Int(row["GraphicColor"].ToString()));
                procedureCode.LaymanTerm         = PIn.String(row["LaymanTerm"].ToString());
                procedureCode.IsCanadianLab      = PIn.Bool(row["IsCanadianLab"].ToString());
                procedureCode.PreExisting        = PIn.Bool(row["PreExisting"].ToString());
                procedureCode.BaseUnits          = PIn.Int(row["BaseUnits"].ToString());
                procedureCode.SubstitutionCode   = PIn.String(row["SubstitutionCode"].ToString());
                procedureCode.SubstOnlyIf        = (OpenDentBusiness.SubstitutionCondition)PIn.Int(row["SubstOnlyIf"].ToString());
                procedureCode.DateTStamp         = PIn.DateT(row["DateTStamp"].ToString());
                procedureCode.IsMultiVisit       = PIn.Bool(row["IsMultiVisit"].ToString());
                procedureCode.DrugNDC            = PIn.String(row["DrugNDC"].ToString());
                procedureCode.RevenueCodeDefault = PIn.String(row["RevenueCodeDefault"].ToString());
                procedureCode.ProvNumDefault     = PIn.Long(row["ProvNumDefault"].ToString());
                procedureCode.CanadaTimeUnits    = PIn.Double(row["CanadaTimeUnits"].ToString());
                procedureCode.IsRadiology        = PIn.Bool(row["IsRadiology"].ToString());
                procedureCode.DefaultClaimNote   = PIn.String(row["DefaultClaimNote"].ToString());
                procedureCode.DefaultTPNote      = PIn.String(row["DefaultTPNote"].ToString());
                procedureCode.BypassGlobalLock   = (OpenDentBusiness.BypassLockStatus)PIn.Int(row["BypassGlobalLock"].ToString());
                procedureCode.TaxCode            = PIn.String(row["TaxCode"].ToString());
                retVal.Add(procedureCode);
            }
            return(retVal);
        }
        ///<summary>Converts a DataTable to a list of objects.</summary>
        public static List <EServiceCodeLink> TableToList(DataTable table)
        {
            List <EServiceCodeLink> retVal = new List <EServiceCodeLink>();
            EServiceCodeLink        eServiceCodeLink;

            foreach (DataRow row in table.Rows)
            {
                eServiceCodeLink = new EServiceCodeLink();
                eServiceCodeLink.EServiceCodeLinkNum = PIn.Long(row["EServiceCodeLinkNum"].ToString());
                eServiceCodeLink.CodeNum             = PIn.Long(row["CodeNum"].ToString());
                eServiceCodeLink.EService            = (OpenDentBusiness.eServiceCode)PIn.Int(row["EService"].ToString());
                retVal.Add(eServiceCodeLink);
            }
            return(retVal);
        }
예제 #4
0
        ///<summary>Converts a DataTable to a list of objects.</summary>
        public static List <Carrier> TableToList(DataTable table)
        {
            List <Carrier> retVal = new List <Carrier>();
            Carrier        carrier;

            foreach (DataRow row in table.Rows)
            {
                carrier                          = new Carrier();
                carrier.CarrierNum               = PIn.Long(row["CarrierNum"].ToString());
                carrier.CarrierName              = PIn.String(row["CarrierName"].ToString());
                carrier.Address                  = PIn.String(row["Address"].ToString());
                carrier.Address2                 = PIn.String(row["Address2"].ToString());
                carrier.City                     = PIn.String(row["City"].ToString());
                carrier.State                    = PIn.String(row["State"].ToString());
                carrier.Zip                      = PIn.String(row["Zip"].ToString());
                carrier.Phone                    = PIn.String(row["Phone"].ToString());
                carrier.ElectID                  = PIn.String(row["ElectID"].ToString());
                carrier.NoSendElect              = (OpenDentBusiness.NoSendElectType)PIn.Int(row["NoSendElect"].ToString());
                carrier.IsCDA                    = PIn.Bool(row["IsCDA"].ToString());
                carrier.CDAnetVersion            = PIn.String(row["CDAnetVersion"].ToString());
                carrier.CanadianNetworkNum       = PIn.Long(row["CanadianNetworkNum"].ToString());
                carrier.IsHidden                 = PIn.Bool(row["IsHidden"].ToString());
                carrier.CanadianEncryptionMethod = PIn.Byte(row["CanadianEncryptionMethod"].ToString());
                carrier.CanadianSupportedTypes   = (OpenDentBusiness.CanSupTransTypes)PIn.Int(row["CanadianSupportedTypes"].ToString());
                carrier.SecUserNumEntry          = PIn.Long(row["SecUserNumEntry"].ToString());
                carrier.SecDateEntry             = PIn.Date(row["SecDateEntry"].ToString());
                carrier.SecDateTEdit             = PIn.DateT(row["SecDateTEdit"].ToString());
                carrier.TIN                      = PIn.String(row["TIN"].ToString());
                carrier.CarrierGroupName         = PIn.Long(row["CarrierGroupName"].ToString());
                carrier.ApptTextBackColor        = Color.FromArgb(PIn.Int(row["ApptTextBackColor"].ToString()));
                carrier.IsCoinsuranceInverted    = PIn.Bool(row["IsCoinsuranceInverted"].ToString());
                carrier.TrustedEtransFlags       = (OpenDentBusiness.TrustedEtransTypes)PIn.Int(row["TrustedEtransFlags"].ToString());
                retVal.Add(carrier);
            }
            return(retVal);
        }
예제 #5
0
        ///<summary>Converts a DataTable to a list of objects.</summary>
        public static List <SubstitutionLink> TableToList(DataTable table)
        {
            List <SubstitutionLink> retVal = new List <SubstitutionLink>();
            SubstitutionLink        substitutionLink;

            foreach (DataRow row in table.Rows)
            {
                substitutionLink = new SubstitutionLink();
                substitutionLink.SubstitutionLinkNum = PIn.Long(row["SubstitutionLinkNum"].ToString());
                substitutionLink.PlanNum             = PIn.Long(row["PlanNum"].ToString());
                substitutionLink.CodeNum             = PIn.Long(row["CodeNum"].ToString());
                substitutionLink.SubstitutionCode    = PIn.String(row["SubstitutionCode"].ToString());
                substitutionLink.SubstOnlyIf         = (OpenDentBusiness.SubstitutionCondition)PIn.Int(row["SubstOnlyIf"].ToString());
                retVal.Add(substitutionLink);
            }
            return(retVal);
        }
예제 #6
0
        ///<summary>Adds the xml for one statement.</summary>
        public static void GenerateOneStatement(XmlWriter writer, Statement stmt, Patient pat, Family fam, DataSet dataSet)
        {
            Patient guar = fam.ListPats[0];

            writer.WriteStartElement("Statement");
            //writer.WriteAttributeString("CreditCardChoice",PrefC.GetString(PrefName.BillingElectCreditCardChoices"));
            //remit address----------------------------------------------------------
            writer.WriteStartElement("RemitAddress");
            if (!PrefC.GetBool(PrefName.EasyNoClinics) && Clinics.List.Length > 0 &&       //if using clinics
                Clinics.GetClinic(guar.ClinicNum) != null)                 //and this guar is assigned to a clinic
            {
                Clinic clinic = Clinics.GetClinic(guar.ClinicNum);
                writer.WriteElementString("Name", clinic.Description);
                writer.WriteElementString("Address", clinic.Address);
                writer.WriteElementString("Address2", clinic.Address2);
                writer.WriteElementString("City", clinic.City);
                writer.WriteElementString("State", clinic.State);
                writer.WriteElementString("Zip", clinic.Zip);
                string phone = "";
                if (clinic.Phone.Length == 10)
                {
                    phone = "(" + clinic.Phone.Substring(0, 3) + ")" + clinic.Phone.Substring(3, 3) + "-" + clinic.Phone.Substring(6);
                }
                writer.WriteElementString("Phone", phone);
            }
            else             //not using clinics
            {
                writer.WriteElementString("Name", PrefC.GetString(PrefName.PracticeTitle));
                writer.WriteElementString("Address", PrefC.GetString(PrefName.PracticeAddress));
                writer.WriteElementString("Address2", PrefC.GetString(PrefName.PracticeAddress2));
                writer.WriteElementString("City", PrefC.GetString(PrefName.PracticeCity));
                writer.WriteElementString("State", PrefC.GetString(PrefName.PracticeST));
                writer.WriteElementString("Zip", PrefC.GetString(PrefName.PracticeZip));
                writer.WriteElementString("Phone", PrefC.GetString(PrefName.PracticePhone));
            }
            writer.WriteEndElement();            //RemitAddress
            //Patient-------------------------------------------------------------------------------
            writer.WriteStartElement("Patient");
            writer.WriteElementString("Name", guar.GetNameFLFormal());
            writer.WriteElementString("AccountNum", guar.PatNum.ToString());
            writer.WriteElementString("Address", guar.Address);
            writer.WriteElementString("Address2", guar.Address2);
            writer.WriteElementString("City", guar.City);
            writer.WriteElementString("State", guar.State);
            writer.WriteElementString("Zip", guar.Zip);
            writer.WriteEndElement();            //Patient
            //Account summary-----------------------------------------------------------------------
            writer.WriteStartElement("AccountSummary");
            if (PrefC.GetLong(PrefName.StatementsCalcDueDate) == -1)
            {
                writer.WriteElementString("DueDate", Lan.g("FormRpStatement", "Upon Receipt"));
            }
            else
            {
                DateTime dueDate = DateTime.Today.AddDays(PrefC.GetLong(PrefName.StatementsCalcDueDate));
                writer.WriteElementString("DueDate", dueDate.ToString("MM/dd/yyyy"));
            }
            writer.WriteElementString("StatementDate", stmt.DateSent.ToString("MM/dd/yyyy"));
            DataTable tableAccount = null;

            for (int i = 0; i < dataSet.Tables.Count; i++)
            {
                if (dataSet.Tables[i].TableName.StartsWith("account"))
                {
                    tableAccount = dataSet.Tables[i];
                }
            }
            //on a regular printed statement, the amount due at the top might be different from the balance at the middle right.
            //This is because of payment plan balances.
            //But in e-bills, there is only one amount due.
            //Insurance estimate is already subtracted, and payment plan balance is already added.
            double amountDue = guar.BalTotal;

            //add payplan due amt:
            for (int m = 0; m < dataSet.Tables["misc"].Rows.Count; m++)
            {
                if (dataSet.Tables["misc"].Rows[m]["descript"].ToString() == "payPlanDue")
                {
                    amountDue += PIn.Double(dataSet.Tables["misc"].Rows[m]["value"].ToString());
                }
            }
            if (PrefC.GetBool(PrefName.BalancesDontSubtractIns))
            {
                writer.WriteElementString("EstInsPayments", "");
                writer.WriteElementString("AmountDue", amountDue.ToString("F2"));
            }
            else             //this is typical
            {
                writer.WriteElementString("EstInsPayments", guar.InsEst.ToString("F2"));
                amountDue -= guar.InsEst;
                writer.WriteElementString("AmountDue", amountDue.ToString("F2"));
            }
            writer.WriteElementString("Bal_0_30", guar.Bal_0_30.ToString("F2"));
            writer.WriteElementString("Bal_31_60", guar.Bal_31_60.ToString("F2"));
            writer.WriteElementString("Bal_61_90", guar.Bal_61_90.ToString("F2"));
            writer.WriteElementString("BalOver90", guar.BalOver90.ToString("F2"));
            writer.WriteEndElement();            //AccountSummary
            //Notes-----------------------------------------------------------------------------------
            writer.WriteStartElement("Notes");
            if (stmt.NoteBold != "")
            {
                writer.WriteStartElement("Note");
                writer.WriteAttributeString("FgColor", ColorToHexString(Color.DarkRed));
                writer.WriteCData(stmt.NoteBold);
                writer.WriteEndElement();                //Note
            }
            if (stmt.Note != "")
            {
                writer.WriteStartElement("Note");
                writer.WriteAttributeString("FgColor", ColorToHexString(Color.Black));
                writer.WriteCData(stmt.Note);
                writer.WriteEndElement();        //Note
            }
            writer.WriteEndElement();            //Notes
            //Detail items------------------------------------------------------------------------------
            writer.WriteStartElement("DetailItems");
            string descript;
            string fulldesc;
            string procCode;
            string tth;

            string[]      lineArray;
            List <string> lines;
            DateTime      date;
            int           seq = 0;

            for (int i = 0; i < tableAccount.Rows.Count; i++)
            {
                procCode  = tableAccount.Rows[i]["ProcCode"].ToString();
                tth       = tableAccount.Rows[i]["tth"].ToString();
                descript  = tableAccount.Rows[i]["description"].ToString();
                fulldesc  = procCode + " " + tth + " " + descript;
                lineArray = fulldesc.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
                lines     = new List <string>(lineArray);
                //We assume that the line limit is 40 char.
                if (lines[0].Length > 40)
                {
                    string newline = lines[0].Substring(40);
                    lines[0] = lines[0].Substring(0, 40);       //first half
                    lines.Insert(1, newline);                   //second half
                }
                for (int li = 0; li < lines.Count; li++)
                {
                    writer.WriteStartElement("Item");
                    writer.WriteAttributeString("sequence", seq.ToString());
                    if (li == 0)
                    {
                        date = (DateTime)tableAccount.Rows[i]["DateTime"];
                        writer.WriteElementString("Date", date.ToString("MM/dd/yyyy"));
                        writer.WriteElementString("PatientName", tableAccount.Rows[i]["patient"].ToString());
                    }
                    else
                    {
                        writer.WriteElementString("Date", "");
                        writer.WriteElementString("PatientName", "");
                    }
                    writer.WriteElementString("Description", lines[li]);
                    if (li == 0)
                    {
                        writer.WriteElementString("Charges", tableAccount.Rows[i]["charges"].ToString());
                        writer.WriteElementString("Credits", tableAccount.Rows[i]["credits"].ToString());
                        writer.WriteElementString("Balance", tableAccount.Rows[i]["balance"].ToString());
                    }
                    else
                    {
                        writer.WriteElementString("Charges", "");
                        writer.WriteElementString("Credits", "");
                        writer.WriteElementString("Balance", "");
                    }
                    writer.WriteEndElement();                    //Item
                    seq++;
                }
            }
            writer.WriteEndElement();            //DetailItems
            writer.WriteEndElement();            //Statement
        }