| 1 | BPSSCR01 ;BHAM ISC/SS - USER SCREEN ;10-MAR-2005 | 
|---|
| 2 | ;;1.0;E CLAIMS MGMT ENGINE;**1,5**;JUN 2004;Build 45 | 
|---|
| 3 | ;;Per VHA Directive 2004-038, this routine should not be modified. | 
|---|
| 4 | ;USER SCREEN | 
|---|
| 5 | Q | 
|---|
| 6 | ;User Screen header | 
|---|
| 7 | ;input: | 
|---|
| 8 | ; BPSLN - line of the header | 
|---|
| 9 | ;output: | 
|---|
| 10 | ; text string for the header | 
|---|
| 11 | HDR(BPSLN) ; -- header code | 
|---|
| 12 | N BPARR,BPX,BPXSL | 
|---|
| 13 | Q:'$D(@VALMAR@("VIEWPARAMS")) | 
|---|
| 14 | D RESTVIEW(.BPARR) | 
|---|
| 15 | I BPSLN=1 Q "SELECTED DIVISION(S): "_$$GETVDIVS(.BPARR,58) | 
|---|
| 16 | I BPSLN=2 Q $$GETVDETS(.BPARR) | 
|---|
| 17 | I BPSLN=3 D  Q $$LINE^BPSSCRU3(80-$L(BPX)," ")_BPX | 
|---|
| 18 | . S BPXSL=$$SORTTYPE^BPSSCRSL($G(BPARR(1.12))) | 
|---|
| 19 | . I BPXSL="" S BPXSL="Transaction date by default" | 
|---|
| 20 | . S BPX="Sorted by: "_BPXSL | 
|---|
| 21 | Q "" | 
|---|
| 22 | ;/** | 
|---|
| 23 | ;get current view details | 
|---|
| 24 | GETVDETS(BPARR) ;*/ | 
|---|
| 25 | N BPSTR | 
|---|
| 26 | I $G(BPARR(1.01))="A" S BPSTR=$$LJ^BPSSCR02("Transmitted by ALL users",31) | 
|---|
| 27 | E  S BPSTR=$$LJ^BPSSCR02("Transmitted by "_$$GETUSRNM^BPSSCRU1($G(BPARR(1.16))),31) | 
|---|
| 28 | S BPSTR=BPSTR_$$LJ^BPSSCR02(" Activity Date Range: within the past "_$G(BPARR(1.05))_$S($G(BPARR(1.04))="H":" hour(s)",1:" day(s)"),49) | 
|---|
| 29 | Q BPSTR | 
|---|
| 30 | ; | 
|---|
| 31 | ;/** | 
|---|
| 32 | ;get divisions selected | 
|---|
| 33 | GETVDIVS(BPARRAY,BPMLEN) ;*/ | 
|---|
| 34 | I $G(BPARRAY(1.13))="A" Q "ALL" | 
|---|
| 35 | N BPDIV,BPCNT,BPSTR,BPQUIT | 
|---|
| 36 | S BPQUIT=0,BPSTR="" | 
|---|
| 37 | F BPCNT=1:1:20 S BPDIV=$P($G(BPARRAY("DIVS")),";",BPCNT+1) Q:+BPDIV=0  D  Q:BPQUIT=1 | 
|---|
| 38 | . I $L(BPSTR_$$DIVNAME^BPSSCRDS(BPDIV))>(BPMLEN-4) D  S BPQUIT=1 Q | 
|---|
| 39 | . . S BPSTR=$$LJ^BPSSCR02(BPSTR_",...",BPMLEN) | 
|---|
| 40 | . S BPSTR=BPSTR_$S(BPCNT>1:", ",1:"")_$$DIVNAME^BPSSCRDS(BPDIV) | 
|---|
| 41 | Q BPSTR | 
|---|
| 42 | ;/** | 
|---|
| 43 | ;input: | 
|---|
| 44 | ; BPARR - local array to store user profile info | 
|---|
| 45 | ;returns: | 
|---|
| 46 | ; the last number in LM ARRAY | 
|---|
| 47 | INIT() ; -- init variables and list array*/ | 
|---|
| 48 | N BPLN,BPLM,BP59,BPSORT,BPTMPGL,BPRET | 
|---|
| 49 | N BPARR | 
|---|
| 50 | ;get user's ien in BPS PRFILE file | 
|---|
| 51 | ;if array is not defined then read information from file, | 
|---|
| 52 | ;otherwise use current info from the array, because the user | 
|---|
| 53 | ;may specify criteria in array without saving it in file for | 
|---|
| 54 | ;the temporary use | 
|---|
| 55 | I '$D(@VALMAR@("VIEWPARAMS")) D | 
|---|
| 56 | . D READPROF^BPSSCRSL(.BPARR,+DUZ) | 
|---|
| 57 | . D SAVEVIEW(.BPARR) | 
|---|
| 58 | E  D RESTVIEW(.BPARR) | 
|---|
| 59 | ;get date/time range | 
|---|
| 60 | I $$GETDT^BPSSCRU1(.BPARR)=0 Q | 
|---|
| 61 | S BPTMPGL=$NA(^TMP($J,"BPSSCR")) | 
|---|
| 62 | K @BPTMPGL,@VALMAR | 
|---|
| 63 | D COLLECT^BPSSCR04(BPTMPGL,.BPARR) | 
|---|
| 64 | D SAVEVIEW(.BPARR) | 
|---|
| 65 | S BPRET=$$LMARRAY(BPTMPGL,.BPARR) | 
|---|
| 66 | K @BPTMPGL | 
|---|
| 67 | S:BPRET>1 BPRET=BPRET-1 | 
|---|
| 68 | Q BPRET | 
|---|
| 69 | ; | 
|---|
| 70 | ;/** | 
|---|
| 71 | ;make elements for List Manager array | 
|---|
| 72 | ;input: | 
|---|
| 73 | ;BPTMPGL - TMP global to store selected claims | 
|---|
| 74 | ;BPARR - local array to store user profile info | 
|---|
| 75 | ;returns: | 
|---|
| 76 | ; the last number in LM ARRAY | 
|---|
| 77 | ;indexing (example): | 
|---|
| 78 | ;S ^TMP("BPSSCR",$J,"VALM",1,0)="2   BUMSTEAD,CHARLE 5444 WEBMD" | 
|---|
| 79 | ;S ^TMP("BPSSCR",$J,"VALM",2,0)="    2.1  CEFACLOR 500MG CAP" | 
|---|
| 80 | ;S ^TMP("BPSSCR",$J,"VALM",3,0)="    2.2  AMPICILLIN 250MG CAP" | 
|---|
| 81 | ;S ^TMP("BPSSCR",$J,"VALM","LMIND",2,437272,7008776.00001,0)="" | 
|---|
| 82 | ;S ^TMP("BPSSCR",$J,"VALM","LMIND",2.1,437272,7008778.00011,1)="" | 
|---|
| 83 | ;S ^TMP("BPSSCR",$J,"VALM","LMIND",2.2,437272,7009457.00001,2)="" | 
|---|
| 84 | LMARRAY(BPTMPGL,BPARR) ;*/ | 
|---|
| 85 | N BPSRTVAL,BP59,BPSORT,BPLN,BPLM,BPSTR1,BPCLM,BPPREV | 
|---|
| 86 | S BPLM=0 ;patient_AND_insurance level counter | 
|---|
| 87 | S BPCLM=0 ;claim level counter | 
|---|
| 88 | S BP59=0 | 
|---|
| 89 | S BPLN=1 ;line counter for List manager array to display on the screen | 
|---|
| 90 | S BPPREV=0 ;to store data from previous patient group | 
|---|
| 91 | ;sort type: | 
|---|
| 92 | ;'T' FOR TRANSACTION DATE | 
|---|
| 93 | ;'D' FOR DIVISION (ECME pharmacy) | 
|---|
| 94 | ;'I' FOR INSURANCE | 
|---|
| 95 | ;'C' FOR REJECT CODE | 
|---|
| 96 | ;'P' FOR PATIENT NAME | 
|---|
| 97 | ;'N' FOR DRUG NAME | 
|---|
| 98 | ;'B' FOR BILL TYPE (BB/RT) | 
|---|
| 99 | ;'L' FOR FILL LOCATION (Windows/Mail/CMOP) | 
|---|
| 100 | ;'R' FOR RELEASED/NON-RELEASED RX | 
|---|
| 101 | ;'A' FOR ACTIVE/DISCONTINUED RX | 
|---|
| 102 | S BPSORT=$G(BPARR(1.12)) | 
|---|
| 103 | S:BPSORT="" BPSORT="T" ;default | 
|---|
| 104 | S BPSRTVAL="" ;a value that "makes" an order, can be a string | 
|---|
| 105 | F  S BPSRTVAL=$O(@BPTMPGL@("SORT",BPSORT,BPSRTVAL)) Q:BPSRTVAL=""  D | 
|---|
| 106 | . I BPSORT="D" D | 
|---|
| 107 | . . S BPSTR1="---- Division: "_$$DIVNAME^BPSSCRDS(+$P(BPSRTVAL,U,2))_" " | 
|---|
| 108 | . . D SET^VALM10(BPLN,BPSTR1_$$LINE^BPSSCRU3(79-$L(BPSTR1),"-"),0) | 
|---|
| 109 | . . S BPLN=BPLN+1 | 
|---|
| 110 | . I BPSORT="C" D | 
|---|
| 111 | . . S BPSTR1=$E("---- Reject code: "_$$GETRJNAM^BPSSCRU3(BPSRTVAL)_" ",1,79) | 
|---|
| 112 | . . D SET^VALM10(BPLN,BPSTR1_$$LINE^BPSSCRU3(79-$L(BPSTR1),"-"),0) | 
|---|
| 113 | . . S BPLN=BPLN+1 | 
|---|
| 114 | . S BP59=0 | 
|---|
| 115 | . F  S BP59=+$O(@BPTMPGL@("SORT",BPSORT,BPSRTVAL,BP59)) Q:+BP59=0  D | 
|---|
| 116 | . . I BP59'=0 D MKARRELM^BPSSCR02(.BPLN,VALMAR,BP59,.BPLM,.BPCLM,.BPPREV) | 
|---|
| 117 | D UPDPREV^BPSSCR02(VALMAR,BPLM,BPPREV) | 
|---|
| 118 | Q BPLN | 
|---|
| 119 | ; | 
|---|
| 120 | HELP ; -- help code | 
|---|
| 121 | N X S X="?" D DISP^XQORM1 W !! | 
|---|
| 122 | Q | 
|---|
| 123 | ; | 
|---|
| 124 | EXIT ; -- exit code | 
|---|
| 125 | Q | 
|---|
| 126 | ; | 
|---|
| 127 | EXPND ; -- expand code | 
|---|
| 128 | Q | 
|---|
| 129 | ;/** | 
|---|
| 130 | ;store current view params in VALMAR("VIEWPARAMS") TMP global array | 
|---|
| 131 | ;to display in the header | 
|---|
| 132 | ;input: | 
|---|
| 133 | ; BPARR - array with user profile info to store | 
|---|
| 134 | SAVEVIEW(BPARR) ;        S @VALMAR@("VIEWPARAMS",BPLMIND,BPDFN,BP59,BPLINE)="" | 
|---|
| 135 | Q:'$D(BPARR) | 
|---|
| 136 | M @VALMAR@("VIEWPARAMS")=BPARR | 
|---|
| 137 | Q | 
|---|
| 138 | ; | 
|---|
| 139 | ;/** | 
|---|
| 140 | ;restore current view params from VALMAR("VIEWPARAMS") TMP global array | 
|---|
| 141 | ;input: | 
|---|
| 142 | ; BPARR - array with user profile info to store | 
|---|
| 143 | RESTVIEW(BPARR) ;        S @VALMAR@("VIEWPARAMS",BPLMIND,BPDFN,BP59,BPLINE)="" | 
|---|
| 144 | Q:'$D(@VALMAR@("VIEWPARAMS")) | 
|---|
| 145 | M BPARR=@VALMAR@("VIEWPARAMS") | 
|---|
| 146 | Q | 
|---|
| 147 | ; | 
|---|