| [613] | 1 | IBTRV3 ;ALB/AAS - CLAIMS TRACKING -  REVIEW ACTIONS ; 14-JUL-93 | 
|---|
|  | 2 | ;;Version 2.0 ; INTEGRATED BILLING ;**40,58**; 21-MAR-94 | 
|---|
|  | 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | % G EN^IBTRV | 
|---|
|  | 6 | ; | 
|---|
|  | 7 | ADNXT(IBTRN) ; -- Add next Hospital Review | 
|---|
|  | 8 | ; -- Input  ibtrn = internal entry in claims tracking (356) | 
|---|
|  | 9 | ; | 
|---|
|  | 10 | N IBETYP,IBTRTP,IBQUIT,IBDGPM,IBTRVDT,IBTRV,IBRDAY,IBMORE,IBSAME,IBSEL | 
|---|
|  | 11 | D FULL^VALM1 | 
|---|
|  | 12 | S VALMBCK="R",IBQUIT=0 | 
|---|
|  | 13 | S IBTRVDT=DT | 
|---|
|  | 14 | S IBETYP=$$TRTP^IBTRE1(IBTRN) | 
|---|
|  | 15 | I IBETYP>2 W !!,"This doesn't appear to be an admission or outpatient visit.",!,"I don't know how to review this.",! D PAUSE^VALM1 G ADNXTQ | 
|---|
|  | 16 | I IBETYP=2 D  I IBQUIT D PAUSE^VALM1 G ADNXTQ | 
|---|
|  | 17 | .S IBTDAY=1 | 
|---|
|  | 18 | .S IBTRTP=50 | 
|---|
|  | 19 | .I '$D(^IBT(356.1,"ATRTP",IBTRN,IBTRTP)) Q | 
|---|
|  | 20 | .W !!,"You have already entered a Review for this Outpatient Encounter.",!,"Use Quick Edit to Edit." | 
|---|
|  | 21 | .S IBQUIT=1 | 
|---|
|  | 22 | .Q | 
|---|
|  | 23 | ; | 
|---|
|  | 24 | ; -- inpatient review type | 
|---|
|  | 25 | I IBETYP=1 S IBTRTP=15 I $D(^IBT(356.1,"ATRTP",IBTRN,15)) S IBTRTP=30 | 
|---|
|  | 26 | S IBRDAY=$$RDAY^IBTRV31(IBTRN) | 
|---|
|  | 27 | ; | 
|---|
|  | 28 | INPT D REV(IBTRN,IBTRTP) | 
|---|
|  | 29 | D:$G(IBSEL)'["^" EN^IBTRE3(IBTRN) | 
|---|
|  | 30 | D:$G(IBSEL)'["^" EN^IBTRE4(IBTRN) | 
|---|
|  | 31 | D:$G(IBSEL)'["^" EN^IBTRE5(IBTRN) | 
|---|
|  | 32 | D EDIT^IBTRVD1(".21////10;.21",1) | 
|---|
|  | 33 | G:$G(IBSEL)["^" ANOTHER | 
|---|
|  | 34 | I IBETYP'=1 G ADNXTQ | 
|---|
|  | 35 | ; | 
|---|
|  | 36 | ANOTHER ; -- ask if add another if no ask next review date/status | 
|---|
|  | 37 | S IBMORE=$$ASKMORE^IBTRV31() | 
|---|
|  | 38 | I IBMORE["^" D  G ADNXTQ | 
|---|
|  | 39 | .D EDIT^IBTRVD1("1.13////0;1.15////1;.2",1) | 
|---|
|  | 40 | .Q | 
|---|
|  | 41 | ; | 
|---|
|  | 42 | ; -- if yes ask set next review date ="" ask status | 
|---|
|  | 43 | I IBMORE D | 
|---|
|  | 44 | .D EDIT^IBTRVD1(".2///@",1) ;delete next review date | 
|---|
|  | 45 | .Q | 
|---|
|  | 46 | ; -- if no g adnxtq | 
|---|
|  | 47 | I 'IBMORE S VALMBCK="R" D  G ADNXTQ | 
|---|
|  | 48 | .D EDIT^IBTRVD1("1.13////0;1.15;I 'X S Y=""@9"";.2//^S X=$$DAT1^IBOUTL($$NXTRVDT^IBTRV31(IBTRV));@9;1.17;S Y=""@99"";.2///@;@99",1) | 
|---|
|  | 49 | ; | 
|---|
|  | 50 | SAME ; -- ask if same | 
|---|
|  | 51 | S IBSAME=$$ASKSAME^IBTRV31() | 
|---|
|  | 52 | D EDIT^IBTRVD1("1.13////1;1.14////"_+IBSAME,1) | 
|---|
|  | 53 | ; | 
|---|
|  | 54 | I IBSAME["^" G ADNXTQ | 
|---|
|  | 55 | ; | 
|---|
|  | 56 | ; -- if yes file / increment day ask status/clinical data g another | 
|---|
|  | 57 | I IBSAME D  G ANOTHER | 
|---|
|  | 58 | .S IBRDAY=IBRDAY+1 | 
|---|
|  | 59 | .S IBTRTP=30 | 
|---|
|  | 60 | .D MESS | 
|---|
|  | 61 | .D COPY^IBTRV31(IBTRV) ; after copy ibtrv will be value of new review | 
|---|
|  | 62 | .Q | 
|---|
|  | 63 | ; | 
|---|
|  | 64 | ; -- if no edit g another | 
|---|
|  | 65 | I 'IBSAME D  G INPT | 
|---|
|  | 66 | .S IBRDAY=IBRDAY+1 | 
|---|
|  | 67 | .S IBTRTP=30 | 
|---|
|  | 68 | ; | 
|---|
|  | 69 | ADNXTQ Q | 
|---|
|  | 70 | ; | 
|---|
|  | 71 | REV(IBTRN,IBTRTP) ; -- Add review | 
|---|
|  | 72 | ; -- input ibtrtp = tracking type code, | 
|---|
|  | 73 | ;          ibtrn  = internal id of tracking entry | 
|---|
|  | 74 | I '$G(IBTRTP)!('$G(IBTRN)) W !!,"DUH, Nothing Added!" D PAUSE^VALM1 G REVQ ; only stupid programmers should get this message | 
|---|
|  | 75 | N IBQUIT,IBDGPMD,IBTRVDT | 
|---|
|  | 76 | S IBQUIT=0,IBTRVDT=$$RDT^IBTRV31(IBTRN) | 
|---|
|  | 77 | ; | 
|---|
|  | 78 | I IBTRTP=30 D  G:IBQUIT REVQ | 
|---|
|  | 79 | .I '$D(^IBT(356.1,"ATRTP",IBTRN,15)) W !!,"There must be an admission review first" S IBQUIT=1 Q | 
|---|
|  | 80 | .Q | 
|---|
|  | 81 | ; | 
|---|
|  | 82 | ; -- reviews after discharge date don't make sense | 
|---|
|  | 83 | S IBDGPMD=$P($G(^DGPM(+$P(^IBT(356,IBTRN,0),"^",5),0)),"^",17) | 
|---|
|  | 84 | ; finish this here | 
|---|
|  | 85 | ; | 
|---|
|  | 86 | D PRE^IBTUTL2(+$P(IBTRVDT,"."),IBTRN,IBTRTP) | 
|---|
|  | 87 | D MESS | 
|---|
|  | 88 | I '$D(IBTRV) G REVQ | 
|---|
|  | 89 | S VA200="" D INP^VADPT | 
|---|
|  | 90 | D @IBTRTP D EDIT^IBTRVD1(.DR,1) | 
|---|
|  | 91 | REVQ Q | 
|---|
|  | 92 | ; | 
|---|
|  | 93 | 15 ; -- Initial edit of admission review | 
|---|
|  | 94 | S DR=".03////1;D UNIT^IBTRV3(IBTRV);.01;.07////^S X=IBSPEC;.07;.23//INTERQUAL;I X'=1 S Y=""@20"";.04;.05;.06;I X=1 S Y=""@20"";12;.1;I 'X S Y=""@20"";.11;@20;11;" | 
|---|
|  | 95 | Q | 
|---|
|  | 96 | ; | 
|---|
|  | 97 | 30 ; -- Initial edit for continued stay | 
|---|
|  | 98 | S DR=".01;.03//^S X=$$RDAY^IBTRV31(IBTRN);D UNIT^IBTRV3(IBTRV);.07////^S X=$G(IBSPEC);.07;.23//INTERQUAL;I X'=1 S Y=""@20"";.05;.04;I $P(^IBT(356.1,DA,0),U,4),$P(^(0),U,5) S Y=""@20"";.12;13;" | 
|---|
|  | 99 | S DR=DR_".1;I 'X S Y=""@20"";.11;@20;11;" | 
|---|
|  | 100 | ;S DR="[IBTRV NEW CONT]" | 
|---|
|  | 101 | Q | 
|---|
|  | 102 | ; | 
|---|
|  | 103 | 50 ; -- outpatient review | 
|---|
|  | 104 | D 15 | 
|---|
|  | 105 | Q | 
|---|
|  | 106 | ; | 
|---|
|  | 107 | UNIT(X) ; -- determine if specialty is a specialized unit | 
|---|
|  | 108 | ;    input (review) | 
|---|
|  | 109 | ;    output 1 if unit, 0 if not | 
|---|
|  | 110 | N Y,VAIN,VAINDT,VA200 | 
|---|
|  | 111 | S IBUNIT=0,VA200="" | 
|---|
|  | 112 | I '$D(DA),$G(IBTRV) N DA S DA=IBTRV | 
|---|
|  | 113 | S VAINDT=$$VDT(IBTRN,DA),VA200="" D INP^VADPT | 
|---|
|  | 114 | I $P(VAIN(3),"^",2)["ICU"!$P(VAIN(3),"^",2)["CCU" S IBUNIT=1 | 
|---|
|  | 115 | S IBSPEC=$P(VAIN(3),U),IBPROV=$P(VAIN(2),U),IBATD=$P(VAIN(11),U) | 
|---|
|  | 116 | Q | 
|---|
|  | 117 | ; | 
|---|
|  | 118 | INSURD(X) ; -- determine if this is tracked as an ins. claim | 
|---|
|  | 119 | Q +$P(^IBT(356,+$P(^IBT(356.1,X,0),"^",2),0),"^",24) | 
|---|
|  | 120 | ; | 
|---|
|  | 121 | VDT(IBTRN,IBTRV) ; compute vaindt for day of review | 
|---|
|  | 122 | N IBX,DAY | 
|---|
|  | 123 | ;patch 40 | 
|---|
|  | 124 | S IBX=$P($P(^IBT(356,+IBTRN,0),"^",6),".")_.2359 ; midnight of admission day | 
|---|
|  | 125 | I $G(IBTRV) S DAY=$P($G(^IBT(356.1,+IBTRV,0)),"^",3) | 
|---|
|  | 126 | I $G(DAY)>1 S IBX=$P($$FMADD^XLFDT(IBX,DAY-1),".")_.2359 ; midnight of review day (day1 = admission day) ; patch 40 corrects the time problem +.24 | 
|---|
|  | 127 | Q IBX | 
|---|
|  | 128 | ; | 
|---|
|  | 129 | MESS ; -- add message | 
|---|
|  | 130 | W:IBTRTP=30 !!,"Adding a Continued Stay Review for Review Day ",$G(IBRDAY),".",! | 
|---|
|  | 131 | W:IBTRTP=15 !!,"Adding an Admission Review",! | 
|---|
|  | 132 | W:IBTRTP=50 !!,"Adding an Outpatient Visit Review",! | 
|---|
|  | 133 | Q | 
|---|