| [613] | 1 | IB20PT51 ;ALB/CPM - MORE IB V2.0 POST-INIT ONE-TIME ITEMS ; 28-JAN-94 | 
|---|
|  | 2 | ;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94 | 
|---|
|  | 3 | ; | 
|---|
|  | 4 | ; Perform more one-time post-init items | 
|---|
|  | 5 | D UBFM ;     add UB-92 form type to the Form Type (#353) file | 
|---|
|  | 6 | D RXFT ;     add Addendum form type to the Form Type (#353) file | 
|---|
|  | 7 | D FLAG ;     flag telephone stop codes as non-billable | 
|---|
|  | 8 | D HOLD ;     check all charges 'on hold' in file #350 | 
|---|
|  | 9 | Q | 
|---|
|  | 10 | ; | 
|---|
|  | 11 | ; | 
|---|
|  | 12 | UBFM ; Add UB-92 form type to the Form Type (#353) file. | 
|---|
|  | 13 | Q:$O(^IBE(353,"B","UB-92",0)) | 
|---|
|  | 14 | W !!,">>> Adding UB-92 form type to the Form Type (#353) file." | 
|---|
|  | 15 | S DINUM=0 F Y=3:1:1000 I '$D(^IBE(353,Y,0))!($P($G(^IBE(353,Y,0)),U,1)="UB-92") S DINUM=Y Q | 
|---|
|  | 16 | I 'DINUM W !!,"****  ERROR: Could not add UB-92 claim form to file 353!  ****" G UBFMQ | 
|---|
|  | 17 | S DIC="^IBE(353,",DIC(0)="LX",X="UB-92" D ^DIC | 
|---|
|  | 18 | I '$P(Y,U,3) W !!,"**** ERROR: UB-92 Claim Form already defined!  Check Routine. ****" G UBFMQ | 
|---|
|  | 19 | I +Y>0 S DA=+Y,DIE=DIC,DR="1.01///^S X=""EN^IBCF3""" D ^DIE | 
|---|
|  | 20 | UBFMQ K DIC,DIE,DA,Y,X,DR,DINUM | 
|---|
|  | 21 | Q | 
|---|
|  | 22 | ; | 
|---|
|  | 23 | RXFT ; Add Addendum form type to the Form Type (#353) file. | 
|---|
|  | 24 | W !!,">>> Adding Addendum form type to the Form Type (#353) file." | 
|---|
|  | 25 | S DINUM=0 F Y=3:1:1000 I '$D(^IBE(353,Y,0))!($P($G(^IBE(353,Y,0)),U,1)="BILL ADDENDUM") S DINUM=Y Q | 
|---|
|  | 26 | I 'DINUM W !!,"****  ERROR: Could not add BILL ADDENDUM claim form to file 353!  ****" G RXFTE | 
|---|
|  | 27 | S DIC="^IBE(353,",DIC(0)="LX",X="BILL ADDENDUM" D ^DIC | 
|---|
|  | 28 | I '$P(Y,U,3) W !!,"**** ERROR: BILL ADDENDUM Claim Form already defined!  Check Routine. ****" G RXFTE | 
|---|
|  | 29 | I +Y>0 S DA=+Y,DIE=DIC,DR="1.01///^S X=""EN^IBCF4""" D ^DIE | 
|---|
|  | 30 | RXFTE K DIC,DIE,DA,Y,X,DR,DINUM | 
|---|
|  | 31 | Q | 
|---|
|  | 32 | ; | 
|---|
|  | 33 | FLAG ; Flag Telephone Stop Codes as non-billable for Means Test Billing | 
|---|
|  | 34 | W !!,">>> Flagging Telephone stop codes as non-billable for Means Test Billing..." | 
|---|
|  | 35 | F IBI=1:1 S IBS=$P($T(STOPS+IBI),";;",2) Q:IBS="QUIT"  D | 
|---|
|  | 36 | .S X=$O(^DIC(40.7,"B",IBS,0)) | 
|---|
|  | 37 | .I 'X W !?4,"Unable to flag the stop code '",IBS,"' (not on file)..." Q | 
|---|
|  | 38 | .K DD,DO S DIC="^IBE(352.3,",DIC(0)="" D FILE^DICN Q:Y<0 | 
|---|
|  | 39 | .S DIE=DIC,DA=+Y,DR=".02////2940201;.03////1" D ^DIE | 
|---|
|  | 40 | .W !?4,"Flagged stop code '",IBS,"' as non-billable..." | 
|---|
|  | 41 | K DA,DIC,DIE,DR,IBI,IBS,X,Y | 
|---|
|  | 42 | Q | 
|---|
|  | 43 | ; | 
|---|
|  | 44 | STOPS ; Stop codes to flag | 
|---|
|  | 45 | ;;TELEPHONE TRIAGE | 
|---|
|  | 46 | ;;TELEPHONE/MEDICINE | 
|---|
|  | 47 | ;;TELEPHONE/SURGERY | 
|---|
|  | 48 | ;;TELEPHONE/SPECIAL PSYCHIATRY | 
|---|
|  | 49 | ;;TELEPHONE/GENERAL PSYCHIATRY | 
|---|
|  | 50 | ;;TELEPHONE/PTSD | 
|---|
|  | 51 | ;;TELEPHONE/ALCOHOL DEPENDENCE | 
|---|
|  | 52 | ;;TELEPHONE/DRUG DEPENDENCE | 
|---|
|  | 53 | ;;TELEPHONE/SUBSTANCE ABUSE | 
|---|
|  | 54 | ;;TELEPHONE/ANCILLARY | 
|---|
|  | 55 | ;;TELEPHONE/REHAB AND SUPPORT | 
|---|
|  | 56 | ;;TELEPHONE/DIAGNOSTIC | 
|---|
|  | 57 | ;;TELEPHONE/PROSTHETICS/ORTHOTIC | 
|---|
|  | 58 | ;;TELEPHONE/DENTAL | 
|---|
|  | 59 | ;;TELEPHONE/DIALYSIS | 
|---|
|  | 60 | ;;QUIT | 
|---|
|  | 61 | ; | 
|---|
|  | 62 | ; | 
|---|
|  | 63 | HOLD ; Check all charges in file #350 that are on hold. | 
|---|
|  | 64 | ; | 
|---|
|  | 65 | W !!,">>> Examining all charges 'on hold' in File #350..." | 
|---|
|  | 66 | ; | 
|---|
|  | 67 | S (IBCNTR,IBCNTU)=0 | 
|---|
|  | 68 | ; | 
|---|
|  | 69 | ; - run through all held charges | 
|---|
|  | 70 | S DFN=0 F  S DFN=$O(^IB("AH",DFN)) Q:'DFN  D | 
|---|
|  | 71 | .S IBN=0 F  S IBN=$O(^IB("AH",DFN,IBN)) Q:'IBN  D | 
|---|
|  | 72 | ..; | 
|---|
|  | 73 | ..; - get the action and parent | 
|---|
|  | 74 | ..S IBND=$G(^IB(IBN,0)),IBPAR=+$P(IBND,"^",9) | 
|---|
|  | 75 | ..; | 
|---|
|  | 76 | ..; - if the parent is itself, and there's no entry in | 
|---|
|  | 77 | ..; - ^ib("apdt",ibpar then re-index entry | 
|---|
|  | 78 | ..I IBN=IBPAR,'$D(^IB("APDT",IBN)) S DA=IBN,DIK="^IB(" D IX1^DIK S IBCNTR=IBCNTR+1 | 
|---|
|  | 79 | ..; | 
|---|
|  | 80 | ..; - determine the transaction type of the last transaction | 
|---|
|  | 81 | ..S IBL=$$LAST^IBECEAU(IBPAR) | 
|---|
|  | 82 | ..S IBTRTY=$P($G(^IBE(350.1,+$P($G(^IB(IBL,0)),"^",3),0)),"^",5) | 
|---|
|  | 83 | ..; | 
|---|
|  | 84 | ..; - if the transaction was a cancel-type transaction, update | 
|---|
|  | 85 | ..; - the status of the held charge to cancelled. | 
|---|
|  | 86 | ..Q:IBTRTY'=2 | 
|---|
|  | 87 | ..S DA=IBN,DIE="^IB(",DR=".05////10" D ^DIE | 
|---|
|  | 88 | ..S IBCNTU=IBCNTU+1 | 
|---|
|  | 89 | ..; | 
|---|
|  | 90 | ..; - show signs of life | 
|---|
|  | 91 | ..W:'(IBCNTU#10) "." | 
|---|
|  | 92 | ; | 
|---|
|  | 93 | ; | 
|---|
|  | 94 | W !," >> ",$S(IBCNTU:IBCNTU,1:"No")," held charge",$S(IBCNTU=1:" was",1:"s were")," updated to cancelled." | 
|---|
|  | 95 | W !," >> ",$S(IBCNTR:IBCNTR,1:"No")," held charge",$S(IBCNTR=1:" was",1:"s were")," re-indexed." | 
|---|
|  | 96 | ; | 
|---|
|  | 97 | K DA,DIK,DIE,DR,DFN,IBCNTR,IBCNTU,IBN,IBND,IBPAR,IBL,IBTRTY | 
|---|
|  | 98 | Q | 
|---|