source: WorldVistAEHR/trunk/r/E_CLAIMS_MGMT_ENGINE-BPS/BPSSCR01.m@ 841

Last change on this file since 841 was 613, checked in by George Lilly, 15 years ago

initial load of WorldVistAEHR

File size: 4.8 KB
Line 
1BPSSCR01 ;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
11HDR(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
24GETVDETS(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
33GETVDIVS(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
47INIT() ; -- 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)=""
84LMARRAY(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 ;
120HELP ; -- help code
121 N X S X="?" D DISP^XQORM1 W !!
122 Q
123 ;
124EXIT ; -- exit code
125 Q
126 ;
127EXPND ; -- 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
134SAVEVIEW(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
143RESTVIEW(BPARR) ; S @VALMAR@("VIEWPARAMS",BPLMIND,BPDFN,BP59,BPLINE)=""
144 Q:'$D(@VALMAR@("VIEWPARAMS"))
145 M BPARR=@VALMAR@("VIEWPARAMS")
146 Q
147 ;
Note: See TracBrowser for help on using the repository browser.