BPSREOP1 ;BHAM ISC/SS - REOPEN CLOSED CLAIMS ;05-APR-05 ;;1.0;E CLAIMS MGMT ENGINE;**3**;JUN 2004;Build 20 ;; Per VHA Directive 10-93-142, this routine should not be modified. ;Reopen closed claims Q ; ; ;create an ^TMP for the list manager ; COLLECT(BPDFN,BPSTRT,BPEND) ; D CLEAN^VALM10 N LINE N BPIEN02,BPIEN59 S LINE=1 S BPIEN59=0 F S BPIEN59=$O(^BPST("AC",BPDFN,BPIEN59)) Q:+BPIEN59=0 D . I $P($G(^BPST(BPIEN59,12)),U,2)BPEND Q . S BPIEN02=+$P($G(^BPST(BPIEN59,0)),U,4) . ;if the is no BPS CLAIMS - error . Q:BPIEN02=0 . ;if NOT closed . I +$P($G(^BPSC(BPIEN02,900)),U)=0 Q . D SET^VALM10(LINE,$$LJ^BPSSCR02(LINE,6)_$$CLAIMINF(BPIEN59),BPIEN59) . S LINE=LINE+1 S VALMCNT=LINE-1 ;"of PAGE" fix - VALMCNT should be EXACT number of lines on the screen Q ;claim info for list manager screen CLAIMINF(BP59) ;*/ N BPX,BPX1 S BPX1=$$RXREF^BPSSCRU2(BP59) S BPX=$$LJ^BPSSCR02($$DRGNAME^BPSSCRU2(BP59),17)_" "_$$LJ^BPSSCR02($$NDC^BPSSCRU2(+BPX1,+$P(BPX1,U,2)),13)_" " S BPX=BPX_$$LJ^BPSSCR02($$FILLDATE^BPSSCRRS(+BPX1,+$P(BPX1,U,2)),5)_" " S BPX=BPX_$$LJ^BPSSCR02($$RXNUM^BPSSCRU2(+BPX1),11)_" "_+$P(BPX1,U,2)_"/" S BPX=BPX_$$LJ^BPSSCR02($$ECMENUM^BPSSCRU2(BP59),7)_" "_$$MWCNAME^BPSSCRU2($$GETMWC^BPSSCRU2(BP59))_" " S BPX=BPX_$$RTBB^BPSSCRU2(BP59)_" "_$$RXST^BPSSCRU2(BP59)_"/"_$$RL^BPSSCRU2(BP59) Q BPX ; ;patient info for header PATINF(BPDFN) ;*/ N X S X=$E($$PATNAME(BPDFN),1,22)_" "_$$SSN4^BPSSCRU2(BPDFN) Q $$LJ^BPSSCR02(X,29) ;name ; ;------------ patient's name PATNAME(BPDFN) ; Q $E($P($G(^DPT(BPDFN,0)),U),1,30) ; SELECT ; I VALMCNT<1 D Q . W !,"No claims to select." D PAUSE^VALM1 S VALMBCK="R" N BP59,BPQ D FULL^VALM1 S BP59=0 S BPQ=0 F S BPLINE=$$PROMPT("Select item","","A") D Q:BPQ . I BPLINE="^" S BPQ=1 Q . I '(BPLINE?1N.N) W !,"Please select a SINGLE Rx Line Item." Q . S BP59=+$$GET59(+BPLINE) I BP59>0 S BPQ=1 Q . W !,"Please select a VALID Rx Line Item." I BPLINE="^" S VALMBCK="R" Q I BP59=0 S VALMBCK="R" W !,"Invalid selection." D PAUSE^VALM1 Q I $$SELCLAIM(BP59)<1 S VALMBCK="R" Q ;D RE^VALM4 D REDRAW S VALMBCK="R" Q ; GET59(BPLINE) ; Q +$O(^TMP("BPSREOP",$J,"VALM","IDX",BPLINE,0)) ; ;display selected claim information SELCLAIM(BP59) ; D FULL^VALM1 W @IOF N BPX,BPX1,BPDFN,BPIEN02,BPCLDATA,BPCOMM,BPRETV,BPREOPDT,BPQ S BPDFN=+$P($G(^BPST(BP59,0)),U,6) S BPX1=$$RXREF^BPSSCRU2(BP59) W !,?1,$$LJ^BPSSCR02("PATIENT NAME: "_$$PATNAME(BPDFN),30) W ?33,$$LJ^BPSSCR02("RX#: "_$$RXNUM^BPSSCRU2(+BPX1)_" "_$P(BPX1,U,2),22) W ?57,$$LJ^BPSSCR02("DRUG: "_$$DRGNAME^BPSSCRU2(BP59),22) ;ien in BPS CLAIMS S BPIEN02=+$P($G(^BPST(BP59,0)),U,4) I BPIEN02=0 W !,"BPS CLAIMS file error!" D PAUSE^VALM1 Q -1 ;Close info S BPCLDATA=$G(^BPSC(BPIEN02,900)) ;if the is no BPS CLAIMS - error W !,?3,"CLOSED ",$$FORMDATE^BPSSCRU6(+$P($G(^BPSC(BPIEN02,900)),U,2),2) W !,?4,"ECME#: "_+BPX1_", FILL DATE: "_$$FORMDATE^BPSSCRU6($$DOSDATE^BPSSCRRS(+BPX1,+$P(BPX1,U,2)),2) W ", RELEASE DATE: "_$$FORMDATE^BPSSCRU6($$RELDATE^BPSSCRU6(+BPX1,+$P(BPX1,U,2)),2) W !,?4,"PLAN: ",$$PLANNAME^BPSSCRU6(BP59)," INSURANCE: ",$$INSNAME^BPSSCRU6(BP59) W !,?4,"CLOSE REASON: ",$$CLREASON^BPSSCRU6(+$P(BPCLDATA,U,4)) W !,?4,"DROP TO PAPER: ",$S(+$P(BPCLDATA,U,5)=1:"YES",1:"NO") W !,?4,"CLOSE USER: ",$P($G(^VA(200,+$P(BPCLDATA,U,3),0)),U) W !!,"You have selected the CLOSED electronic claim listed above.",! S BPCOMM=$$PROMPT("REOPEN COMMENTS","","F",1,40) Q:BPCOMM["^" 0 S BPQ=$$YESNO^BPSSCRRS("ARE YOU SURE YOU WANT TO RE-OPEN THIS CLAIM? (Y/N)","No") Q:BPQ<1 0 D . N %,%H,%I,X . D NOW^%DTC . S BPREOPDT=% S BPRETV=$$REOPEN^BPSBUTL(BP59,BPIEN02,BPREOPDT,+DUZ,BPCOMM) W !,$P(BPRETV,U,2),! W !,"1 claim has been reopened.",! D PAUSE^VALM1 Q 1 ; REDRAW ; N BPARR D CLEAN^VALM10 D COLLECT^BPSREOP1(BPDFN,BPSTRT,BPEND) S VALMBCK="R" Q ;input: ;BPSPROM - prompt text ;BPSDFVL - default value (optional) ;BPMODE - N- to enter numbers, F - free text, A - free text w/o limitations ;returns: ; "response" ; or "^" for quit PROMPT(BPSPROM,BPSDFVL,BPMODE,MINLEN,MAXLEN) ; N IR,X,Y,DIRUT,DIR I BPMODE="N" S DIR(0)="N^::2" I BPMODE="A" S DIR(0)="F^::2" I BPMODE="F" S DIR(0)="F^"_MINLEN_":"_MAXLEN_":2^K:(X?1"" ""."" "") X" S DIR("A")=BPSPROM I $L($G(BPSDFVL))>0 S DIR("B")=$G(BPSDFVL) D ^DIR I $D(DIRUT) Q "^" I Y["^" Q "^" Q Y ; ;Update reopen record in BPS CLAIM ;Input: ; BP02 - ien in BPS CLAIMS file ; BPCLOSED - value for CLOSED field ; BPREOPDT - reopen date/time ; BPDUZ - user DUZ (#200 ien) ; BPCOMM - reopen comment text ;Output: ; 0^message_error - error ; 1 - success UPDREOP(BP02,BPCLOSED,BPREOPDT,BPDUZ,BPCOMM) ; ;Now update ECME database N RECIENS,BPDA,BPLCK,ERRARR S RECIENS=BP02_"," S BPDA(9002313.02,RECIENS,901)=BPCLOSED ;CLOSED = "NO" S BPDA(9002313.02,RECIENS,906)=BPREOPDT ;reopen date/time S BPDA(9002313.02,RECIENS,907)=+BPDUZ ;user S BPDA(9002313.02,RECIENS,908)=BPCOMM ;comment L +^BPST(9002313.02,+BP02):10 S BPLCK=$T I 'BPLCK Q "0^Locked record" ;quit D FILE^DIE("","BPDA","ERRARR") I BPLCK L -^BPST(9002313.02,+BP02) I $D(ERRARR) Q "0^"_ERRARR("DIERR",1,"TEXT",1) Q 1 ;