예제 #1
0
        public override void PostProfessional(string billTo, string billBy)
        {
            if (this.IsOkToPost() == true)
            {
                if (this.CanPostProfessionalCode() == true)
                {
                    YellowstonePathology.Business.Billing.Model.CptCodeCollection cptCodeCollection = YellowstonePathology.Business.Billing.Model.CptCodeCollection.GetAll();
                    foreach (YellowstonePathology.Business.Test.PanelSetOrderCPTCode panelSetOrderCPTCode in this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection)
                    {
                        YellowstonePathology.Business.Billing.Model.CptCode cptCode = cptCodeCollection.GetCptCode(panelSetOrderCPTCode.CPTCode);
                        if (cptCode.IsBillable == true)
                        {
                            if (cptCode.HasProfessionalComponent == true)
                            {
                                YellowstonePathology.Business.Test.PanelSetOrderCPTCodeBill bill = this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.GetNextItem(this.m_PanelSetOrder.ReportNo);
                                bill.FromPanelSetOrderCPTCode(panelSetOrderCPTCode);
                                bill.BillTo   = billTo;
                                bill.BillBy   = billBy;
                                bill.Modifier = cptCode.GetModifier(YellowstonePathology.Business.Billing.Model.BillingComponentEnum.Professional);
                                if (this.m_AccessionOrder.ICD9BillingCodeCollection.PapMedicareCodesExist() == true)
                                {
                                    bill.CPTCode = cptCode.GCode;
                                }

                                if (this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Exists(bill.CPTCode, bill.Modifier) == false)
                                {
                                    this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Add(bill);
                                }
                            }
                        }
                    }
                }
            }
        }
예제 #2
0
        public override void PostProfessional(string billTo, string billby)
        {
            if (this.IsOkToPost() == true)
            {
                if (this.CanPostProfessionalCode() == true)
                {
                    YellowstonePathology.Business.Billing.Model.CptCodeCollection cptCodeCollection = YellowstonePathology.Business.Billing.Model.CptCodeCollection.GetAll();

                    foreach (YellowstonePathology.Business.Test.PanelSetOrderCPTCode panelSetOrderCPTCode in this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection)
                    {
                        YellowstonePathology.Business.Billing.Model.CptCode cptCode = cptCodeCollection.GetCptCode(panelSetOrderCPTCode.CPTCode);
                        if (cptCode.IsBillable == true)
                        {
                            if (cptCode.HasProfessionalComponent == true)
                            {
                                YellowstonePathology.Business.Test.PanelSetOrderCPTCodeBill item = this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.GetNextItem(this.m_PanelSetOrder.ReportNo);
                                item.FromPanelSetOrderCPTCode(panelSetOrderCPTCode);
                                item.BillTo   = billTo;
                                item.BillBy   = billby;
                                item.Modifier = cptCode.GetModifier(YellowstonePathology.Business.Billing.Model.BillingComponentEnum.Professional);
                                this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Add(item);
                            }
                        }
                    }
                }
            }
        }
예제 #3
0
        public override void PostTechnical(string billTo, string billBy)
        {
            if (this.IsOkToPost() == true)
            {
                YellowstonePathology.Business.PanelSet.Model.PanelSetCollection allPanelSets = YellowstonePathology.Business.PanelSet.Model.PanelSetCollection.GetAll();
                YellowstonePathology.Business.PanelSet.Model.PanelSet           panelSet     = allPanelSets.GetPanelSet(this.m_PanelSetOrder.PanelSetId);

                YellowstonePathology.Business.Billing.Model.CptCodeCollection     cptCodeCollection = YellowstonePathology.Business.Billing.Model.CptCodeCollection.GetAll();
                YellowstonePathology.Business.Test.PanelSetOrderCPTCodeCollection panelSetOrderCPTCodeSummaryCollection = this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.GetSummaryCollection();

                foreach (YellowstonePathology.Business.Test.PanelSetOrderCPTCode panelSetOrderCPTCode in panelSetOrderCPTCodeSummaryCollection)
                {
                    YellowstonePathology.Business.Billing.Model.CptCode cptCode = cptCodeCollection.GetCptCode(panelSetOrderCPTCode.CPTCode);
                    if (cptCode.HasTechnicalComponent == true)
                    {
                        YellowstonePathology.Business.Test.PanelSetOrderCPTCodeBill item = this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.GetNextItem(this.m_PanelSetOrder.ReportNo);
                        item.FromPanelSetOrderCPTCode(panelSetOrderCPTCode);
                        item.BillTo   = "Client";
                        item.BillBy   = "YPIBLGS";
                        item.Modifier = cptCode.GetModifier(YellowstonePathology.Business.Billing.Model.BillingComponentEnum.Technical);
                        this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Add(item);
                    }
                }
            }
        }
예제 #4
0
 public override void PostTechnical(string billTo, string billBy)
 {
     if (this.IsOkToPost() == true)
     {
         YellowstonePathology.Business.Billing.Model.CptCodeCollection cptCodeCollection = YellowstonePathology.Business.Billing.Model.CptCodeCollection.GetAll();
         foreach (YellowstonePathology.Business.Test.PanelSetOrderCPTCode panelSetOrderCPTCode in this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection)
         {
             YellowstonePathology.Business.Billing.Model.CptCode cptCode = cptCodeCollection.GetCptCode(panelSetOrderCPTCode.CPTCode);
             if (cptCode.IsBillable == true)
             {
                 if (cptCode.HasTechnicalComponent == true)
                 {
                     YellowstonePathology.Business.Test.PanelSetOrderCPTCodeBill bill = this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.GetNextItem(this.m_PanelSetOrder.ReportNo);
                     bill.ClientId = this.m_AccessionOrder.ClientId;
                     bill.FromPanelSetOrderCPTCode(panelSetOrderCPTCode);
                     bill.BillTo = billTo;
                     bill.BillBy = billBy;
                     if (bill.Modifier == null)
                     {
                         bill.Modifier = cptCode.GetModifier(YellowstonePathology.Business.Billing.Model.BillingComponentEnum.Technical);
                     }
                     this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Add(bill);
                 }
             }
         }
     }
 }
예제 #5
0
        public void PostManualEntriesTechnical(string billTo, string billBy)
        {
            if (this.IsOkToPost() == true)
            {
                YellowstonePathology.Business.Billing.Model.CptCodeCollection     cptCodeCollection = YellowstonePathology.Business.Billing.Model.CptCodeCollection.GetAll();
                YellowstonePathology.Business.Test.PanelSetOrderCPTCodeCollection panelSetOrderCPTCodeSummaryCollection = this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.GetManualEntrySummaryCollection();

                foreach (YellowstonePathology.Business.Test.PanelSetOrderCPTCode panelSetOrderCPTCode in panelSetOrderCPTCodeSummaryCollection)
                {
                    YellowstonePathology.Business.Billing.Model.CptCode cptCode = cptCodeCollection.GetNewInstance(panelSetOrderCPTCode.CPTCode, panelSetOrderCPTCode.Modifier);
                    if (cptCode.HasBillableTechnicalComponent() == true)
                    {
                        YellowstonePathology.Business.Test.PanelSetOrderCPTCodeBill item = this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.GetNextItem(this.m_PanelSetOrder.ReportNo);
                        item.FromPanelSetOrderCPTCode(panelSetOrderCPTCode);
                        item.ClientId = this.m_AccessionOrder.ClientId;
                        item.BillTo   = billTo;
                        item.BillBy   = billBy;
                        item.Modifier = cptCode.GetModifier(YellowstonePathology.Business.Billing.Model.BillingComponentEnum.Technical);

                        if (this.m_AccessionOrder.PrimaryInsurance == "Medicare")
                        {
                            if (cptCode.HasMedicareQuantityLimit == true)
                            {
                                item.Quantity = cptCode.MedicareQuantityLimit;
                            }
                        }

                        this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Add(item);
                    }
                }
            }
        }
예제 #6
0
        public virtual void PostTechnical(string billTo, string billby)
        {
            if (this.IsOkToPost() == true)
            {
                YellowstonePathology.Business.Billing.Model.CptCodeCollection     cptCodeCollection = YellowstonePathology.Business.Billing.Model.CptCodeCollection.GetAll();
                YellowstonePathology.Business.Test.PanelSetOrderCPTCodeCollection panelSetOrderCPTCodeSummaryCollection = this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.GetSummaryCollection();

                foreach (YellowstonePathology.Business.Test.PanelSetOrderCPTCode panelSetOrderCPTCode in panelSetOrderCPTCodeSummaryCollection)
                {
                    YellowstonePathology.Business.Billing.Model.CptCode cptCode = cptCodeCollection.GetCptCode(panelSetOrderCPTCode.CPTCode);
                    if (cptCode.HasTechnicalComponent == true)
                    {
                        YellowstonePathology.Business.Test.PanelSetOrderCPTCodeBill item = this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.GetNextItem(this.m_PanelSetOrder.ReportNo);
                        item.FromPanelSetOrderCPTCode(panelSetOrderCPTCode);
                        item.BillTo   = billTo;
                        item.BillBy   = billby;
                        item.Modifier = cptCode.GetModifier(YellowstonePathology.Business.Billing.Model.BillingComponentEnum.Technical);

                        if (this.m_AccessionOrder.PrimaryInsurance == "Medicare" && cptCode.HasMedicareQuantityLimit == true && billTo == "Patient")
                        {
                            item.Quantity = cptCode.MedicareQuantityLimit;
                        }
                        else
                        {
                            item.Quantity = panelSetOrderCPTCode.Quantity;
                        }

                        this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Add(item);
                    }
                }
            }
        }
예제 #7
0
        public virtual void PostProfessional(string billTo, string billby)
        {
            if (this.IsOkToPost() == true)
            {
                YellowstonePathology.Business.Test.PanelSetOrderCPTCodeCollection panelSetOrderCPTCodeSummaryCollection = this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.GetSummaryCollection();

                foreach (YellowstonePathology.Business.Test.PanelSetOrderCPTCode panelSetOrderCPTCode in panelSetOrderCPTCodeSummaryCollection)
                {
                    YellowstonePathology.Business.Billing.Model.CptCode cptCode = Store.AppDataStore.Instance.CPTCodeCollection.GetClone(panelSetOrderCPTCode.CPTCode, panelSetOrderCPTCode.Modifier);
                    if (cptCode.HasProfessionalComponent == true)
                    {
                        YellowstonePathology.Business.Test.PanelSetOrderCPTCodeBill item = this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.GetNextItem(this.m_PanelSetOrder.ReportNo);
                        item.FromPanelSetOrderCPTCode(panelSetOrderCPTCode);
                        item.BillTo   = billTo;
                        item.BillBy   = billby;
                        item.Modifier = cptCode.GetModifier(YellowstonePathology.Business.Billing.Model.BillingComponentEnum.Professional);

                        if (this.m_AccessionOrder.PrimaryInsurance == "Medicare")
                        {
                            if (cptCode.HasMedicareQuantityLimit == true)
                            {
                                item.Quantity = cptCode.MedicareQuantityLimit;
                            }
                        }

                        this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Add(item);
                    }
                }
            }
        }
        public override void PostTechnical(string billTo, string billBy)
        {
            if (this.IsOkToPost() == true)
            {
                foreach (YellowstonePathology.Business.Test.PanelSetOrderCPTCode panelSetOrderCPTCode in this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection)
                {
                    YellowstonePathology.Business.Billing.Model.CptCode cptCode = Store.AppDataStore.Instance.CPTCodeCollection.GetClone(panelSetOrderCPTCode.CPTCode, panelSetOrderCPTCode.Modifier);
                    if (cptCode.IsBillable == true)
                    {
                        if (cptCode.HasTechnicalComponent == true)
                        {
                            YellowstonePathology.Business.Test.PanelSetOrderCPTCodeBill bill = this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.GetNextItem(this.m_PanelSetOrder.ReportNo);
                            bill.ClientId = this.m_AccessionOrder.ClientId;
                            bill.FromPanelSetOrderCPTCode(panelSetOrderCPTCode);
                            bill.BillTo = billTo;
                            bill.BillBy = billBy;

                            if (panelSetOrderCPTCode.Modifier == null)
                            {
                                bill.Modifier = cptCode.GetModifier(YellowstonePathology.Business.Billing.Model.BillingComponentEnum.Technical);
                            }
                            else
                            {
                                bill.Modifier = panelSetOrderCPTCode.Modifier;
                            }

                            if (billTo == BillToEnum.Patient.ToString())
                            {
                                if (this.m_AccessionOrder.ICD9BillingCodeCollection.PapMedicareCodesExist() == true)
                                {
                                    bill.CPTCode = cptCode.GCode;
                                }
                            }

                            if (this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Exists(bill.CPTCode, bill.Modifier) == false)
                            {
                                this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Add(bill);
                            }
                        }
                    }
                }
            }
        }
예제 #9
0
        public void Post88313(YellowstonePathology.Business.Billing.Model.BillingComponentEnum billingComponent, string billTo, string billBy)
        {
            YellowstonePathology.Business.Billing.Model.CptCode cpt88313 = Store.AppDataStore.Instance.CPTCodeCollection.GetClone("88313", null);
            string modifier      = cpt88313.GetModifier(billingComponent);
            int    cpt88313Count = this.m_StainSpecimenCollection.GetBillable88313Count() - this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.GetBilledCount(cpt88313.Code, modifier);

            if (cpt88313Count > 0)
            {
                YellowstonePathology.Business.Test.PanelSetOrderCPTCodeBill panelSetOrderCPTCodeBill = this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.GetNextItem(this.m_PanelSetOrder.ReportNo);
                panelSetOrderCPTCodeBill.ClientId      = this.m_AccessionOrder.ClientId;
                panelSetOrderCPTCodeBill.BillTo        = billTo;
                panelSetOrderCPTCodeBill.BillBy        = billBy;
                panelSetOrderCPTCodeBill.CPTCode       = cpt88313.Code;
                panelSetOrderCPTCodeBill.CodeType      = cpt88313.CodeType.ToString();
                panelSetOrderCPTCodeBill.Modifier      = modifier;
                panelSetOrderCPTCodeBill.Quantity      = cpt88313Count;
                panelSetOrderCPTCodeBill.MedicalRecord = this.m_AccessionOrder.SvhMedicalRecord;
                panelSetOrderCPTCodeBill.Account       = this.m_AccessionOrder.SvhAccount;
                this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Add(panelSetOrderCPTCodeBill);
            }
        }
예제 #10
0
        public void PostG0416(YellowstonePathology.Business.Billing.Model.BillingComponentEnum billingComponent, string billTo, string billBy)
        {
            YellowstonePathology.Business.Billing.Model.CptCode cptG0416 = Store.AppDataStore.Instance.CPTCodeCollection.GetClone("G0416", null);

            string modifier = cptG0416.GetModifier(billingComponent);

            if (this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Exists(cptG0416.Code, modifier) == false)
            {
                YellowstonePathology.Business.Test.PanelSetOrderCPTCodeBill panelSetOrderCPTCodeBill = this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.GetNextItem(this.m_PanelSetOrder.ReportNo);
                panelSetOrderCPTCodeBill.ClientId      = this.m_AccessionOrder.ClientId;
                panelSetOrderCPTCodeBill.BillTo        = billTo;
                panelSetOrderCPTCodeBill.BillBy        = billBy;
                panelSetOrderCPTCodeBill.CPTCode       = cptG0416.Code;
                panelSetOrderCPTCodeBill.CodeType      = cptG0416.CodeType.ToString();
                panelSetOrderCPTCodeBill.Modifier      = modifier;
                panelSetOrderCPTCodeBill.Quantity      = 1;
                panelSetOrderCPTCodeBill.MedicalRecord = this.m_AccessionOrder.SvhMedicalRecord;
                panelSetOrderCPTCodeBill.Account       = this.m_AccessionOrder.SvhAccount;
                this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Add(panelSetOrderCPTCodeBill);
            }
        }