Function

BADxEntered

Module

UBACore

Last Modified

7/15/2014 3:26:34 PM

Comments

Main logic to determine if dx has been entered for order that requires dx
-----------------  MAIN CIDC DX HAS BEEN ENTERED LOGIC  ---------------------------

orderStatus: integer;

Scope

Interfaced

Declaration

function  BADxEntered:boolean;  //  main logic to determine if dx has been entered for order that requires dx

Calls Hierarchy


BADxEntered
 ├IsOrderBillable
 │ └PrepOrderID
 ├rpcOrderRequiresDx
 ├OrdersHaveDx
 │ ├InitializeNewDxRec
 │ ├tempDxNodeExists
 │ └GetBADxListForOrder
 └SaveBillingData
   ├AttachDxToOrderList
   │ ├InitializeNewDxRec
   │ └GetBADxListForOrder
   └rpcSaveCIDCData
     └VerifyOrderIdExists

Called-By Hierarchy


                                                     BADxEntered
                                     TfrmSignOrders.cmdOKClick┤ 
                                         TfrmReview.cmdOKClick┘ 
                                               ReviewChanges┘   
                           TfrmFrame.AllowContextChangeAll┤     
                                TfrmFrame.FormCloseQuery┤ │     
                              TfrmFrame.mnuFileNextClick┤ │     
                            TfrmFrame.mnuFileOpenClick┤ │ │     
                                TfrmFrame.UMInitiate┤ │ │ │     
                       TfrmFrame.mnuFileNextClick...┤ │ │ │     
                       TfrmFrame.mnuFileRefreshClick┤ │ │ │     
                       TfrmOrders.CheckOrderStatus┤ │ │ │ │     
                   TfrmOrders.mnuActChgEvntClick┤ │ │ │ │ │     
                      TfrmOrders.mnuActHoldClick┤ │ │ │ │ │     
                    TfrmOrders.mnuActUnholdClick┤ │ │ │ │ │     
                     TfrmOrders.mnuActRenewClick┤ │ │ │ │ │     
                    TfrmOrders.mnuActChangeClick┤ │ │ │ │ │     
                      TfrmOrders.mnuActCopyClick┘ │ │ │ │ │     
                            TfrmMeds.mnuActDCClick┤ │ │ │ │     
                           TfrmMeds.CheckMedStatus┘ │ │ │ │     
                        TfrmMeds.mnuActHoldClick┤   │ │ │ │     
                       TfrmMeds.mnuActRenewClick┤   │ │ │ │     
                      TfrmMeds.mnuActUnholdClick┤   │ │ │ │     
                      TfrmMeds.mnuActChangeClick┤   │ │ │ │     
                        TfrmMeds.mnuActCopyClick┤   │ │ │ │     
                      TfrmMeds.mnuActRefillClick┘   │ │ │ │     
                                  TfrmFrame.ViewInfo┘ │ │ │     
                               TfrmDCSumm.ViewInfo┤   │ │ │     
                             TfrmConsults.ViewInfo┤   │ │ │     
                     TfrmFrame.pnlRemindersMouseUp┤   │ │ │     
                      TfrmFrame.RemindersChanged┘ │   │ │ │     
                          TfrmFrame.FormCreate┘   │   │ │ │     
                            TfrmFrame.pnlCIRNClick┤   │ │ │     
                      TfrmFrame.pnlVistaWebClick┤ │   │ │ │     
                           TfrmFrame.FormKeyDown┘ │   │ │ │     
                         TfrmFrame.pnlPatientClick┤   │ │ │     
                           TfrmFrame.pnlVisitClick┤   │ │ │     
                     TfrmFrame.pnlPrimaryCareClick┤   │ │ │     
                       TfrmFrame.pnlRemindersClick┤   │ │ │     
                        TfrmFrame.pnlPostingsClick┤   │ │ │     
                            TfrmFrame.pnlFlagClick┤   │ │ │     
                              TfrmFrame.laMHVClick┤   │ │ │     
                             TfrmFrame.laVAA2Click┤   │ │ │     
                               TfrmOrders.ViewInfo┤   │ │ │     
                                 TfrmMeds.ViewInfo┤   │ │ │     
                              TfrmSurgery.ViewInfo┤   │ │ │     
                                TfrmNotes.ViewInfo┤   │ │ │     
                             TfrmProblems.ViewInfo┘   │ │ │     
                     TfrmFrame.mnuFileNotifRemoveClick┤ │ │     
                             TfrmFrame.NextButtonClick┘ │ │     
                           TfrmFrame.SetUpNextButton┘   │ │     
                     TfrmFrame.mnuFileOpenClick...┤     │ │     
                              TfrmFrame.FormResize┘     │ │     
                            TfrmFrame.ChangeFont┘       │ │     
                    TfrmFrame.LoadSizesForUser┤         │ │     
               TfrmFrame.LoadUserPreferences┘ │         │ │     
                      TfrmFrame.UMInitiate┘   │         │ │     
                    TfrmFrame.mnuFontSizeClick┘         │ │     
                           TfrmFrame.mnuFileOpenClick...┤ │     
                           TfrmFrame.ctxContextorPending┤ │     
                          TfrmFrame.StartCCOWContextor┘ │ │     
                                TfrmFrame.FormCreate┘   │ │     
                         TfrmFrame.ctxContextorCommitted┤ │     
                       TfrmFrame.StartCCOWContextor...┘ │ │     
                  TfrmFrame.mnuFileResumeContextGetClick┤ │     
                  TfrmFrame.mnuFileResumeContextSetClick┘ │     
                                  TfrmFrame.FormCloseQuery┤     
                              TfrmFrame.mnuFileReviewClick┤     
                                           UpdateEncounter┘     
                         TfrmFrame.mnuFileEncounterClick┤       
                                 TfrmFrame.ViewInfo...┤ │       
                    TfrmODMedIV.SetValuesFromResponses┤ │       
                             TfrmODMedIV.SetupDialog┤ │ │       
                   TfrmODMedIV.cboSolutionMouseClick┘ │ │       
                       TfrmODMedIV.cboSolutionExit┘   │ │       
                  TfrmODMedIV.cboSolutionMouseClick...┤ │       
                     TfrmODMedIV.cboAdditiveMouseClick┤ │       
                         TfrmODMedIV.cboAdditiveExit┘ │ │       
                                TfrmODAuto.SetupDialog┤ │       
                                   ActivateOrderDialog┤ │       
                           TfrmRemDlg.btnFinishClick┤ │ │       
           TfrmConsults.mnuActNewConsultRequestClick┤ │ │       
                   TfrmConsults.cmdNewConsultClick┘ │ │ │       
                TfrmConsults.mnuActNewProcedureClick┤ │ │       
                      TfrmConsults.cmdNewProcClick┘ │ │ │       
                                        ChangeOrders┤ │ │       
                      TfrmOrders.mnuActChangeClick┤ │ │ │       
                        TfrmMeds.mnuActChangeClick┘ │ │ │       
                                     ChangeOrdersEvt┤ │ │       
                                          CopyOrders┤ │ │       
                        TfrmOrders.mnuActCopyClick┤ │ │ │       
                          TfrmMeds.mnuActCopyClick┤ │ │ │       
                           TfrmODActive.btnOKClick┘ │ │ │       
                                      TransferOrders┤ │ │       
                        TfrmOrders.mnuActCopyClick┤ │ │ │       
                          TfrmMeds.mnuActCopyClick┤ │ │ │       
                           TfrmODActive.btnOKClick┘ │ │ │       
                            TfrmOrders.lstWriteClick┤ │ │       
               TfrmOrders.PlaceOrderForDefaultDialog┤ │ │       
                  TfrmOrders.DisplayDefaultDlgList┤ │ │ │       
                       TfrmOrders.ResetOrderPage┘ │ │ │ │       
               TfrmOrders.btnDelayedOrderClick┘   │ │ │ │       
                                 DisplayEvntDialog┤ │ │ │       
                             SetDelayEventForMed┘ │ │ │ │       
                      TfrmMeds.mnuActCopyClick┘   │ │ │ │       
                                 DisplayEvntDialog┤ │ │ │       
                                  SetViewForCopy┘ │ │ │ │       
                    TfrmOrders.mnuActCopyClick┘   │ │ │ │       
                                 DisplayEvntDialog┘ │ │ │       
                                ExecuteChangeEvt┘   │ │ │       
                 TfrmOrders.mnuActChgEvntClick┘     │ │ │       
                             TfrmMeds.mnuActNewClick┤ │ │       
                           TfrmOMNavA.ActivateDialog┤ │ │       
                         TfrmOMNavA.grdMenuKeyDown┤ │ │ │       
                         TfrmOMNavA.grdMenuMouseUp┘ │ │ │       
                                TfrmOMSet.DoNextItem┘ │ │       
                              TfrmOMSet.InsertList┤   │ │       
                               ActivateOrderList┘ │   │ │       
                     TfrmRemDlg.btnFinishClick┤   │   │ │       
                             ActivateOrderHTML┤   │   │ │       
                    TfrmOrders.lstWriteClick┤ │   │   │ │       
    TfrmOrders.PlaceOrderForDefaultDialog...┘ │   │   │ │       
                              ActivateOrderSet┤   │   │ │       
                   TfrmRemDlg.btnFinishClick┤ │   │   │ │       
TfrmConsults.mnuActNewConsultRequestClick...┤ │   │   │ │       
     TfrmConsults.mnuActNewProcedureClick...┤ │   │   │ │       
                    TfrmOrders.lstWriteClick┤ │   │   │ │       
    TfrmOrders.PlaceOrderForDefaultDialog...┤ │   │   │ │       
                     TfrmMeds.mnuActNewClick┤ │   │   │ │       
                TfrmOMNavA.ActivateDialog...┤ │   │   │ │       
                     TfrmOMSet.DoNextItem...┘ │   │   │ │       
                       TfrmOMNavA.DoSelectList┘   │   │ │       
                     TfrmOMNavA.grdMenuKeyUp┤     │   │ │       
                   TfrmOMNavA.grdMenuMouseUp┘     │   │ │       
                                        SkipToNext┤   │ │       
                         TfrmOMSet.DoNextItem...┘ │   │ │       
                            TfrmOMSet.UMDelayEvent┘   │ │       
                               TfrmOMSet.InsertList...┤ │       
                                TfrmODMeds.SetupDialog┤ │       
                             TfrmODMeds.btnSelectClick┤ │       
                             TfrmODMeds.UMDelayClick┘ │ │       
                                    ExecuteRenewOrders┘ │       
                         TfrmOrders.mnuActRenewClick┤   │       
                           TfrmMeds.mnuActRenewClick┘   │       
                                        EncounterPresent┤       
                                      ReadyForNewOrder┤ │       
                           TfrmRemDlg.btnFinishClick┤ │ │       
        TfrmConsults.mnuActNewConsultRequestClick...┤ │ │       
             TfrmConsults.mnuActNewProcedureClick...┤ │ │       
                                     ChangeOrders...┤ │ │       
                                     ChangeOrdersEvt┤ │ │       
                                       CopyOrders...┤ │ │       
                                   TransferOrders...┤ │ │       
                            TfrmOrders.lstWriteClick┤ │ │       
                             TfrmMeds.mnuActNewClick┘ │ │       
                                     ReadyForNewOrder1┤ │       
            TfrmOrders.PlaceOrderForDefaultDialog...┘ │ │       
                              TfrmOrders.mnuActDCClick┤ │       
                             TfrmOrders.mnuActRelClick┤ │       
                            TfrmOrders.mnuActHoldClick┤ │       
                          TfrmOrders.mnuActUnholdClick┤ │       
                           TfrmOrders.mnuActRenewClick┤ │       
                         TfrmOrders.mnuActReleaseClick┤ │       
                         TfrmOrders.mnuActOnChartClick┤ │       
                            TfrmOrders.mnuActSignClick┤ │       
                                TfrmMeds.mnuActDCClick┤ │       
                              TfrmMeds.mnuActHoldClick┤ │       
                             TfrmMeds.mnuActRenewClick┤ │       
                            TfrmMeds.mnuActUnholdClick┤ │       
                              TfrmMeds.mnuActCopyClick┤ │       
                            TfrmMeds.mnuActRefillClick┘ │       
                                     EncounterPresentEDO┤       
                                   ReadyForNewOrder...┤ │       
                         TfrmOrders.mnuActChgEvntClick┤ │       
                          TfrmOrders.mnuActChangeClick┤ │       
                            TfrmOrders.mnuActCopyClick┤ │       
                       TfrmOrders.btnDelayedOrderClick┤ │       
                            TfrmMeds.mnuActChangeClick┤ │       
                              TfrmMeds.mnuActCopyClick┘ │       
                                             UpdateVisit┤       
                                           EditPCEData┤ │       
                             TfrmSurgery.cmdPCEClick┤ │ │       
                                 UpdateEncounterInfo┘ │ │       
                             TfrmNotes.cmdPCEClick┘   │ │       
                        TfrmVitals.btnEnterVitalsClick┘ │       
                                             UpdateVisit┤       
                                        EncounterPresent┘       
                         TfrmProblems.lstProbActsClick┘         
                     TfrmProblems.wgProbDataDblClick┤           
                           TfrmProblems.lstViewClick┘           
                   TfrmProblems.HighlightDuplicate┘             
                         TfrmProblems.AddProblem┤               
              TfrmProblems.lstProbActsClick...┤ │               
                 TfrmProblems.lstProbPickClick┤ │               
              TfrmProblems.lstProbPickDblClick┤ │               
              TfrmProblems.edProbEntKeyPress┘ │ │               
                      TfrmProblems.UMPLLexicon┘ │               
                   TfrmdlgProb.bbChangeProbClick┘               

Calls

Name Declaration Comments
IsOrderBillable function IsOrderBillable(pOrderID: string):boolean; -
OrdersHaveDx function OrdersHaveDx(pOrderList:TStringList):boolean; -
rpcOrderRequiresDx function rpcOrderRequiresDx(pList: TStringList):boolean; -
SaveBillingData procedure SaveBillingData(pBillingData:TStringList); -

Called-By

Name Declaration Comments
TfrmSignOrders.cmdOKClick procedure cmdOKClick(Sender: TObject); -
TfrmReview.cmdOKClick procedure cmdOKClick(Sender: TObject); -


Source

79    function BADxEntered:boolean;
80    var
81      i: integer;
82      //orderStatus: integer;
83      x: string;
84      passList: TStringList;
85      holdOrderList: TStringList;
86      thisOrderID: string;
87      thisRec: string;
88    begin
89     //  Result := TRUE;   // caused hint.....
90       holdOrderList := TStringList.Create;
91       holdOrderList.Clear;
92       updatedBAOrderList := TStringList.Create;
93       updatedBAOrderList.Clear;
94       passList := TStringList.Create;
95       passList.Clear;
96       // determine which orders require a dx (lrmp- only)
97       // if NO then continue
98       // if YES, check BADxList for orders with DX enteries.
99       // if ok then create data string pass to M via RPC
100   
101     for i := 0 to BAOrderList.Count-1 do
102     begin
103        thisRec := BAOrderList.Strings[i];
104        thisOrderID := piece(thisRec,';',1) + ';1';  //rebuild orderID pass to M.
105        x := BAOrderList.Strings[i];
106        //orderStatus := StrToInt(CharAt(Piece(x, ';', 2), 1));  //  Order Status 1=OK, 2=DISCONTINUE
107       if IsOrderBillable(thisOrderID) then
108        begin
109           passList.Add(piece(x,';',1));
110           holdOrderList.Add(x);//  place holder for orders that can be signed!
111        end;
112     end;
113   
114      FastAssign(holdOrderList, BAOrderList); //assign signable orders to BAOrderList for further processing
115      holdOrderList.Clear; // CQ5025
116   
117       //call with passList determine if LRMP
118        if rpcOrderRequiresDx(passList) then
119         FastAssign(updatedBAOrderList, BAOrderList);
120   
121       // check of all orders dx columns are flagged with N/A.....
122       if UBACore.IsAllOrdersNA(BAOrderList) then
123       begin
124          Result := TRUE;              //  force true, no record needs DX entry
125          Exit;                        //to do.  clean this up... when time permitts
126       end
127       else
128         begin
129         if OrdersHaveDx(UBAGlobals.BAOrderList) then
130         begin
131            Result := True; // CIDC orders have dx
132            SaveBillingData(UBAGlobals.BAOrderList) ;
133         end
134         else
135            begin
136               Result := FALSE;
137               Exit;
138            end;
139        end;
140   end;