Beispiel #1
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);
                    }
                }
            }
        }
Beispiel #2
0
        public void PostManualEntriesProfessional(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.HasBillableProfessionalComponent() == 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.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 (bill.Modifier == null)
                     {
                         bill.Modifier = cptCode.GetModifier(YellowstonePathology.Business.Billing.Model.BillingComponentEnum.Technical);
                     }
                     this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Add(bill);
                 }
             }
         }
     }
 }
 public override void PostProfessional(string billTo, string billby)
 {
     if (this.IsOkToPost() == true)
     {
         if (this.CanPostProfessionalCode() == 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.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);
                     }
                 }
             }
         }
     }
 }
Beispiel #5
0
        public virtual void PostGlobal(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);
                    YellowstonePathology.Business.Test.PanelSetOrderCPTCodeBill item    = this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.GetNextItem(this.m_PanelSetOrder.ReportNo);
                    item.FromPanelSetOrderCPTCode(panelSetOrderCPTCode);
                    item.BillTo = billTo;
                    item.BillBy = billBy;

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

                    this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Add(item);
                }
            }
        }
        public override void PostProfessional(string billTo, string billBy)
        {
            if (this.IsOkToPost() == true)
            {
                if (this.CanPostProfessionalCode() == 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.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);
                                }
                            }
                        }
                    }
                }
            }
        }
        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.PanelSetMolecularTest panelSet     = (YellowstonePathology.Business.PanelSet.Model.PanelSetMolecularTest)allPanelSets.GetPanelSet(this.m_PanelSetOrder.PanelSetId);

                YellowstonePathology.Business.Test.PanelSetOrderCPTCodeCollection panelSetOrderCPTCodeSummaryCollection = this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.GetSummaryCollection();

                if (panelSet.HasSplitCPTCode == true)
                {
                    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.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 = null;
                            this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Add(item);
                        }
                    }
                }
                else
                {
                    base.PostTechnical(billTo, billBy);
                }
            }
        }
        public override void PostGlobal(string billTo, string billBy)
        {
            if (this.IsOkToPost() == true)
            {
                YellowstonePathology.Business.PanelSet.Model.PanelSetCollection    allPanelSets = YellowstonePathology.Business.PanelSet.Model.PanelSetCollection.GetAll();
                YellowstonePathology.Business.PanelSet.Model.PanelSetMolecularTest panelSet     = (YellowstonePathology.Business.PanelSet.Model.PanelSetMolecularTest)allPanelSets.GetPanelSet(this.m_PanelSetOrder.PanelSetId);

                if (panelSet.HasSplitCPTCode == true)
                {
                    YellowstonePathology.Business.Test.PanelSetOrderCPTCodeCollection panelSetOrderCPTCodeSummaryCollection = this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.GetSummaryCollection();

                    foreach (YellowstonePathology.Business.Test.PanelSetOrderCPTCode panelSetOrderCPTCode in panelSetOrderCPTCodeSummaryCollection)
                    {
                        YellowstonePathology.Business.Test.PanelSetOrderCPTCodeBill item = this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.GetNextItem(this.m_PanelSetOrder.ReportNo);
                        item.FromPanelSetOrderCPTCode(panelSetOrderCPTCode);
                        item.BillTo = billTo;
                        item.BillBy = billBy;
                        this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Add(item);

                        YellowstonePathology.Business.Test.PanelSetOrderCPTCodeBill bill26 = this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.GetNextItem(this.m_PanelSetOrder.ReportNo);
                        bill26.FromPanelSetOrderCPTCode(panelSetOrderCPTCode);
                        bill26.BillTo   = billTo;
                        bill26.BillBy   = YellowstonePathology.Business.Facility.Model.FacilityCollection.GetBillBy(m_PanelSetOrder.ProfessionalComponentBillingFacilityId, this.m_PanelSetOrder.TechnicalComponentBillingFacilityId, "Global", billTo);
                        bill26.Modifier = "26";
                        this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Add(bill26);
                    }
                }
                else
                {
                    base.PostGlobal(billTo, billBy);
                }
            }
        }
        public override void PostGlobal(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.Test.PanelSetOrderCPTCodeBill item = this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.GetNextItem(this.m_PanelSetOrder.ReportNo);
                    item.FromPanelSetOrderCPTCode(panelSetOrderCPTCode);
                    item.BillTo = billTo;
                    item.BillBy = billBy;
                    this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Add(item);
                }
            }
        }
        public override void PostTechnical(string billTo, string billBy)
        {
            int blockCount = this.m_AccessionOrder.SpecimenOrderCollection.GetBlockCount();

            YellowstonePathology.Business.Billing.Model.CptCodeDefinition.AutopsyBlock autopsyBlock = new Business.Billing.Model.CptCodeDefinition.AutopsyBlock();
            foreach (YellowstonePathology.Business.Test.PanelSetOrderCPTCode panelSetOrderCPTCode in this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection)
            {
                YellowstonePathology.Business.Test.PanelSetOrderCPTCodeBill item = this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.GetNextItem(this.m_PanelSetOrder.ReportNo);
                item.FromPanelSetOrderCPTCode(panelSetOrderCPTCode);
                item.BillTo   = billTo;
                item.BillBy   = billBy;
                item.Quantity = blockCount;
                item.Modifier = autopsyBlock.Modifier;

                this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Add(item);
            }
        }
Beispiel #11
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 (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);
                            }
                        }
                    }
                }
            }
        }
Beispiel #12
0
 public void PostPQRICodes()
 {
     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 is YellowstonePathology.Business.Billing.Model.PQRSCode == true)
             {
                 YellowstonePathology.Business.Test.PanelSetOrderCPTCodeBill pqriCode = this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.GetNextItem(this.m_PanelSetOrder.ReportNo);
                 pqriCode.ClientId = this.m_AccessionOrder.ClientId;
                 pqriCode.FromPanelSetOrderCPTCode(panelSetOrderCPTCode);
                 pqriCode.BillTo = null;
                 pqriCode.BillBy = null;
                 this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Add(pqriCode);
             }
         }
     }
 }
        public override void PostTechnical(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.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 = null;
                        this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Add(item);
                    }
                }
            }
        }
Beispiel #14
0
        public override void PostTechnical(string billTo, string billBy)
        {
            int blockCount  = this.m_AccessionOrder.SpecimenOrderCollection.GetBlockCount();
            int billedCount = this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.GetBilledCount("AUTOPSYBLOCK", "TC");

            YellowstonePathology.Business.Billing.Model.CptCode autopsyBlock = Store.AppDataStore.Instance.CPTCodeCollection.GetClone("AUTOPSYBLOCK", null);
            if (billedCount < blockCount)
            {
                YellowstonePathology.Business.Test.PanelSetOrderCPTCodeBill item = this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.GetNextItem(this.m_PanelSetOrder.ReportNo);
                item.FromPanelSetOrderCPTCode(this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection[0]);
                item.BillTo   = billTo;
                item.BillBy   = billBy;
                item.Quantity = blockCount - billedCount;
                item.Modifier = "TC";
                this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Add(item);
            }

            BillableObjectStains billableObjectStains = new BillableObjectStains(this.m_AccessionOrder, this.m_PanelSetOrder.ReportNo);

            billableObjectStains.PostTechnical(billTo, billBy);

            this.m_PanelSetOrder.TechnicalComponentBillingFacilityId = "YPIBLGS";
        }
        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.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.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);
                    }
                }
            }
        }