| 1 | IBTRPR01 ;ALB/AAS - CLAIMS TRACKING - PENDING WORK SCREEN ; 22-JUL-1993 | 
|---|
| 2 | ;;2.0;INTEGRATED BILLING;**23,33,91**;21-MAR-94 | 
|---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | ; | 
|---|
| 5 | % G ^IBTRPR | 
|---|
| 6 | ; | 
|---|
| 7 | ; | 
|---|
| 8 | 1 S (X,ENTRY)="",TYPE="Hosp Reviews",FILE=356.1,IBDV=1 | 
|---|
| 9 | S IBI=IBTPBDT-.0001 F  S IBI=$O(^IBT(356.1,"APEND",IBI)) Q:'IBI!(IBI>(IBTPEDT+.9))  S IBJ="" F  S IBJ=$O(^IBT(356.1,"APEND",IBI,IBJ)) Q:'IBJ  D | 
|---|
| 10 | .S (ENTRY,IBTRV)=IBJ | 
|---|
| 11 | .I IBTPRT'="B" D  Q:IBQUIT | 
|---|
| 12 | ..S IBQUIT=1 | 
|---|
| 13 | ..S IBTX=$P($G(^IBE(356.11,+$P($G(^IBT(356.1,+IBTRV,0)),"^",22),0)),"^",2) | 
|---|
| 14 | ..I IBTPRT="C",IBTX>29 S IBQUIT=0 Q | 
|---|
| 15 | ..I IBTPRT="A",IBTX<30 S IBQUIT=0 | 
|---|
| 16 | .S IBDATE=IBI | 
|---|
| 17 | .S IBTRN=$P($G(^IBT(356.1,+IBTRV,0)),"^",2) | 
|---|
| 18 | .I $P($G(^IBT(356,+IBTRN,0)),"^",20)'=1 Q | 
|---|
| 19 | .S DFN=$P($G(^IBT(356,+IBTRN,0)),"^",2) | 
|---|
| 20 | .I $G(IBTOPW) S IBDV=$$DIV(IBTRN) | 
|---|
| 21 | .S IBWARD=$P($G(^DPT(DFN,.1)),"^") | 
|---|
| 22 | .S IBSTATUS=$P($G(^IBT(356.1,IBTRV,0)),"^",21) | 
|---|
| 23 | .S IBNEXT=$S(IBSTATUS=10:"ADD NEXT REV.",1:"EDIT REVIEW") | 
|---|
| 24 | .S IBSTATUS=$$EXPAND^IBTRE(356.1,.21,IBSTATUS) | 
|---|
| 25 | .S IBREV=$P($G(^IBT(356.1,IBTRV,0)),"^",22) | 
|---|
| 26 | .S IBASSIGN=$P($G(^VA(200,+$P($G(^IBT(356,IBTRN,1)),"^",5),0)),"^") | 
|---|
| 27 | .I IBTWHO'="A" D  Q:IBQUIT | 
|---|
| 28 | ..S IBQUIT=1 | 
|---|
| 29 | ..I IBTWHO="Y",DUZ=$P($G(^IBT(356,+IBTRN,1)),"^",5) S IBQUIT=0 Q | 
|---|
| 30 | ..I IBTWHO="U",IBASSIGN=""!(DUZ=$P($G(^IBT(356,+IBTRN,1)),"^",5)) S IBQUIT=0 | 
|---|
| 31 | .I IBASSIGN="" S IBASSIGN="Unassigned" | 
|---|
| 32 | .D TEMP | 
|---|
| 33 | .Q | 
|---|
| 34 | S IBQUIT=0 | 
|---|
| 35 | Q | 
|---|
| 36 | ; | 
|---|
| 37 | 2 S (X,ENTRY)="",TYPE="Ins. Reviews",FILE=356.2,IBDV=1 | 
|---|
| 38 | S IBI=IBTPBDT-.0001 F  S IBI=$O(^IBT(356.2,"APEND",IBI)) Q:'IBI!(IBI>(IBTPEDT+.9))  S IBJ="" F  S IBJ=$O(^IBT(356.2,"APEND",IBI,IBJ)) Q:'IBJ  D | 
|---|
| 39 | .S (ENTRY,IBTRC)=IBJ | 
|---|
| 40 | .I IBTPRT'="B" D  Q:IBQUIT | 
|---|
| 41 | ..S IBQUIT=1 | 
|---|
| 42 | ..S IBTX=$P($G(^IBE(356.11,+$P($G(^IBT(356.2,+IBTRC,0)),"^",4),0)),"^",2) | 
|---|
| 43 | ..I IBTPRT="C",IBTX>29 S IBQUIT=0 | 
|---|
| 44 | ..I IBTPRT="A",IBTX<30 S IBQUIT=0 | 
|---|
| 45 | .S IBDATE=IBI | 
|---|
| 46 | .S IBTRN=$P($G(^IBT(356.2,+IBTRC,0)),"^",2) | 
|---|
| 47 | .I $P($G(^IBT(356,+IBTRN,0)),"^",20)'=1 Q | 
|---|
| 48 | .S DFN=$P($G(^IBT(356,+IBTRN,0)),"^",2) | 
|---|
| 49 | .I $G(IBTOPW) S IBDV=$$DIV(IBTRN) | 
|---|
| 50 | .S IBREV=$P($G(^IBT(356.2,IBTRC,0)),"^",4) | 
|---|
| 51 | .S IBWARD=$P($G(^DPT(DFN,.1)),"^") | 
|---|
| 52 | .S IBSTATUS=$P($G(^IBT(356.2,IBTRC,0)),"^",19) | 
|---|
| 53 | .S IBNEXT=$S(IBSTATUS=10:"ADD NEXT REV.",1:"EDIT REVIEW") | 
|---|
| 54 | .S IBSTATUS=$$EXPAND^IBTRE(356.2,.19,IBSTATUS) | 
|---|
| 55 | .S IBASSIGN=$P($G(^VA(200,+$P($G(^IBT(356,IBTRN,1)),"^",6),0)),"^") | 
|---|
| 56 | .I IBTWHO'="A" D  Q:IBQUIT | 
|---|
| 57 | ..S IBQUIT=1 | 
|---|
| 58 | ..I IBTWHO="Y",DUZ=$P($G(^IBT(356,+IBTRN,1)),"^",6) S IBQUIT=0 Q | 
|---|
| 59 | ..I IBTWHO="U",IBASSIGN=""!(DUZ=$P($G(^IBT(356,+IBTRN,1)),"^",6)) S IBQUIT=0 | 
|---|
| 60 | .I IBASSIGN="" S IBASSIGN="Unassigned" | 
|---|
| 61 | .D TEMP | 
|---|
| 62 | .Q | 
|---|
| 63 | S IBQUIT=0 | 
|---|
| 64 | Q | 
|---|
| 65 | ; | 
|---|
| 66 | ; | 
|---|
| 67 | TEMP ; -- build temp array | 
|---|
| 68 | N IBTSORT | 
|---|
| 69 | S IBTSORT=$S(IBSORT="W":IBWARD,IBSORT="P":$P($G(^DPT(DFN,0)),"^"),IBSORT="T":$P($G(^IBE(356.11,+IBREV,0)),"^"),IBSORT="D":IBDATE,IBSORT="A":IBASSIGN,1:"ZZ!@#$%^&*()_+") | 
|---|
| 70 | I IBTSORT="" S IBTSORT="ZZ!@#$%^&*()_+" | 
|---|
| 71 | S ^TMP("IBSRT",$J,$E(IBDV,1,20),TYPE,$E(IBTSORT,1,20),$E($P(^DPT(DFN,0),"^"),1,20),IBTRN,ENTRY)=IBTRN_"^"_ENTRY_"^"_IBDATE_"^"_DFN_"^"_IBWARD_"^"_IBSTATUS_"^"_IBREV_"^"_FILE_"^"_IBASSIGN_"^"_IBNEXT | 
|---|
| 72 | S ^TMP("IBSRT1",$J,DFN,TYPE)="" | 
|---|
| 73 | Q | 
|---|
| 74 | ; | 
|---|
| 75 | DIV(IBTRN) ; -- comput division of a tracking entry | 
|---|
| 76 | ; -- input ien to 356 | 
|---|
| 77 | ; -- output name (.01) of entry in 40.8 or unknown | 
|---|
| 78 | N IBDV,DFN S IBDV="" | 
|---|
| 79 | I $G(^IBT(356,+$G(IBTRN),0))="" G DIVQ | 
|---|
| 80 | S DFN=$P(^IBT(356,+IBTRN,0),"^",2) | 
|---|
| 81 | I $P($G(^IBT(356,+IBTRN,0)),"^",5) D  G DIVQ | 
|---|
| 82 | .S IBDV=+$P($G(^DIC(42,+$P($G(^DGPM(+$P($G(^IBT(356,+IBTRN,0)),"^",5),0)),"^",6),0)),"^",11) ;default is division of admission movement | 
|---|
| 83 | .I $G(^DPT(DFN,.1))'="",+$P(^IBT(356,+IBTRN,0),"^",5)=+$G(^DPT(DFN,.105)) S IBDV=+$P($G(^DIC(42,+$O(^DIC(42,"B",$P($G(^DPT(DFN,.1)),"^"),0)),0)),"^",11) ;if current adm=adm from movement compute current div | 
|---|
| 84 | ; | 
|---|
| 85 | I $P($G(^IBT(356,+IBTRN,0)),"^",4) D  G DIVQ | 
|---|
| 86 | .S IBDV=+$$SCE^IBSDU(+$P($G(^IBT(356,+IBTRN,0)),"^",4),11) | 
|---|
| 87 | ; | 
|---|
| 88 | I $P($G(^IBT(356,+IBTRN,0)),"^",32),'$P(^IBT(356,+IBTRN,0),"^",5) D | 
|---|
| 89 | .S IBDV=+$P($G(^DGS(41.1,+$P(^IBT(356,+IBTRN,0),"^",32),0)),"^",12) | 
|---|
| 90 | .I 'IBDV S IBDV=+$P($G(^DIC(42,+$P($G(^DGS(41.1,+$P(^IBT(356,+IBTRN,0),"^",32),0)),"^",8),0)),"^",11) | 
|---|
| 91 | ; | 
|---|
| 92 | DIVQ I IBDV S IBDV=$P($G(^DG(40.8,+IBDV,0)),"^") | 
|---|
| 93 | E  S IBDV="UNKNOWN" | 
|---|
| 94 | Q IBDV | 
|---|