| [613] | 1 | IBAMTI1 ;ALB/CPM - SPECIAL INPATIENT BILLING CASES (CON'T.) ; 11-AUG-93 | 
|---|
|  | 2 | ;;2.0;INTEGRATED BILLING;**52,132,156,199,234,339**;21-MAR-94;Build 2 | 
|---|
|  | 3 | ;;Per VHA Directive 2004-038, this routine should not be modified. | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | DISP ; Manually disposition a case record. | 
|---|
|  | 6 | W !!,"This option is used to disposition case records for special inpatient" | 
|---|
|  | 7 | W !,"episodes of care which are not to be billed. (AO/IR/SWA/SC/MST/HNC/CV/SHAD)" | 
|---|
|  | 8 | W !,"After identifying the case, please enter the reason (up to 80 characters)" | 
|---|
|  | 9 | W !,"for non-billing." | 
|---|
|  | 10 | ; | 
|---|
|  | 11 | ; - main processing loop | 
|---|
|  | 12 | S IBQ=0 F  W ! D SEL Q:IBQ | 
|---|
|  | 13 | K IBQ | 
|---|
|  | 14 | Q | 
|---|
|  | 15 | ; | 
|---|
|  | 16 | SEL ; Select an inpatient billing case and enter the reason for non-billing. | 
|---|
|  | 17 | S DIC="^IBE(351.2,",DIC(0)="QEAMZ",DIC("A")="Select PATIENT: " | 
|---|
|  | 18 | N DPTNOFZY S DPTNOFZY=1  ;Suppress PATIENT file fuzzy lookups | 
|---|
|  | 19 | D ^DIC S IBC=+Y I Y<0 S IBQ=1 G SELQ | 
|---|
|  | 20 | I $P(Y(0),"^",5)=1 W !!,"You must wait until this patient has been discharged to disposition the case." G SELQ | 
|---|
|  | 21 | I $P(Y(0),"^",4) S IBBILLED=1 W !!,"Please note that it appears as if this case has been billed." | 
|---|
|  | 22 | I $P(Y(0),"^",8) W !!,"Please note that this case has already been dispositioned." | 
|---|
|  | 23 | ; | 
|---|
|  | 24 | ; - display case record | 
|---|
|  | 25 | W ! D DSPL(IBC) | 
|---|
|  | 26 | ; | 
|---|
|  | 27 | ; - allow user update of record | 
|---|
|  | 28 | S IBHC=$P(Y(0),"^",7),IBHR=$G(^IBE(351.2,IBC,1)) | 
|---|
|  | 29 | S DIE="^IBE(351.2,",DA=IBC,DR=$S($G(IBBILLED):".07;",1:"")_1 D ^DIE | 
|---|
|  | 30 | ; | 
|---|
|  | 31 | S IBNC=$P(^IBE(351.2,IBC,0),"^",7),IBNR=$G(^IBE(351.2,IBC,1)) | 
|---|
|  | 32 | I IBHC=IBNC,IBHR=IBNR W !!,"No changes made to the case record!" G SELQ | 
|---|
|  | 33 | I IBNR]"" W !!,"This case record will be dispositioned." | 
|---|
|  | 34 | S DR="2.03////"_DUZ_";2.04///NOW" | 
|---|
|  | 35 | I IBNR]"" S DR=".07////1;.08////1;"_DR | 
|---|
|  | 36 | S DIE="^IBE(351.2,",DA=IBC D ^DIE | 
|---|
|  | 37 | SELQ K DA,DIC,DIE,DR,IBC,IBHC,IBHR,IBNC,IBNR,IBBILLED | 
|---|
|  | 38 | Q | 
|---|
|  | 39 | ; | 
|---|
|  | 40 | CEA(IBPM,IBEVT) ; Automatically disposition the case from Cancel/Edit/Add. | 
|---|
|  | 41 | ;  Input:     IBPM  --  Pointer to the adm movement in file #405 | 
|---|
|  | 42 | ;            IBEVT  --  Pointer to the billing event record in file #350 | 
|---|
|  | 43 | I '$G(IBEVT) G CEAQ | 
|---|
|  | 44 | N DA,DIE,DR,IBC | 
|---|
|  | 45 | S IBC=$O(^IBE(351.2,"AC",+$G(IBPM),0)) I IBC D UPD(0) | 
|---|
|  | 46 | CEAQ Q | 
|---|
|  | 47 | ; | 
|---|
|  | 48 | CHK(IBC,IBEVT) ; Review the case after adding a charge from Cancel/Edit/Add. | 
|---|
|  | 49 | ;  Input:      IBC  --  Pointer to the case in file #351.2 | 
|---|
|  | 50 | ;            IBEVT  --  Pointer to the billing event record in file #350 | 
|---|
|  | 51 | I '$G(IBC)!'$G(IBEVT) G CHKQ | 
|---|
|  | 52 | N DA,DIE,DR,IBCD,IBCD1 | 
|---|
|  | 53 | S IBCD=$G(^IBE(351.2,IBC,0)),IBCD1=$G(^(1)) | 
|---|
|  | 54 | I $P(IBCD,"^",7)!'$P(IBCD,"^",8)!(IBCD1]"") D UPD(1) | 
|---|
|  | 55 | CHKQ Q | 
|---|
|  | 56 | ; | 
|---|
|  | 57 | UPD(IND) ; Disposition the case record. | 
|---|
|  | 58 | ;  Input:      IND  --  0 = dispositioning  |  1 = reviewing | 
|---|
|  | 59 | ;         variables --  IBC => ptr to case record | 
|---|
|  | 60 | ;                       IBEVT => ptr to event record in #350 | 
|---|
|  | 61 | W !,"Dispositioning the special inpatient billing case record" | 
|---|
|  | 62 | W:$G(IND) " (as billable)" W "..." | 
|---|
|  | 63 | K ^IBE(351.2,IBC,1) | 
|---|
|  | 64 | S DR=".04////"_IBEVT_";.07////0;.08////1;2.03////"_DUZ_";2.04///NOW" | 
|---|
|  | 65 | S DIE="^IBE(351.2,",DA=IBC D ^DIE W "  done." | 
|---|
|  | 66 | Q | 
|---|
|  | 67 | ; | 
|---|
|  | 68 | DSPL(IBC) ; Display a case record. | 
|---|
|  | 69 | ;  Input:      IBC  --  Pointer to the case record in file #351.2 | 
|---|
|  | 70 | I '$G(IBC) G DSPLQ | 
|---|
|  | 71 | N DFN,IBCD,IBC1,IBC2,IBATYP,IBPT,IBDIS,IBCL,IBEVT,IBN,IBND,Y | 
|---|
|  | 72 | S IBCD=$G(^IBE(351.2,IBC,0)),IBC1=$G(^(1)),IBC2=$G(^(2)) | 
|---|
|  | 73 | S DFN=+IBCD,IBPT=$$PT^IBEFUNC(DFN),IBCL=$P(IBCD,"^",3) | 
|---|
|  | 74 | W !,$$DASH(),!?1,"Pt. Name: ",$E($P(IBPT,"^"),1,17),"  (",$P(IBPT,"^",3),")" | 
|---|
|  | 75 | W ?38,"Care related to ",$$PATTYAB^IBACV(IBCL),": ",$S($P(IBCD,"^",7):"YES",$P(IBCD,"^",7)=0:"NO",1:"UNANSWERED") | 
|---|
|  | 76 | W !?5,"Type: ",$$UCCL^IBAMTI(IBCL),?39,"Case Dispositioned: ",$S($P(IBCD,"^",8):"YES",1:"NO") | 
|---|
|  | 77 | W !?1,"Adm Date: ",$$DAT1^IBOUTL(+$G(^DGPM(+$P(IBCD,"^",2),0)),1),?41,"Date Last Edited: ",$$DAT1^IBOUTL(+$P(IBC2,"^",4),1) | 
|---|
|  | 78 | S IBDIS=+$G(^DGPM(+$P($G(^DGPM(+$P(IBCD,"^",2),0)),"^",17),0)) | 
|---|
|  | 79 | W !,"Disc Date: ",$S(IBDIS:$$DAT1^IBOUTL(IBDIS,1),1:"Still Admitted"),?43,"Last Edited By: ",$E($P($G(^VA(200,+$P(IBC2,"^",3),0)),"^"),1,20),!,$$DASH() | 
|---|
|  | 80 | ; | 
|---|
|  | 81 | S IBEVT=+$P(IBCD,"^",4) | 
|---|
|  | 82 | I $O(^IB("AF",IBEVT,IBEVT)) W !?1,"Charges Billed:" D | 
|---|
|  | 83 | .S IBN=0 F  S IBN=$O(^IB("AF",IBEVT,IBN)) Q:'IBN  I IBN'=IBEVT D | 
|---|
|  | 84 | ..S IBND=$G(^IB(IBN,0)) | 
|---|
|  | 85 | ..S IBATYP=$P($G(^IBE(350.1,+$P(IBND,"^",3),0)),"^") | 
|---|
|  | 86 | ..S:$E(IBATYP,1,2)="DG" IBATYP=$E(IBATYP,4,99) | 
|---|
|  | 87 | ..W !?5,IBATYP,?35,$$DAT1^IBOUTL($P(IBND,"^",14)),?46,$$DAT1^IBOUTL($P(IBND,"^",15)) | 
|---|
|  | 88 | ..W ?57,"$",$P(IBND,"^",7),?64,$P($G(^IBE(350.21,+$P(IBND,"^",5),0)),"^",2) | 
|---|
|  | 89 | .W !,$$DASH() | 
|---|
|  | 90 | ; | 
|---|
|  | 91 | I IBC1]"" W !?1,"Reason for Non-Billing:",!,IBC1,!,$$DASH(),! | 
|---|
|  | 92 | DSPLQ Q | 
|---|
|  | 93 | ; | 
|---|
|  | 94 | DASH() ; Return a dashed line. | 
|---|
|  | 95 | Q $TR($J("",80)," ","-") | 
|---|