1 | OREORV2 ; SLC/GDU - Orderable Item Records Validation [10/15/04 09:16]
|
---|
2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**217**;Dec 17, 1997
|
---|
3 | ;OREORV2 - Orderable Item Record Validation
|
---|
4 | ;
|
---|
5 | ;FIX FOR NOIS CASES:
|
---|
6 | ;DAN-0204-42157, ALB-1001-51034, SBY-0803-30443, NJH-0402-20607
|
---|
7 | ;
|
---|
8 | ;This prints a report of the results from OREORV1.
|
---|
9 | ;The results are stored in ^TMP($J,"OIC".
|
---|
10 | ;^TMP($J,"OIC" is fully documented in OREORV1.
|
---|
11 | ;The output is sorted and printed in the following manner:
|
---|
12 | ;
|
---|
13 | ;A report summary of the overall findings
|
---|
14 | ;Section 1, details of OI records with null ID field
|
---|
15 | ;Section 2, details of OI records without source IENs
|
---|
16 | ;Section 3, details of OI records without source package codes
|
---|
17 | ;Section 4, details of OI records with bad source package codes
|
---|
18 | ;Section 5, details of OI records with packages with package
|
---|
19 | ; codes not listed in the OE/RR Interface Specifications
|
---|
20 | ; of July 2001. These records have properly formatted
|
---|
21 | ; package codes but can not be validated with this
|
---|
22 | ; utility.
|
---|
23 | ;Section 6, summary of OI records validated with source records
|
---|
24 | ;Section 7, details of OI records not validated with source records
|
---|
25 | ;
|
---|
26 | ;External Variables
|
---|
27 | ; IOF - Standard FileMan/Kernel IO variable, Form Feed
|
---|
28 | ; IOM - Standard FileMan/Kernel IO variable, Margin width
|
---|
29 | ; IOSL - Standard FileMan/Kernel IO variable, Page Length
|
---|
30 | ; IOST - Standard FileMan/Kernel IO variable, Terminal type
|
---|
31 | ; U - Standard FileMan/Kernel delimiter variable
|
---|
32 | ;
|
---|
33 | ;External References
|
---|
34 | ; ^DIR DBIA 10026
|
---|
35 | ; $$REPEAT^XLFSTR DBIA 10104
|
---|
36 | ;
|
---|
37 | MAIN ;Main entry point for this program
|
---|
38 | ;Local Variables
|
---|
39 | ; PAGE - Page number counter
|
---|
40 | ; STOP - Stop report execution
|
---|
41 | ;
|
---|
42 | N PAGE,STOP
|
---|
43 | S PAGE=1,STOP=0
|
---|
44 | D RPTSUM I STOP=1 G EXIT ;Report Summary
|
---|
45 | D PS(1) I STOP=1 G EXIT
|
---|
46 | D PS(2) I STOP=1 G EXIT
|
---|
47 | D PS(3) I STOP=1 G EXIT
|
---|
48 | D PS(4) I STOP=1 G EXIT
|
---|
49 | D PS(5) I STOP=1 G EXIT
|
---|
50 | D PS(6) I STOP=1 G EXIT
|
---|
51 | D PS(7)
|
---|
52 | EXIT ;Exit point for this program
|
---|
53 | Q
|
---|
54 | RPTSUM ;Report Summary - Summary of ZGOIRV1 findings
|
---|
55 | ;Local Variables
|
---|
56 | ; RSL - Report Summary Line, indirect variable to print summary type
|
---|
57 | ; X - Standard FileMan work variable
|
---|
58 | ;
|
---|
59 | N RSL,X
|
---|
60 | D RPH
|
---|
61 | W !,$P($T(RS),";",3),!
|
---|
62 | F X=0:1:7 D
|
---|
63 | . S RSL="RS"_X
|
---|
64 | . W !,$P($T(@RSL),";",3),?65,$J(^TMP($J,"OIC",X),10)
|
---|
65 | D @$S($E(IOST,1,2)="C-":"NS",1:"RPF")
|
---|
66 | Q
|
---|
67 | PS(SN) ;Print Sections
|
---|
68 | ;Variable Passed to PS
|
---|
69 | ; SN - Section Number
|
---|
70 | ;Local Variables
|
---|
71 | ; SH - Section Header
|
---|
72 | ; SF - Section Footer
|
---|
73 | ; PACK - Package Code
|
---|
74 | ; PH - Package Subsection Header
|
---|
75 | ; PF - Package Subsection Footer
|
---|
76 | ; NAME - Orderable Item Name
|
---|
77 | ;
|
---|
78 | N SH,SF,PACK,PH,PF,NAME
|
---|
79 | S SH="SH"_SN,SF="SF"_SN
|
---|
80 | W !,$P($T(@SH),";",3)
|
---|
81 | W ! D LCC Q:STOP=1
|
---|
82 | I SN=1!(SN=2)!(SN=3) D
|
---|
83 | . I ^TMP($J,"OIC",SN)>0 D
|
---|
84 | .. W !,$P($T(@SH),";",3) D LCC Q:STOP=1
|
---|
85 | .. W !,$$REPEAT^XLFSTR("-",IOM) D LCC Q:STOP=1
|
---|
86 | .. S NAME="" F S NAME=$O(^TMP($J,"OIC",SN,"B",NAME)) Q:NAME=""!(STOP=1) D
|
---|
87 | ... W !,NAME,?65,$P(^TMP($J,"OIC",SN,"B",NAME),U,2)
|
---|
88 | I SN=4!(SN=5) D
|
---|
89 | . I ^TMP($J,"OIC",SN)>0 D
|
---|
90 | .. S PACK="" F S PACK=$O(^TMP($J,"OIC",SN,PACK)) Q:PACK=""!(STOP=1) D
|
---|
91 | ... S PH=$P($T(PHT),";",3)_" : "_PACK_" - "_$P($T(@$E(PACK,3,5)),";",3)
|
---|
92 | ... S PF=$P($T(PFT),";",3)_" : "_PACK_" - "_$P($T(@$E(PACK,3,5)),";",3)
|
---|
93 | ... W !,PH D LCC Q:STOP=1
|
---|
94 | ... W !,$P($T(CH1),";",3),?65,$P($T(CH2),";",3) D LCC Q:STOP=1
|
---|
95 | ... W !,$$REPEAT^XLFSTR("-",IOM) D LCC Q:STOP=1
|
---|
96 | ... S NAME="" F S NAME=$O(^TMP($J,"OIC",SN,PACK,"B",NAME)) Q:NAME=""!(STOP=1) D
|
---|
97 | .... W !,NAME,?65,$P(^TMP($J,"OIC",SN,PACK,"B",NAME),U,2) D LCC Q:STOP=1
|
---|
98 | ... W !,PF,?65,$J(^TMP($J,"OIC",SN,PACK),10) D LCC Q:STOP=1
|
---|
99 | ... W ! D LCC Q:STOP=1
|
---|
100 | I SN=6 D
|
---|
101 | . I ^TMP($J,"OIC",SN)>0 D
|
---|
102 | . S PACK="" F S PACK=$O(^TMP($J,"OIC",SN,PACK)) Q:PACK=""!(STOP=1) D
|
---|
103 | .. S PH=PACK_" - "_$P($T(@$E(PACK,3,5)),";",3)
|
---|
104 | .. W !,PH,?65,$J(^TMP($J,"OIC",SN,PACK),10) D LCC Q:STOP=1
|
---|
105 | I SN=7 D PS7
|
---|
106 | W ! D LCC Q:STOP=1
|
---|
107 | W !,$P($T(@SF),";",3),?65,$J(^TMP($J,"OIC",SN),10) D LCC Q:STOP=1
|
---|
108 | I SN=7 S STOP=1
|
---|
109 | D @$S($E(IOST,1,2)="C-":"NS",1:"RPF")
|
---|
110 | Q
|
---|
111 | PS7 ;Print Section 7
|
---|
112 | ;Local Variables
|
---|
113 | ; AH - Activity Type Subsection Header
|
---|
114 | ; AF - Activity Type Subsection Footer
|
---|
115 | ; AI - Active / Inactive Indicator
|
---|
116 | ;
|
---|
117 | N AH,AF,AI
|
---|
118 | I ^TMP($J,"OIC",SN)=0 Q
|
---|
119 | S AI="" F S AI=$O(^TMP($J,"OIC",SN,AI)) Q:AI=""!(STOP=1) D
|
---|
120 | . S AH=AI_"HT",AF=AI_"FT"
|
---|
121 | . W !,$P($T(@AH),";",3) D LCC Q:STOP=1
|
---|
122 | . S PACK="" F S PACK=$O(^TMP($J,"OIC",SN,AI,PACK)) Q:PACK=""!(STOP=1) D
|
---|
123 | .. S PH=$P($T(PHT),";",3)_" : "_PACK_" - "_$P($T(@$E(PACK,3,5)),";",3)
|
---|
124 | .. S PF=PACK_" - "_$P($T(@$E(PACK,3,5)),";",3)
|
---|
125 | .. W !,PH D LCC Q:STOP=1
|
---|
126 | .. W !,$P($T(CH1),";",3),?65,$P($T(CH2),";",3) D LCC Q:STOP=1
|
---|
127 | .. W !,$$REPEAT^XLFSTR("-",IOM) D LCC Q:STOP=1
|
---|
128 | .. S NAME="" F S NAME=$O(^TMP($J,"OIC",SN,AI,PACK,"B",NAME)) Q:NAME=""!(STOP=1) D
|
---|
129 | ... W !,NAME,?65,$P(^TMP($J,"OIC",SN,AI,PACK,"B",NAME),U,2) D LCC Q:STOP=1
|
---|
130 | .. W !,PF,?65,$J(^TMP($J,"OIC",SN,AI,PACK),10) D LCC Q:STOP=1
|
---|
131 | .. W ! D LCC Q:STOP=1
|
---|
132 | . W ! D LCC Q:STOP=1
|
---|
133 | . W !,$P($T(@AF),";",3),?65,$J(^TMP($J,"OIC",SN,AI),10) D LCC Q:STOP=1
|
---|
134 | Q
|
---|
135 | RPH ;Report Page Header
|
---|
136 | W:$E(IOST,1,2)="C-"!(PAGE>1) @IOF
|
---|
137 | W $P($T(RH),";",3),?65,"PAGE: ",PAGE
|
---|
138 | Q
|
---|
139 | NS ;Next Screen - Advances user to next screen if output directed to
|
---|
140 | ;video console
|
---|
141 | ;Local Variables
|
---|
142 | ; DIR - Input array variable for ^DIR
|
---|
143 | ; DTOUT - Time out indicator, output variable for ^DIR
|
---|
144 | ; DUOUT - Up arrow out indicator, "^", output variable for ^DIR
|
---|
145 | ; Y - Processed User response, output variable for ^DIR
|
---|
146 | ;
|
---|
147 | N DIR,DTOUT,DUOUT,Y
|
---|
148 | S DIR(0)="E"
|
---|
149 | W ! D ^DIR I $D(DTOUT)!($D(DUOUT)) S Y=0
|
---|
150 | I Y=0 S STOP=1 Q
|
---|
151 | S PAGE=$$PCI(PAGE)
|
---|
152 | D:STOP=0 RPH
|
---|
153 | Q
|
---|
154 | RPF ;Report Page Footer - Prints page footer if output directed to printer
|
---|
155 | ;Local Variables
|
---|
156 | ; LF - Line Feed, Advances 1 line down the page
|
---|
157 | ; LFC - Line Feed Count, number of lines to advance to end of page
|
---|
158 | N LF,LFC
|
---|
159 | S LFC=(IOSL-4)-$Y
|
---|
160 | F LF=1:1:LFC W !
|
---|
161 | W $P($T(RF),";",3),?65,"PAGE: ",PAGE
|
---|
162 | S PAGE=$$PCI(PAGE)
|
---|
163 | D:STOP=0 RPH
|
---|
164 | Q
|
---|
165 | LCC ;Line Count Check - Determine if it is time for end of page/screen logic
|
---|
166 | I $Y>(IOSL-4) D @$S($E(IOST,1,2)="C-":"NS",1:"RPF") I STOP=1 G EXIT
|
---|
167 | Q
|
---|
168 | PCI(PN) ;Page Counter
|
---|
169 | ;Variable Passed to PCI
|
---|
170 | ; PN - Page Number
|
---|
171 | S PN=PN+1 Q PN
|
---|
172 | ;Text used by the program to print the report
|
---|
173 | ;Text for the report page/screen headers
|
---|
174 | RH ;;Orderable Items File Record Validation Report
|
---|
175 | ;Text for the report page footers
|
---|
176 | RF ;;Orderable Items File Record Validation Report
|
---|
177 | ;Text for report summary
|
---|
178 | RS ;;Summary of Orderable Items Validation:
|
---|
179 | RS0 ;;Total number of records processed:
|
---|
180 | RS1 ;;Total number of records with null ID fields:
|
---|
181 | RS2 ;;Total number of records without source IENs:
|
---|
182 | RS3 ;;Total number of records without source package codes:
|
---|
183 | RS4 ;;Total number of records with bad source package codes:
|
---|
184 | RS5 ;;Total number of records requiring manual confirmation:
|
---|
185 | RS6 ;;Total number of records with source record matches (validated):
|
---|
186 | RS7 ;;Total number of records without source record matches:
|
---|
187 | ;
|
---|
188 | ;Section header/footer text
|
---|
189 | SH1 ;;Section 1, Records with null ID field
|
---|
190 | SH2 ;;Section 2, Records without source IENs
|
---|
191 | SH3 ;;Section 3, Records without source package codes
|
---|
192 | SH4 ;;Section 4, Records with incorrect source package code formats
|
---|
193 | SH5 ;;Section 5, Records with package codes not in current spec
|
---|
194 | SH6 ;;Section 6, Records with source record matches (Validated)
|
---|
195 | SH7 ;;section 7, Records without source record matches
|
---|
196 | SF1 ;;Total with null ID field
|
---|
197 | SF2 ;;Total without source IENs:
|
---|
198 | SF3 ;;Total without source package codes:
|
---|
199 | SF4 ;;Total with bad source package codes:
|
---|
200 | SF5 ;;Total with package codes not in spec:
|
---|
201 | SF6 ;;Total validated:
|
---|
202 | SF7 ;;Total without source record matches:
|
---|
203 | ;
|
---|
204 | ;Package title text
|
---|
205 | CON ;;Consult Request Services file
|
---|
206 | FHD ;;Diets file
|
---|
207 | FHT ;;Tubefeeding file
|
---|
208 | LRT ;;Laboratory Test file
|
---|
209 | ORD ;;Orderable Items file
|
---|
210 | PRC ;;Consult Procedure file
|
---|
211 | PRO ;;Protocol file
|
---|
212 | PSP ;;Pharmacy Orderable Item file
|
---|
213 | RAP ;;Radiology/Nuclear Medicine Procedures file
|
---|
214 | ;
|
---|
215 | ;Column Header text
|
---|
216 | CH1 ;;OI Name
|
---|
217 | CH2 ;;Inactive Date
|
---|
218 | ;
|
---|
219 | ;Package Header/Footer Text
|
---|
220 | PHT ;;Records for package
|
---|
221 | PFT ;;Sub-total for package
|
---|
222 | ;
|
---|
223 | ;Active OI records Header/Footer Text
|
---|
224 | AHT ;;Active OI records w/o matching source record
|
---|
225 | AFT ;;Sub-total active OI records w/o matching source record
|
---|
226 | ;
|
---|
227 | ;Inactive OI records Header/Footer Text
|
---|
228 | IHT ;;Inactive OI records w/o matching source record
|
---|
229 | IFT ;;Sub-total inactive OI records w/o matching source record
|
---|