예제 #1
0
        public virtual void PostGlobal(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);

                    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 PostGlobal(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)
             {
                 bool okToPost = true;
                 if (cptCode.HasProfessionalComponent == true)
                 {
                     okToPost = this.CanPostProfessionalCode();
                 }
                 if (okToPost == true)
                 {
                     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);
                 }
             }
         }
     }
 }
예제 #3
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);
                    }
                }
            }
        }
예제 #4
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);
                    }
                }
            }
        }
        private void SetPhysicianInterpretationCode()
        {
            YellowstonePathology.Business.Billing.Model.CptCode cptCode = Store.AppDataStore.Instance.CPTCodeCollection.GetClone("88141", null);
            if (this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.Exists(cptCode.Code, 1) == false)
            {
                YellowstonePathology.Business.Test.ThinPrepPap.PanelOrderCytology panelOrderCytology = ((YellowstonePathology.Business.Test.ThinPrepPap.PanelSetOrderCytology) this.m_PanelSetOrder).GetPhysicianInterp();
                YellowstonePathology.Business.Specimen.Model.SpecimenOrder        specimenOrder      = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrderByOrderTarget(this.m_PanelSetOrder.OrderedOnId);

                if (panelOrderCytology != null)
                {
                    YellowstonePathology.Business.Test.PanelSetOrderCPTCode panelSetOrderCPTCode = this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.GetNextItem(this.m_PanelSetOrder.ReportNo);
                    panelSetOrderCPTCode.Quantity            = 1;
                    panelSetOrderCPTCode.CPTCode             = cptCode.Code;
                    panelSetOrderCPTCode.CodeType            = cptCode.CodeType.ToString();
                    panelSetOrderCPTCode.Modifier            = null;
                    panelSetOrderCPTCode.CodeableDescription = "Physician Interpretation (" + panelOrderCytology.ScreenedByName + ")";
                    panelSetOrderCPTCode.CodeableType        = "CytologyPrimaryScreening";
                    panelSetOrderCPTCode.EntryType           = YellowstonePathology.Business.Billing.Model.PanelSetOrderCPTCodeEntryType.SystemGenerated;
                    panelSetOrderCPTCode.SpecimenOrderId     = specimenOrder.SpecimenOrderId;
                    panelSetOrderCPTCode.ClientId            = this.m_AccessionOrder.ClientId;
                    panelSetOrderCPTCode.MedicalRecord       = this.m_AccessionOrder.SvhMedicalRecord;
                    panelSetOrderCPTCode.Account             = this.m_AccessionOrder.SvhAccount;
                    this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.Add(panelSetOrderCPTCode);
                }
            }
        }
예제 #6
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);
                 }
             }
         }
     }
 }
예제 #7
0
        private void SetPrimaryScreeningCode()
        {
            if (this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.Exists("88175", 1) == false &&
                this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.Exists("88142", 1) == false)
            {
                YellowstonePathology.Business.Test.ThinPrepPap.PanelSetOrderCytology panelSetOrderCytology = (YellowstonePathology.Business.Test.ThinPrepPap.PanelSetOrderCytology) this.m_PanelSetOrder;
                YellowstonePathology.Business.Test.ThinPrepPap.PanelOrderCytology    panelOrderCytology    = panelSetOrderCytology.GetPrimaryScreening();
                YellowstonePathology.Business.Specimen.Model.SpecimenOrder           specimenOrder         = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrderByOrderTarget(this.m_PanelSetOrder.OrderedOnId);

                YellowstonePathology.Business.Billing.Model.CptCode cptCode = null;

                if (panelOrderCytology.ImagerError == false)
                {
                    cptCode = new YellowstonePathology.Business.Billing.Model.CptCodeDefinition.CPT88175();
                }
                else
                {
                    cptCode          = new YellowstonePathology.Business.Billing.Model.CptCodeDefinition.CPT88142();
                    cptCode.Modifier = "52";
                }

                YellowstonePathology.Business.Test.PanelSetOrderCPTCode panelSetOrderCPTCode = this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.GetNextItem(this.m_PanelSetOrder.ReportNo);
                panelSetOrderCPTCode.Quantity            = 1;
                panelSetOrderCPTCode.CPTCode             = cptCode.Code;
                panelSetOrderCPTCode.CodeType            = cptCode.CodeType.ToString();
                panelSetOrderCPTCode.Modifier            = cptCode.Modifier;
                panelSetOrderCPTCode.CodeableDescription = "Primary Screening (" + panelOrderCytology.ScreenedByName + ")";
                panelSetOrderCPTCode.CodeableType        = "CytologyPrimaryScreening";
                panelSetOrderCPTCode.EntryType           = YellowstonePathology.Business.Billing.Model.PanelSetOrderCPTCodeEntryType.SystemGenerated;
                panelSetOrderCPTCode.SpecimenOrderId     = specimenOrder.SpecimenOrderId;
                panelSetOrderCPTCode.ClientId            = this.m_AccessionOrder.ClientId;
                this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.Add(panelSetOrderCPTCode);
            }
        }
예제 #8
0
        public override YellowstonePathology.Business.Billing.Model.CptCode GetCptCode(CptCodeLevelEnum cptCodeLevel, bool isTechnicalOnly)
        {
            YellowstonePathology.Business.Billing.Model.CptCode result = null;
            switch (cptCodeLevel)
            {
            case CptCodeLevelEnum.Initial:
                if (isTechnicalOnly == true)
                {
                    result = Store.AppDataStore.Instance.CPTCodeCollection.GetClone("88342", "TC");
                }
                else
                {
                    result = Store.AppDataStore.Instance.CPTCodeCollection.GetClone("88342", null);
                }
                break;

            case CptCodeLevelEnum.Subsequent:
                if (isTechnicalOnly == true)
                {
                    result = Store.AppDataStore.Instance.CPTCodeCollection.GetClone("88343", "TC");
                }
                else
                {
                    result = Store.AppDataStore.Instance.CPTCodeCollection.GetClone("88343", null);
                }
                break;
            }

            return(result);
        }
예제 #9
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);
                            }
                        }
                    }
                }
            }
        }
예제 #10
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);
                                }
                            }
                        }
                    }
                }
            }
        }
예제 #11
0
        public virtual 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 = 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);
                    }
                }
            }
        }
예제 #12
0
        public override YellowstonePathology.Business.Billing.Model.CptCode GetCptCode(CptCodeLevelEnum cptCodeLevel, bool isTechnicalOnly)
        {
            YellowstonePathology.Business.Billing.Model.CptCode result = null;
            switch (cptCodeLevel)
            {
            case CptCodeLevelEnum.Initial:
                if (isTechnicalOnly == true)
                {
                    result = new YellowstonePathology.Business.Billing.Model.CptCodeDefinition.CPT88342TC();
                }
                else
                {
                    result = new YellowstonePathology.Business.Billing.Model.CptCodeDefinition.CPT88342();
                }
                break;

            case CptCodeLevelEnum.Subsequent:
                if (isTechnicalOnly == true)
                {
                    result = new YellowstonePathology.Business.Billing.Model.CptCodeDefinition.CPT88343TC();
                }
                else
                {
                    result = new YellowstonePathology.Business.Billing.Model.CptCodeDefinition.CPT88343();
                }
                break;
            }

            return(result);
        }
예제 #13
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.PanelSetMolecularTest panelSet     = (YellowstonePathology.Business.PanelSet.Model.PanelSetMolecularTest)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();

                if (panelSet.HasSplitCPTCode == true)
                {
                    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 = null;
                            this.m_PanelSetOrder.PanelSetOrderCPTCodeBillCollection.Add(item);
                        }
                    }
                }
                else
                {
                    base.PostTechnical(billTo, billBy);
                }
            }
        }
예제 #14
0
        public override void SetPanelSetOrderCPTCodes()
        {
            int blockCount  = this.m_AccessionOrder.SpecimenOrderCollection.GetBlockCount();
            int billedCount = this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.GetCodeQuantity("AUTOPSYBLOCK");

            YellowstonePathology.Business.Billing.Model.CptCode autopsyBlock = Store.AppDataStore.Instance.CPTCodeCollection.GetClone("AUTOPSYBLOCK", null);

            if (this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.Exists(autopsyBlock.Code, blockCount) == false)
            {
                YellowstonePathology.Business.Test.PanelSetOrderCPTCode panelSetOrderCPTCode = this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.GetNextItem(this.m_PanelSetOrder.ReportNo);
                panelSetOrderCPTCode.Quantity            = blockCount - billedCount;
                panelSetOrderCPTCode.CPTCode             = autopsyBlock.Code;
                panelSetOrderCPTCode.Modifier            = CptCodeModifier.TechnicalComponent;
                panelSetOrderCPTCode.CodeableDescription = "Autopsy Block";
                panelSetOrderCPTCode.CodeableType        = "BillableTest";
                panelSetOrderCPTCode.EntryType           = YellowstonePathology.Business.Billing.Model.PanelSetOrderCPTCodeEntryType.SystemGenerated;
                panelSetOrderCPTCode.ClientId            = this.m_AccessionOrder.ClientId;
                panelSetOrderCPTCode.MedicalRecord       = this.m_AccessionOrder.SvhMedicalRecord;
                panelSetOrderCPTCode.Account             = this.m_AccessionOrder.SvhAccount;
                this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.Add(panelSetOrderCPTCode);
            }

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

            billableObjectStains.SetPanelSetOrderCPTCodes();

            this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.UpdateCodeType();
        }
예제 #15
0
 public EPICFT1View(YellowstonePathology.Business.Billing.Model.CptCode cptCode, DateTime billDate, DateTime postDate, string quantity,
     YellowstonePathology.Business.Domain.Physician orderingPhysician)
 {
     this.m_CptCode = cptCode;
     this.m_BillDate = billDate;
     this.m_PostDate = postDate;
     this.m_Quantity = quantity;
     this.m_OrderingPhysician = orderingPhysician;
 }
예제 #16
0
 public override YellowstonePathology.Business.Billing.Model.CptCode GetCptCode(bool isTechnicalOnly)
 {
     YellowstonePathology.Business.Billing.Model.CptCode result = Store.AppDataStore.Instance.CPTCodeCollection.GetClone("88313", null);
     if (isTechnicalOnly == true)
     {
         result = Store.AppDataStore.Instance.CPTCodeCollection.GetClone("88313", "TC");
     }
     return(result);
 }
예제 #17
0
 private void ListBoxCPTCodes_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (this.ListBoxCPTCodes.SelectedItem != null)
     {
         YellowstonePathology.Business.Billing.Model.CptCode cptCode = (YellowstonePathology.Business.Billing.Model.CptCode) this.ListBoxCPTCodes.SelectedItem;
         this.m_CptCodeString = cptCode.ToJSON();
         NotifyPropertyChanged("CptCodeString");
     }
 }
 private void ListViewCptCodes_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (this.ListViewCptCodes.SelectedItem != null)
     {
         YellowstonePathology.Business.Billing.Model.CptCode cptCode = (YellowstonePathology.Business.Billing.Model.CptCode) this.ListViewCptCodes.SelectedItem;
         this.m_PanelSetOrderCPTCode.CPTCode  = cptCode.Code;
         this.m_PanelSetOrderCPTCode.Modifier = cptCode.Modifier;
         this.m_PanelSetOrderCPTCode.CodeType = cptCode.CodeType.ToString();
     }
 }
예제 #19
0
 public override void Run(Domain.CptBillingCode cptBillingCode)
 {
     YellowstonePathology.Business.Billing.Model.CptCode cptCode = Store.AppDataStore.Instance.CPTCodeCollection.GetClone(cptBillingCode.CptCode, cptBillingCode.Modifier);
     if (cptCode.FeeSchedule == YellowstonePathology.Business.Billing.Model.FeeScheduleEnum.Clinical)
     {
         cptBillingCode.BillTo = YellowstonePathology.Business.Billing.Model.BillingTypeEnum.Global.ToString();
     }
     else if (cptCode.FeeSchedule == YellowstonePathology.Business.Billing.Model.FeeScheduleEnum.Physician)
     {
         cptBillingCode.BillTo = YellowstonePathology.Business.Billing.Model.BillingTypeEnum.Client.ToString();
     }
     this.SetModifier(cptBillingCode);
 }
예제 #20
0
 public override void Run(CptBillingCode cptBillingCode)
 {
     YellowstonePathology.Business.Billing.Model.CptCode cptCode = this.m_AllCptCodes.GetCptCode(cptBillingCode.CptCode);
     if (cptCode.FeeSchedule == YellowstonePathology.Business.Billing.Model.FeeScheduleEnum.Clinical)
     {
         cptBillingCode.BillTo = YellowstonePathology.Business.Billing.Model.BillingTypeEnum.Global.ToString();
     }
     else if (cptCode.FeeSchedule == YellowstonePathology.Business.Billing.Model.FeeScheduleEnum.Physician)
     {
         cptBillingCode.BillTo = YellowstonePathology.Business.Billing.Model.BillingTypeEnum.Client.ToString();
     }
     this.SetModifier(cptBillingCode);
 }
예제 #21
0
 private void ListBoxCPTCodes_MouseDoubleClick(object sender, MouseButtonEventArgs e)
 {
     if (this.ListBoxCPTCodes.SelectedItem != null)
     {
         YellowstonePathology.Business.Billing.Model.CptCode cptCode = (YellowstonePathology.Business.Billing.Model.CptCode) this.ListBoxCPTCodes.SelectedItem;
         CPTCodeEditDialog dlg = new CPTCodeEditDialog(cptCode);
         bool?dialogResult     = dlg.ShowDialog();
         if (dialogResult.HasValue && dialogResult.Value == true)
         {
             YellowstonePathology.Store.AppDataStore.Instance.CPTCodeCollection.Load();
             this.NotifyPropertyChanged("CptCodeCollection");
         }
     }
 }
예제 #22
0
        public bool HasPQRSCodes()
        {
            bool result = false;

            foreach (PanelSetOrderCPTCodeBill panelSetOrderCPTCodeBill in this)
            {
                YellowstonePathology.Business.Billing.Model.CptCode cptCode = Store.AppDataStore.Instance.CPTCodeCollection.GetClone(panelSetOrderCPTCodeBill.CPTCode, panelSetOrderCPTCodeBill.Modifier);
                if (cptCode is YellowstonePathology.Business.Billing.Model.PQRSCode == true)
                {
                    result = true;
                    break;
                }
            }
            return(result);
        }
예제 #23
0
 public EPICFT1View(YellowstonePathology.Business.Billing.Model.CptCode cptCode, DateTime billDate, DateTime postDate, string quantity,
                    YellowstonePathology.Business.Domain.Physician orderingPhysician, string masterAccessionNo)
 {
     this.m_CptCode           = cptCode;
     this.m_BillDate          = billDate;
     this.m_PostDate          = postDate;
     this.m_Quantity          = quantity;
     this.m_MasterAccessionNo = masterAccessionNo;
     this.m_OrderingPhysician = orderingPhysician;
     YellowstonePathology.Business.Billing.Model.CDM cdm = YellowstonePathology.Business.Billing.Model.CDMCollection.Instance.GetCDMS(this.m_CptCode.Code, "SVH");
     if (cdm != null)
     {
         this.m_CDMCode       = cdm.CDMCode;
         this.m_ProcedureName = cdm.ProcedureName;
     }
 }
        public bool HasPQRSCodes()
        {
            bool result = false;

            YellowstonePathology.Business.Billing.Model.CptCodeCollection cptCodeCollection = YellowstonePathology.Business.Billing.Model.CptCodeCollection.GetAll();
            foreach (PanelSetOrderCPTCodeBill panelSetOrderCPTCodeBill in this)
            {
                YellowstonePathology.Business.Billing.Model.CptCode cptCode = cptCodeCollection.GetCptCode(panelSetOrderCPTCodeBill.CPTCode);
                if (cptCode is YellowstonePathology.Business.Billing.Model.PQRSCode == true)
                {
                    result = true;
                    break;
                }
            }
            return(result);
        }
        public bool HasCodesWithMedicareQuantityLimit()
        {
            bool result = false;

            YellowstonePathology.Business.Billing.Model.CptCodeCollection allCptCodes = YellowstonePathology.Business.Billing.Model.CptCodeCollection.GetAll();
            foreach (YellowstonePathology.Business.Test.PanelSetOrderCPTCode panelSetOrderCPTCode in this)
            {
                YellowstonePathology.Business.Billing.Model.CptCode cptCode = allCptCodes.GetCptCode(panelSetOrderCPTCode.CPTCode);
                if (cptCode.HasMedicareQuantityLimit == true)
                {
                    result = true;
                    break;
                }
            }
            return(result);
        }
예제 #26
0
        public CPTCodeEditDialog(YellowstonePathology.Business.Billing.Model.CptCode cptCode)
        {
            if (cptCode == null)
            {
                this.m_CptCode = new Business.Billing.Model.CptCode();
            }
            else
            {
                this.m_CptCode = cptCode;
            }

            this.m_CptCodeString       = this.m_CptCode.ToJSON();
            this.m_HoldToCompareString = this.m_CptCode.ToJSON();
            InitializeComponent();

            DataContext = this;
        }
예제 #27
0
 private void SetModifier(CptBillingCode cptBillingCode)
 {
     YellowstonePathology.Business.Billing.Model.CptCode cptCode = this.m_AllCptCodes.GetCptCode(cptBillingCode.CptCode);
     if (cptBillingCode.BillTo == YellowstonePathology.Business.Billing.Model.BillingTypeEnum.Client.ToString())
     {
         if (cptCode.HasTechnicalComponent == true)
         {
             cptBillingCode.Modifier = YellowstonePathology.Business.Billing.CptCodeModifier.TechnicalComponent;
         }
     }
     else if (cptBillingCode.BillTo == YellowstonePathology.Business.Billing.Model.BillingTypeEnum.Global.ToString())
     {
         if (cptCode.HasProfessionalComponent == true)
         {
             cptBillingCode.Modifier = YellowstonePathology.Business.Billing.CptCodeModifier.TwentySix;
         }
     }
 }
예제 #28
0
 private void SetModifier(Domain.CptBillingCode cptBillingCode)
 {
     YellowstonePathology.Business.Billing.Model.CptCode cptCode = Store.AppDataStore.Instance.CPTCodeCollection.GetClone(cptBillingCode.CptCode, cptBillingCode.Modifier);
     if (cptBillingCode.BillTo == YellowstonePathology.Business.Billing.Model.BillingTypeEnum.Client.ToString())
     {
         if (cptCode.HasTechnicalComponent == true)
         {
             cptBillingCode.Modifier = YellowstonePathology.Business.Billing.Model.CptCodeModifier.TechnicalComponent;
         }
     }
     else if (cptBillingCode.BillTo == YellowstonePathology.Business.Billing.Model.BillingTypeEnum.Global.ToString())
     {
         if (cptCode.HasProfessionalComponent == true)
         {
             cptBillingCode.Modifier = YellowstonePathology.Business.Billing.Model.CptCodeModifier.TwentySix;
         }
     }
 }
예제 #29
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)
            {
                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);
                            }
                        }
                    }
                }
            }
        }
예제 #31
0
        public void Load()
        {
            this.ClearItems();
            MySqlCommand cmd = new MySqlCommand("Select JSONValue from tblCPTCode;");

            cmd.CommandType = CommandType.Text;

            using (MySqlConnection cn = new MySqlConnection(YellowstonePathology.Properties.Settings.Default.CurrentConnectionString))
            {
                cn.Open();
                cmd.Connection = cn;
                using (MySqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        YellowstonePathology.Business.Billing.Model.CptCode cptCode = YellowstonePathology.Business.Billing.Model.CptCodeFactory.FromJson(dr[0].ToString());
                        this.Add(cptCode);
                    }
                }
            }
        }
예제 #32
0
 public TypingCptCodeListItem(YellowstonePathology.Business.Billing.Model.CptCode cptCode)
 {
     this.m_CptCode = cptCode;
     this.m_Quantity = 1;
 }
 public CPTCodeReturnEventArgs(YellowstonePathology.Business.Billing.Model.CptCode cptCode)
 {
     this.m_CptCode = cptCode;
 }