| 1 | SCRPI01A ;ALB/SCK - IEMM REPORT OF INCOMPLETE ENCOUNTERS PRINT ; 6/24/97 | 
|---|
| 2 | ;;5.3;Scheduling;**66**;AUG 13, 1993 | 
|---|
| 3 | Q | 
|---|
| 4 | PRINT ; Begin printing report | 
|---|
| 5 | ;   Variables | 
|---|
| 6 | ;     PAGE    - Page Number | 
|---|
| 7 | ;     SDIV    - Division Name | 
|---|
| 8 | ;     SDCLN   - Clinic Name | 
|---|
| 9 | ;     SDNAME  - Patient Name | 
|---|
| 10 | ;     SDT     - Encounter Date | 
|---|
| 11 | ;     SCABORT - Abort report flag | 
|---|
| 12 | ; | 
|---|
| 13 | N DASH,DBLDASH,PAGE,SDIV,SDCLN,SDNAME,SDT,SCABORT,NONAME | 
|---|
| 14 | ; | 
|---|
| 15 | S $P(DASH,"-",IOM-1)="",$P(DBLDASH,"=",IOM-1)="" | 
|---|
| 16 | S PAGE=0,SDIV="" | 
|---|
| 17 | ; | 
|---|
| 18 | I '$D(^TMP("SCRPI ERR",$J)) D HDR1 Q | 
|---|
| 19 | ; | 
|---|
| 20 | F  S SDIV=$O(^TMP("SCRPI ERR",$J,SDIV)) Q:SDIV']""  D  Q:$G(SCABORT) | 
|---|
| 21 | . S SDCLN="" | 
|---|
| 22 | . F  S SDCLN=$O(^TMP("SCRPI ERR",$J,SDIV,SDCLN)) Q:SDCLN']""  D  Q:$G(SCABORT) | 
|---|
| 23 | .. D HDR(SDIV,SDCLN) | 
|---|
| 24 | .. Q:$G(SCABORT) | 
|---|
| 25 | .. S SDNAME="" | 
|---|
| 26 | .. F  S SDNAME=$O(^TMP("SCRPI ERR",$J,SDIV,SDCLN,SDNAME)) Q:SDNAME']""  D  Q:$G(SCABORT) | 
|---|
| 27 | ... S SDT="",NONAME=0 | 
|---|
| 28 | ... F  S SDT=$O(^TMP("SCRPI ERR",$J,SDIV,SDCLN,SDNAME,SDT)) Q:'SDT  D  Q:$G(SCABORT) | 
|---|
| 29 | .... S SDER="" | 
|---|
| 30 | .... F  S SDER=$O(^TMP("SCRPI ERR",$J,SDIV,SDCLN,SDNAME,SDT,SDER)) Q:'SDER  D LINE(^TMP("SCRPI ERR",$J,SDIV,SDCLN,SDNAME,SDT,SDER,0)) Q:$G(SCABORT) | 
|---|
| 31 | ; | 
|---|
| 32 | D SELPAGE | 
|---|
| 33 | Q | 
|---|
| 34 | ; | 
|---|
| 35 | LINE(SDTMP) ;  Print formatted line of the report.  Check if task has been stopped by user. | 
|---|
| 36 | ;  Set abort flag to quit if stopped. | 
|---|
| 37 | ;    Input | 
|---|
| 38 | ;       SDTMP  - formatted line to print | 
|---|
| 39 | ; | 
|---|
| 40 | ;    Output | 
|---|
| 41 | ;       SCABORT - 1 if user aborts report printing | 
|---|
| 42 | ; | 
|---|
| 43 | ;    Variables | 
|---|
| 44 | ;       SCERR  - Error Code form #409.76 | 
|---|
| 45 | ;       SCERR1 - Error Description from #409.76 | 
|---|
| 46 | ; | 
|---|
| 47 | N X,X1,X2,SCERR,SCERR1,DFN | 
|---|
| 48 | ; | 
|---|
| 49 | ; ** if task has been stopped, set abort flag and quit. | 
|---|
| 50 | I $$S^%ZTLOAD D  Q | 
|---|
| 51 | . S SCABORT=1 | 
|---|
| 52 | . W !!,"Report stopped by user" | 
|---|
| 53 | ; | 
|---|
| 54 | I $Y>(IOSL-5) D HDR(SDIV,SDCLN) | 
|---|
| 55 | ; | 
|---|
| 56 | ; **  Check that error is still around and has not been corrected. | 
|---|
| 57 | Q:'$G(^SD(409.75,SDER,0)) | 
|---|
| 58 | S SCERR=^SD(409.76,$P(^SD(409.75,SDER,0),U,2),0) | 
|---|
| 59 | S SCERR1=^SD(409.76,$P(^SD(409.75,SDER,0),U,2),1) | 
|---|
| 60 | ; | 
|---|
| 61 | S DFN=$P(SDTMP,U) | 
|---|
| 62 | D PID^VADPT6 | 
|---|
| 63 | W !,$S('NONAME:$E(SDNAME,1,25),1:" "),?27,$S('NONAME:VA("BID"),1:" ") | 
|---|
| 64 | W ?33,$S($P(SDTMP,U,3)]"":$P(SDTMP,U,3),1:" ")," " | 
|---|
| 65 | W $$FMTE^XLFDT(SDT,"2FP"),?55,$S($P(SCERR,U,2)="V":"VISTA",$P(SCERR,U,2)="N":"NPCD ",1:"UNK  "),?62,$P(SCERR,U) | 
|---|
| 66 | ; | 
|---|
| 67 | ;  ** Parse out error description to fit report.  If description length >50, then | 
|---|
| 68 | ;     call parse procedure to break description into two lines. | 
|---|
| 69 | S X=$P(SCERR1,U) | 
|---|
| 70 | I $L(X)<50 D | 
|---|
| 71 | . W ?68,X | 
|---|
| 72 | E  D | 
|---|
| 73 | . K X1,X2 | 
|---|
| 74 | . D PARSE^SCRPIUT1(X,.X1,.X2,45,51) | 
|---|
| 75 | . W ?68,X1,!?68,X2 | 
|---|
| 76 | S NONAME=1 | 
|---|
| 77 | K VA | 
|---|
| 78 | Q | 
|---|
| 79 | ; | 
|---|
| 80 | HDR(SDIV,SDCLN) ;  Print report header, if abort flag is set, then quit | 
|---|
| 81 | ;   Input | 
|---|
| 82 | ;      SDIV  - Division Name | 
|---|
| 83 | ;      SDCLN - Clinic Name | 
|---|
| 84 | ; | 
|---|
| 85 | ;   Variables | 
|---|
| 86 | ;      SDL  - Print line | 
|---|
| 87 | ; | 
|---|
| 88 | N SDL,X | 
|---|
| 89 | ; | 
|---|
| 90 | I 'PAGE,IOST?1"C-".E W @IOF | 
|---|
| 91 | I PAGE,IOST?1"C-".E D  Q:$G(SCABORT) | 
|---|
| 92 | . S DIR(0)="E" D ^DIR K DIR S SCABORT='+$G(Y) | 
|---|
| 93 | . W @IOF | 
|---|
| 94 | E  D | 
|---|
| 95 | . I PAGE W @IOF | 
|---|
| 96 | ; | 
|---|
| 97 | S PAGE=PAGE+1 | 
|---|
| 98 | W !?2,"Date: ",$$FDATE^VALM1($$DT^XLFDT),?((IOM/2)-22),"Incomplete Encounter Management Error Listing",?(IOM-13),"Page: ",PAGE | 
|---|
| 99 | ; | 
|---|
| 100 | S X="Division: "_$S($G(SDIV)]"":SDIV,1:"  ---") | 
|---|
| 101 | D CTR^SCRPIUT1(.X,IOM) | 
|---|
| 102 | W !,X | 
|---|
| 103 | ; | 
|---|
| 104 | S X="Clinic: "_$S($G(SDCLN)]"":SDCLN,1:"  ---") | 
|---|
| 105 | D CTR^SCRPIUT1(.X,IOM) | 
|---|
| 106 | W !,X | 
|---|
| 107 | ; | 
|---|
| 108 | S X="Date Range: "_$$FMTE^XLFDT($P(SDDT,U))_" to "_$$FMTE^XLFDT($P(SDDT,U,2)) | 
|---|
| 109 | D CTR^SCRPIUT1(.X,IOM) | 
|---|
| 110 | W !,X | 
|---|
| 111 | ; | 
|---|
| 112 | S X="Selection Method by "_$$SELMTHD^SCRPI01(SDSEL1)_" then by "_$$SELMTHD^SCRPI01(SDSEL2) | 
|---|
| 113 | D CTR^SCRPIUT1(.X,IOM) | 
|---|
| 114 | W !,X | 
|---|
| 115 | ; | 
|---|
| 116 | W !!!,?35,"Encounter",?54,"Error",?62,"Error" | 
|---|
| 117 | W !,"Patient Name",?27,"SSN",?35,"Date/Time",?54,"Srce",?62,"Code",?68,"Description" | 
|---|
| 118 | W !,DBLDASH | 
|---|
| 119 | S X="[ '*' Indicates Deleted Outpatient Encounter for Transmission ]" | 
|---|
| 120 | D CTR^SCRPIUT1(.X,IOM) | 
|---|
| 121 | W !,X,! | 
|---|
| 122 | Q | 
|---|
| 123 | ; | 
|---|
| 124 | HDR1 ;  Report header for no data found.  Prints modified header. | 
|---|
| 125 | ; | 
|---|
| 126 | W !?2,"Date: ",$$FDATE^VALM1($$DT^XLFDT),?((IOM/2)-22),"Incomplete Encounter Management Error Listing" | 
|---|
| 127 | S X="Date Range: "_$$FMTE^XLFDT($P(SDDT,U))_" to "_$$FMTE^XLFDT($P(SDDT,U,2)) | 
|---|
| 128 | D CTR^SCRPIUT1(.X,IOM) | 
|---|
| 129 | W !,X | 
|---|
| 130 | S X="Selection Method by "_$$SELMTHD^SCRPI01(SDSEL1)_" then by "_$$SELMTHD^SCRPI01(SDSEL2) | 
|---|
| 131 | D CTR^SCRPIUT1(.X,IOM) | 
|---|
| 132 | W !,X,!! | 
|---|
| 133 | W !?5,"No errors found" | 
|---|
| 134 | D NEXTLEV(SDSEL1) | 
|---|
| 135 | D NEXTLEV(SDSEL2) | 
|---|
| 136 | Q | 
|---|
| 137 | ; | 
|---|
| 138 | SELPAGE ;  Print on last page the user parameters used for the report. | 
|---|
| 139 | N SDIV,SDCLN,SDERR,SDPAT,SDDSS | 
|---|
| 140 | ; | 
|---|
| 141 | I 'PAGE,IOST?1"C-".E W @IOF | 
|---|
| 142 | I PAGE,IOST?1"C-".E D  Q:$G(SCABORT) | 
|---|
| 143 | . S DIR(0)="E" D ^DIR K DIR S SCABORT='+$G(Y) | 
|---|
| 144 | . W @IOF | 
|---|
| 145 | E  D | 
|---|
| 146 | . I PAGE W @IOF | 
|---|
| 147 | ; | 
|---|
| 148 | S PAGE=PAGE+1 | 
|---|
| 149 | W !?2,"Date: ",$$FDATE^VALM1($$DT^XLFDT),?((IOM/2)-22),"Incomplete Encounter Management Error Listing",?(IOM-13),"Page: ",PAGE | 
|---|
| 150 | S X="Report Selection Criteria" | 
|---|
| 151 | D CTR^SCRPIUT1(X,IOM) | 
|---|
| 152 | S X="Date Range: "_$$FMTE^XLFDT($P(SDDT,U))_" to "_$$FMTE^XLFDT($P(SDDT,U,2)) | 
|---|
| 153 | D CTR^SCRPIUT1(X,IOM) | 
|---|
| 154 | ; | 
|---|
| 155 | W !!?10,"Divisions: ",$S(VAUTD:"All",1:"") | 
|---|
| 156 | I 'VAUTD S SDIV=""  F  S SDIV=$O(VAUTD(SDIV)) Q:'SDIV  W !?15,VAUTD(SDIV) | 
|---|
| 157 | ; | 
|---|
| 158 | D NEXTLEV(SDSEL1) | 
|---|
| 159 | D NEXTLEV(SDSEL2) | 
|---|
| 160 | Q | 
|---|
| 161 | ; | 
|---|
| 162 | NEXTLEV(SRT) ;   Print out any sublevels of the user selection parameters | 
|---|
| 163 | N SDITEM | 
|---|
| 164 | ; | 
|---|
| 165 | I SRT["CLN" D | 
|---|
| 166 | . W !!?10,"Clinics: ",$S(VAUTC:"All",1:"") | 
|---|
| 167 | . I 'VAUTC S SDITEM=""  F  S SDITEM=$O(VAUTC(SDITEM)) Q:'SDITEM  W !?15,VAUTC(SDITEM) | 
|---|
| 168 | ; | 
|---|
| 169 | I SRT["PAT" D | 
|---|
| 170 | . W !!?10,"Patients: ",$S(VAUTN:"All",1:"") | 
|---|
| 171 | . I 'VAUTN S SDITEM=""  F  S SDITEM=$O(VAUTN(SDITEM)) Q:'SDITEM  W !?15,VAUTN(SDITEM) | 
|---|
| 172 | ; | 
|---|
| 173 | I SRT["ERR" D | 
|---|
| 174 | . W !!?10,"Error Codes: ",$S(VAUER:"All",1:"") | 
|---|
| 175 | . I 'VAUER S SDITEM=""  F  S SDITEM=$O(VAUER(SDITEM)) Q:'SDITEM  W !?15,VAUER(SDITEM),"   ",$E($P(^SD(409.76,SDITEM,1),U),1,60) | 
|---|
| 176 | ; | 
|---|
| 177 | I SRT["DSS" D | 
|---|
| 178 | . W !!?10,"Clinic Stop Codes: ",$S(VAUDS:"All",1:"") | 
|---|
| 179 | . I 'VAUDS S SDITEM=""  F  S SDITEM=$O(VAUDS(SDITEM)) Q:'SDITEM  W !?15,VAUDS(SDITEM) | 
|---|
| 180 | Q | 
|---|