| [613] | 1 | IBTRED1 ;ALB/AAS - CLAIMS TRACKING EDIT ; 06-JUL-93 | 
|---|
|  | 2 | ;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94 | 
|---|
|  | 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | % G ^IBTRE | 
|---|
|  | 6 | ; | 
|---|
|  | 7 | NX(IBTMPNM) ; -- edit next template | 
|---|
|  | 8 | N IBXX,VALMY,IBTRV,IBTRC | 
|---|
|  | 9 | D EN^VALM(IBTMPNM) | 
|---|
|  | 10 | I '$D(IBFASTXT) D BLD^IBTRED | 
|---|
|  | 11 | S VALMBCK="R" | 
|---|
|  | 12 | Q | 
|---|
|  | 13 | ; | 
|---|
|  | 14 | EDIT(IBTEMP,BLD) ; -- edit entry point for claims tracking | 
|---|
|  | 15 | ; -- Input   IBTEMP = template name or dr string | 
|---|
|  | 16 | ;               BLD = any non-zero value if calling routine is doing own | 
|---|
|  | 17 | ;                      rebuild | 
|---|
|  | 18 | ; | 
|---|
|  | 19 | D FULL^VALM1 W ! | 
|---|
|  | 20 | L +^IBT(356,+IBTRN):5 I '$T D LOCKED^IBTRCD1 G EDITQ | 
|---|
|  | 21 | D SAVE | 
|---|
|  | 22 | S DIE="^IBT(356,",DA=IBTRN | 
|---|
|  | 23 | S DR=IBTEMP | 
|---|
|  | 24 | D ^DIE K DA,DR,DIC,DIE | 
|---|
|  | 25 | D COMP | 
|---|
|  | 26 | I IBDIF=1 D UPDATE,BLD^IBTRED:'$G(BLD) | 
|---|
|  | 27 | L -^IBT(356,+IBTRN) | 
|---|
|  | 28 | EDITQ K ^TMP($J,"IBT") | 
|---|
|  | 29 | S VALMBCK="R" | 
|---|
|  | 30 | Q | 
|---|
|  | 31 | ; | 
|---|
|  | 32 | SAVE ; -- Save the global before editing | 
|---|
|  | 33 | K ^TMP($J,"IBT") | 
|---|
|  | 34 | S ^TMP($J,"IBT",356,IBTRN,0)=$G(^IBT(356,IBTRN,0)) | 
|---|
|  | 35 | S ^TMP($J,"IBT",356,IBTRN,1)=$G(^IBT(356,IBTRN,1)) | 
|---|
|  | 36 | Q | 
|---|
|  | 37 | ; | 
|---|
|  | 38 | COMP ; -- Compare before editing with globals | 
|---|
|  | 39 | S IBDIF=0 | 
|---|
|  | 40 | I $G(^IBT(356,IBTRN,0))'=$G(^TMP($J,"IBT",356,IBTRN,0)) S IBDIF=1 | 
|---|
|  | 41 | I $G(^IBT(356,IBTRN,1))'=$G(^TMP($J,"IBT",356,IBTRN,1)) S IBDIF=1 | 
|---|
|  | 42 | Q | 
|---|
|  | 43 | ; | 
|---|
|  | 44 | UPDATE ; -- enter date and user if editing has taken place | 
|---|
|  | 45 | ;    entry locked by edit, locks not needed here | 
|---|
|  | 46 | S DIE="^IBT(356,",DA=IBTRN | 
|---|
|  | 47 | S DR="1.03///NOW;1.04////"_DUZ | 
|---|
|  | 48 | D ^DIE K DA,DR,DIC,DIE | 
|---|
|  | 49 | Q | 
|---|
|  | 50 | ; | 
|---|
|  | 51 | DICS(Y) ; -- called by input transform and screen logic for type of diagnois | 
|---|
|  | 52 | N IBY | 
|---|
|  | 53 | S IBY=0 | 
|---|
|  | 54 | I Y=2 S IBY=1 G DICSQ | 
|---|
|  | 55 | I Y=1 I '$D(^IBT(356.9,"ATP",+$P($G(^IBT(356.9,DA,0)),U,2),1))!($O(^IBT(356.9,"ATP",+$P($G(^IBT(356.9,DA,0)),U,2),1,0))=DA) S IBY=1 | 
|---|
|  | 56 | I Y=3 I '$D(^IBT(356.9,"ATP",+$P($G(^IBT(356.9,DA,0)),U,2),3))!($O(^IBT(356.9,"ATP",+$P($G(^IBT(356.9,DA,0)),U,2),3,0))=DA) S IBY=1 | 
|---|
|  | 57 | ;I Y=3 I '$D(^IBT(356.9,"ADG",+$P($G(^IBT(356.9,DA,0)),U,2),+^(0)))!($O(^IBT(356.9,"ADG",+$P($G(^IBT(356.9,DA,0)),U,2),+^(0),0))=DA) S IBY=1 | 
|---|
|  | 58 | DICSQ Q IBY | 
|---|
|  | 59 | ; | 
|---|
|  | 60 | BILLD(IBTRN) ; -- compute total amount billed and received for this visit | 
|---|
|  | 61 | ; -- output total amount billed (minus offset) ^ total amount recieved | 
|---|
|  | 62 | N X,Y,Z,IBY,IBZ | 
|---|
|  | 63 | S (IBY,IBZ)=0 | 
|---|
|  | 64 | I '$G(IBTRN) G BILLDQ | 
|---|
|  | 65 | ; | 
|---|
|  | 66 | S (X,Y,Z)=0 F  S X=$O(^IBT(356.399,"ACB",IBTRN,X)) Q:X=""  D COMPUT | 
|---|
|  | 67 | ; | 
|---|
|  | 68 | I 'IBY,'IBZ D  ;look to 399 if no ct pointer | 
|---|
|  | 69 | .N DGPM,IBEVDT | 
|---|
|  | 70 | .S IBEVDT=$P(^IBT(356,+IBTRN,0),"^",6) | 
|---|
|  | 71 | .;inpatient | 
|---|
|  | 72 | .S DGPM=$P(^IBT(356,+IBTRN,0),"^",5) I DGPM D | 
|---|
|  | 73 | ..S (X,Y,Z)=0 F  S X=$O(^DGCR(399,"D",IBEVDT,X)) Q:'X  D COMPUT | 
|---|
|  | 74 | .; | 
|---|
|  | 75 | .;outpatient | 
|---|
|  | 76 | .I $P($G(^IBE(356.6,+$P(^IBT(356,+IBTRN,0),"^",18),0)),"^",8)=2 D | 
|---|
|  | 77 | ..S IBEVDT=+$P(IBEVDT,"."),DFN=$P(^IBT(356,+IBTRN,0),"^",2) | 
|---|
|  | 78 | ..S (X,Y,Z)=0 F  S X=$O(^DGCR(399,"AOPV",DFN,IBEVDT,X)) Q:'X  D COMPUT | 
|---|
|  | 79 | ..;I IBY S IBY=IBY_" (May include multiple visit dates)" | 
|---|
|  | 80 | ; | 
|---|
|  | 81 | BILLDQ I 'IBY,$P(^IBT(356,+IBTRN,0),"^",29) S IBY=$P(^IBT(356,+IBTRN,0),"^",29)_" (Estimated)" | 
|---|
|  | 82 | Q $G(IBY)_"^"_+$G(IBZ) | 
|---|
|  | 83 | ; | 
|---|
|  | 84 | COMPUT ; -- add up the numbers | 
|---|
|  | 85 | Q:$P($G(^DGCR(399,X,"S")),"^",17) | 
|---|
|  | 86 | S Y=$P($G(^DGCR(399,X,"U1")),"^",1)-$P($G(^("U1")),"^",2) | 
|---|
|  | 87 | I Y>0 S IBY=IBY+Y | 
|---|
|  | 88 | S Z=$$TPR^PRCAFN(X) | 
|---|
|  | 89 | I Z>0 S IBZ=IBZ+Y | 
|---|
|  | 90 | Q | 
|---|