| 1 | IBTRCD1 ;ALB/AAS/BGA - CLAIMS TRACKING INS ACTION EDIT ; 11/8/06 9:34am
 | 
|---|
| 2 |  ;;2.0;INTEGRATED BILLING;**10,359**;21-MAR-94;Build 9
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 | % G ^IBTRC
 | 
|---|
| 6 |  ;
 | 
|---|
| 7 | QE ; -- Quick edit
 | 
|---|
| 8 |  N IBXX,VALMY,DA,DR,DIC,DIE
 | 
|---|
| 9 |  D QE1^IBTRC1
 | 
|---|
| 10 |  D BLD^IBTRCD
 | 
|---|
| 11 |  S VALMBCK="R"
 | 
|---|
| 12 |  Q
 | 
|---|
| 13 |  ;
 | 
|---|
| 14 | NX(IBTMPNM,BLD) ; -- edit next template
 | 
|---|
| 15 |  N IBXX,VALMY
 | 
|---|
| 16 |  D EN^VALM(IBTMPNM)
 | 
|---|
| 17 |  I '$D(IBFASTXT) D:'$G(BLD) BLD^IBTRCD
 | 
|---|
| 18 |  I IBTMPNM="IBCNS VIEW PAT INS" D:$G(BLD)=1 BLD^IBTRE ;REBUILD LIST
 | 
|---|
| 19 |  S VALMBCK="R"
 | 
|---|
| 20 |  Q
 | 
|---|
| 21 |  ;
 | 
|---|
| 22 | EDIT(DR,BLD) ; -- edit entry point for claims tracking reviews
 | 
|---|
| 23 |  ; -- Input   IBTEMP = template name or dr string
 | 
|---|
| 24 |  ;               BLD = any non-zero value if calling routine is doing own
 | 
|---|
| 25 |  ;                      rebuild
 | 
|---|
| 26 |  ;
 | 
|---|
| 27 |  N IBDIF,DA,DIC,DIE,DIR,X,Y,IBTLST
 | 
|---|
| 28 |  D FULL^VALM1 W !
 | 
|---|
| 29 |  D SAVE
 | 
|---|
| 30 |  S DIE="^IBT(356.2,",DA=IBTRC
 | 
|---|
| 31 |  L +^IBT(356.2,+IBTRC):5 I '$T D LOCKED G EDITQ
 | 
|---|
| 32 |  D ^DIE K DA,DR,DIC,DIE
 | 
|---|
| 33 |  I '$D(IBCON) D CON K IBCON
 | 
|---|
| 34 |  D COMP
 | 
|---|
| 35 |  I IBDIF=1 D UPDATE
 | 
|---|
| 36 |  L -^IBT(356.2,+IBTRC)
 | 
|---|
| 37 |  D BLD^IBTRCD:'$G(BLD)
 | 
|---|
| 38 | EDITQ K ^TMP($J,"IBT")
 | 
|---|
| 39 |  S VALMBCK="R"
 | 
|---|
| 40 |  Q
 | 
|---|
| 41 |  ;
 | 
|---|
| 42 | SAVE ; -- Save the global before editing
 | 
|---|
| 43 |  K ^TMP($J,"IBT")
 | 
|---|
| 44 |  S ^TMP($J,"IBT",356.2,IBTRC,0)=$G(^IBT(356.2,IBTRC,0))
 | 
|---|
| 45 |  S ^TMP($J,"IBT",356.2,IBTRC,1)=$G(^IBT(356.2,IBTRC,1))
 | 
|---|
| 46 |  S ^TMP($J,"IBT",356.2,IBTRC,11,0)=$G(^IBT(356.2,IBTRC,11,0))
 | 
|---|
| 47 |  S ^TMP($J,"IBT",356.2,IBTRC,12,0)=$G(^IBT(356.2,IBTRC,12,0))
 | 
|---|
| 48 |  S ^TMP($J,"IBT",356.2,IBTRC,13,0)=$G(^IBT(356.2,IBTRC,13,0))
 | 
|---|
| 49 |  Q
 | 
|---|
| 50 |  ;
 | 
|---|
| 51 | COMP ; -- Compare before editing with globals
 | 
|---|
| 52 |  S IBDIF=0
 | 
|---|
| 53 |  I $G(^IBT(356.2,IBTRC,0))'=$G(^TMP($J,"IBT",356.2,IBTRC,0)) S IBDIF=1 Q
 | 
|---|
| 54 |  I $G(^IBT(356.2,IBTRC,1))'=$G(^TMP($J,"IBT",356.2,IBTRC,1)) S IBDIF=1 Q
 | 
|---|
| 55 |  I $G(^IBT(356.2,IBTRC,11,0))'=$G(^TMP($J,"IBT",356.2,IBTRC,11,0)) S IBDIF=1 Q
 | 
|---|
| 56 |  I $G(^IBT(356.2,IBTRC,12,0))'=$G(^TMP($J,"IBT",356.2,IBTRC,12,0)) S IBDIF=1 Q
 | 
|---|
| 57 |  I $G(^IBT(356.2,IBTRC,13,0))'=$G(^TMP($J,"IBT",356.2,IBTRC,13,0)) S IBDIF=1 Q
 | 
|---|
| 58 |  Q
 | 
|---|
| 59 |  ;
 | 
|---|
| 60 | UPDATE ; -- enter date and user if editing has taken place
 | 
|---|
| 61 |  ;    entry locked during edit lock not needed here
 | 
|---|
| 62 |  S DIE="^IBT(356.2,",DA=IBTRC
 | 
|---|
| 63 |  S DR="1.03///NOW;1.04////"_DUZ
 | 
|---|
| 64 |  D ^DIE K DA,DR,DIC,DIE
 | 
|---|
| 65 |  Q
 | 
|---|
| 66 |  ;
 | 
|---|
| 67 | LOCKED ; -- write locked message
 | 
|---|
| 68 |  Q:$D(ZTQUEUED)
 | 
|---|
| 69 |  W !!,"Sorry, another user currently editing this entry."
 | 
|---|
| 70 |  W !,"Try again later."
 | 
|---|
| 71 |  D PAUSE^VALM1
 | 
|---|
| 72 |  Q
 | 
|---|
| 73 |  ;
 | 
|---|
| 74 | CON ; -- consistency checker for insurance reviews
 | 
|---|
| 75 |  N I,J,X,Y,DA,DR,DIC,DIE,IBI,IBDEL,IBACTION
 | 
|---|
| 76 |  S IBCON=1 Q:'$D(^IBT(356.2,IBTRC,0))
 | 
|---|
| 77 |  S IBACTION=$P($G(^IBE(356.7,+$P(^IBT(356.2,IBTRC,0),"^",11),0)),"^",3)
 | 
|---|
| 78 |  I $G(IBACTION)="" S IBACTION=99
 | 
|---|
| 79 |  ;
 | 
|---|
| 80 |  ; -- if action and type the same okay, check nxt rv. dates
 | 
|---|
| 81 |  I $P($G(^IBT(356.2,IBTRC,0)),"^",4)=$P($G(^TMP($J,"IBT",356.2,IBTRC,0)),"^",4),$P($G(^IBT(356.2,IBTRC,0)),"^",11)=$P($G(^TMP($J,"IBT",356.2,IBTRC,0)),"^",11) G NXRV
 | 
|---|
| 82 |  ;
 | 
|---|
| 83 |  ; -- if action different
 | 
|---|
| 84 |  I $P($G(^TMP($J,"IBT",356.2,IBTRC,0)),"^",11)="" Q  ; no previous action
 | 
|---|
| 85 |  I $P($G(^IBT(356.2,IBTRC,0)),"^",11)'=$P($G(^TMP($J,"IBT",356.2,IBTRC,0)),"^",11) D
 | 
|---|
| 86 |  .S DR=$P($T(@(IBACTION)),";;",2,99)
 | 
|---|
| 87 |  .I DR'="" D EDIT(DR,1)
 | 
|---|
| 88 |  .I IBACTION'=10 S $P(^IBT(356.2,IBTRC,0),"^",12,13)="^"
 | 
|---|
| 89 |  .I IBACTION'=20 S $P(^IBT(356.2,IBTRC,0),"^",15,16)="^"
 | 
|---|
| 90 |  .W !,"WARNING: I detected you changed the Action on this review and deleted",!,"data associated with the previous action." H 3
 | 
|---|
| 91 |  .Q
 | 
|---|
| 92 |  ; -- if not denial and denial reasons delete
 | 
|---|
| 93 |  I $O(^IBT(356.2,IBTRC,12,0)),$G(IBACTION)'=20 D
 | 
|---|
| 94 |  .S IBI=0 F  S IBI=$O(^IBT(356.2,IBTRC,12,IBI)) Q:'IBI  S DA=IBI,DA(1)=IBTRC,DIK="^IBT(356.2,"_IBTRC_",12," D ^DIK
 | 
|---|
| 95 |  ;
 | 
|---|
| 96 |  ; -- if not penalty and penalty reasons delete
 | 
|---|
| 97 |  I $O(^IBT(356.2,IBTRC,13,0)),$G(IBACTION)'=30 D
 | 
|---|
| 98 |  .S IBI=0 F  S IBI=$O(^IBT(356.2,IBTRC,13,IBI)) Q:'IBI  S DA=IBI,DA(1)=IBTRC,DIK="^IBT(356.2,"_IBTRC_",13," D ^DIK
 | 
|---|
| 99 |  .Q
 | 
|---|
| 100 |  ;
 | 
|---|
| 101 | NXRV ; -- check Next Review Dates
 | 
|---|
| 102 |  N IBI0,IBIX
 | 
|---|
| 103 |  I '$D(IBTRN) N IBTRN S IBTRN=$P($G(^IBT(356.2,+$G(IBTRC),0)),"^",2)
 | 
|---|
| 104 |  Q:'$G(IBTRN)
 | 
|---|
| 105 |  S IBI=0 F  S IBI=$O(^IBT(356.2,"C",IBTRN,IBI)) Q:'IBI  D
 | 
|---|
| 106 |  .I $P($G(^IBT(356.2,IBI,0)),"^",24) D
 | 
|---|
| 107 |  ..S IBI0=$G(^(0))
 | 
|---|
| 108 |  ..S IBI(IBI)=$$DAT1^IBOUTL($P(IBI0,U,24))_"^"_$P($G(^DIC(36,+$P(IBI0,U,8),0)),U,1)_"^"_$P($G(^IBE(356.11,+$P(IBI0,U,4),0)),U,3)
 | 
|---|
| 109 |  ..Q
 | 
|---|
| 110 |  .Q
 | 
|---|
| 111 |  I $O(IBI(0)) D ASKDEL I IBDEL D
 | 
|---|
| 112 |  .I $P(^IBT(356.2,IBTRC,0),U,24)!$O(IBI(+$O(IBI(0)))) D
 | 
|---|
| 113 |  ..W !!,?3,"WARNING: This patient has the following multiple Next Review Dates: "
 | 
|---|
| 114 |  ..W !!!,?5,"REVIEW",?18,"INSURANCE COMPANY",?45,"TYPE OF CONTACT",?65,"NEXT REV. DATE"
 | 
|---|
| 115 |  ..W !,?5,$TR($J(" ",IOM-5)," ","=")
 | 
|---|
| 116 |  ..S IBIX=0 F  S IBIX=$O(IBI(IBIX)) Q:'IBIX  D
 | 
|---|
| 117 |  ...W !,?5,$$DAT1^IBOUTL(+^IBT(356.2,IBIX,0)),?18,$E($P(IBI(IBIX),U,2),1,23),?45,$P(IBI(IBIX),U,3),?65,$P(IBI(IBIX),U,1)
 | 
|---|
| 118 |  ...Q
 | 
|---|
| 119 |  ..W !,?5,$TR($J(" ",IOM-5)," ","=") S DIR("A")="Press RETURN to continue" D PAUSE^IBOUTL Q
 | 
|---|
| 120 |  Q
 | 
|---|
| 121 |  ;
 | 
|---|
| 122 | ASKDEL ; -- ask if okay to delete next review dates
 | 
|---|
| 123 |  S IBDEL=1
 | 
|---|
| 124 |  Q
 | 
|---|
| 125 |  ;
 | 
|---|
| 126 | 10 ;;1.07///@;.2///@;.21///@
 | 
|---|
| 127 | 20 ;;.14///@;1.08///@;.2///@;21///@;.28///@
 | 
|---|
| 128 | 30 ;;.14///@;1.07///@;1.08///@;.2///@;21///@;.28///@
 | 
|---|
| 129 | 40 ;;.14///@;1.07///@;1.08///@;21///@;.28///@
 | 
|---|
| 130 | 50 ;;.14///@;1.07///@;1.08///@;.2///@;.28///@
 | 
|---|
| 131 | 99 ;;.14///@;1.07///@;1.08///@;.2///@;21///@;.28///@
 | 
|---|