1 | IVMLERR2 ;ALB/RMO - IVM Transmission Error Processing - Protocols; 15-SEP-1997
|
---|
2 | ;;2.0;INCOME VERIFICATION MATCH;**9**; 21-OCT-94
|
---|
3 | ;
|
---|
4 | ;This routine contains the IVM transmission log error processing
|
---|
5 | ;protocols.
|
---|
6 | ;
|
---|
7 | ;See EN^IVMLERR1 for additional documentation on 'system wide variables'
|
---|
8 | ;used in this routine.
|
---|
9 | ;
|
---|
10 | CL ;Entry point for IVMLE CHANGE LIST protocol
|
---|
11 | ; Input -- IVMEPSTA Error processing statuses
|
---|
12 | ; Output -- IVMEPSTA Error processing statuses
|
---|
13 | ; VALMSG Custom message
|
---|
14 | ; VALMBCK R =Refresh screen
|
---|
15 | N DIR,DTOUT,DUOUT,Y
|
---|
16 | D FULL^VALM1
|
---|
17 | ;
|
---|
18 | ;Ask user to select error processing statuses
|
---|
19 | S DIR(0)="SMO^1:New;2:Checked;3:Both"
|
---|
20 | S DIR("A")="Select Error Processing Status"
|
---|
21 | D ^DIR
|
---|
22 | ;
|
---|
23 | ;Process user response
|
---|
24 | S:Y=3 Y="1^2"
|
---|
25 | I Y,"^1^2^"[(U_Y_U) D
|
---|
26 | . S IVMEPSTA=Y
|
---|
27 | . ;Re-build error list for selected statuses
|
---|
28 | . D BLD^IVMLERR
|
---|
29 | S VALMSG=$$MSG^IVMLERR
|
---|
30 | S VALMBCK="R"
|
---|
31 | Q
|
---|
32 | ;
|
---|
33 | CD ;Entry point for IVMLE CHANGE DATE RANGE protocol
|
---|
34 | ; Input -- IVMBEG Begin date
|
---|
35 | ; IVMEND End date
|
---|
36 | ; Output -- IVMBEG Begin date
|
---|
37 | ; IVMEND End date
|
---|
38 | ; VALMSG Custom message
|
---|
39 | ; VALMBCK R =Refresh screen
|
---|
40 | N VALMB,VALMBEG,VALMEND
|
---|
41 | S VALMB=IVMBEG
|
---|
42 | ;
|
---|
43 | ;Ask user for date range
|
---|
44 | D RANGE^VALM1
|
---|
45 | ;
|
---|
46 | ;Process user response
|
---|
47 | I 'VALMBEG!((IVMBEG=VALMBEG)&(IVMEND=VALMEND)) D
|
---|
48 | . W !!,"Date Range was not changed."
|
---|
49 | . D PAUSE^VALM1
|
---|
50 | . S VALMBCK=""
|
---|
51 | ELSE D
|
---|
52 | . S IVMBEG=VALMBEG,IVMEND=VALMEND
|
---|
53 | . ;Re-build error list for selected date range
|
---|
54 | . D BLD^IVMLERR
|
---|
55 | . S VALMBCK="R"
|
---|
56 | S VALMSG=$$MSG^IVMLERR
|
---|
57 | Q
|
---|
58 | ;
|
---|
59 | SL ;Entry point for IVMLE SORT LIST protocol
|
---|
60 | ; Input -- IVMSRTBY Sort by criteria
|
---|
61 | ; Output -- IVMSRTBY Sort by criteria
|
---|
62 | ; VALMSG Custom message
|
---|
63 | ; VALMBCK R =Refresh screen
|
---|
64 | N DIR,DTOUT,DUOUT,Y
|
---|
65 | D FULL^VALM1
|
---|
66 | ;
|
---|
67 | ;Ask user to select sort criteria
|
---|
68 | S DIR(0)="SMO^P:Patient Name;D:Date/Time ACK Received"
|
---|
69 | S DIR("A")="Select Sort By"
|
---|
70 | D ^DIR
|
---|
71 | ;
|
---|
72 | ;Process user response
|
---|
73 | I "^P^D^"[(U_Y_U),IVMSRTBY'=Y D
|
---|
74 | . S IVMSRTBY=Y
|
---|
75 | . ;Re-build error list for selected sort criteria
|
---|
76 | . D BLD^IVMLERR
|
---|
77 | S VALMSG=$$MSG^IVMLERR
|
---|
78 | S VALMBCK="R"
|
---|
79 | Q
|
---|
80 | ;
|
---|
81 | CE ;Entry point for IVMLE CHECK ERROR OFF LIST protocol
|
---|
82 | ; Input -- None
|
---|
83 | ; Output -- VALMSG Custom message
|
---|
84 | ; VALMBCK R =Refresh screen
|
---|
85 | N IVMLINE,IVMNUM,IVMTLIEN,VALMY
|
---|
86 | ;
|
---|
87 | ;Ask user to select transmission errors to check off the list
|
---|
88 | D EN^VALM2(XQORNOD(0))
|
---|
89 | D FULL^VALM1
|
---|
90 | ;
|
---|
91 | ;Process user selection
|
---|
92 | S IVMNUM=0
|
---|
93 | F S IVMNUM=$O(VALMY(IVMNUM)) Q:'IVMNUM D
|
---|
94 | . ;Invoke call to check error off list
|
---|
95 | . I $D(^TMP(IVMARY_"IDX",$J,IVMNUM)) S IVMLINE=+^(IVMNUM),IVMTLIEN=+$P(^(IVMNUM),U,2) D CHKERR(IVMARY,IVMLINE,IVMTLIEN)
|
---|
96 | S VALMBCK="R"
|
---|
97 | S VALMSG=$$MSG^IVMLERR
|
---|
98 | Q
|
---|
99 | ;
|
---|
100 | CHKERR(IVMARY,IVMLINE,IVMTLIEN) ;Check error off list
|
---|
101 | ; Input -- IVMARY Global array subscript
|
---|
102 | ; IVMLINE Line number
|
---|
103 | ; IVMTLIEN IVM transmission log IEN
|
---|
104 | ; Output -- None
|
---|
105 | N IVMERMSG
|
---|
106 | I $$ERRSTAT^IVMTLOG(IVMTLIEN,2,.IVMERMSG) D
|
---|
107 | . D FLDTEXT^VALM10(IVMLINE,"STATUS","Checked")
|
---|
108 | . D FLDCTRL^VALM10(IVMLINE,"STATUS",IOINHI,IOINORM)
|
---|
109 | ELSE D
|
---|
110 | . W !,^TMP(IVMARY,$J,IVMLINE,0)
|
---|
111 | . W:$G(IVMERMSG)'="" !,"...",$$LOWER^VALM1(IVMERMSG)
|
---|
112 | . W !,"...Unable to check error off list"
|
---|
113 | . D PAUSE^VALM1
|
---|
114 | Q
|
---|
115 | ;
|
---|
116 | RP ;Entry point for IVMLE RETRANSMIT PATIENT protocol
|
---|
117 | ; Input -- None
|
---|
118 | ; Output -- VALMSG Custom message
|
---|
119 | ; VALMBCK R =Refresh screen
|
---|
120 | N IVMLINE,IVMNUM,IVMTLIEN,IVMTLOG,VALMY
|
---|
121 | ;
|
---|
122 | ;Ask user to select transmission errors to retransmit patient
|
---|
123 | D EN^VALM2(XQORNOD(0))
|
---|
124 | D FULL^VALM1
|
---|
125 | ;
|
---|
126 | ;Process user selection
|
---|
127 | S IVMNUM=0
|
---|
128 | F S IVMNUM=$O(VALMY(IVMNUM)) Q:'IVMNUM D
|
---|
129 | . I $D(^TMP(IVMARY_"IDX",$J,IVMNUM)) S IVMLINE=+^(IVMNUM),IVMTLIEN=+$P(^(IVMNUM),U,2) D
|
---|
130 | . . ;Get information for IVM transmission log entry and invoke code
|
---|
131 | . . ;to set patient to retransmit
|
---|
132 | . . I $$GET^IVMTLOG(IVMTLIEN,.IVMTLOG) D SETPAT(IVMARY,IVMLINE,.IVMTLOG)
|
---|
133 | S VALMBCK="R"
|
---|
134 | S VALMSG=$$MSG^IVMLERR
|
---|
135 | Q
|
---|
136 | ;
|
---|
137 | SETPAT(IVMARY,IVMLINE,IVMTLOG) ;Set patient to retransmit
|
---|
138 | ; Input -- IVMARY Global array subscript
|
---|
139 | ; IVMLINE Line number
|
---|
140 | ; IVMTLOG IVM transmission log entry array
|
---|
141 | ; Output -- None
|
---|
142 | N IVMERMSG,IVMEVTS
|
---|
143 | M IVMEVTS=IVMTLOG("EVENTS")
|
---|
144 | ;
|
---|
145 | ;Set patient to retransmit
|
---|
146 | I $$SETSTAT^IVMPLOG(IVMTLOG("PAT"),.IVMEVTS,.IVMERMSG) D
|
---|
147 | . D UPDPAT(IVMARY,IVMTLOG("PAT"))
|
---|
148 | ELSE D
|
---|
149 | . W !,^TMP(IVMARY,$J,IVMLINE,0)
|
---|
150 | . W:$G(IVMERMSG)'="" !,"...",$$LOWER^VALM1(IVMERMSG)
|
---|
151 | . W !,"...Unable to set transmit flag for patient"
|
---|
152 | . D PAUSE^VALM1
|
---|
153 | Q
|
---|
154 | ;
|
---|
155 | UPDPAT(IVMARY,IVMDFN) ;Update all IVM transmssion error log entries in the list
|
---|
156 | ;for the patient as retransmit
|
---|
157 | ; Input -- IVMARY Global array subscript
|
---|
158 | ; IVMDFN IVM patient IEN
|
---|
159 | ; Output -- None
|
---|
160 | N IVMLINE,IVMTLIEN
|
---|
161 | ;
|
---|
162 | ;Loop through entries in the list for the patient
|
---|
163 | S IVMLINE=0
|
---|
164 | F S IVMLINE=$O(^TMP(IVMARY_"IDX",$J,"PT",IVMDFN,IVMLINE)) Q:'IVMLINE S IVMTLIEN=+^(IVMLINE) D
|
---|
165 | . ;Update entry as retransmit
|
---|
166 | . D FLDTEXT^VALM10(IVMLINE,"RETRANSMIT","*")
|
---|
167 | . D FLDCTRL^VALM10(IVMLINE,"RETRANSMIT",IOINHI,IOINORM)
|
---|
168 | . ;Invoke code to check error off the list
|
---|
169 | . D CHKERR(IVMARY,IVMLINE,IVMTLIEN)
|
---|
170 | Q
|
---|