| 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
 | 
|---|