[613] | 1 | IB20P276 ;DALOI/AAT - POST INIT ACTION ;24-JUN-2003
|
---|
| 2 | ;;2.0;INTEGRATED BILLING;**276**;21-MAR-94
|
---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | ;
|
---|
| 5 | ;
|
---|
| 6 | ; Post Init Description: This init will resolve the pointer issues
|
---|
| 7 | ; for the new entries required in 350.2 and the update need in
|
---|
| 8 | ; file 399.1. This post init is associated with path *132*.
|
---|
| 9 | ;
|
---|
| 10 | Q
|
---|
| 11 | ;
|
---|
| 12 | ;
|
---|
| 13 | EN ;
|
---|
| 14 | D BMES^XPDUTL(">>> Adding/modifying CLAIMS TRACKING NON-BILLABLE REASONS in the file #356.8")
|
---|
| 15 | D NEWNBR
|
---|
| 16 | ;
|
---|
| 17 | ;Temporary:
|
---|
| 18 | D BMES^XPDUTL(">>> Correcting the BPS CLAIM file, field #900 'CLOSE REASON'")
|
---|
| 19 | D BPSFIX
|
---|
| 20 | D BMES^XPDUTL(">>> Correcting 'CLOSE REASON' in the temporary IB events log")
|
---|
| 21 | D LOGFIX
|
---|
| 22 | ;
|
---|
| 23 | D BMES^XPDUTL(">>> Enable menu option 'IBCNR EDIT HIPAA NCPDP FLAG'")
|
---|
| 24 | D OPT
|
---|
| 25 | ;
|
---|
| 26 | D BMES^XPDUTL(">>> Reviewing and correcting the PLAN file entries")
|
---|
| 27 | D ^IBCNRXI1
|
---|
| 28 | ;
|
---|
| 29 | D BMES^XPDUTL(">>> All POST-INIT Activities have been completed. <<<")
|
---|
| 30 | Q
|
---|
| 31 | ;
|
---|
| 32 | NEWNBR ; Add/Modify IB non-billable reasons #356.8
|
---|
| 33 | N IBI,IBY,IBMES
|
---|
| 34 | F IBI=1:1 S IBY=$P($T(REASONS+IBI),";;",2,255) Q:'IBY D
|
---|
| 35 | . N IBNAME,IBE02,IBE03,IBL,IBIEN
|
---|
| 36 | . S IBNAME=$P(IBY,U,2) Q:IBNAME=""
|
---|
| 37 | . S IBE02=$P(IBY,U,3)
|
---|
| 38 | . S IBE03=$P(IBY,U,4)
|
---|
| 39 | . S $E(IBL,33-$L(IBNAME))=" "
|
---|
| 40 | . S IBMES=" "_$J(IBI,2)_" "_IBNAME_IBL
|
---|
| 41 | . S IBIEN=$O(^IBE(356.8,"B",IBNAME,0))
|
---|
| 42 | . S:IBIEN="" IBIEN=0
|
---|
| 43 | . S:$G(^IBE(356.8,IBIEN,0))="" IBIEN=0
|
---|
| 44 | . I IBIEN S IBMES=IBMES_" Already on file"
|
---|
| 45 | . I 'IBIEN D
|
---|
| 46 | .. N IBRT,IBIEN,IBERR,IBCNT
|
---|
| 47 | .. S IBCNT=0
|
---|
| 48 | .. S IBRT(356.8,"+1,",.01)=IBNAME
|
---|
| 49 | .. S IBRT(356.8,"+1,",.02)=IBE02
|
---|
| 50 | .. S IBRT(356.8,"+1,",.03)=IBE03
|
---|
| 51 | .. D UPDATE^DIE("","IBRT","IBIEN","IBERR")
|
---|
| 52 | .. I $D(IBERR) D S IBCNT=IBCNT+1
|
---|
| 53 | ... N Y S Y="" F S Y=$O(IBERR(Y)) Q:Y="" D
|
---|
| 54 | .... S IBMES=IBMES_" *** Error: "_$G(IBERR(Y,1,"TEXT",1))
|
---|
| 55 | . I IBIEN D
|
---|
| 56 | .. S $P(^IBE(356.8,IBIEN,0),U,2)=IBE02
|
---|
| 57 | .. S $P(^IBE(356.8,IBIEN,0),U,3)=IBE03
|
---|
| 58 | . D MES^XPDUTL(IBMES)
|
---|
| 59 | Q
|
---|
| 60 | ;
|
---|
| 61 | ;
|
---|
| 62 | OPT ; Enable the menu option "IBCNR EDIT HIPAA NCPDP FLAG"
|
---|
| 63 | N IEN,IBRT,IBERR
|
---|
| 64 | S IEN=$O(^DIC(19,"B","IBCNR EDIT HIPAA NCPDP FLAG",""))
|
---|
| 65 | I 'IEN D BMES^XPDUTL(" *** Error: option 'IBCNR EDIT HIPAA NCPDP FLAG' not found") Q
|
---|
| 66 | S IBRT(19,IEN_",",2)="@"
|
---|
| 67 | D FILE^DIE("E","IBRT","IBERR")
|
---|
| 68 | I $D(IBERR) D
|
---|
| 69 | . N Y S Y="" F S Y=$O(IBERR(Y)) Q:Y="" D
|
---|
| 70 | .. D BMES^XPDUTL(" *** Error: "_$G(IBERR(Y,1,"TEXT",1)))
|
---|
| 71 | Q
|
---|
| 72 | ;
|
---|
| 73 | ;
|
---|
| 74 | ; *** Not implemented ***
|
---|
| 75 | ADDUSR ; Add the user to the New Person file (#200)
|
---|
| 76 | Q
|
---|
| 77 | N DIC,X,Y,DO,DD,DLAYGO,IBNAME
|
---|
| 78 | S IBNAME="E-PHARMACY"
|
---|
| 79 | S DIC(0)="",DIC="^VA(200,",X=IBNAME D ^DIC
|
---|
| 80 | I Y>0 D Q
|
---|
| 81 | . D BMES^XPDUTL("User "_IBNAME_" already exists in the NEW PERSON file - not added")
|
---|
| 82 | D BMES^XPDUTL("Adding new user, "_IBNAME_", to the NEW PERSON file")
|
---|
| 83 | S DLAYGO=200,DIC(0)="L",DIC="^VA(200,",DIC("DR")="1////MRA",X=IBNAME D FILE^DICN K DIC,DO,DD,DLAYGO
|
---|
| 84 | I Y'>0 D Q
|
---|
| 85 | . D BMES^XPDUTL("A problem was encountered trying to add user, "_IBNAME)
|
---|
| 86 | . D BMES^XPDUTL("The entry must be added manually to the NEW PERSON file")
|
---|
| 87 | ;
|
---|
| 88 | D BMES^XPDUTL("User, "_IBNAME_", was successfully added to the NEW PERSON file")
|
---|
| 89 | Q
|
---|
| 90 | ;
|
---|
| 91 | ;Temporary Clean-up procedure to eliminate QTY-DAYS SUPPLY switching
|
---|
| 92 | VERIFY(IBIFN,IBRX,IBFIL) ;check and correct
|
---|
| 93 | N IBX,QTY,DSUPP,IBZ,IBRXZ
|
---|
| 94 | S IBRXZ=$G(^PSRX(IBRX,1,IBFIL,0)) Q:IBRXZ=""
|
---|
| 95 | S QTY=+$P(IBRXZ,U,4) Q:'QTY Q:QTY>999
|
---|
| 96 | S DSUPP=+$P(IBRXZ,U,10) Q:'DSUPP Q:DSUPP>90
|
---|
| 97 | ;
|
---|
| 98 | S IBX=0 F S IBX=$O(^IBA(362.4,"C",IBIFN,IBX)) Q:'IBX D
|
---|
| 99 | . ;W !,IBIFN,?10," ",IBRX,?22," ",IBFIL
|
---|
| 100 | . S IBZ=$G(^IBA(362.4,IBX,0)) Q:IBZ=""
|
---|
| 101 | . I QTY=+$P(IBZ,U,7),DSUPP=+$P(IBZ,U,6) Q
|
---|
| 102 | . ;W " *** INCORRECT: QTY/DAYS=",+$P(IBZ,U,7),"/",+$P(IBZ,U,6),", MUST BE ",QTY,"/",DSUPP
|
---|
| 103 | . D SETQTY(IBX,QTY,DSUPP)
|
---|
| 104 | Q
|
---|
| 105 | SETQTY(IBX,QTY,DSUPP) ;
|
---|
| 106 | N IBRT,IBERR
|
---|
| 107 | S IBRT(362.4,IBX_",",.06)=DSUPP
|
---|
| 108 | S IBRT(362.4,IBX_",",.07)=QTY
|
---|
| 109 | D FILE^DIE("","IBRT","IBERR")
|
---|
| 110 | ;I $D(IBERR) W ! ZW IBERR
|
---|
| 111 | Q
|
---|
| 112 | ;
|
---|
| 113 | ;
|
---|
| 114 | GETRX(IBIFN) ;Get Rx from 362.4
|
---|
| 115 | N IBX,IBRX,IBRXN
|
---|
| 116 | S IBRX=0
|
---|
| 117 | S IBX=+$O(^IBA(362.4,"C",+IBIFN,""))
|
---|
| 118 | S IBRXN=$P($G(^IBA(362.4,IBX,0)),U)
|
---|
| 119 | I IBRXN'="" S IBRX=+$O(^PSRX("B",IBRXN,0))
|
---|
| 120 | Q IBRX
|
---|
| 121 | ;
|
---|
| 122 | BULL ; Generate a bulletin with modified bills.
|
---|
| 123 | N IBGRP,XMDUZ,XMTEXT,XMSUB,XMY
|
---|
| 124 | ;
|
---|
| 125 | S XMSUB="FIXING 'CANCELLATION' IN NCPDP ZERO BILLS"
|
---|
| 126 | S XMDUZ="INTEGRATED BILLING PACKAGE",XMTEXT="^TMP("_$J_",""IB20P276"","
|
---|
| 127 | S XMY(DUZ)=""
|
---|
| 128 | S XMY("G.PRCA ERROR")=""
|
---|
| 129 | D ^XMD
|
---|
| 130 | Q
|
---|
| 131 | ;
|
---|
| 132 | ;
|
---|
| 133 | SETSTA(IBIFN) ; set the status
|
---|
| 134 | N IBIENS,IBFDA,IBERR
|
---|
| 135 | S IBIENS=IBIFN_","
|
---|
| 136 | S IBFDA(430,IBIENS,8)="COLLECTED/CLOSED"
|
---|
| 137 | D FILE^DIE("E","IBFDA","IBERR")
|
---|
| 138 | Q '$D(IBERR)
|
---|
| 139 | ;
|
---|
| 140 | BPSFIX ;CONVERT OLD BPS CODES
|
---|
| 141 | N I,IBZ,IBY,IBC,IBOTH,IBT,ZNODE
|
---|
| 142 | S ZNODE="BPSIB-CONVERT-9002313.02-904"
|
---|
| 143 | I $D(^XTMP(ZNODE,0)) D MES^XPDUTL("*** Already converted") Q
|
---|
| 144 | F I=1:1 S IBY=$P($T(REASONS+I),";;",2,255) Q:'IBY S IBC(+IBY)=$O(^IBE(356.8,"B",$P(IBY,U,2),0))
|
---|
| 145 | S IBOTH=$O(^IBE(356.8,"B","OTHER",0))
|
---|
| 146 | S I=0 F S I=$O(^BPSC(I)) Q:'I S IBZ=$G(^(I,0)) D:$P(IBZ,U,7)=""
|
---|
| 147 | . N IBOLD,IBNEW
|
---|
| 148 | . S IBOLD=$P($G(^BPSC(I,900)),U,4) Q:IBOLD=""
|
---|
| 149 | . S IBNEW=+$G(IBC(IBOLD)) S:'IBNEW IBNEW=IBOTH
|
---|
| 150 | . ;W !,"I=",I,?10,"CODE=",IBOLD,", NEW=",IBNEW
|
---|
| 151 | . S $P(^BPSC(I,900),U,4)=IBNEW
|
---|
| 152 | . S $P(^BPSC(I,0),U,7)=0 ; as a flag to avoid double conversion
|
---|
| 153 | S ^XTMP(ZNODE,0)=$$FMADD^XLFDT(DT,365)_U_DT_U_"BPS CONVERSION FLAG"
|
---|
| 154 | Q
|
---|
| 155 | ;
|
---|
| 156 | LOGFIX ;CONVERT CLOSE REASON IN THE IB LOG
|
---|
| 157 | N I,J,IBNODE,IBZ,IBY,IBC,IBOTH,IBT,IBDROP
|
---|
| 158 | F I=1:1 S IBY=$P($T(REASONS+I),";;",2,255) Q:'IBY S IBC(+IBY)=$O(^IBE(356.8,"B",$P(IBY,U,2),0))
|
---|
| 159 | S IBOTH=$O(^IBE(356.8,"B","OTHER",0))
|
---|
| 160 | ;
|
---|
| 161 | S (I,IBNODE)="IBNCPDP-"
|
---|
| 162 | F S I=$O(^XTMP(I)) Q:I'[IBNODE D
|
---|
| 163 | . S J=0 F S J=$O(^XTMP(I,J)) Q:'J D
|
---|
| 164 | .. I '$D(^XTMP(I,J,"IBD","CLOSE REASON")) Q
|
---|
| 165 | .. I $D(^XTMP(I,J,"IBD","DROP TO PAPER")) Q ; Already converted
|
---|
| 166 | .. N IBOLD,IBNEW
|
---|
| 167 | .. S IBOLD=$G(^XTMP(I,J,"IBD","CLOSE REASON")) Q:IBOLD=""
|
---|
| 168 | .. S IBNEW=+$G(IBC(IBOLD)) S:'IBNEW IBNEW=IBOTH
|
---|
| 169 | .. ;W !,"I=",I,", J=",J,",",?15,"CODE=",IBOLD,", NEW=",IBNEW
|
---|
| 170 | .. S ^XTMP(I,J,"IBD","CLOSE REASON")=IBNEW
|
---|
| 171 | .. S ^XTMP(I,J,"IBD","DROP TO PAPER")=(IBOLD=1) ;flag to avoid double conversion
|
---|
| 172 | Q
|
---|
| 173 | ;
|
---|
| 174 | REASONS ;CLOSE REASON to add/modify into file #356.8
|
---|
| 175 | ;;2^NOT INSURED^1^0
|
---|
| 176 | ;;3^SERVICE NOT COVERED^1^0
|
---|
| 177 | ;;4^COVERAGE CANCELED^1^0
|
---|
| 178 | ;;6^INVALID PRESCRIPTION ENTRY^1^0
|
---|
| 179 | ;;7^PRESCRIPTION DELETED^1^0
|
---|
| 180 | ;;8^PRESCRIPTION NOT RELEASED^1^0
|
---|
| 181 | ;;5^DRUG NOT BILLABLE^1^0
|
---|
| 182 | ;;10^90 DAY RX FILL NOT COVERED^1^1
|
---|
| 183 | ;;11^NOT A CONTRACTED PROVIDER^1^1
|
---|
| 184 | ;;12^INVALID MULTIPLES PER DAY SUPP^1^0
|
---|
| 185 | ;;13^REFILL TOO SOON^1^0
|
---|
| 186 | ;;9^INVALID NDC FROM CMOP^1^0
|
---|
| 187 | ;;1^OTHER^1^1
|
---|
| 188 | ;;
|
---|