Produced by Araxis Merge on 9/19/2018 12:36:15 PM Central Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.
| # | Location | File | Last Modified |
|---|---|---|---|
| 1 | ePharmacy_Bundle 12.zip | TAS+ePhm+SDD+US597+US3969+v1.02.docx | Wed Sep 12 15:17:00 2018 UTC |
| 2 | ePharmacy_Bundle 12.zip | TAS+ePhm+SDD+US597+US3969+v1.02.docx | Wed Sep 19 14:17:58 2018 UTC |
| Description | Between Files 1 and 2 |
|
|---|---|---|
| Text Blocks | Lines | |
| Unchanged | 1 | 2410 |
| Changed | 0 | 0 |
| Inserted | 0 | 0 |
| Removed | 0 | 0 |
| Whitespace | |
|---|---|
| Character case | Differences in character case are significant |
| Line endings | Differences in line endings (CR and LF characters) are ignored |
| CR/LF characters | Not shown in the comparison detail |
No regular expressions were active.
| 1 | MCCF EDI T AS US597 / US3969 | |
| 2 | System Des ign Docume nt | |
| 3 | ||
| 4 | ||
| 5 | ||
| 6 | ||
| 7 | ||
| 8 | Department of Vetera ns Affairs | |
| 9 | April 2018 | |
| 10 | Version 1. 02 | |
| 11 | User Story Number: U SRX-27 | |
| 12 | User Story Name: Res ubmit clai ms outside of the EC ME User Sc reen | |
| 13 | Product Ba cklog ID: 191 | |
| 14 | Backlog Pr iority: 25 | |
| 15 | Initial Si zing Estim ate: | |
| 16 | Rational I D: 828290 | |
| 17 | Rally ID: US597 / US 3969 | |
| 18 | ||
| 19 | Design – S ummary | |
| 20 | US597 will enhance t he existin g ECME opt ion: ROC R e Open CLO SED Claim. The enha ncements w ill includ e the foll owing: | |
| 21 | Rename the menu text of the op tion to be : ROC Re O pen CLOSED /Resubmit Claim. Thi s will req uire a pre -install r outine and an Integr ation Cont rol Regist ration Num ber. | |
| 22 | Update the initial f ilter ques tions to p rompt for Patient Na me or Pres cription N umber. Cur rently the option on ly allows searches b y Patient Name. | |
| 23 | If Patient Name is u sed in the initial s earch, the user will be prompt ed for a d ate range. This is n ot a chang e from exi sting func tionality. | |
| 24 | If Prescri ption Numb er is used , the user will NOT be prompte d for a da te range. | |
| 25 | Update the search lo gic to dis play OPEN or CLOSED Billable C laims. Cur rently the option on ly display s CLOSED C laims. The updated o ption will need to d isplay OPE N and CLOS ED Claims to allow t he user to Resubmit claims. No n-Billable Claims wi ll not be displayed. | |
| 26 | Model the body of th e screen a fter the E CME User S creen. | |
| 27 | Update the structure of the ^T MP file cr eated by L istMan. Th e updated structure will mimic that of t he structu re used by ECME User Screen. T his will a llow the u se of exis ting ECME User Scree n actions to be used by the RO C Re Open CLOSED/Res ubmit Clai m option. | |
| 28 | Remove cur rent proto col action BPS PRTCL REOPEN. T his will b e replaced by anothe r existing protocol action, BP S PRTCL US RSCR REOPE N CLOSED C LAIMS. Thi s action i s currentl y used by ECME User Screen and allows fo r multiple claims to be select ed. | |
| 29 | Add action BPS PRTCL USRSCR RE SUBMIT (RE S Resubmit Claim). T his action is curren tly used b y ECME Use r Screen. | |
| 30 | ||
| 31 | List of Co mponents: | |
| 32 | Routine: B PSREOP | |
| 33 | Routine: B PSREOP1 | |
| 34 | Routine: B PSSCRRS | |
| 35 | Routine:BP S24PRE | |
| 36 | Routine:BP SSCRU4 | |
| 37 | List Templ ate:BPS LS TMN ECME R EOPEN | |
| 38 | Protocol:B PS PRTCL R EOPEN MENU (menu) | |
| 39 | Protocol:B PS PRTCL U SRSCR REOP EN CLOSED CLAIMS (ac tion) | |
| 40 | Protocol: BPS PRTCL USRSCR RES UBMIT (act ion) | |
| 41 | Protocol:B PS PRTCL R EOPEN EXIT (action) | |
| 42 | ||
| 43 | ||
| 44 | Design – D etail | |
| 45 | Routine Na me | |
| 46 | ^BPSREOP | |
| 47 | Story | |
| 48 | US597 | |
| 49 | Related Me nu Options or ListMa n Actions | |
| 50 | ROC Reopen CLOSED Cl aim | |
| 51 | Subroutine | |
| 52 | EN1 | |
| 53 | Enhancemen t Category | |
| 54 | New | |
| 55 | Modify | |
| 56 | Delete | |
| 57 | No Change | |
| 58 | Related Ro utines | |
| 59 | This Subro utine is C alled By | |
| 60 | This Subro utine Call s | |
| 61 | ||
| 62 | ROC Option | |
| 63 | $$PTRX^BPS REOP | |
| 64 | $$PTINFO^B PSREOP | |
| 65 | $$ASKDATE^ BPSSCRU6 | |
| 66 | ||
| 67 | ||
| 68 | Subroutine | |
| 69 | INIT | |
| 70 | Enhancemen t Category | |
| 71 | New | |
| 72 | Modify | |
| 73 | Delete | |
| 74 | No Change | |
| 75 | Related Ro utines | |
| 76 | This Subro utine is C alled By | |
| 77 | This Subro utine Call s | |
| 78 | ||
| 79 | ROC Option | |
| 80 | COLLPT^BPS REOP1 | |
| 81 | COLLRX^BPS REOP1 | |
| 82 | BUILD^BPSR EOP1 | |
| 83 | $$FORMDATE ^BPSSCRU6 | |
| 84 | ||
| 85 | ||
| 86 | Subroutine | |
| 87 | WHATTODO | |
| 88 | Enhancemen t Category | |
| 89 | New | |
| 90 | Modify | |
| 91 | Delete | |
| 92 | No Change | |
| 93 | ||
| 94 | ||
| 95 | Subroutine | |
| 96 | PTRX | |
| 97 | Enhancemen t Category | |
| 98 | New | |
| 99 | Modify | |
| 100 | Delete | |
| 101 | No Change | |
| 102 | Related Ro utines | |
| 103 | This Subro utine is C alled By | |
| 104 | This Subro utine Call s | |
| 105 | ||
| 106 | EN1^BPSREO P | |
| 107 | ^DIR | |
| 108 | Data Passi ng | |
| 109 | Parameter Input | |
| 110 | Parameter Output | |
| 111 | Function Return Val ue | |
| 112 | Global Mo dified | |
| 113 | Input Attr ibute Name and Defin ition | |
| 114 | Name: BPSI NPUT | |
| 115 | Definition : User Inp ut – Patie nt Name or RX Number s | |
| 116 | New Modify Delete No Cha nge | |
| 117 | ||
| 118 | ||
| 119 | Subroutine | |
| 120 | PTINFO | |
| 121 | Enhancemen t Category | |
| 122 | New | |
| 123 | Modify | |
| 124 | Delete | |
| 125 | No Change | |
| 126 | Related Ro utines | |
| 127 | This Subro utine is C alled By | |
| 128 | This Subro utine Call s | |
| 129 | ||
| 130 | EN1^BPSREO P | |
| 131 | ^DIC | |
| 132 | Data Passi ng | |
| 133 | Parameter Input | |
| 134 | Parameter Output | |
| 135 | Function Return Val ue | |
| 136 | Global Mo dified | |
| 137 | Input Attr ibute Name and Defin ition | |
| 138 | Name: BPSI NPUT | |
| 139 | Definition : User Inp ut Patient Name | |
| 140 | New Modify Delete No Cha nge | |
| 141 | Output Att ribute Nam e and Defi nition | |
| 142 | Name: BPSP TID | |
| 143 | Definition : Patient IEN | |
| 144 | New Modify Delete No Cha nge | |
| 145 | ||
| 146 | ||
| 147 | Subroutine | |
| 148 | RXP | |
| 149 | Enhancemen t Category | |
| 150 | New | |
| 151 | Modify | |
| 152 | Delete | |
| 153 | No Change | |
| 154 | Related Ro utines | |
| 155 | This Subro utine is C alled By | |
| 156 | This Subro utine Call s | |
| 157 | ||
| 158 | EN1^BPSREO P | |
| 159 | ^DIR | |
| 160 | $$RXNUM^PS OBPSU2 | |
| 161 | DIC^PSODI | |
| 162 | DIQ^PSODI | |
| 163 | ||
| 164 | ||
| 165 | Subroutine | |
| 166 | DEL | |
| 167 | Enhancemen t Category | |
| 168 | New | |
| 169 | Modify | |
| 170 | Delete | |
| 171 | No Change | |
| 172 | Related Ro utines | |
| 173 | This Subro utine is C alled By | |
| 174 | This Subro utine Call s | |
| 175 | ||
| 176 | EN1^BPSREO P | |
| 177 | ^DIC | |
| 178 | Data Passi ng | |
| 179 | Parameter Input | |
| 180 | Parameter Output | |
| 181 | Function Return Val ue | |
| 182 | Global Mo dified | |
| 183 | Input Attr ibute Name and Defin ition | |
| 184 | Name: RXIE N | |
| 185 | Definition : Prescrip tion IEN | |
| 186 | New Modify Delete No Cha nge | |
| 187 | Output Att ribute Nam e and Defi nition | |
| 188 | Name: BPSR X | |
| 189 | Definition : Array of selected RX IENs | |
| 190 | New Modify Delete No Cha nge | |
| 191 | Current Lo gic | |
| 192 | ||
| 193 | BPSREOP ;B HAM ISC/SS - REOPEN CLOSED CLA IMS ;05-AP R-05 | |
| 194 | ;;1.0;E C LAIMS MGMT ENGINE;** 3**;JUN 20 04;Build 2 0 | |
| 195 | ;; Per VH A Directiv e 10-93-14 2, this ro utine shou ld not be modified. | |
| 196 | ;Reopen c losed clai ms | |
| 197 | ;Q | |
| 198 | EN1 ; | |
| 199 | N BPDFN,B PSTRT,BPEN D | |
| 200 | W @IOF | |
| 201 | I $$WHATT ODO(.BPDFN ,.BPSTRT,. BPEND)<0 Q | |
| 202 | ; | |
| 203 | EN ; -- ma in entry p oint for B PS LSTMN E CME REOPEN | |
| 204 | N VALMAR, VALMBCK,VA LMCNT,VALM HDR,X | |
| 205 | D EN^VALM ("BPS LSTM N ECME REO PEN") | |
| 206 | Q | |
| 207 | ; | |
| 208 | HDR ; -- h eader code | |
| 209 | ;S VALMHD R(1)="This is a test header fo r BPS LSTM N ECME REO PEN." | |
| 210 | ;S VALMHD R(2)="This is the se cond line" | |
| 211 | Q | |
| 212 | ; | |
| 213 | INIT ; -- init varia bles and l ist array | |
| 214 | N BPTMPGL ,Y | |
| 215 | ;ask what patient a nd what is date rang e | |
| 216 | I ('$D(BP DFN))!('$D (BPSTRT))! ('$D(BPEND )) W !,"BP DFN,BPSTRT ,BPEND nee d to be de fined! " Q | |
| 217 | D COLLECT ^BPSREOP1( BPDFN,BPST RT,BPEND) | |
| 218 | S VALMHDR (1)="PATIE NT: "_$$PA TINF^BPSRE OP1(BPDFN) _" Close d claims f rom "_$$FO RMDATE^BPS SCRU6(BPST RT,3)_" to "_$$FORMD ATE^BPSSCR U6(BPEND,3 ) | |
| 219 | Q | |
| 220 | ; | |
| 221 | HELP ; -- help code | |
| 222 | S X="?" D DISP^XQOR M1 W !! | |
| 223 | Q | |
| 224 | ; | |
| 225 | EXIT ; -- exit code | |
| 226 | Q | |
| 227 | ; | |
| 228 | EXPND ; -- expand co de | |
| 229 | Q | |
| 230 | ; | |
| 231 | ;prompts the user t o select p atient , s tart and e nd dates | |
| 232 | ;input/ou tput (by r eference): | |
| 233 | ;BPDFN - patient ie n #2 | |
| 234 | ;BPSTRT - start dat e (fileman format) | |
| 235 | ;BPEND - end date ( fileman fo rmat) | |
| 236 | ;Return v alue: | |
| 237 | ;-1 quit | |
| 238 | ; 1 - con tinue (oka y)_ | |
| 239 | ; | |
| 240 | WHATTODO(B PDFN,BPSTR T,BPEND) ; | |
| 241 | S BPDFN=$ $PROMPT^BP SSCRCV("P^ DPT(","Sel ect PATIEN T NAME","" ) | |
| 242 | I BPDFN<0 Q -1 | |
| 243 | S BPSTRT= $$ASKDATE^ BPSSCRU6(" START WITH DATE:","T ODAY") | |
| 244 | I BPSTRT< 0 Q -1 | |
| 245 | F S BPEN D=$$ASKDAT E^BPSSCRU6 ("GO TO DA TE:","TODA Y") Q:(BPE ND<0)!(BPE ND'<BPSTRT ) D | |
| 246 | . W !,"Th e GO TO da te cannot precede th e START da te." | |
| 247 | I BPEND<0 Q -1 | |
| 248 | Q 1 | |
| 249 | ; | |
| 250 | ||
| 251 | Modified L ogic (Chan ges are hi ghlighted) | |
| 252 | ||
| 253 | BPSREOP ;B HAM ISC/SS - REOPEN CLOSED CLA IMS ;05-AP R-05 ;;1.0 ;E CLAIMS MGMT ENGIN E;**3,24** ;JUN 2004; Build 20 ; ;Per VA Di rective 64 02, this r outine sho uld not be modified. ; Referen ce to DIC^ PSODI supp orted by I A 4858 ; ; Reopen clo sed claims ;QEN1 ; N BPSDT1,BP SDT2,BPSIE N,BPSINPUT ,BPSINV,BP SINVC,BPSP TID,BPSPTR X,BPSRX,BP SRXF,I,XEN 1A ; S BP SPTRX="" ; Prompt Pa tient Name or Rx I $ $PTRX(.BPS INPUT)<0 Q ; ; Patie nt Name Se arch I BPS INPUT="P", $$PTINFO(. BPSPTID)>0 D . W ! . S BPSPTRX =1 ; PATIE NT . S BPS DT1=$$ASKD ATE^BPSSCR U6("START WITH DATE: ","TODAY") . I BPSDT 1<0 Q . F S BPSDT2= $$ASKDATE^ BPSSCRU6(" GO TO DATE :","TODAY" ) Q:(BPSDT 2<0)!(BPSD T2'<BPSDT1 ) D . . W !,"The GO TO date ca nnot prece de the STA RT date." ; Check if user inpu t is Rx re lated ; ; Prescripti on Number Search I B PSINPUT="N " D . S BP SPTRX=2 ; PRESCRIPTI ON . K BPS RXAR . W ! . F S RX IEN=$$RXP( ) Q:RXIEN= -1 D . . S BPSRX=$$G ET1^DIQ(52 ,RXIEN,.01 ) . . I $$ STATUS^BPS OSRX(RXIEN ,0)="" D . . . W !," Prescript ion "_BPSR X_"/0"_" i s not bill able and w ill not di splay." . . S BPSRXF =0 . . F S BPSRXF=$ O(^PSRX(RX IEN,1,BPSR XF)) Q:'BP SRXF D . . . I $$ST ATUS^BPSOS RX(RXIEN,B PSRXF)="" D . . . . W !," Pres cription " _BPSRX_"/" _BPSRXF_" is not bil lable and will not d isplay." . . I $D(BP SRXAR(+RXI EN)) D DEL (RXIEN,BPS RX) . . E S BPSRXAR (+RXIEN)=" " ; | |
| 254 | I (BPSINP UT="P")&($ G(BPSPTID) ="") G EN1 A I (BPSIN PUT="P")&( ($G(BPSDT1 )'>0)!($G( BPSDT2)'>0 )) G EN1A I (BPSINPU T="N")&($D (BPSRXAR)= 0) G EN1A ;EN ; -- m ain entry point for BPS LSTMN ECME REOPE N N VALMAR ,VALMBCK,V ALMCNT,VAL MHDR,X D E N^VALM("BP S LSTMN EC ME REOPEN" ) Q ;HDR ; -- header code ;S V ALMHDR(1)= "This is a test head er for BPS LSTMN ECM E REOPEN." ;S VALMHD R(2)="This is the se cond line" Q ;INIT ; -- init v ariables a nd list ar ray N BPTM PGL,Y ;ask what pati ent and wh at is date range ; B ased on us er input, call speci fic routin e to build BPSAR arr ay. ; BPSA R array wi ll contain eligible claims sor ted by pat ient. I BP SPTRX=1 D COLLPT^BPS REOP1(BPSP TID,BPSDT1 ,BPSDT2,.B PSAR) I BP SPTRX=2 D COLLRX^BPS REOP1(.BPS RXAR,.BPSA R) ; Pass BPSAR arra y to BUILD routine t o create t he actual ListMan en tries. D B UILD^BPSRE OP1(BPSPTR X,$G(BPSPT ID),$G(BPS DT1),$G(BP SDT2),.BPS RXAR,.BPSA R) I BPSPT RX=1 S VAL MHDR(1)="A ctivity Da te Range: "_$$FORMDA TE^BPSSCRU 6(BPSDT1,3 )_" to "_$ $FORMDATE^ BPSSCRU6(B PSDT2,3) E S VALMHD R(1)="" Q ;HELP ; -- help code S X="?" D DISP^XQOR M1 W !! Q ;EXIT ; -- exit code Q ;EXPND ; -- expan d code Q ; ; BPSINPU T - User I nput - Pat ient Info or RX Info ; Return Value 0 or -1=Invali d User Inp ut, 1=Valu e User Inp utPTRX(BPS INPUT) ;PT RX1 ; N D IR,DIRUT,Y S DIR(0)= "F^1:1" S DIR("A")=" Select by (P)atient Name or Pr escription (N)umber" S DIR("?" ,1)="Enter :" S DIR( "?",2)=" P to search by PATIEN T NAME or" S DIR("?" ,3)=" N to search by PRESCRIPT ION NUMBER " S DIR("? ",4)=" " S DIR("?")= "Enter ^ t o exit" D ^DIR K DIR I $D(DIRU T) Q -1 I Y'="P"&(Y' ="N") D G PTRX1 . W !,"Respon se must be P or N." . W !,"Ent er ^ to ex it." S BPS INPUT=Y Q 1 ; ; BPSP TID - Pati ent IEN (o utput) ; R eturn Valu e 0 or -1= Invalid Pa tient Info , 1=Valid Patient In foPTINFO(B PSPTID) ; N DIC,X,Y W ! S DIC= "^DPT(" S DIC(0)="AE MNQ" S DIC ("A")="Sel ect Patien t: " D ^DI C I Y=-1 Q -1 S BPSP TID=+Y Q 1 ;RXP() ; prompt the user to e nter the p rescriptio n ; output value of function i s RXIEN^DF N ; N RXIE N,DIR,X,Y, DTOUT,DUOU T,DIRUT,DI ROUT,DIC,D R,DA,D0,DI Q,PSODIY,R XN,DFN,PNM ,DRUG,RXST RXPR ; S R XIEN="",DF N="" S DIR (0)="FAO" S DIR("A") ="Select P rescriptio n: " S DIR ("?",1)=" A prescrip tion numbe r or ECME number may be entere d. To look -up a" S D IR("?",2)= " prescrip tion by th e ECME num ber, pleas e enter "" E."" follo wed by the ECME" S D IR("?")=" number wit h or witho ut any lea ding zeros ." D ^DIR K DIR I X= ""!$D(DIRU T) S RXIEN =-1 G RXPX S X=$$UP^ XLFSTR(X) ; ; ECME# lookup I $ E(X,1,2)=" E." S RXIE N=+$$RXNUM ^PSOBPSU2( $E(X,3,$L( X))) G RXP 1 ; DB IA #4970 ; ; Rx# loo kup S DIC= 52 S DIC(" S")="I $P( $G(^(0)),U ,2),$D(^(" "STA"")),$ P($G(^(""S TA"")),U,1 )'=13" D D IC^PSODI(5 2,.DIC,X) K DIC ; DBIA# 485 8 S RXIEN= +Y ;RXP1 ; ; I RXIEN '>0 W " In valid sele ction. Ple ase try ag ain.",$C(7 ) G RXPR ; start over ; ; D isplay Rx data and g et confirm ation to p roceed S D IC=52,DR=" .01;2;6;10 0",DA=RXIE N,DIQ="BPS RXD",DIQ(0 )="IE" D D IQ^PSODI(5 2,DIC,DR,D A,.DIQ) ; DBIA# 4858 S DFN=+$G (BPSRXD(52 ,DA,2,"I") ) S PNM=$G (BPSRXD(52 ,DA,2,"E") ) S DRUG=$ G(BPSRXD(5 2,DA,6,"E" )) W ?38,$ E(PNM,1,19 )," ",$E(D RUG,1,21) ;RXPX ; Q RXIEN ;DEL (RXIEN,BPS RX) ; Dele te RX from list ; N DIR,Y W !! ,"RX# "_BP SRX_" (ECM E# "_RXIEN _") is a d uplicate e ntry. Dele te from li st?" S DIR (0)="S^Y:Y ES;N:NO" S DIR("A")= "Delete RX # "_BPSRX_ " (ECME# " _RXIEN_") from your list?" S D IR("B")="N O" D ^DIR I Y="Y" K BPSRXAR(+R XIEN) Q | |
| 255 | ||
| 256 | ||
| 257 | Routine Na me | |
| 258 | ^BPSREOP1 | |
| 259 | Story | |
| 260 | US597 | |
| 261 | Related Me nu Options or ListMa n Actions | |
| 262 | ROC Reopen CLOSED Cl aim | |
| 263 | Subroutine | |
| 264 | COLLECT | |
| 265 | Enhancemen t Category | |
| 266 | New | |
| 267 | Modify | |
| 268 | Delete | |
| 269 | No Change | |
| 270 | ||
| 271 | ||
| 272 | Subroutine | |
| 273 | COLLPT | |
| 274 | Enhancemen t Category | |
| 275 | New | |
| 276 | Modify | |
| 277 | Delete | |
| 278 | No Change | |
| 279 | Related Ro utines | |
| 280 | This Subro utine is C alled By | |
| 281 | This Subro utine Call s | |
| 282 | ||
| 283 | INIT^BPSRE OP | |
| 284 | REDRAW^BPS REOP1 | |
| 285 | $$GET1^DIQ | |
| 286 | $$RXDEL^BP SREOP1 | |
| 287 | STATS^BPSR EOP1 | |
| 288 | Data Passi ng | |
| 289 | Parameter Input | |
| 290 | Parameter Output | |
| 291 | Function Return Val ue | |
| 292 | Global Mo dified | |
| 293 | Input Attr ibute Name and Defin ition | |
| 294 | Name: BPSP TID | |
| 295 | Definition : Patient IEN | |
| 296 | New Modify Delete No Cha nge | |
| 297 | Name: BPSD T1 | |
| 298 | Definition : From Dat e | |
| 299 | New Modify Delete No Cha nge | |
| 300 | Name: BPSD T2 | |
| 301 | Definition : Thru Dat e | |
| 302 | New Modify Delete No Cha nge | |
| 303 | Output Att ribute Nam e and Defi nition | |
| 304 | Name: BPSA R | |
| 305 | Definition : Array of eligible claims, so rted by Pa tient | |
| 306 | New Modify Delete No Cha nge | |
| 307 | ||
| 308 | ||
| 309 | Subroutine | |
| 310 | COLLRX | |
| 311 | Enhancemen t Category | |
| 312 | New | |
| 313 | Modify | |
| 314 | Delete | |
| 315 | No Change | |
| 316 | Related Ro utines | |
| 317 | This Subro utine is C alled By | |
| 318 | This Subro utine Call s | |
| 319 | ||
| 320 | INIT^BPSRE OP | |
| 321 | REDRAW^BPS REOP1 | |
| 322 | $$NB^BPSSC R03 | |
| 323 | MESSAGE^BP SREOP1 | |
| 324 | $$GET1^DIQ | |
| 325 | $$RXDEL^BP SREOP1 | |
| 326 | STATS^BPSR EOP1 | |
| 327 | PAUSE^VALM 1 | |
| 328 | Data Passi ng | |
| 329 | Parameter Input | |
| 330 | Parameter Output | |
| 331 | Function Return Val ue | |
| 332 | Global Mo dified | |
| 333 | Input Attr ibute Name and Defin ition | |
| 334 | Name: BPSR XAR | |
| 335 | Definition : Array of Claim IEN s from use r’s input | |
| 336 | New Modify Delete No Cha nge | |
| 337 | Output Att ribute Nam e and Defi nition | |
| 338 | Name: BPSA R | |
| 339 | Definition : Array of eligible claims, so rted by Pa tient | |
| 340 | New Modify Delete No Cha nge | |
| 341 | ||
| 342 | ||
| 343 | Subroutine | |
| 344 | BUILD | |
| 345 | Enhancemen t Category | |
| 346 | New | |
| 347 | Modify | |
| 348 | Delete | |
| 349 | No Change | |
| 350 | Related Ro utines | |
| 351 | This Subro utine is C alled By | |
| 352 | This Subro utine Call s | |
| 353 | ||
| 354 | INIT^BPSRE OP | |
| 355 | REDRAW^BPS REOP1 | |
| 356 | CLEAN^VALM 10 | |
| 357 | $$GETINSUR ^BPSSCRU2 | |
| 358 | $$PATINF^B PSSCR02 | |
| 359 | SAVEARR^BP SSCR02 | |
| 360 | $$CLAIMINF ^BPSSCR02 | |
| 361 | $$ADDINF^B PSSCR03 | |
| 362 | Data Passi ng | |
| 363 | Parameter Input | |
| 364 | Parameter Output | |
| 365 | Function Return Val ue | |
| 366 | Global Mo dified | |
| 367 | Input Attr ibute Name and Defin ition | |
| 368 | Name: BPSP TRX | |
| 369 | Definition : Flag for user inpu t type; 1= Patient in put, 2=RX input | |
| 370 | New Modify Delete No Cha nge | |
| 371 | Name: BPSP TID | |
| 372 | Definition : Patient IEN | |
| 373 | New Modify Delete No Cha nge | |
| 374 | Name: BPSD T1 | |
| 375 | Definition : From Dat e | |
| 376 | New Modify Delete No Cha nge | |
| 377 | Name: BPSD T2 | |
| 378 | Definition : Thru Dat e | |
| 379 | New Modify Delete No Cha nge | |
| 380 | Name: BPSR XAR | |
| 381 | Definition : Array of Claim IEN s from use r’s input | |
| 382 | New Modify Delete No Cha nge | |
| 383 | Name: BPSA R | |
| 384 | Definition : Array of eligible claims, so rted by Pa tient | |
| 385 | New Modify Delete No Cha nge | |
| 386 | ||
| 387 | ||
| 388 | Subroutine | |
| 389 | RXDEL | |
| 390 | Enhancemen t Category | |
| 391 | New | |
| 392 | Modify | |
| 393 | Delete | |
| 394 | No Change | |
| 395 | Related Ro utines | |
| 396 | This Subro utine is C alled By | |
| 397 | This Subro utine Call s | |
| 398 | ||
| 399 | COLLPT^BPS REOP1 | |
| 400 | COLLRX^BPS REOP1 | |
| 401 | $$RXDEL^BP SOS | |
| 402 | Data Passi ng | |
| 403 | Parameter Input | |
| 404 | Parameter Output | |
| 405 | Function Return Val ue | |
| 406 | Global Mo dified | |
| 407 | Input Attr ibute Name and Defin ition | |
| 408 | Name: BPIE N59 | |
| 409 | Definition : Claim IE N | |
| 410 | New Modify Delete No Cha nge | |
| 411 | ||
| 412 | ||
| 413 | Subroutine | |
| 414 | STATS | |
| 415 | Enhancemen t Category | |
| 416 | New | |
| 417 | Modify | |
| 418 | Delete | |
| 419 | No Change | |
| 420 | Related Ro utines | |
| 421 | This Subro utine is C alled By | |
| 422 | This Subro utine Call s | |
| 423 | ||
| 424 | COLLPT^BPS REOP1 | |
| 425 | COLLRX^BPS REOP1 | |
| 426 | $$CLAIMST^ BPSSCRU3 | |
| 427 | $$ELIGCODE ^BPSSCR05 | |
| 428 | Data Passi ng | |
| 429 | Parameter Input | |
| 430 | Parameter Output | |
| 431 | Function Return Val ue | |
| 432 | Global Mo dified | |
| 433 | Input Attr ibute Name and Defin ition | |
| 434 | Name: BPSP TID | |
| 435 | Definition : Patient IEN | |
| 436 | New Modify Delete No Cha nge | |
| 437 | Name: BPS5 9 | |
| 438 | Definition : Claim IE N | |
| 439 | New Modify Delete No Cha nge | |
| 440 | Name: BPSA R | |
| 441 | Definition : Array of eligible claims, so rted by Pa tient | |
| 442 | New Modify Delete No Cha nge | |
| 443 | ||
| 444 | ||
| 445 | Subroutine | |
| 446 | STATS1 | |
| 447 | Enhancemen t Category | |
| 448 | New | |
| 449 | Modify | |
| 450 | Delete | |
| 451 | No Change | |
| 452 | Related Ro utines | |
| 453 | This Subro utine is C alled By | |
| 454 | This Subro utine Call s | |
| 455 | ||
| 456 | BUILD^BPSR EOP1 | |
| 457 | N/A | |
| 458 | Data Passi ng | |
| 459 | Parameter Input | |
| 460 | Parameter Output | |
| 461 | Function Return Val ue | |
| 462 | Global Mo dified | |
| 463 | Input Attr ibute Name and Defin ition | |
| 464 | Name: BPSP TID | |
| 465 | Definition : Patient IEN | |
| 466 | New Modify Delete No Cha nge | |
| 467 | Name: BPSA R | |
| 468 | Definition : Array of eligible claims, so rted by Pa tient | |
| 469 | New Modify Delete No Cha nge | |
| 470 | ||
| 471 | ||
| 472 | Subroutine | |
| 473 | EUSCREOP | |
| 474 | Enhancemen t Category | |
| 475 | New | |
| 476 | Modify | |
| 477 | Delete | |
| 478 | No Change | |
| 479 | Related Ro utines | |
| 480 | This Subro utine is C alled By | |
| 481 | This Subro utine Call s | |
| 482 | ||
| 483 | BPS PRTCL USRSCR REO PEN CLOSED CLAIMS ac tion | |
| 484 | PAUSE^VALM 1 | |
| 485 | FULL^VALM1 | |
| 486 | $$ASKLINES ^BPSSCRU4 | |
| 487 | $$LJ^BPSSC R02 | |
| 488 | $$NB^BPSSC R03 | |
| 489 | $$CLOSED02 ^BPSSCR03 | |
| 490 | $$RXDEL^BP SOS | |
| 491 | $$YESNO^BP SSCRRS | |
| 492 | $$REOPEN^B PSBUTL | |
| 493 | REDRAW^BPS REOP1 | |
| 494 | REDRAW^BPS SCRUD | |
| 495 | ||
| 496 | ||
| 497 | Subroutine | |
| 498 | REDRAW | |
| 499 | Enhancemen t Category | |
| 500 | New | |
| 501 | Modify | |
| 502 | Delete | |
| 503 | No Change | |
| 504 | Related Ro utines | |
| 505 | This Subro utine is C alled By | |
| 506 | This Subro utine Call s | |
| 507 | ||
| 508 | EUSCREOP^B PSREOP1 | |
| 509 | RES^BPSSCR RS | |
| 510 | CLEAN^VALM 10 | |
| 511 | COLLPT^BPS REOP1 | |
| 512 | COLLRX^BPS REOP1 | |
| 513 | BUILD^BPSR EOP1 | |
| 514 | Current Lo gic | |
| 515 | ||
| 516 | BPSREOP1 ; BHAM ISC/S S - REOPEN CLOSED CL AIMS ;03/0 7/08 14:5 4 | |
| 517 | ;;1.0;E C LAIMS MGMT ENGINE;** 3,7,10,11, 20**;JUN 2 004;Build 27 | |
| 518 | ;;Per VA Directive 6402, this routine s hould not be modifie d. | |
| 519 | ;Reopen c losed clai ms | |
| 520 | ; | |
| 521 | ;create a n ^TMP for the list manager | |
| 522 | ; | |
| 523 | COLLECT(BP DFN,BPSTRT ,BPEND) ; | |
| 524 | D CLEAN^V ALM10 | |
| 525 | N LINE | |
| 526 | N BPIEN02 ,BPIEN59 | |
| 527 | S LINE=1 | |
| 528 | S BPIEN59 =0 | |
| 529 | F S BPIE N59=$O(^BP ST("AC",BP DFN,BPIEN5 9)) Q:+BPI EN59=0 D | |
| 530 | . I $P($G (^BPST(BPI EN59,12)), U,2)<BPSTR T Q | |
| 531 | . I $P($G (^BPST(BPI EN59,12)), U,2)>BPEND Q | |
| 532 | . ; Don't display d eleted pre scriptions | |
| 533 | . I $$RXD EL^BPSOS($ P(^BPST(BP IEN59,1),U ,11),$P(^B PST(BPIEN5 9,1),U,1)) Q | |
| 534 | . S BPIEN 02=+$P($G( ^BPST(BPIE N59,0)),U, 4) | |
| 535 | . ;if the is no BPS CLAIMS - error | |
| 536 | . Q:BPIEN 02=0 | |
| 537 | . ;if NOT closed | |
| 538 | . I +$P($ G(^BPSC(BP IEN02,900) ),U)=0 Q | |
| 539 | . D SET^V ALM10(LINE ,$$LJ^BPSS CR02(LINE, 6)_$$CLAIM INF(BPIEN5 9),BPIEN59 ) | |
| 540 | . S LINE= LINE+1 | |
| 541 | S VALMCNT =LINE-1 ;" of PAGE" f ix - VALMC NT should be EXACT n umber of l ines on th e screen | |
| 542 | Q | |
| 543 | ;claim in fo for lis t manager screen | |
| 544 | CLAIMINF(B P59) ;*/ | |
| 545 | Q $$CLAIM INF^BPSSCR 02(BP59) | |
| 546 | ; | |
| 547 | ;patient info for h eader | |
| 548 | PATINF(BPD FN) ;*/ | |
| 549 | N X | |
| 550 | S X=$E($$ PATNAME(BP DFN),1,22) _" "_$$SSN 4^BPSSCRU2 (BPDFN) | |
| 551 | Q $$LJ^BP SSCR02(X,2 9) ;name | |
| 552 | ; | |
| 553 | ;-------- ---- patie nt's name | |
| 554 | PATNAME(BP DFN) ; | |
| 555 | Q $E($P($ G(^DPT(BPD FN,0)),U), 1,30) | |
| 556 | ; | |
| 557 | ;/** | |
| 558 | ;ECME Use r Screen R eopen Clos ed Claim H idden Acti on (ROC) | |
| 559 | ;**/ | |
| 560 | EUSCREOP ; | |
| 561 | N BPREOP, BP59,BPDFN ,BPDISP,BP CNT,BPI,BP J,BPCOMM,B PRETV,BPIE N02,BPSRXN UM | |
| 562 | ; Check f or BPS MAN AGER secur ity key | |
| 563 | I '$D(^XU SEC("BPS M ANAGER",DU Z)) D Q | |
| 564 | . W !,"Yo u must hol d the BPS MANAGER Se curity Key to access the",!,"R eopen Clos ed Claims option." | |
| 565 | . S VALMB CK="R" | |
| 566 | . D PAUSE ^VALM1 | |
| 567 | S (BP59,B PCNT,BPI,B PJ)=0 | |
| 568 | I '$D(@(V ALMAR)) G REOP | |
| 569 | D FULL^VA LM1 | |
| 570 | ; Select the claim( s) to reop en | |
| 571 | W !,"Ente r the line number fo r the clai m you want to reopen ." | |
| 572 | I $$ASKLI NES^BPSSCR U4("","C", .BPREOP,VA LMAR) D | |
| 573 | . ; Build array to display to user | |
| 574 | . F S BP 59=$O(BPRE OP(BP59)) Q:BP59="" D | |
| 575 | . . S BPD FN=+$P($G( ^BPST(BP59 ,0)),U,6) | |
| 576 | . . S BPC NT=BPCNT+1 | |
| 577 | . . I '$D (BPDISP(BP DFN)) S BP DISP(BPDFN ,BPCNT)=$$ LJ^BPSSCR0 2($$PATNAM E(BPDFN)_" :",50),BP CNT=BPCNT+ 1 | |
| 578 | . . S BPD ISP(BPDFN, BPCNT)=@VA LMAR@($P(B PREOP(BP59 ),U,1),0) | |
| 579 | . . ; | |
| 580 | . . ; che ck for non -billable entry | |
| 581 | . . I $$N B^BPSSCR03 (BP59) D Q | |
| 582 | . . . S B PCNT=BPCNT +1 | |
| 583 | . . . S B PDISP(BPDF N,BPCNT)=" Entry is N ON BILLABL E. There is no clai m to reope n." | |
| 584 | . . . K B PREOP(BP59 ) | |
| 585 | . . . Q | |
| 586 | . . ; | |
| 587 | . . ; Mak e sure thi s claim is closed | |
| 588 | . . I '$$ CLOSED02^B PSSCR03($P ($G(^BPST( BP59,0)),U ,4)) D | |
| 589 | . . . S B PCNT=BPCNT +1 | |
| 590 | . . . S B PDISP(BPDF N,BPCNT)=" Claim NOT closed and cannot be reopened. " | |
| 591 | . . . K B PREOP(BP59 ) | |
| 592 | . . ; Mak e sure the Prescript ion isn't deleted | |
| 593 | . . I $$R XDEL^BPSOS ($P(^BPST( BP59,1),U, 11),$P(^BP ST(BP59,1) ,U,1)) D | |
| 594 | . . . S B PCNT=BPCNT +1 | |
| 595 | . . . S B PDISP(BPDF N,BPCNT)=" The prescr iption has been mark ed DELETED and canno t be reope ned." | |
| 596 | . . . K B PREOP(BP59 ) | |
| 597 | . ; Displ ay the sel ected clai ms from th e display array | |
| 598 | . W !!,"Y ou've chos en to reop en the fol lowing pre scriptions (s) for" | |
| 599 | . F S BP I=$O(BPDIS P(BPI)) Q: BPI="" D | |
| 600 | . . F S BPJ=$O(BPD ISP(BPI,BP J)) Q:BPJ= "" D | |
| 601 | . . . W ! ,BPDISP(BP I,BPJ) | |
| 602 | . . Q | |
| 603 | . Q | |
| 604 | ; If ther e are any closed cla ims select ed, verify if the us ers still wants to r eopen | |
| 605 | I $D(BPRE OP) D | |
| 606 | . W !!,"A ll Selecte d Rxs will be reopen ed using t he same in formation gathered i n the",!," following prompts.", !! | |
| 607 | . I $$YES NO^BPSSCRR S("Are you sure?(Y/N )")=1 D | |
| 608 | . . ; Get the Reope n Comments to be sto red in the BPS CLAIM S file | |
| 609 | . . S BPC OMM=$$PROM PT("REOPEN COMMENTS" ,"","F",1, 40) | |
| 610 | . . Q:BPC OMM["^" | |
| 611 | . . ; Do we REALLY want to re open the c laims? | |
| 612 | . . I $$Y ESNO^BPSSC RRS("ARE Y OU SURE YO U WANT TO RE-OPEN TH IS CLAIM? (Y/N)","No ")=1 D | |
| 613 | . . . S ( BPCNT,BP59 )=0 | |
| 614 | . . . ; L oop throug h all sele cted claim s and reop en them on e at a tim e | |
| 615 | . . . ; u sing the s ame commen ts | |
| 616 | . . . F S BP59=$O( BPREOP(BP5 9)) Q:BP59 ="" D | |
| 617 | . . . . S BPIEN02=+ $P($G(^BPS T(BP59,0)) ,U,4) | |
| 618 | . . . . S BPRETV=$$ REOPEN^BPS BUTL(BP59, BPIEN02,$$ NOW^XLFDT, +DUZ,BPCOM M) | |
| 619 | . . . . W !,$P(BPRE TV,U,2) | |
| 620 | . . . . I +BPRETV S BPCNT=BPC NT+1 | |
| 621 | . . . . Q | |
| 622 | . . . I B PCNT>1 W ! !,BPCNT_" claims hav e been reo pened.",! Q | |
| 623 | . . . I B PCNT=1 W ! !,"1 claim has been reopened." ,! Q | |
| 624 | . . . I B PCNT=0 W ! !,"Unable to reopen claim" Q | |
| 625 | I '$D(BPR EOP) S VAL MBCK="R" D PAUSE^VAL M1 Q | |
| 626 | D PAUSE^V ALM1 | |
| 627 | D REDRAW^ BPSSCRUD(" Updating s creen for reopened c laims...") | |
| 628 | Q | |
| 629 | ; | |
| 630 | SELECT ; | |
| 631 | I VALMCNT <1 D Q | |
| 632 | . W !,"No claims to select." D PAUSE^VA LM1 S VALM BCK="R" | |
| 633 | N BP59,BP Q | |
| 634 | D FULL^VA LM1 | |
| 635 | S BP59=0 | |
| 636 | S BPQ=0 | |
| 637 | F S BPLI NE=$$PROMP T("Select item",""," A") D Q:B PQ | |
| 638 | . I BPLIN E="^" S BP Q=1 Q | |
| 639 | . I '(BPL INE?1N.N) W !,"Pleas e select a SINGLE Rx Line Item ." Q | |
| 640 | . S BP59= +$$GET59(+ BPLINE) I BP59>0 S B PQ=1 Q | |
| 641 | . W !,"Pl ease selec t a VALID Rx Line It em." | |
| 642 | I BPLINE= "^" S VALM BCK="R" Q | |
| 643 | I BP59=0 S VALMBCK= "R" W !,"I nvalid sel ection." D PAUSE^VAL M1 Q | |
| 644 | I $$SELCL AIM(BP59)< 1 S VALMBC K="R" Q | |
| 645 | ;D RE^VAL M4 | |
| 646 | D REDRAW | |
| 647 | S VALMBCK ="R" | |
| 648 | Q | |
| 649 | ; | |
| 650 | GET59(BPLI NE) ; | |
| 651 | Q +$O(^TM P("BPSREOP ",$J,"VALM ","IDX",BP LINE,0)) | |
| 652 | ; | |
| 653 | ;display selected c laim infor mation | |
| 654 | SELCLAIM(B P59) ; | |
| 655 | D FULL^VA LM1 | |
| 656 | W @IOF | |
| 657 | N BPX,BPX 1,BPDFN,BP IEN02,BPCL DATA,BPCOM M,BPRETV,B PQ | |
| 658 | S BPDFN=+ $P($G(^BPS T(BP59,0)) ,U,6) | |
| 659 | S BPX1=$$ RXREF^BPSS CRU2(BP59) | |
| 660 | W !,?1,$$ LJ^BPSSCR0 2("PATIENT NAME: "_$ $PATNAME(B PDFN),30) | |
| 661 | W ?33,$$L J^BPSSCR02 ("RX#: "_$ $RXNUM^BPS SCRU2(+BPX 1)_" "_$P( BPX1,U,2), 22) | |
| 662 | W ?57,$$L J^BPSSCR02 ("DRUG: "_ $$DRGNAME^ BPSSCRU2(B P59),22) | |
| 663 | ;ien in B PS CLAIMS | |
| 664 | S BPIEN02 =+$P($G(^B PST(BP59,0 )),U,4) | |
| 665 | I BPIEN02 =0 W !,"BP S CLAIMS f ile error! " D PAUSE^ VALM1 Q -1 | |
| 666 | ;Close in fo | |
| 667 | S BPCLDAT A=$G(^BPSC (BPIEN02,9 00)) | |
| 668 | ;if the i s no BPS C LAIMS - er ror | |
| 669 | W !,?3,"C LOSED ",$ $FORMDATE^ BPSSCRU6(+ $P($G(^BPS C(BPIEN02, 900)),U,2) ,2) | |
| 670 | W !,?4,"E CME#: "_$$ ECMENUM^BP SSCRU2(BP5 9)_", DOS: "_$$LASTD OS^BPSUTIL 2(BP59,1) | |
| 671 | W ", RELE ASE DATE: "_$$FORMDA TE^BPSSCRU 6($$RELDAT E^BPSSCRU6 (+BPX1,+$P (BPX1,U,2) ),2) | |
| 672 | W !,?4,"P LAN: ",$$P LANNAME^BP SSCRU6(BP5 9)," INSUR ANCE: ",$$ INSNAME^BP SSCRU6(BP5 9) | |
| 673 | W !,?4,"C LOSE REASO N: ",$$CLR EASON^BPSS CRU6(+$P(B PCLDATA,U, 4)) | |
| 674 | W !,?4,"D ROP TO PAP ER: ",$S(+ $P(BPCLDAT A,U,5)=1:" YES",1:"NO ") | |
| 675 | W !,?4,"C LOSE USER: ",$P($G(^ VA(200,+$P (BPCLDATA, U,3),0)),U ) | |
| 676 | W !!,"You have sele cted the C LOSED elec tronic cla im listed above.",! | |
| 677 | S BPCOMM= $$PROMPT(" REOPEN COM MENTS","", "F",1,40) | |
| 678 | Q:BPCOMM[ "^" 0 | |
| 679 | S BPQ=$$Y ESNO^BPSSC RRS("ARE Y OU SURE YO U WANT TO RE-OPEN TH IS CLAIM? (Y/N)","No ") | |
| 680 | Q:BPQ<1 0 | |
| 681 | S BPRETV= $$REOPEN^B PSBUTL(BP5 9,BPIEN02, $$NOW^XLFD T,+DUZ,BPC OMM) | |
| 682 | W !,$P(BP RETV,U,2), ! | |
| 683 | W !,"1 cl aim has be en reopene d.",! | |
| 684 | D PAUSE^V ALM1 | |
| 685 | Q 1 | |
| 686 | ; | |
| 687 | REDRAW ; | |
| 688 | N BPARR | |
| 689 | D CLEAN^V ALM10 | |
| 690 | D COLLECT ^BPSREOP1( BPDFN,BPST RT,BPEND) | |
| 691 | S VALMBCK ="R" | |
| 692 | Q | |
| 693 | ;input: | |
| 694 | ;BPSPROM - prompt t ext | |
| 695 | ;BPSDFVL - default value (opt ional) | |
| 696 | ;BPMODE - N- to ent er numbers , F - free text, A - free text w/o limit ations | |
| 697 | ;returns: | |
| 698 | ; "respon se" | |
| 699 | ; or "^" for quit | |
| 700 | PROMPT(BPS PROM,BPSDF VL,BPMODE, MINLEN,MAX LEN) ; | |
| 701 | N IR,X,Y, DIRUT,DIR | |
| 702 | I BPMODE= "N" S DIR( 0)="N^::2" | |
| 703 | I BPMODE= "A" S DIR( 0)="F^::2" | |
| 704 | I BPMODE= "F" S DIR( 0)="F^"_MI NLEN_":"_M AXLEN_":2^ K:(X?1"" " "."" "") X " | |
| 705 | S DIR("A" )=BPSPROM | |
| 706 | I $L($G(B PSDFVL))>0 S DIR("B" )=$G(BPSDF VL) | |
| 707 | D ^DIR I $D(DIRUT) Q "^" | |
| 708 | I Y["^" Q "^" | |
| 709 | Q Y | |
| 710 | ; | |
| 711 | ;Update r eopen reco rd in BPS CLAIM | |
| 712 | ;Input: | |
| 713 | ; BP02 - ien in BPS CLAIMS fi le | |
| 714 | ; BPCLOSE D - value for CLOSED field | |
| 715 | ; BPREOPD T - reopen date/time | |
| 716 | ; BPDUZ - user DUZ (#200 ien) | |
| 717 | ; BPCOMM - reopen c omment tex t | |
| 718 | ;Output: | |
| 719 | ; 0^messa ge_error - error | |
| 720 | ; 1 - suc cess | |
| 721 | UPDREOP(BP 02,BPCLOSE D,BPREOPDT ,BPDUZ,BPC OMM) ; | |
| 722 | ;Now upda te ECME da tabase | |
| 723 | N RECIENS ,BPDA,BPLC K,ERRARR | |
| 724 | S RECIENS =BP02_"," | |
| 725 | S BPDA(90 02313.02,R ECIENS,901 )=BPCLOSED ;CLOSED = "NO" | |
| 726 | S BPDA(90 02313.02,R ECIENS,906 )=BPREOPDT ;reopen d ate/time | |
| 727 | S BPDA(90 02313.02,R ECIENS,907 )=+BPDUZ ; user | |
| 728 | S BPDA(90 02313.02,R ECIENS,908 )=BPCOMM ; comment | |
| 729 | L +^BPST( 9002313.02 ,+BP02):10 | |
| 730 | S BPLCK=$ T | |
| 731 | I 'BPLCK Q "0^Locke d record" ;quit | |
| 732 | D FILE^DI E("","BPDA ","ERRARR" ) | |
| 733 | I BPLCK L -^BPST(90 02313.02,+ BP02) | |
| 734 | I $D(ERRA RR) Q "0^" _ERRARR("D IERR",1,"T EXT",1) | |
| 735 | Q 1 | |
| 736 | ; | |
| 737 | ; Reopen Closed Cla im display ed in ECME User Scre en | |
| 738 | REOP ; | |
| 739 | Q | |
| 740 | ||
| 741 | Modified L ogic (Chan ges are hi ghlighted) | |
| 742 | ||
| 743 | BPSREOP1 ; BHAM ISC/S S - REOPEN CLOSED CL AIMS ;03/0 7/08 14:5 4 | |
| 744 | ;;1.0;E C LAIMS MGMT ENGINE;** 3,7,10,11, 20,24**;JU N 2004;Bui ld 27 | |
| 745 | ;;Per VA Directive 6402, this routine s hould not be modifie d. | |
| 746 | ;Reopen c losed clai ms | |
| 747 | ; | |
| 748 | ;create a n ^TMP for the list manager | |
| 749 | ; | |
| 750 | COLLECT(BP DFN,BPSTRT ,BPEND) ; | |
| 751 | Q | |
| 752 | D CLEAN^V ALM10 | |
| 753 | N LINE | |
| 754 | N BPIEN02 ,BPIEN59 | |
| 755 | S LINE=1 | |
| 756 | S BPIEN59 =0 | |
| 757 | F S BPIE N59=$O(^BP ST("AC",BP DFN,BPIEN5 9)) Q:+BPI EN59=0 D | |
| 758 | . ; Verif y claim is within sp ecified da te range | |
| 759 | . I $P($G (^BPST(BPI EN59,12)), U,2)<BPSTR T Q | |
| 760 | . I $P($G (^BPST(BPI EN59,12)), U,2)>BPEND Q | |
| 761 | . ; Don't display d eleted pre scriptions | |
| 762 | . I $$RXD EL^BPSOS($ P(^BPST(BP IEN59,1),U ,11),$P(^B PST(BPIEN5 9,1),U,1)) Q | |
| 763 | . S BPIEN 02=+$P($G( ^BPST(BPIE N59,0)),U, 4) | |
| 764 | . ;if the is no BPS CLAIMS - error | |
| 765 | . Q:BPIEN 02=0 | |
| 766 | . ;if NOT closed | |
| 767 | . I +$P($ G(^BPSC(BP IEN02,900) ),U)=0 Q | |
| 768 | . D SET^V ALM10(LINE ,$$LJ^BPSS CR02(LINE, 6)_$$CLAIM INF(BPIEN5 9),BPIEN59 ) | |
| 769 | . S LINE= LINE+1 | |
| 770 | S VALMCNT =LINE-1 ;" of PAGE" f ix - VALMC NT should be EXACT n umber of l ines on th e screen | |
| 771 | Q | |
| 772 | ; | |
| 773 | ; BPSPTID - Patient IEN ; BPS DT1 - From Date ; BP SDT2 - Thr u Date ; B PSAR - Arr ay of elig ible claim s, sorted by Patient COLLPT(BPS PTID,BPSDT 1,BPSDT2,B PSAR) ; Co llect info based on user input of Patien t data N B PS59,BPSRX DEL S BPS5 9="" K BPS AR,BPSRXAR ; Loop th rough Tran saction Fi le, for us er input P atient, by Date F S BPS59=$O( ^BPST("AC" ,BPSPTID,B PS59)) Q:B PS59="" D . I $$GET 1^DIQ(9002 313.59,BPS 59,1202,"I ")<BPSDT1 Q . I $$GE T1^DIQ(900 2313.59,BP S59,1202," I")>BPSDT2 Q . S BPS RXDEL=$$RX DEL(BPS59) . I BPSRX DEL=0 Q . S BPSAR(BP SPTID,BPS5 9)="" . D STATS(BPSP TID,BPS59, .BPSAR) Q ; ; BPSRXA R - Array of Claim I ENs from u ser's inpu t ; BPSAR - Array of eligible claims, so rted by Pa tientCOLLR X(BPSRXAR, BPSAR) ; C ollect inf o based on user inpu t of Rx da ta N BPS59 ,BPSIEN,BP SIEN1,BPSP TID,BPSRXD EL K BPSAR S BPSIEN= "" F S BP SIEN=$O(BP SRXAR(BPSI EN)) Q:BPS IEN="" D . S BPSIEN 1=BPSIEN . F S BPSI EN1=$O(^BP ST("B",BPS IEN1)) Q:B PSIEN1'[BP SIEN D . . S BPS59= "" . . F S BPS59=$O (^BPST("B" ,BPSIEN1,B PS59)) Q:B PS59="" D . . . ; G et Patient ID . . . S BPSPTID= $$GET1^DIQ (9002313.5 9,BPS59,5, "I") . . . I BPSPTID ="" Q . . . S BPSRXD EL=$$RXDEL (BPS59) . . . I BPSR XDEL=0 Q . . . S BPS AR(BPSPTID ,BPS59)="" . . . D S TATS(BPSPT ID,BPS59,. BPSAR) Q ; ; BPSPTRX - Flag fo r user inp ut type; 1 =Patient i nput, 2=RX input ; B PSPTID - P atient IEN ; BPSDT1 - From Dat e ; BPSDT2 - Thru Da te ; BPSRX AR - Array of Claim IENs from user's inp ut ; BPSAR - Array o f eligible claims, s orted by P atientBUIL D(BPSPTRX, BPSPTID,BP SDT1,BPSDT 2,BPSRXAR, BPSAR) ; b uild the L istView N BPS59,BPSC LCNT,BPSCL MINFO,BPSI NSDAT,BPSI NSUR,BPSLI NE,BPSLNS, BPSPTCNT,B PSPTID1 N BPSPTINFO, BPSSTAT,BP SSTR D CLE AN^VALM10 ; Save All User inpu t to "FILT ERS" porti on of ^TMP file. ; T his will b e needed w hen the ca ll to REDR AW the lis t file is made. S @V ALMAR@("FI LTERS","PT RX")=BPSPT RX I BPSPT RX=1 D . S @VALMAR@( "FILTERS", "PTID")=BP SPTID . S @VALMAR@(" FILTERS"," FROMDT")=B PSDT1 . S @VALMAR@(" FILTERS"," THRUDT")=B PSDT2 I BP SPTRX=2 D . M @VALMA R@("FILTER S","BPSRXA R")=BPSRXA R S (BPSLI NE,BPSPTCN T)=0 S (BP SPTID,BPSP TID1,BPS59 )="" F S BPSPTID=$O (BPSAR(BPS PTID)) Q:B PSPTID="" D . S BPS PTCNT=BPSP TCNT+1 . S BPSCLCNT= 0 . S BPSS TAT=$$STAT S1(BPSPTID ,.BPSAR) . F S BPS5 9=$O(BPSAR (BPSPTID,B PS59)) Q:B PS59="" D . . I BPS PTID'=BPSP TID1 D . . . S BPSIN SDAT=$$GET INSUR^BPSS CRU2(BPS59 ) . . . S BPSPTINFO= $$PATINF^B PSSCR02(BP SPTID,BPSI NSDAT) . . . S BPSLI NE=BPSLINE +1 . . . S BPSSTR=$$ LJ^BPSSCR0 2(BPSPTCNT ,4)_BPSPTI NFO_" "_BP SSTAT . . . S BPSINS UR=+BPSINS DAT . . . D SAVEARR^ BPSSCR02(V ALMAR,BPSP TCNT,BPSCL CNT,BPSPTI D,BPS59,BP SLINE,BPSS TR,BPSINSU R) . . . S BPSPTID1= BPSPTID . . S BPSCLM INFO=$$CLA IMINF^BPSS CR02(BPS59 ) . . S BP SCLCNT=BPS CLCNT+1 . . S BPSLIN E=BPSLINE+ 1 . . S BP SSTR=" "_B PSPTCNT_". "_BPSCLCNT _" "_BPSCL MINFO . . D SAVEARR^ BPSSCR02(V ALMAR,BPSP TCNT,BPSCL CNT,BPSPTI D,BPS59,BP SLINE,BPSS TR,BPSINSU R) . . N B PSCMT,X . . S BPSLNS =$$ADDINF^ BPSSCR03(B PS59,.BPSC MT,74,"R") . . F X=1 :1:BPSLNS D . . . I $G(BPSCMT( X))="" Q . . . S BPS LINE=BPSLI NE+1 . . . S BPSSTR= " "_BPSCMT (X) . . . D SAVEARR^ BPSSCR02(V ALMAR,BPSP TCNT,BPSCL CNT,BPSPTI D,BPS59,BP SLINE,BPSS TR,BPSINSU R) S VALMC NT=BPSLINE -1 Q ;RXDE L(BPIEN59) ; Check i f RX Delet ed N BPIEN 02,BPSTAR, BPST3,BPST 9,BPST11 D GETS^DIQ( "9002313.5 9",BPIEN59 ,"1.11;9;3 ","I","BPS TAR") S BP ST11=$G(BP STAR("9002 313.59",BP IEN59_",", 1.11,"I")) S BPST9=$ G(BPSTAR(" 9002313.59 ",BPIEN59_ ",",9,"I") ) S BPST3= $G(BPSTAR( "9002313.5 9",BPIEN59 _",",3,"I" )) ; Don't display d eleted pre scriptions I $$RXDEL ^BPSOS(BPS T11,BPST9) Q 0 ;if t he is no B PS CLAIMS - error I +BPST3=0 Q 0 Q 1 ; ; BPSPTID - Patient I EN ; BPS59 - Claim I EN ; BPSAR - Array o f eligible claims, s orted by P atient ; U pdate the BPSAR arra y, at the patient le vel, with counters ; based on each claim . Counters will capt ure if the claim is ; Payable, Rejected, Reversal Accepted o r Reversal Rejected. STATS(BPSP TID,BPS59, BPSAR) ; C apture Pat ient Stats N BPSACRV ,BPSELIG,B PSELIG1,BP SJRV,BPSPB ,BPSRJ,BPX S BPSPB=$ P($G(BPSAR (BPSPTID)) ,"^",2) S BPSRJ=$P($ G(BPSAR(BP SPTID)),"^ ",3) S BPS ACRV=$P($G (BPSAR(BPS PTID)),"^" ,4) S BPSJ RV=$P($G(B PSAR(BPSPT ID)),"^",5 ) S BPX=$P ($$CLAIMST ^BPSSCRU3( BPS59),"^" ) I BPX="E PAYABLE" S BPSPB=BP SPB+1 I BP X="E REJEC TED" S BPS RJ=BPSRJ+1 I BPX="E REVERSAL A CCEPTED" S BPSACRV=B PSACRV+1 I BPX="E RE VERSAL REJ ECTED" S B PSJRV=BPSJ RV+1 S BPS ELIG=$$ELI GCODE^BPSS CR05(BPS59 ) S BPSELI G1="Unk" I BPSELIG=" V" S BPSEL IG1="VET" I BPSELIG= "T" S BPSE LIG1="TRI" I BPSELIG ="C" S BPS ELIG1="CVA " S BPSAR( BPSPTID)=B PSELIG1_"^ "_BPSPB_"^ "_BPSRJ_"^ "_BPSACRV_ "^"_BPSJRV Q ; ; BPS PTID - Pat ient IEN ; BPSAR - A rray of el igible cla ims, sorte d by Patie nt ; Forma t the pati ent level informatio n captured in the ST ATS ; subr outine for display i n the List View. The display of this ; in formation will match the displ ay format used in EC ME User Sc reen.STATS 1(BPSPTID, BPSAR) ; F ormat Stat s line for ListView N BPSSTATS ,BPSSTAT1 S BPSSTATS =$G(BPSAR( BPSPTID)) S BPSSTATS 1=$P(BPSST ATS,"^")_" " I +$P(B PSSTATS,"^ ",2)>0,$P( BPSSTATS," ^",3,5)="^ ^" S BPSST ATS1=BPSST ATS1_"ALL payable" E D . S BP SSTATS1=BP SSTATS1_"P b:"_+$P(BP SSTATS,"^" ,2)_" " . S BPSSTATS 1=BPSSTATS 1_"Rj:"_+$ P(BPSSTATS ,"^",3)_" " . S BPSS TATS1=BPSS TATS1_"AcR | |
| 774 | v:"_+$P(BP SSTATS,"^" ,4)_" " . S BPSSTATS 1=BPSSTATS 1_"RjRv:"_ +$P(BPSSTA TS,"^",5) Q BPSSTATS 1 | |
| 775 | ; | |
| 776 | ;claim in fo for lis t manager screen | |
| 777 | CLAIMINF(B P59) ;*/ | |
| 778 | Q $$CLAIM INF^BPSSCR 02(BP59) | |
| 779 | ; | |
| 780 | ;patient info for h eader | |
| 781 | PATINF(BPD FN) ;*/ | |
| 782 | N X | |
| 783 | S X=$E($$ PATNAME(BP DFN),1,22) _" "_$$SSN 4^BPSSCRU2 (BPDFN) | |
| 784 | Q $$LJ^BP SSCR02(X,2 9) ;name | |
| 785 | ; | |
| 786 | ;-------- ---- patie nt's name | |
| 787 | PATNAME(BP DFN) ; | |
| 788 | Q $E($P($ G(^DPT(BPD FN,0)),U), 1,30) | |
| 789 | ; | |
| 790 | ;/** | |
| 791 | ;ECME Use r Screen R eopen Clos ed Claim H idden Acti on (ROC) | |
| 792 | ;**/ | |
| 793 | EUSCREOP ; | |
| 794 | N BPREOP, BP59,BPDFN ,BPDISP,BP CNT,BPI,BP J,BPCOMM,B PRETV,BPIE N02,BPSRXN UM | |
| 795 | ; Check f or BPS MAN AGER secur ity key | |
| 796 | I '$D(^XU SEC("BPS M ANAGER",DU Z)) D Q | |
| 797 | . W !,"Yo u must hol d the BPS MANAGER Se curity Key to access the",!,"R eopen Clos ed Claims option." | |
| 798 | . S VALMB CK="R" | |
| 799 | . D PAUSE ^VALM1 | |
| 800 | S (BP59,B PCNT,BPI,B PJ)=0 | |
| 801 | I '$D(@(V ALMAR)) G REOP | |
| 802 | D FULL^VA LM1 | |
| 803 | ; Select the claim( s) to reop en | |
| 804 | W !,"Ente r the line number fo r the clai m you want to reopen ." | |
| 805 | I $$ASKLI NES^BPSSCR U4("","C", .BPREOP,VA LMAR) D | |
| 806 | . ; Build array to display to user | |
| 807 | . F S BP 59=$O(BPRE OP(BP59)) Q:BP59="" D | |
| 808 | . . S BPD FN=+$P($G( ^BPST(BP59 ,0)),U,6) | |
| 809 | . . S BPC NT=BPCNT+1 | |
| 810 | . . I '$D (BPDISP(BP DFN)) S BP DISP(BPDFN ,BPCNT)=$$ LJ^BPSSCR0 2($$PATNAM E(BPDFN)_" :",50),BP CNT=BPCNT+ 1 | |
| 811 | . . S BPD ISP(BPDFN, BPCNT)=@VA LMAR@($P(B PREOP(BP59 ),U,1),0) | |
| 812 | . . ; | |
| 813 | . . ; che ck for non -billable entry | |
| 814 | . . I $$N B^BPSSCR03 (BP59) D Q | |
| 815 | . . . S B PCNT=BPCNT +1 | |
| 816 | . . . S B PDISP(BPDF N,BPCNT)=" Entry is N ON BILLABL E. There is no clai m to reope n." | |
| 817 | . . . K B PREOP(BP59 ) | |
| 818 | . . . Q | |
| 819 | . . ; | |
| 820 | . . ; Mak e sure thi s claim is closed | |
| 821 | . . I '$$ CLOSED02^B PSSCR03($P ($G(^BPST( BP59,0)),U ,4)) D | |
| 822 | . . . S B PCNT=BPCNT +1 | |
| 823 | . . . S B PDISP(BPDF N,BPCNT)=" Claim NOT closed and cannot be reopened. " | |
| 824 | . . . K B PREOP(BP59 ) | |
| 825 | . . ; Mak e sure the Prescript ion isn't deleted | |
| 826 | . . I $$R XDEL^BPSOS ($P(^BPST( BP59,1),U, 11),$P(^BP ST(BP59,1) ,U,1)) D | |
| 827 | . . . S B PCNT=BPCNT +1 | |
| 828 | . . . S B PDISP(BPDF N,BPCNT)=" The prescr iption has been mark ed DELETED and canno t be reope ned." | |
| 829 | . . . K B PREOP(BP59 ) | |
| 830 | . ; Displ ay the sel ected clai ms from th e display array | |
| 831 | . W !!,"Y ou've chos en to reop en the fol lowing pre scriptions (s) for" | |
| 832 | . F S BP I=$O(BPDIS P(BPI)) Q: BPI="" D | |
| 833 | . . F S BPJ=$O(BPD ISP(BPI,BP J)) Q:BPJ= "" D | |
| 834 | . . . W ! ,BPDISP(BP I,BPJ) | |
| 835 | . . Q | |
| 836 | . Q | |
| 837 | ; If ther e are any closed cla ims select ed, verify if the us ers still wants to r eopen | |
| 838 | I $D(BPRE OP) D | |
| 839 | . W !!,"A ll Selecte d Rxs will be reopen ed using t he same in formation gathered i n the",!," following prompts.", !! | |
| 840 | . I $$YES NO^BPSSCRR S("Are you sure?(Y/N )")=1 D | |
| 841 | . . ; Get the Reope n Comments to be sto red in the BPS CLAIM S file | |
| 842 | . . S BPC OMM=$$PROM PT("REOPEN COMMENTS" ,"","F",1, 40) | |
| 843 | . . Q:BPC OMM["^" | |
| 844 | . . ; Do we REALLY want to re open the c laims? | |
| 845 | . . I $$Y ESNO^BPSSC RRS("ARE Y OU SURE YO U WANT TO RE-OPEN TH IS CLAIM? (Y/N)","No ")=1 D | |
| 846 | . . . S ( BPCNT,BP59 )=0 | |
| 847 | . . . ; L oop throug h all sele cted claim s and reop en them on e at a tim e | |
| 848 | . . . ; u sing the s ame commen ts | |
| 849 | . . . F S BP59=$O( BPREOP(BP5 9)) Q:BP59 ="" D | |
| 850 | . . . . S BPIEN02=+ $P($G(^BPS T(BP59,0)) ,U,4) | |
| 851 | . . . . S BPRETV=$$ REOPEN^BPS BUTL(BP59, BPIEN02,$$ NOW^XLFDT, +DUZ,BPCOM M) | |
| 852 | . . . . W !,$P(BPRE TV,U,2) | |
| 853 | . . . . I +BPRETV S BPCNT=BPC NT+1 | |
| 854 | . . . . Q | |
| 855 | . . . I B PCNT>1 W ! !,BPCNT_" claims hav e been reo pened.",! Q | |
| 856 | . . . I B PCNT=1 W ! !,"1 claim has been reopened." ,! Q | |
| 857 | . . . I B PCNT=0 W ! !,"Unable to reopen claim" Q | |
| 858 | I '$D(BPR EOP) S VAL MBCK="R" D PAUSE^VAL M1 Q | |
| 859 | D PAUSE^V ALM1 | |
| 860 | I $D(@VAL MAR@("FILT ERS")) D R EDRAW Q | |
| 861 | E D REDR AW^BPSSCRU D("Updatin g screen f or reopene d claims.. .") | |
| 862 | Q | |
| 863 | ; | |
| 864 | SELECT ; | |
| 865 | I VALMCNT <1 D Q | |
| 866 | . W !,"No claims to select." D PAUSE^VA LM1 S VALM BCK="R" | |
| 867 | N BP59,BP Q | |
| 868 | D FULL^VA LM1 | |
| 869 | S BP59=0 | |
| 870 | S BPQ=0 | |
| 871 | F S BPLI NE=$$PROMP T("Select item",""," A") D Q:B PQ | |
| 872 | . I BPLIN E="^" S BP Q=1 Q | |
| 873 | . I '(BPL INE?1N.N) W !,"Pleas e select a SINGLE Rx Line Item ." Q | |
| 874 | . S BP59= +$$GET59(+ BPLINE) I BP59>0 S B PQ=1 Q | |
| 875 | . W !,"Pl ease selec t a VALID Rx Line It em." | |
| 876 | I BPLINE= "^" S VALM BCK="R" Q | |
| 877 | I BP59=0 S VALMBCK= "R" W !,"I nvalid sel ection." D PAUSE^VAL M1 Q | |
| 878 | I $$SELCL AIM(BP59)< 1 S VALMBC K="R" Q | |
| 879 | ;D RE^VAL M4 | |
| 880 | D REDRAW | |
| 881 | S VALMBCK ="R" | |
| 882 | Q | |
| 883 | ; | |
| 884 | GET59(BPLI NE) ; | |
| 885 | Q +$O(^TM P("BPSREOP ",$J,"VALM ","IDX",BP LINE,0)) | |
| 886 | ; | |
| 887 | ;display selected c laim infor mation | |
| 888 | SELCLAIM(B P59) ; | |
| 889 | D FULL^VA LM1 | |
| 890 | W @IOF | |
| 891 | N BPX,BPX 1,BPDFN,BP IEN02,BPCL DATA,BPCOM M,BPRETV,B PQ | |
| 892 | S BPDFN=+ $P($G(^BPS T(BP59,0)) ,U,6) | |
| 893 | S BPX1=$$ RXREF^BPSS CRU2(BP59) | |
| 894 | W !,?1,$$ LJ^BPSSCR0 2("PATIENT NAME: "_$ $PATNAME(B PDFN),30) | |
| 895 | W ?33,$$L J^BPSSCR02 ("RX#: "_$ $RXNUM^BPS SCRU2(+BPX 1)_" "_$P( BPX1,U,2), 22) | |
| 896 | W ?57,$$L J^BPSSCR02 ("DRUG: "_ $$DRGNAME^ BPSSCRU2(B P59),22) | |
| 897 | ;ien in B PS CLAIMS | |
| 898 | S BPIEN02 =+$P($G(^B PST(BP59,0 )),U,4) | |
| 899 | I BPIEN02 =0 W !,"BP S CLAIMS f ile error! " D PAUSE^ VALM1 Q -1 | |
| 900 | ;Close in fo | |
| 901 | S BPCLDAT A=$G(^BPSC (BPIEN02,9 00)) | |
| 902 | ;if the i s no BPS C LAIMS - er ror | |
| 903 | W !,?3,"C LOSED ",$ $FORMDATE^ BPSSCRU6(+ $P($G(^BPS C(BPIEN02, 900)),U,2) ,2) | |
| 904 | W !,?4,"E CME#: "_$$ ECMENUM^BP SSCRU2(BP5 9)_", DOS: "_$$LASTD OS^BPSUTIL 2(BP59,1) | |
| 905 | W ", RELE ASE DATE: "_$$FORMDA TE^BPSSCRU 6($$RELDAT E^BPSSCRU6 (+BPX1,+$P (BPX1,U,2) ),2) | |
| 906 | W !,?4,"P LAN: ",$$P LANNAME^BP SSCRU6(BP5 9)," INSUR ANCE: ",$$ INSNAME^BP SSCRU6(BP5 9) | |
| 907 | W !,?4,"C LOSE REASO N: ",$$CLR EASON^BPSS CRU6(+$P(B PCLDATA,U, 4)) | |
| 908 | W !,?4,"D ROP TO PAP ER: ",$S(+ $P(BPCLDAT A,U,5)=1:" YES",1:"NO ") | |
| 909 | W !,?4,"C LOSE USER: ",$P($G(^ VA(200,+$P (BPCLDATA, U,3),0)),U ) | |
| 910 | W !!,"You have sele cted the C LOSED elec tronic cla im listed above.",! | |
| 911 | S BPCOMM= $$PROMPT(" REOPEN COM MENTS","", "F",1,40) | |
| 912 | Q:BPCOMM[ "^" 0 | |
| 913 | S BPQ=$$Y ESNO^BPSSC RRS("ARE Y OU SURE YO U WANT TO RE-OPEN TH IS CLAIM? (Y/N)","No ") | |
| 914 | Q:BPQ<1 0 | |
| 915 | S BPRETV= $$REOPEN^B PSBUTL(BP5 9,BPIEN02, $$NOW^XLFD T,+DUZ,BPC OMM) | |
| 916 | W !,$P(BP RETV,U,2), ! | |
| 917 | W !,"1 cl aim has be en reopene d.",! | |
| 918 | D PAUSE^V ALM1 | |
| 919 | Q 1 | |
| 920 | ; | |
| 921 | REDRAW ; | |
| 922 | N BPARR,B PSDT1,BPSD T2,BPSPTID ,BPSPTRX | |
| 923 | S BPSPTRX =@VALMAR@( "FILTERS", "PTRX") | |
| 924 | I BPSPTRX =1 D | |
| 925 | . S BPSPT ID=@VALMAR @("FILTERS ","PTID") | |
| 926 | . S BPSDT 1=@VALMAR@ ("FILTERS" ,"FROMDT") | |
| 927 | . S BPSDT 2=@VALMAR@ ("FILTERS" ,"THRUDT") | |
| 928 | I BPSPTRX =2 D | |
| 929 | . K BPSRX AR | |
| 930 | . M BPSRX AR=@VALMAR @("FILTERS ","BPSRXAR ") | |
| 931 | D CLEAN^V ALM10 | |
| 932 | I BPSPTRX =1 D COLLP T^BPSREOP1 (BPSPTID,B PSDT1,BPSD T2,.BPSAR) | |
| 933 | I BPSPTRX =2 D COLLR X^BPSREOP1 (.BPSRXAR, .BPSAR) | |
| 934 | D BUILD^B PSREOP1(BP SPTRX,.BPS AR) | |
| 935 | D COLLECT ^BPSREOP1( BPDFN,BPST RT,BPEND) | |
| 936 | S VALMBCK ="R" | |
| 937 | Q | |
| 938 | ;input: | |
| 939 | ;BPSPROM - prompt t ext | |
| 940 | ;BPSDFVL - default value (opt ional) | |
| 941 | ;BPMODE - N- to ent er numbers , F - free text, A - free text w/o limit ations | |
| 942 | ;returns: | |
| 943 | ; "respon se" | |
| 944 | ; or "^" for quit | |
| 945 | PROMPT(BPS PROM,BPSDF VL,BPMODE, MINLEN,MAX LEN) ; | |
| 946 | N IR,X,Y, DIRUT,DIR | |
| 947 | I BPMODE= "N" S DIR( 0)="N^::2" | |
| 948 | I BPMODE= "A" S DIR( 0)="F^::2" | |
| 949 | I BPMODE= "F" S DIR( 0)="F^"_MI NLEN_":"_M AXLEN_":2^ K:(X?1"" " "."" "") X " | |
| 950 | S DIR("A" )=BPSPROM | |
| 951 | I $L($G(B PSDFVL))>0 S DIR("B" )=$G(BPSDF VL) | |
| 952 | D ^DIR I $D(DIRUT) Q "^" | |
| 953 | I Y["^" Q "^" | |
| 954 | Q Y | |
| 955 | ; | |
| 956 | ;Update r eopen reco rd in BPS CLAIM | |
| 957 | ;Input: | |
| 958 | ; BP02 - ien in BPS CLAIMS fi le | |
| 959 | ; BPCLOSE D - value for CLOSED field | |
| 960 | ; BPREOPD T - reopen date/time | |
| 961 | ; BPDUZ - user DUZ (#200 ien) | |
| 962 | ; BPCOMM - reopen c omment tex t | |
| 963 | ;Output: | |
| 964 | ; 0^messa ge_error - error | |
| 965 | ; 1 - suc cess | |
| 966 | UPDREOP(BP 02,BPCLOSE D,BPREOPDT ,BPDUZ,BPC OMM) ; | |
| 967 | ;Now upda te ECME da tabase | |
| 968 | N RECIENS ,BPDA,BPLC K,ERRARR | |
| 969 | S RECIENS =BP02_"," | |
| 970 | S BPDA(90 02313.02,R ECIENS,901 )=BPCLOSED ;CLOSED = "NO" | |
| 971 | S BPDA(90 02313.02,R ECIENS,906 )=BPREOPDT ;reopen d ate/time | |
| 972 | S BPDA(90 02313.02,R ECIENS,907 )=+BPDUZ ; user | |
| 973 | S BPDA(90 02313.02,R ECIENS,908 )=BPCOMM ; comment | |
| 974 | L +^BPST( 9002313.02 ,+BP02):10 | |
| 975 | S BPLCK=$ T | |
| 976 | I 'BPLCK Q "0^Locke d record" ;quit | |
| 977 | D FILE^DI E("","BPDA ","ERRARR" ) | |
| 978 | I BPLCK L -^BPST(90 02313.02,+ BP02) | |
| 979 | I $D(ERRA RR) Q "0^" _ERRARR("D IERR",1,"T EXT",1) | |
| 980 | Q 1 | |
| 981 | ; | |
| 982 | ; Reopen Closed Cla im display ed in ECME User Scre en | |
| 983 | REOP ; | |
| 984 | Q | |
| 985 | ||
| 986 | ||
| 987 | Subroutine Name | |
| 988 | RES^BPSSCR RS | |
| 989 | Enhancemen t Category | |
| 990 | New | |
| 991 | Modify | |
| 992 | Delete | |
| 993 | No Change | |
| 994 | Story | |
| 995 | US597 | |
| 996 | Related Me nu Options or ListMa n Actions | |
| 997 | ROC Reopen CLOSED Cl aim | |
| 998 | Related Ro utines | |
| 999 | This Subro utine is C alled By | |
| 1000 | This Subro utine Call s | |
| 1001 | ||
| 1002 | BPS PRTCL USRSCR RES UBMIT acti on | |
| 1003 | FULL^VALM1 | |
| 1004 | $$ASKLINES ^BPSSCRU4 | |
| 1005 | $$RESUBMIT ^BPSSCRRS | |
| 1006 | REDRAW^BPS REOP1 | |
| 1007 | REDRAW^BPS SCRUD | |
| 1008 | Related In tegration Control Re gistration s (ICRs) | |
| 1009 | n/a | |
| 1010 | Data Passi ng | |
| 1011 | Parameter Input | |
| 1012 | Parameter Output | |
| 1013 | Function Return Val ue | |
| 1014 | Global Mo dified | |
| 1015 | Input Attr ibute Name and Defin ition | |
| 1016 | Name: | |
| 1017 | Definition : | |
| 1018 | New Modify Delete No Cha nge | |
| 1019 | Current Lo gic | |
| 1020 | ||
| 1021 | BPSSCRRS ; BHAM ISC/S S - ECME S CREEN RESU BMIT ;05-A PR-05 | |
| 1022 | ;;1.0;E C LAIMS MGMT ENGINE;** 1,3,5,7,8, 10,11,20** ;JUN 2004; Build 27 | |
| 1023 | ;;Per VA Directive 6402, this routine s hould not be modifie d. | |
| 1024 | Q | |
| 1025 | ;IA 4702 | |
| 1026 | ;IA 5355 for call t o $$RXBILL ^IBNCPUT3 | |
| 1027 | ; | |
| 1028 | RES ; | |
| 1029 | N BPRET,B PSARR59 | |
| 1030 | I '$D(@(V ALMAR)) Q | |
| 1031 | D FULL^VA LM1 | |
| 1032 | W !,"Ente r the line numbers f or the cla im(s) to b e resubmit ted." | |
| 1033 | S BPRET=$ $ASKLINES^ BPSSCRU4(" Select ite m(s)","C", .BPSARR59, VALMAR) | |
| 1034 | I BPRET=" ^" S VALMB CK="R" Q | |
| 1035 | ;go thru all select ed claims and try to resubmit them separ ately | |
| 1036 | ;update t he content of the sc reen and d isplay it | |
| 1037 | ;only if at least o ne claim w as submitt ed success fully | |
| 1038 | I $$RESUB MIT(.BPSAR R59) D RED RAW^BPSSCR UD("Updati ng screen for resubm itted clai ms...") | |
| 1039 | E S VALM BCK="R" | |
| 1040 | Q | |
| 1041 | ||
| 1042 | Modified L ogic (Chan ges are hi ghlighted) | |
| 1043 | ||
| 1044 | BPSSCRRS ; BHAM ISC/S S - ECME S CREEN RESU BMIT ;05-A PR-05 | |
| 1045 | ;;1.0;E C LAIMS MGMT ENGINE;** 1,3,5,7,8, 10,11,20,2 4**;JUN 20 04;Build 2 7 | |
| 1046 | ;;Per VA Directive 6402, this routine s hould not be modifie d. | |
| 1047 | Q | |
| 1048 | ;IA 4702 | |
| 1049 | ;IA 5355 for call t o $$RXBILL ^IBNCPUT3 | |
| 1050 | ; | |
| 1051 | RES ; | |
| 1052 | N BPRET,B PSARR59 | |
| 1053 | I '$D(@(V ALMAR)) Q | |
| 1054 | D FULL^VA LM1 | |
| 1055 | W !,"Ente r the line numbers f or the cla im(s) to b e resubmit ted." | |
| 1056 | S BPRET=$ $ASKLINES^ BPSSCRU4(" Select ite m(s)","C", .BPSARR59, VALMAR) | |
| 1057 | I BPRET=" ^" S VALMB CK="R" Q | |
| 1058 | ;go thru all select ed claims and try to resubmit them separ ately | |
| 1059 | ;update t he content of the sc reen and d isplay it | |
| 1060 | ;only if at least o ne claim w as submitt ed success fully | |
| 1061 | I $$RESUB MIT(.BPSAR R59) D | |
| 1062 | . I '$D(@ VALMAR@("F ILTERS")) D REDRAW^B PSSCRUD("U pdating sc reen for r esubmitted claims... ") | |
| 1063 | . E D RE DRAW^BPSRE OP1 | |
| 1064 | E S VALM BCK="R" | |
| 1065 | Q | |
| 1066 | ||
| 1067 | ||
| 1068 | Subroutine Name | |
| 1069 | ^BPSSCRU4 | |
| 1070 | Enhancemen t Category | |
| 1071 | New | |
| 1072 | Modify | |
| 1073 | Delete | |
| 1074 | No Change | |
| 1075 | Story | |
| 1076 | US597 | |
| 1077 | Related Me nu Options or ListMa n Actions | |
| 1078 | ROC Reopen CLOSED Cl aim | |
| 1079 | Current Lo gic | |
| 1080 | ||
| 1081 | BPSSCRU4 ; BHAM ISC/S S - ECME S CREEN UTIL ITIES ;05- APR-05 ;;1 .0;E CLAIM S MGMT ENG INE;**1,3, 21**;JUN 2 004;Build 28 ;;Per V A Directiv e 6402, th is routine should no t be modif ied. ;USER SCREEN Q ; ;repeate dly prompt s the user for line# ;the user should "^ " to quit or enter a correct l ine # ;inp ut: ; BPRO MPT - prom pt string ; BPTYPE e xpected us er's selec tion on le vel ; of P-patient or C-claim or PC - b oth ; BPER RMES - opt ional - th e message to display when the user ; tri es to make multi lin e selectio n ; BPDFLT - default value for the promp t (optiona l) ;output : ; piece 1: ; 1 - okay ; <0 - errors ; 0 - user wants to q uit ; piec e 2: patie nt ien #2 ; piece 3: insurance ien #36 ; piece 4: ptr to #90 02313.59 ; piece 5: 1st line f or index(e s) in LM " VALM" arra y ; piece 6: patient 's index ; piece 7: claim's in dexASKLINE (BPROMPT,B PTYPE,BPER RMES,BPDFL T) ; N BPR ET,BPCNT S BPRET="", BPCNT=0 F S BPRET=$ $SELLINE(B PROMPT,BPT YPE,VALMAR ,$G(BPDFLT )) Q:BPRET '<0 D . ;D RE^VALM4 . ; . I BP CNT<1 S BP CNT=BPCNT+ 1 W ! . E S BPCNT=0 D RE^VALM 4 . I BPRE T=-1 W " - Invalid l ine number " ; (inval id Patient summary l ine)" . I BPRET=-8 W " - ",$S( $G(BPERRME S)]"":BPER RMES,1:" I nvalid lin e number") . I BPRET =-4 W " - Invalid li ne number" ; (invali d RX line) " . I BPRE T=-2 W " - Please se lect Patie nt's summa ry line." . I BPRET= -3 W " - P lease spec ify RX lin e." . I BP RET<-4 W " - Incorre ct format. " ; Corrup ted array (",BPRET," )" Q BPRET ;/** ;pro mpts the u ser for li ne# for va rious menu option of the User Screen ;in put: ; BPR OMPT - pro mpt string ; BPTYPE - expected user's se lection on level ; of P-patie nt or C-cl aim or PC - both ; B PTMP1 - te mporary gl obal (VALM AR) ; BPDF LT - defau lt value f or the pro mpt (optio nal) ;outp ut: ; piec e 1: ; 1 - okay ; < 0 - errors ; 0 - use r wants to quit ; pi ece 2: pat ient ien # 2 ; piece 3: insuran ce ien #36 ; piece 4 : ptr to # 9002313.59 ; piece 5 : 1st line for index (es) in LM "VALM" ar ray ; piec e 6: patie nt's index ; piece 7 : claim's indexSELLI NE(BPROMPT ,BPTYPE,BP TMP1,BPDFL T) ;*/ N B PX,BPLINE, BPPATIND,B PCLMIND N BPDFN,BPSI NSUR,BP59, BP1LN ; ; Attempt to determine default i f none pas sed in I ' $G(BPDFLT) S BPDFLT= $$DEFAULT( BPTYPE,BPT MP1) ; S B PLINE=$$PR OMPT(BPROM PT,$G(BPDF LT)) I BPL INE="^" Q 0 S BPPATI ND=+$P(BPL INE,".") I (BPLINE[" -")!(BPLIN E[",") Q - 8 ;multipl e line inp ut in not allowed I '$D(@BPTMP 1@("LMIND" ,BPPATIND) ) Q -1 ;th e patient level does n't exist S BPCLMIND =+$P(BPLIN E,".",2) I BPTYPE="P ",BPCLMIND >0 Q -2 ;P was reque sted but c laim porti on was pro vided I BP TYPE="C",B PCLMIND=0 Q -3 ;C wa s requeste d but clai m portion was not pr ovided I ' $D(@BPTMP1 @("LMIND", BPPATIND,B PCLMIND)) Q -4 ;the claim leve l doesn't exist S BP DFN=$O(@BP TMP1@("LMI ND",BPPATI ND,BPCLMIN D,0)) I +B PDFN=0 Q - 5 ;error S BPSINSUR= $O(@BPTMP1 @("LMIND", BPPATIND,B PCLMIND,BP DFN,"")) I BPSINSUR= "" Q -6 ;e rror ;if f ractional part was e ntered I B PCLMIND>0 D I +BP59 =0 Q -7 ;e rror . S B P59=$O(@BP TMP1@("LMI ND",BPPATI ND,BPCLMIN D,BPDFN,BP SINSUR,0)) I BPCLMIN D=0 S BP59 =0 S BP1LN =$O(@BPTMP 1@("LMIND" ,BPPATIND, BPCLMIND,B PDFN,BPSIN SUR,BP59,0 )) I +BP1L N=0 Q -7 ; error Q "1 "_U_BPDFN_ U_BPSINSUR _U_BP59_U_ BP1LN_U_BP PATIND_U_B PCLMIND ; ;input: ;B PSPROM - p rompt text ;BPSDFVL - default value (opt ional) ;re turns: ; " response^" PROMPT(BPS PROM,BPSDF VL) ; N BP RET,DIR,X, Y,DIRUT S BPRET="^" S DIR(0)=" F^::2",DIR ("A")=BPSP ROM I $L($ G(BPSDFVL) )>0 S DIR( "B")=$G(BP SDFVL) D ^ DIR I $D(D IRUT) Q "^ " S $P(BPR ET,U)=Y Q BPRET ; ;/ ** ;check and proces s user inp ut ;input: ; BPLINE - input st ring ; BPT YPE - expe cted user' s selectio n on level ; of P-p atient or C-claim or PC - both ; BPTMP1 - temporar y global ( VALMAR) ;o utput: ; p iece 1: ; 1 - okay ; <0 - err ors ; 0 - user wants to quit ; piece 2: patient ie n #2 ; pie ce 3: insu rance ien #36 ; piec e 4: ptr t o #9002313 .59 ; piec e 5: 1st l ine for in dex(es) in LM "VALM" array ; p iece 6: pa tient's in dex ; piec e 7: claim 's indexCH ECKLN(BPLI NE,BPTYPE, BPTMP1) ;* / N BPX,BP PATIND,BPC LMIND N BP DFN,BPSINS UR,BP59,BP 1LN I BPLI NE="^" Q 0 S BPPATIN D=+$P(BPLI NE,".") I '$D(@BPTMP 1@("LMIND" ,BPPATIND) ) Q -1 ;th e patient level does n't exist S BPCLMIND =+$P(BPLIN E,".",2) I BPTYPE="P ",BPCLMIND >0 Q -2 ;P was reque sted but c laim porti on was pro vided I BP TYPE="C",B PCLMIND=0 Q -3 ;C wa s requeste d but clai m portion was not pr ovided I ' $D(@BPTMP1 @("LMIND", BPPATIND,B PCLMIND)) Q -4 ;the claim leve l doesn't exist S BP DFN=$O(@BP TMP1@("LMI ND",BPPATI ND,BPCLMIN D,0)) I +B PDFN=0 Q - 5 ;error S BPSINSUR= $O(@BPTMP1 @("LMIND", BPPATIND,B PCLMIND,BP DFN,"")) I BPSINSUR= "" Q -6 ;e rror ;if f ractional part was e ntered I B PCLMIND>0 D I +BP59 =0 Q -7 ;e rror . S B P59=$O(@BP TMP1@("LMI ND",BPPATI ND,BPCLMIN D,BPDFN,BP SINSUR,0)) I BPCLMIN D=0 S BP59 =0 S BP1LN =$O(@BPTMP 1@("LMIND" ,BPPATIND, BPCLMIND,B PDFN,BPSIN SUR,BP59,0 )) I +BP1L N=0 Q -7 ; error Q "1 "_U_BPDFN_ U_BPSINSUR _U_BP59_U_ BP1LN_U_BP PATIND_U_B PCLMIND ; ; ;BPTMP = VALMAR ;i nput: ; BP ROMPT - pr ompt text ; BPTYPE - expected user's sel ection on level ; o f P-patien t or C-cla im or PC - both ; BP TMP - temp orary glob al (like V ALMAR) ; B PARRLN2 - to return results ;o utput : ; 1 if okay ; -1 -inva lid format ; ^ - qui t ; BPARRL N2 - Array (B59)="lin e# in VALM "^"Patient Index.Clai | |
| 1082 | mIndex" ;e xample: ; BPARR(3004 5.00001)=1 34^2.34ASK LINES(BPRO MPT,BPTYPE ,BPARRLN2, BPTMP) ; N BPQ,BPXLN ,BPN,BPLN, BPZ N BPL, BPCLM,BPDF LT N BPARR LN1,BPX1 ; ; Attempt to determ ine defaul t S BPDFLT =$$DEFAULT (BPTYPE,BP TMP) ; S B PSPROM="Se lect item( s)" S BPLN =$$PROMPT( BPSPROM,BP DFLT) I BP LN="^" Q " ^" S BPLN= $P(BPLN,U) S BPQ=0 F BPN=1:1 S BPX1=$P(B PLN,",",BP N) Q:$L(BP X1)=0 D Q :BPQ'=0 . S BPZ=$$MK INDEXS(BPX 1,BPTMP,.B PARRLN1) . I BPZ<1 S BPQ=-1 . I (BPZ=-1) !(BPZ=-2) W !,"Inval id format. ",! . I (B PZ=-3) W ! ,"Not a va lid select ion.",! Q: BPQ=-1 -1 ; N BPPAT, BPCLM S BP PAT=0 F S BPPAT=$O( BPARRLN1(B PPAT)) Q:B PPAT="" D . S BPCLM =0 F S BP CLM=$O(BPA RRLN1(BPPA T,BPCLM)) Q:BPCLM="" D . . S BP1=$G(BPA RRLN1(BPPA T,BPCLM)) . . Q:$L(B P1)=0 . . S BPARRLN2 (+$P(BP1,U ,4))=+$P(B P1,U,5)_U_ BPPAT_"."_ BPCLM Q 1 ; ;/** ;ch ecks for d ashes and if so then create a number of indexes fo r the rang e ;i.e. co nvert all "1.2-2.3" to "1.2,1. 3,1.4,2.1, 2.2,2.3" ; AND create entries i n BPARR fo r all "rig ht" indexe s ;input: ;BPVAL - v alue to ch eck (exmpl : "1.2-2.4 ") ;BPTMP1 - global ref with d ata (exmpl : VALMAR) ;BPARR - a rray with parsed lin e indexes ;output: ;Exmpl: ; BPARR(1.2) ="" ; BPAR R(1.3)="" ; ... ; re turns: ; 1 - okay ; <0 invalid format MK INDEXS(BPV AL,BPTMP1, BPARR) ; N BPFR,BPTO ,BPQ,BPRET N BPPAT,B PCLM,BPCLS TRT,BPCLEN D,BPQ2 N B PFRPAT,BPT OPAT,BPFRC LM,BPTOCLM ,BP1 S BPQ =0 S BPRET =1 I BPVAL '["-" D Q BPRET . S BPPAT=$P( BPVAL,".", 1) . I BPP AT'=+BPPAT S BPRET=- 1 Q ;inva lid format , patient part is no t numeric . S BPCLM= $P(BPVAL," .",2) . ;i f only pat ient index . I $L(BP CLM)=0 D Q . . S BP Q2=0 . . F BPCLM=1:1 D Q:BPQ2 '=0 . . . ;quit if t here are n o more cla ims for th e patient . . . S BP 1=$$CHECKL N(BPPAT_". "_BPCLM,"C ",BPTMP1) . . . I BP 1<1 S BPQ2 =1 Q . . . S BPARR(+ BPPAT,+BPC LM)=BP1 . ;if only p atient+cla im index . I BPCLM'= +BPCLM S B PRET=-2 Q ;invalid format, cl aim portio n is not n umeric . S BP1=$$CHE CKLN(BPPAT _"."_BPCLM ,"C",BPTMP 1) . I BP1 <1 S BPRET =-3 Q ;no t found . S BPARR(+B PPAT,+BPCL M)=BP1 ;** ******* if contains "-" S BPFR =$P(BPVAL, "-",1) S B PTO=$P(BPV AL,"-",2) I BPTO["-" Q -3 ;inv alid forma t (to many dashes) S BPFRPAT=$ P(BPFR,"." ,1) S BPTO PAT=$P(BPT O,".",1) S BPFRCLM=$ P(BPFR,"." ,2) I $L(B PFRCLM)=0 S BPFRCLM= 1 S BPTOCL M=$P(BPTO, ".",2) I $ L(BPTOCLM) =0 S BPTOC LM=999999 I BPFRPAT' =+BPFRPAT Q -1 ;inva lid format , patient part is no t numeric I BPTOPAT' =+BPTOPAT Q -1 ;inva lid format , patient part is no t numeric I BPFRCLM' =+BPFRCLM Q -2 ;inva lid format , claim po rtion is n ot numeric I BPTOCLM '=+BPTOCLM Q -2 ;inv alid forma t, claim p ortion is not numeri c F BPPAT= BPFRPAT:1: BPTOPAT D . I BPPAT= BPFRPAT S BPCLSTRT=B PFRCLM . E S BPCLST RT=1 . I B PPAT=BPTOP AT S BPCLE ND=BPTOCLM . E S BP CLEND=9999 99 . S BPQ 2=0 . F BP CLM=BPCLST RT:1:BPCLE ND D Q:BP Q2'=0 . . ;quit if t here are n o more cla ims for th e patient . . S BP1= $$CHECKLN( BPPAT_"."_ BPCLM,"C", BPTMP1) . . I BP1<1 S BPQ2=1 Q . . S BPA RR(+BPPAT, +BPCLM)=BP 1 Q 1 ; ; DEFAULT wi ll return a value to be used a s the defa ult at the ; Select Item promp t if there is only o ne item on the list. If the ; user must enter a pa tient-leve l item (BP TYPE of "P "), the th e ; patien t number w ill be ret urned if o nly one. O therwise t he claim ; number wi ll be retu rned if on ly one pat ient and o ne claim. ; Input: B PTYPE - P if user sh ould enter a Patient ; C if us er should enter a Cl aim ; PC i f user may enter eit her ; BPLI ST - tempo rary globa l (VALMAR) ; Output: $$DEFAULT - Either a patient number, or a claim n umber, ; o r <blank> if neither could be defaultedD EFAULT(BPT YPE,BPLIST ) ; Determ ine defaul t item num ber - BPS* 1.0*21 N B PSCLAIM,BP SPATIENT S BPSPATIEN T=$O(@BPLI ST@("LMIND ",0)) I $O (@BPLIST@( "LMIND",BP SPATIENT)) '="" Q "" ; if not o ne patient , Quit "" I BPTYPE=" P" Q BPSPA TIENT ; if BPTYPE is P(atient) , then Qui t with the patient S BPSCLAIM= $O(@BPLIST @("LMIND", BPSPATIENT ,0)) I $O( @BPLIST@(" LMIND",BPS PATIENT,BP SCLAIM))'= "" Q "" ; if not one claim, Qu it "" Q BP SPATIENT_" ."_BPSCLAI M ; | |
| 1083 | ||
| 1084 | Modified L ogic (Chan ges are hi ghlighted) | |
| 1085 | ||
| 1086 | BPSSCRU4 ; BHAM ISC/S S - ECME S CREEN UTIL ITIES ;05- APR-05 ;;1 .0;E CLAIM S MGMT ENG INE;**1,3, 21,24**;JU N 2004;Bui ld 28 ;;Pe r VA Direc tive 6402, this rout ine should not be mo dified. ;U SER SCREEN Q ; ;repe atedly pro mpts the u ser for li ne# ;the u ser should "^" to qu it or ente r a correc t line # ; input: ; B PROMPT - p rompt stri ng ; BPTYP E expected user's se lection on level ; of P-patie nt or C-cl aim or PC - both ; B PERRMES - optional - the messa ge to disp lay when t he user ; tries to m ake multi line selec tion ; BPD FLT - defa ult value for the pr ompt (opti onal) ;out put: ; pie ce 1: ; 1 - okay ; <0 - error s ; 0 - us er wants t o quit ; p iece 2: pa tient ien #2 ; piece 3: insura nce ien #3 6 ; piece 4: ptr to #9002313.5 9 ; piece 5: 1st lin e for inde x(es) in L M "VALM" a rray ; pie ce 6: pati ent's inde x ; piece 7: claim's indexASKL INE(BPROMP T,BPTYPE,B PERRMES,BP DFLT) ; N BPRET,BPCN T S BPRET= "",BPCNT=0 F S BPRE T=$$SELLIN E(BPROMPT, BPTYPE,VAL MAR,$G(BPD FLT)) Q:BP RET'<0 D . ;D RE^VAL M4 . ; . I BPCNT<1 S BPCNT=BPC NT+1 W ! . E S BPCN T=0 D RE^V ALM4 . I B PRET=-1 W " - Invali d line num ber" ; (in valid Pati ent summar y line)" . I BPRET=- 8 W " - ", $S($G(BPER RMES)]"":B PERRMES,1: " Invalid line numbe r") . I BP RET=-4 W " - Invalid line numb er" ; (inv alid RX li ne)" . I B PRET=-2 W " - Please select Pa tient's su mmary line ." . I BPR ET=-3 W " - Please s pecify RX line." . I BPRET<-4 W " - Inco rrect form at." ; Cor rupted arr ay (",BPRE T,")" Q BP RET ;/** ; prompts th e user for line# for various m enu option of the Us er Screen ;input: ; BPROMPT - prompt str ing ; BPTY PE - expec ted user's selection on level ; of P-pa tient or C -claim or PC - both ; BPTMP1 - temporary global (V ALMAR) ; B PDFLT - de fault valu e for the prompt (op tional) ;o utput: ; p iece 1: ; 1 - okay ; <0 - err ors ; 0 - user wants to quit ; piece 2: patient ie n #2 ; pie ce 3: insu rance ien #36 ; piec e 4: ptr t o #9002313 .59 ; piec e 5: 1st l ine for in dex(es) in LM "VALM" array ; p iece 6: pa tient's in dex ; piec e 7: claim 's indexSE LLINE(BPRO MPT,BPTYPE ,BPTMP1,BP DFLT) ;*/ N BPX,BPLI NE,BPPATIN D,BPCLMIND N BPDFN,B PSINSUR,BP 59,BP1LN ; ; Attempt to determ ine defaul t if none passed in I '$G(BPDF LT) S BPDF LT=$$DEFAU LT(BPTYPE, BPTMP1) ; S BPLINE=$ $PROMPT(BP ROMPT,$G(B PDFLT)) I BPLINE="^" Q 0 S BPP ATIND=+$P( BPLINE,"." ) I (BPLIN E["-")!(BP LINE[",") Q -8 ;mult iple line input in n ot allowed I '$D(@BP TMP1@("LMI ND",BPPATI ND)) Q -1 ;the patie nt level d oesn't exi st S BPCLM IND=+$P(BP LINE,".",2 ) I BPTYPE ="P",BPCLM IND>0 Q -2 ;P was re quested bu t claim po rtion was provided I BPTYPE="C ",BPCLMIND =0 Q -3 ;C was reque sted but c laim porti on was not provided I '$D(@BPT MP1@("LMIN D",BPPATIN D,BPCLMIND )) Q -4 ;t he claim l evel doesn 't exist S BPDFN=$O( @BPTMP1@(" LMIND",BPP ATIND,BPCL MIND,0)) I +BPDFN=0 Q -5 ;erro r S BPSINS UR=$O(@BPT MP1@("LMIN D",BPPATIN D,BPCLMIND ,BPDFN,"") ) I BPSINS UR="" Q -6 ;error ;i f fraction al part wa s entered I BPCLMIND >0 D I +B P59=0 Q -7 ;error . S BP59=$O( @BPTMP1@(" LMIND",BPP ATIND,BPCL MIND,BPDFN ,BPSINSUR, 0)) I BPCL MIND=0 S B P59=0 S BP 1LN=$O(@BP TMP1@("LMI ND",BPPATI ND,BPCLMIN D,BPDFN,BP SINSUR,BP5 9,0)) I +B P1LN=0 Q - 7 ;error Q "1"_U_BPD FN_U_BPSIN SUR_U_BP59 _U_BP1LN_U _BPPATIND_ U_BPCLMIND ; ;input: ;BPSPROM - prompt t ext ;BPSDF VL - defau lt value ( optional) ;BPTMP - t emporary g lobal (lik e VALMAR) (optional) ;returns: ; "respon se^"PROMPT (BPSPROM,B PSDFVL,BPT MP) ; N BP RET,DIR,X, Y,DIRUT S BPRET="^" S DIR(0)=" F^::2",DIR ("A")=BPSP ROM I $L($ G(BPSDFVL) )>0 S DIR( "B")=$G(BP SDFVL) ; I $G(BPTMP) ["""BPSREO P""" D . S DIR("?",1 )="Answer with a sin gle item o r multiple items in the follow ing format :" . S DIR ("?",2)=" 1.1,1.2,1. 3" . S DIR ("?",3)=" 1.1-1.3" . S DIR("?" )=" 1.1-1. 2,1.3" ; D ^DIR I $D (DIRUT) Q "^" S $P(B PRET,U)=Y Q BPRET ; ;/** ;chec k and proc ess user i nput ;inpu t: ; BPLIN E - input string ; B PTYPE - ex pected use r's select ion on lev el ; of P -patient o r C-claim or PC - bo th ; BPTMP 1 - tempor ary global (VALMAR) ;output: ; piece 1: ; 1 - oka y ; <0 - e rrors ; 0 - user wan ts to quit ; piece 2 : patient ien #2 ; p iece 3: in surance ie n #36 ; pi ece 4: ptr to #90023 13.59 ; pi ece 5: 1st line for index(es) in LM "VAL M" array ; piece 6: patient's index ; pi ece 7: cla im's index CHECKLN(BP LINE,BPTYP E,BPTMP1) ;*/ N BPX, BPPATIND,B PCLMIND N BPDFN,BPSI NSUR,BP59, BP1LN I BP LINE="^" Q 0 S BPPAT IND=+$P(BP LINE,".") I '$D(@BPT MP1@("LMIN D",BPPATIN D)) Q -1 ; the patien t level do esn't exis t S BPCLMI ND=+$P(BPL INE,".",2) I BPTYPE= "P",BPCLMI ND>0 Q -2 ;P was req uested but claim por tion was p rovided I BPTYPE="C" ,BPCLMIND= 0 Q -3 ;C was reques ted but cl aim portio n was not provided I '$D(@BPTM P1@("LMIND ",BPPATIND ,BPCLMIND) ) Q -4 ;th e claim le vel doesn' t exist S BPDFN=$O(@ BPTMP1@("L MIND",BPPA TIND,BPCLM IND,0)) I +BPDFN=0 Q -5 ;error S BPSINSU R=$O(@BPTM P1@("LMIND ",BPPATIND ,BPCLMIND, BPDFN,"")) I BPSINSU R="" Q -6 ;error ;if fractiona l part was entered I BPCLMIND> 0 D I +BP 59=0 Q -7 ;error . S BP59=$O(@ BPTMP1@("L MIND",BPPA TIND,BPCLM IND,BPDFN, BPSINSUR,0 )) I BPCLM IND=0 S BP 59=0 S BP1 LN=$O(@BPT MP1@("LMIN D",BPPATIN D,BPCLMIND ,BPDFN,BPS INSUR,BP59 ,0)) I +BP 1LN=0 Q -7 ;error Q "1"_U_BPDF N_U_BPSINS UR_U_BP59_ U_BP1LN_U_ BPPATIND_U _BPCLMIND ; ; ;BPTMP = VALMAR ;input: ; BPROMPT - prompt tex t ; BPTYPE | |
| 1087 | - expecte d user's s election o n level ; of P-pati ent or C-c laim or PC - both ; BPTMP - te mporary gl obal (like VALMAR) ; BPARRLN2 - to retur n results ;output : ; 1 if oka y ; -1 -in valid form at ; ^ - q uit ; BPAR RLN2 - Arr ay(B59)="l ine# in VA LM"^"Patie ntIndex.Cl aimIndex" ;example: ; BPARR(30 045.00001) =134^2.34A SKLINES(BP ROMPT,BPTY PE,BPARRLN 2,BPTMP) ; N BPQ,BPX LN,BPN,BPL N,BPZ N BP L,BPCLM,BP DFLT N BPA RRLN1,BPX1 ; ; Attem pt to dete rmine defa ult S BPDF LT=$$DEFAU LT(BPTYPE, BPTMP) ; S BPSPROM=" Select ite m(s)" S BP LN=$$PROMP T(BPSPROM, BPDFLT,BPT MP) I BPLN ="^" Q "^" S BPLN=$P (BPLN,U) S BPQ=0 F B PN=1:1 S B PX1=$P(BPL N,",",BPN) Q:$L(BPX1 )=0 D Q:B PQ'=0 . S BPZ=$$MKIN DEXS(BPX1, BPTMP,.BPA RRLN1) . I BPZ<1 S B PQ=-1 . I (BPZ=-1)!( BPZ=-2) W !,"Invalid format.", ! . I (BPZ =-3) W !," Not a vali d selectio n.",! Q:BP Q=-1 -1 ; N BPPAT,BP CLM S BPPA T=0 F S B PPAT=$O(BP ARRLN1(BPP AT)) Q:BPP AT="" D . S BPCLM=0 F S BPCL M=$O(BPARR LN1(BPPAT, BPCLM)) Q: BPCLM="" D . . S BP 1=$G(BPARR LN1(BPPAT, BPCLM)) . . Q:$L(BP1 )=0 . . S BPARRLN2(+ $P(BP1,U,4 ))=+$P(BP1 ,U,5)_U_BP PAT_"."_BP CLM Q 1 ; ;/** ;chec ks for das hes and if so then c reate a nu mber of in dexes for the range ;i.e. conv ert all "1 .2-2.3" to "1.2,1.3, 1.4,2.1,2. 2,2.3" ;AN D create e ntries in BPARR for all "right " indexes ;input: ;B PVAL - val ue to chec k (exmpl: "1.2-2.4") ;BPTMP1 - global re f with dat a (exmpl: VALMAR) ;B PARR - arr ay with pa rsed line indexes ; output: ;E xmpl: ; BP ARR(1.2)=" " ; BPARR( 1.3)="" ; ... ; retu rns: ; 1 - okay ; <0 invalid f ormat MKIN DEXS(BPVAL ,BPTMP1,BP ARR) ; N B PFR,BPTO,B PQ,BPRET N BPPAT,BPC LM,BPCLSTR T,BPCLEND, BPQ2 N BPF RPAT,BPTOP AT,BPFRCLM ,BPTOCLM,B P1 S BPQ=0 S BPRET=1 I BPVAL'[ "-" D Q B PRET . S B PPAT=$P(BP VAL,".",1) . I BPPAT '=+BPPAT S BPRET=-1 Q ;invali d format, patient pa rt is not numeric . S BPCLM=$P (BPVAL,"." ,2) . ;if only patie nt index . I $L(BPCL M)=0 D Q . . S BPQ2 =0 . . F B PCLM=1:1 D Q:BPQ2'= 0 . . . ;q uit if the re are no more claim s for the patient . . . S BP1= $$CHECKLN( BPPAT_"."_ BPCLM,"C", BPTMP1) . . . I BP1< 1 S BPQ2=1 Q . . . S BPARR(+BP PAT,+BPCLM )=BP1 . ;i f only pat ient+claim index . I BPCLM'=+B PCLM S BPR ET=-2 Q ; invalid fo rmat, clai m portion is not num eric . S B P1=$$CHECK LN(BPPAT_" ."_BPCLM," C",BPTMP1) . I BP1<1 S BPRET=- 3 Q ;not found . S BPARR(+BPP AT,+BPCLM) =BP1 ;**** ***** if c ontains "- " S BPFR=$ P(BPVAL,"- ",1) S BPT O=$P(BPVAL ,"-",2) I BPTO["-" Q -3 ;inval id format (to many d ashes) S B PFRPAT=$P( BPFR,".",1 ) S BPTOPA T=$P(BPTO, ".",1) S B PFRCLM=$P( BPFR,".",2 ) I $L(BPF RCLM)=0 S BPFRCLM=1 S BPTOCLM= $P(BPTO,". ",2) I $L( BPTOCLM)=0 S BPTOCLM =999999 I BPFRPAT'=+ BPFRPAT Q -1 ;invali d format, patient pa rt is not numeric I BPTOPAT'=+ BPTOPAT Q -1 ;invali d format, patient pa rt is not numeric I BPFRCLM'=+ BPFRCLM Q -2 ;invali d format, claim port ion is not numeric I BPTOCLM'= +BPTOCLM Q -2 ;inval id format, claim por tion is no t numeric F BPPAT=BP FRPAT:1:BP TOPAT D . I BPPAT=BP FRPAT S BP CLSTRT=BPF RCLM . E S BPCLSTRT =1 . I BPP AT=BPTOPAT S BPCLEND =BPTOCLM . E S BPCL END=999999 . S BPQ2= 0 . F BPCL M=BPCLSTRT :1:BPCLEND D Q:BPQ2 '=0 . . ;q uit if the re are no more claim s for the patient . . S BP1=$$ CHECKLN(BP PAT_"."_BP CLM,"C",BP TMP1) . . I BP1<1 S BPQ2=1 Q . . S BPARR (+BPPAT,+B PCLM)=BP1 Q 1 ; ; DE FAULT will return a value to b e used as the defaul t at the ; Select It em prompt if there i s only one item on t he list. I f the ; us er must en ter a pati ent-level item (BPTY PE of "P") , the the ; patient number wil l be retur ned if onl y one. Oth erwise the claim ; n umber will be return ed if only one patie nt and one claim. ; Input: BPT YPE - P if user shou ld enter a Patient ; C if user should en ter a Clai m ; PC if user may e nter eithe r ; BPLIST - tempora ry global (VALMAR) ; Output: $ $DEFAULT - Either a patient nu mber, or a claim num ber, ; or <blank> if neither c ould be de faultedDEF AULT(BPTYP E,BPLIST) ; Determin e default item numbe r - BPS*1. 0*21 N BPS CLAIM,BPSP ATIENT S B PSPATIENT= $O(@BPLIST @("LMIND", 0)) I $O(@ BPLIST@("L MIND",BPSP ATIENT))'= "" Q "" ; if not one patient, Quit "" I BPTYPE="P" Q BPSPATI ENT ; if B PTYPE is P (atient), then Quit with the p atient S B PSCLAIM=$O (@BPLIST@( "LMIND",BP SPATIENT,0 )) I $O(@B PLIST@("LM IND",BPSPA TIENT,BPSC LAIM))'="" Q "" ; if not one c laim, Quit "" Q BPSP ATIENT_"." _BPSCLAIM ; | |
| 1088 | ||
| 1089 | A pre-inst all routin e will be used to up date the m enu title informatio n. | |
| 1090 | Routine Na me | |
| 1091 | ^BPS24PRE | |
| 1092 | Enhancemen t Category | |
| 1093 | New | |
| 1094 | Modify | |
| 1095 | Delete | |
| 1096 | No Change | |
| 1097 | Story | |
| 1098 | US597 | |
| 1099 | Related Me nu Options or ListMa n Actions | |
| 1100 | N/A | |
| 1101 | Related Ro utines | |
| 1102 | This Subro utine is C alled By | |
| 1103 | This Subro utine Call s | |
| 1104 | ||
| 1105 | KIDS syste m; Kernel Installati on and Dis tribution System; ca lled upon patch inst allation | |
| 1106 | MES^XPDUTL | |
| 1107 | BMES^XPDUT L | |
| 1108 | ^DIE | |
| 1109 | Related In tegration Control Re gistration s (ICRs) | |
| 1110 | ||
| 1111 | Data Passi ng | |
| 1112 | Parameter Input | |
| 1113 | Parameter Output | |
| 1114 | Function Return Val ue | |
| 1115 | Global Mo dified | |
| 1116 | Input Attr ibute Name and Defin ition | |
| 1117 | Name: N/A | |
| 1118 | Definition : | |
| 1119 | New Modify Delete No Cha nge | |
| 1120 | Current Lo gic | |
| 1121 | ||
| 1122 | N/A | |
| 1123 | ||
| 1124 | Modified L ogic (Chan ges are hi ghlighted) | |
| 1125 | ||
| 1126 | BPS24PRE ;AITC/PD - Pre-insta ll for BPS *1.0*24 ;7 /14/2017 | |
| 1127 | ;;1.0;E C LAIMS MGMT ENGINE;** 24**; | |
| 1128 | ;;Per VA Directive 6402, this routine s hould not be modifie d. | |
| 1129 | ; | |
| 1130 | Q | |
| 1131 | ; | |
| 1132 | PRE ; Pre- install fu nctions ar e coded he re. | |
| 1133 | ; | |
| 1134 | D MES^XPD UTL(" Sta rting pre- install of BPS*1.0*2 4") | |
| 1135 | D UPDOPT | |
| 1136 | D BMES^XP DUTL(" Fi nished pre -install o f BPS*1.0* 24") | |
| 1137 | Q | |
| 1138 | ; | |
| 1139 | UPDOPT ; R ename Menu Option Te xt | |
| 1140 | N BPSMENU ,BPSOPT,DA ,DR | |
| 1141 | ; | |
| 1142 | D MES^XPD UTL(" - Updating O PTION") | |
| 1143 | S BPSOPT= "BPS REOPE N CLOSED C LAIM" | |
| 1144 | S DA=$O(^ DIC(19,"B" ,BPSOPT,"" )) | |
| 1145 | I 'DA D M ES^XPDUTL( " - No IE N found fo r entry "_ BPSOPT) Q | |
| 1146 | ; | |
| 1147 | ; Update fields | |
| 1148 | S BPSMENU ="Re Open CLOSED/Res ubmit Clai m" ; new menu text | |
| 1149 | D FILE("^ DIC(19,",D A,1,BPSMEN U) | |
| 1150 | ; | |
| 1151 | D MES^XPD UTL(" - " _BPSOPT_" entry upda ted") | |
| 1152 | D MES^XPD UTL(" - Done with OPTION") | |
| 1153 | D MES^XPD UTL(" ") | |
| 1154 | Q | |
| 1155 | ; | |
| 1156 | ; DIE - Global to update | |
| 1157 | ; DA - IEN for entry | |
| 1158 | ; BPSFLD - Field # to update | |
| 1159 | ; BPSDATA - Data fo r update | |
| 1160 | FILE(DIE,D A,BPSFLD,B PSDATA) ; | |
| 1161 | ; File in to the OPT ION file # 19 | |
| 1162 | N DR,X,Y | |
| 1163 | ; | |
| 1164 | S DR=BPSF LD_"////"_ BPSDATA | |
| 1165 | D ^DIE | |
| 1166 | Q | |
| 1167 | ||
| 1168 | ||
| 1169 | The ListMa n List Tem plate BPS LSTMN ECME REOPEN te mplate wil l require the follow ing change s: | |
| 1170 | ||
| 1171 | Field Attr ibutes | |
| 1172 | Values | |
| 1173 | List Templ ate | |
| 1174 | BPS LSTMN ECME REOPE N | |
| 1175 | Screen Tit le | |
| 1176 | Old = REOP EN CLOSED CLAIM | |
| 1177 | New = REOP EN/RESUBMI T CLAIMS | |
| 1178 | ||
| 1179 | Bottom Mar gin | |
| 1180 | Old=18 | |
| 1181 | New=19 | |
| 1182 | ||
| 1183 | ||
| 1184 | The Menu P rotocol fo r the abov e List Tem plate is B PS PRTCL R EOPEN MENU . It curre ntly has t wo Actions , one of w hich will be deleted . The rema ining exis ting Actio n will be modified ( sequence c hanged fro m 2 to 3) and two ne w Actions will be ad ded. | |
| 1185 | ||
| 1186 | Edits to e xisting ac tions: | |
| 1187 | ||
| 1188 | Action | |
| 1189 | Delete Act ion BPS PR TCL REOPEN | |
| 1190 | Action | |
| 1191 | Edit Actio n: BPS PRT CL REOPEN EXIT | |
| 1192 | Old Sequen ce = 2 | |
| 1193 | New Sequen ce = 3 | |
| 1194 | ||
| 1195 | ||
| 1196 | New action s to be ad ded to men u protocol : | |
| 1197 | ||
| 1198 | Action | |
| 1199 | Add Action : BPS PRTC L USRSCR R EOPEN CLOS ED CLAIMS | |
| 1200 | Mnemonic: ROC | |
| 1201 | Sequence: 1 | |
| 1202 | Action | |
| 1203 | Add Action : BPS PRTC L USRSCR R ESUBMIT | |
| 1204 | Mnemonic: RES | |
| 1205 | Sequence: 2 |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.