| 1 | IBJPB ;ALB/MAF,ARH - IBSP AUTOMATED BILLING SCREEN  ; 28-DEC-1995
 | 
|---|
| 2 |  ;;Version 2.0 ; INTEGRATED BILLING ;**39,55**; 21-MAR-94
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 | EN ; -- main entry point for IBJP AUTO BILLING screen
 | 
|---|
| 6 |  D EN^VALM("IBJP AUTO BILLING")
 | 
|---|
| 7 |  Q
 | 
|---|
| 8 |  ;
 | 
|---|
| 9 | HDR ; -- header code
 | 
|---|
| 10 |  S VALMHDR(1)="Only authorized persons may edit this data."
 | 
|---|
| 11 |  Q
 | 
|---|
| 12 |  ;
 | 
|---|
| 13 | INIT ; -- init variables and list array
 | 
|---|
| 14 |  K ^TMP("IBJPB",$J)
 | 
|---|
| 15 |  D BLD
 | 
|---|
| 16 |  Q
 | 
|---|
| 17 | HELP ; -- help code
 | 
|---|
| 18 |  S X="?" D DISP^XQORM1 W !!
 | 
|---|
| 19 |  Q
 | 
|---|
| 20 |  ;
 | 
|---|
| 21 | EXIT ; -- exit code
 | 
|---|
| 22 |  K ^TMP("IBJPB",$J)
 | 
|---|
| 23 |  D CLEAR^VALM1
 | 
|---|
| 24 |  Q
 | 
|---|
| 25 |  ;
 | 
|---|
| 26 | BLD ; - build screen array, no variables required
 | 
|---|
| 27 |  N IBNC,IBTC,IBTW,IBSW,IBLN,IBX,IBLR,IBJDATA,IBGRPB,IBGRPE,IBON
 | 
|---|
| 28 |  S IBNC(1)=11,IBTC(1)=2,IBTW(1)=23,IBSW(1)=13,IBNC(2)=50,IBTC(2)=41,IBTW(2)=23,IBSW(2)=13
 | 
|---|
| 29 |  ;
 | 
|---|
| 30 |  S (VALMCNT,IBLN)=1,IBLR=1,IBLN=$$SET("","",IBLN,IBLR),IBGRPB=IBLN
 | 
|---|
| 31 |  ;
 | 
|---|
| 32 |  ; - general parameters controlling AB
 | 
|---|
| 33 |  S IBJDATA=$G(^IBE(350.9,1,7))
 | 
|---|
| 34 |  S IBLN=$$SETN("GENERAL PARAMETERS",IBLN,IBLR,1)
 | 
|---|
| 35 |  S IBLN=$$SET("Auto Biller Frequency: ",+$P(IBJDATA,"^",1),IBLN,IBLR)
 | 
|---|
| 36 |  S IBLN=$$SET("Date Last Completed: ",$$DATE^IBJU1($P(IBJDATA,"^",2)),IBLN,IBLR)
 | 
|---|
| 37 |  S IBLN=$$SET("Inpatient Status: ",$$EXSET^IBJU1($P(IBJDATA,"^",3),350.9,7.03),IBLN,IBLR)
 | 
|---|
| 38 |  ;
 | 
|---|
| 39 |  ; - inpatient, outpatient, and prescription refill parameters
 | 
|---|
| 40 |  F IBX=1,2,4 D 
 | 
|---|
| 41 |  . I IBLR=1 S IBLN=IBGRPB,IBGRPE=IBLN,IBLR=2
 | 
|---|
| 42 |  . E  S (IBLN,VALMCNT)=$S(IBLN>IBGRPE:IBLN,1:IBGRPE),IBLN=$$SET("","",IBLN,IBLR),IBGRPB=IBLN,IBLR=1
 | 
|---|
| 43 |  . ;
 | 
|---|
| 44 |  . S IBX=$O(^IBE(356.6,"AC",+IBX,0)),IBJDATA=$G(^IBE(356.6,+IBX,0))
 | 
|---|
| 45 |  . S IBLN=$$SETN($P(IBJDATA,U,1),IBLN,IBLR,1),IBON=+$P(IBJDATA,"^",4)
 | 
|---|
| 46 |  . S IBLN=$$SET("Automate Billing: ",$S(+IBON:"YES",1:"NO"),IBLN,IBLR)
 | 
|---|
| 47 |  . S IBLN=$$SET("Billing Cycle: ",$S(+$P(IBJDATA,"^",5):$P(IBJDATA,"^",5),+IBON:"Monthly",1:""),IBLN,IBLR)
 | 
|---|
| 48 |  . S IBLN=$$SET("Days Delay: ",$P(IBJDATA,"^",6),IBLN,IBLR)
 | 
|---|
| 49 |  ;
 | 
|---|
| 50 |  S (IBLN,VALMCNT)=$S(IBLN>IBGRPE:IBLN,1:IBGRPE)-1
 | 
|---|
| 51 |  Q
 | 
|---|
| 52 |  ;
 | 
|---|
| 53 | SET(TTL,DATA,LN,LR) ;
 | 
|---|
| 54 |  N IBY
 | 
|---|
| 55 |  S IBY=$J(TTL,IBTW(LR))_DATA D SET1(IBY,LN,IBTC(LR),(IBTW(LR)+IBSW(LR)))
 | 
|---|
| 56 |  S LN=LN+1
 | 
|---|
| 57 |  Q LN
 | 
|---|
| 58 |  ;
 | 
|---|
| 59 | SETN(TTL,LN,LR,RV) ;
 | 
|---|
| 60 |  N IBY
 | 
|---|
| 61 |  S IBY=" "_TTL_" " D SET1(IBY,LN,IBNC(LR),$L(IBY),$G(RV))
 | 
|---|
| 62 |  S LN=LN+1
 | 
|---|
| 63 |  Q LN
 | 
|---|
| 64 |  ;
 | 
|---|
| 65 | SET1(STR,LN,COL,WD,RV) ; set up TMP array with screen data
 | 
|---|
| 66 |  N IBX S IBX=$G(^TMP("IBJPB",$J,LN,0))
 | 
|---|
| 67 |  S IBX=$$SETSTR^VALM1(STR,IBX,COL,WD)
 | 
|---|
| 68 |  D SET^VALM10(LN,IBX) I $G(RV)'="" D CNTRL^VALM10(LN,COL,WD,IORVON,IORVOFF)
 | 
|---|
| 69 |  Q
 | 
|---|
| 70 |  ;
 | 
|---|
| 71 | ABEDIT(IBJABP) ; -- IBJP AB EDIT ACTIONS (IP,OP,RX): Edit Automated Billing Parameters
 | 
|---|
| 72 |  ; Entry Code (356.6,.08) of CT Type to edit passed in
 | 
|---|
| 73 |  D FULL^VALM1
 | 
|---|
| 74 |  S IBJABP=$O(^IBE(356.6,"AC",IBJABP,0)) I 'IBJABP S VALMSG="Parameter set not found."
 | 
|---|
| 75 |  I +IBJABP S DIE="^IBE(356.6,",DA=+IBJABP,DR=".04;.05;.06" D ^DIE K DIE,DIC,DA,DR,X,Y
 | 
|---|
| 76 |  D INIT S VALMBCK="R"
 | 
|---|
| 77 |  Q
 | 
|---|
| 78 |  ;
 | 
|---|
| 79 | ABGEDIT ; -- IBJP AB GENERAL EDIT ACTION (GP): Edit General Automated Billing Parameters
 | 
|---|
| 80 |  D FULL^VALM1 N IBFR,IBFR2,IBZWRT,DIE,DIC,DA,DR,X,Y,DIR,DIRUT
 | 
|---|
| 81 |  S IBFR=$P($G(^IBE(350.9,1,7)),U,1)
 | 
|---|
| 82 |  S DIE="^IBE(350.9,",DA=1,DR="7.01;7.03" D ^DIE I $D(Y) K DIE,DIC,DA,DR,X,Y
 | 
|---|
| 83 |  S IBFR2=$P($G(^IBE(350.9,1,7)),U,1)
 | 
|---|
| 84 |  S IBZWRT=1 D:'IBFR CLEAN^IBCDC D:'IBFR2 ABOFF^IBCDC I 'IBZWRT S DIR(0)="E" D ^DIR K DIR
 | 
|---|
| 85 |  D INIT S VALMBCK="R"
 | 
|---|
| 86 |  Q
 | 
|---|