| 1 | IBECEA51 ;ALB/CPM - Cancel/Edit/Add... Update Event Actions ; 05-MAY-93
 | 
|---|
| 2 |  ;;Version 2.0 ; INTEGRATED BILLING ;**57**; 21-MAR-94
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 | CS ; 'Change Status' Entry Action
 | 
|---|
| 6 |  N DIE,DA,DR,IBCOMMIT,IBLINE,IBNDX,IBSTAT,IBDEST,IBNBR,IBN
 | 
|---|
| 7 |  S IBCOMMIT=0 D EN^VALM2($G(XQORNOD(0))) I '$O(VALMY(0)) G CSQ
 | 
|---|
| 8 |  S IBNBR="" F  S IBNBR=$O(VALMY(IBNBR)) Q:'IBNBR  D
 | 
|---|
| 9 |  .S IBLINE=^TMP("IBACME",$J,IBNBR,0),IBNDX=^TMP("IBACMEI",$J,IBNBR)
 | 
|---|
| 10 |  .S IBSTAT=$P(IBNDX,"^"),IBN=$P(IBNDX,"^",3)
 | 
|---|
| 11 |  .S IBDEST=$S(IBSTAT="OPEN":"CLOSED",1:"OPEN")
 | 
|---|
| 12 |  .W !!,"Processing Event #",IBNBR,":"
 | 
|---|
| 13 |  .Q:$$FEE(IBN)
 | 
|---|
| 14 |  .S DIR(0)="Y",DIR("A")="Change the status of this event from "_IBSTAT_" to "_IBDEST,DIR("?")="^D HCS^IBECEA51"
 | 
|---|
| 15 |  .D ^DIR K DIR I 'Y!($D(DIRUT))!($D(DUOUT)) W !,"This event will remain "_IBSTAT_"." Q
 | 
|---|
| 16 |  .S DIE="^IB(",DA=IBN,DR=".05////"_$S(IBDEST="OPEN":1,1:2)
 | 
|---|
| 17 |  .D ^DIE I $D(Y) W !,"An error occured while changing the status - event is still ",IBSTAT,"." Q
 | 
|---|
| 18 |  .S IBCOMMIT=1 W !,"The status has been changed to ",IBDEST,"."
 | 
|---|
| 19 |  .S IBLINE=$$SETSTR^VALM1(IBDEST,IBLINE,+$P(VALMDDF("STATUS"),"^",2),+$P(VALMDDF("STATUS"),"^",3))
 | 
|---|
| 20 |  .S ^TMP("IBACME",$J,IBNBR,0)=IBLINE,$P(^TMP("IBACMEI",$J,IBNBR),"^",1)=IBDEST
 | 
|---|
| 21 |  D PAUSE^VALM1
 | 
|---|
| 22 | CSQ S VALMBCK=$S(IBCOMMIT:"R",1:"")
 | 
|---|
| 23 |  Q
 | 
|---|
| 24 |  ;
 | 
|---|
| 25 | HCS ; Help for 'Change Status'
 | 
|---|
| 26 |  W !!,"Please enter 'Y' or 'YES' to change the status of this event from ",IBSTAT
 | 
|---|
| 27 |  W !,"to ",IBDEST,", or 'N', 'NO', or '^' to quit."
 | 
|---|
| 28 |  W !!,"If the status of this event is changed to open, and the patient is still an"
 | 
|---|
| 29 |  W !,"inpatient in this ward (on the specified admission date), charges will be"
 | 
|---|
| 30 |  W !,"billed starting the day after the Date Last Calculated.  If the status is"
 | 
|---|
| 31 |  W !,"changed to closed, no further charges will be associated with this event."
 | 
|---|
| 32 |  Q
 | 
|---|
| 33 |  ;
 | 
|---|
| 34 | LC ; 'Last Date Calc' Entry Action
 | 
|---|
| 35 |  N IBCOMMIT,IBNBR
 | 
|---|
| 36 |  S IBCOMMIT=0 D EN^VALM2($G(XQORNOD(0))) I '$O(VALMY(0)) G LCQ
 | 
|---|
| 37 |  S IBNBR="" F  S IBNBR=$O(VALMY(IBNBR)) Q:'IBNBR  D LCO
 | 
|---|
| 38 |  D PAUSE^VALM1
 | 
|---|
| 39 | LCQ S VALMBCK=$S(IBCOMMIT:"R",1:"")
 | 
|---|
| 40 |  Q
 | 
|---|
| 41 |  ;
 | 
|---|
| 42 | LCO ; Update Last Calc Date for a Single Event.
 | 
|---|
| 43 |  N DIE,DR,DA,IBLINE,IBNDX,IBLCAL,IBN,IBEVDT,IBNEWV,%DT
 | 
|---|
| 44 |  S IBLINE=^TMP("IBACME",$J,IBNBR,0),IBNDX=^TMP("IBACMEI",$J,IBNBR)
 | 
|---|
| 45 |  S IBLCAL=$P(IBNDX,"^",2),IBN=$P(IBNDX,"^",3),IBEVDT=$P(IBNDX,"^",4)
 | 
|---|
| 46 |  W !!,"Processing Event #",IBNBR,":"
 | 
|---|
| 47 |  I $$FEE(IBN) G LCOQ
 | 
|---|
| 48 | LCP W !,"Date Last Calculated: " W:IBLCAL $$DAT2^IBOUTL(IBLCAL),"// "
 | 
|---|
| 49 |  R X:DTIME S:'IBLCAL&(X="") X="^" S:'$T X="^" I $E(X)="^" G LCOQ
 | 
|---|
| 50 |  I X="" W "  (",$$DAT2^IBOUTL(IBLCAL),")",!,"No change!" G LCOQ
 | 
|---|
| 51 |  I $E(X)="?"!($E(X)="@") D HLC G LCP
 | 
|---|
| 52 |  S %DT="EPX" D ^%DT I Y<0 D HELP^%DTC G LCP
 | 
|---|
| 53 |  I Y<IBEVDT!(Y>$$FMADD^XLFDT(DT,-1)) D HLC G LCP
 | 
|---|
| 54 |  S IBNEWV=Y,DIE="^IB(",DA=IBN,DR=".18////"_Y
 | 
|---|
| 55 |  D ^DIE I $D(Y) W !,"An error occured while changing the Last Calc Date - no change made!" G LCOQ
 | 
|---|
| 56 |  S IBCOMMIT=1 W !,"The Date Last Calculated has been changed to ",$$DAT1^IBOUTL(IBNEWV),"."
 | 
|---|
| 57 |  S IBLINE=$$SETSTR^VALM1($$DAT1^IBOUTL(IBNEWV),IBLINE,+$P(VALMDDF("LCALC"),"^",2),+$P(VALMDDF("LCALC"),"^",3))
 | 
|---|
| 58 |  S ^TMP("IBACME",$J,IBNBR,0)=IBLINE,$P(^TMP("IBACMEI",$J,IBNBR),"^",2)=IBNEWV
 | 
|---|
| 59 | LCOQ Q
 | 
|---|
| 60 |  ;
 | 
|---|
| 61 | HLC ; Help for 'Last Calc Date'
 | 
|---|
| 62 |  W !!,"The Date Last Calculated is used to record the last date for which Means Test"
 | 
|---|
| 63 |  W !,"charges were billed for an admission."
 | 
|---|
| 64 |  W !!,"This date cannot be deleted.  Please enter a date not less than the Event"
 | 
|---|
| 65 |  W !,"Date (",$$DAT1^IBOUTL(IBEVDT),") and not greater than yesterday (",$$DAT1^IBOUTL($$FMADD^XLFDT(DT,-1)),").",!
 | 
|---|
| 66 |  Q
 | 
|---|
| 67 |  ;
 | 
|---|
| 68 |  ;
 | 
|---|
| 69 | FEE(IBN) ; If the Event Record is for Fee, it is uneditable.
 | 
|---|
| 70 |  ;  Input:    IBN  --  Pointer to an event record in file #350
 | 
|---|
| 71 |  ; Output:  IBFEE  --  1 = record is uneditable
 | 
|---|
| 72 |  ;                     0 = record is editable
 | 
|---|
| 73 |  N IBFEE S IBFEE=0
 | 
|---|
| 74 |  I $P($G(^IB(+$G(IBN),0)),"^",8)["FEE" S IBFEE=1 W !,*7,"Fee Admissions cannot be edited!"
 | 
|---|
| 75 | FEEQ Q IBFEE
 | 
|---|