181 lines
5.4 KiB
Mathematica
181 lines
5.4 KiB
Mathematica
|
SCRPI01A ;ALB/SCK - IEMM REPORT OF INCOMPLETE ENCOUNTERS PRINT ; 6/24/97
|
||
|
;;5.3;Scheduling;**66**;AUG 13, 1993
|
||
|
Q
|
||
|
PRINT ; Begin printing report
|
||
|
; Variables
|
||
|
; PAGE - Page Number
|
||
|
; SDIV - Division Name
|
||
|
; SDCLN - Clinic Name
|
||
|
; SDNAME - Patient Name
|
||
|
; SDT - Encounter Date
|
||
|
; SCABORT - Abort report flag
|
||
|
;
|
||
|
N DASH,DBLDASH,PAGE,SDIV,SDCLN,SDNAME,SDT,SCABORT,NONAME
|
||
|
;
|
||
|
S $P(DASH,"-",IOM-1)="",$P(DBLDASH,"=",IOM-1)=""
|
||
|
S PAGE=0,SDIV=""
|
||
|
;
|
||
|
I '$D(^TMP("SCRPI ERR",$J)) D HDR1 Q
|
||
|
;
|
||
|
F S SDIV=$O(^TMP("SCRPI ERR",$J,SDIV)) Q:SDIV']"" D Q:$G(SCABORT)
|
||
|
. S SDCLN=""
|
||
|
. F S SDCLN=$O(^TMP("SCRPI ERR",$J,SDIV,SDCLN)) Q:SDCLN']"" D Q:$G(SCABORT)
|
||
|
.. D HDR(SDIV,SDCLN)
|
||
|
.. Q:$G(SCABORT)
|
||
|
.. S SDNAME=""
|
||
|
.. F S SDNAME=$O(^TMP("SCRPI ERR",$J,SDIV,SDCLN,SDNAME)) Q:SDNAME']"" D Q:$G(SCABORT)
|
||
|
... S SDT="",NONAME=0
|
||
|
... F S SDT=$O(^TMP("SCRPI ERR",$J,SDIV,SDCLN,SDNAME,SDT)) Q:'SDT D Q:$G(SCABORT)
|
||
|
.... S SDER=""
|
||
|
.... 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)
|
||
|
;
|
||
|
D SELPAGE
|
||
|
Q
|
||
|
;
|
||
|
LINE(SDTMP) ; Print formatted line of the report. Check if task has been stopped by user.
|
||
|
; Set abort flag to quit if stopped.
|
||
|
; Input
|
||
|
; SDTMP - formatted line to print
|
||
|
;
|
||
|
; Output
|
||
|
; SCABORT - 1 if user aborts report printing
|
||
|
;
|
||
|
; Variables
|
||
|
; SCERR - Error Code form #409.76
|
||
|
; SCERR1 - Error Description from #409.76
|
||
|
;
|
||
|
N X,X1,X2,SCERR,SCERR1,DFN
|
||
|
;
|
||
|
; ** if task has been stopped, set abort flag and quit.
|
||
|
I $$S^%ZTLOAD D Q
|
||
|
. S SCABORT=1
|
||
|
. W !!,"Report stopped by user"
|
||
|
;
|
||
|
I $Y>(IOSL-5) D HDR(SDIV,SDCLN)
|
||
|
;
|
||
|
; ** Check that error is still around and has not been corrected.
|
||
|
Q:'$G(^SD(409.75,SDER,0))
|
||
|
S SCERR=^SD(409.76,$P(^SD(409.75,SDER,0),U,2),0)
|
||
|
S SCERR1=^SD(409.76,$P(^SD(409.75,SDER,0),U,2),1)
|
||
|
;
|
||
|
S DFN=$P(SDTMP,U)
|
||
|
D PID^VADPT6
|
||
|
W !,$S('NONAME:$E(SDNAME,1,25),1:" "),?27,$S('NONAME:VA("BID"),1:" ")
|
||
|
W ?33,$S($P(SDTMP,U,3)]"":$P(SDTMP,U,3),1:" ")," "
|
||
|
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)
|
||
|
;
|
||
|
; ** Parse out error description to fit report. If description length >50, then
|
||
|
; call parse procedure to break description into two lines.
|
||
|
S X=$P(SCERR1,U)
|
||
|
I $L(X)<50 D
|
||
|
. W ?68,X
|
||
|
E D
|
||
|
. K X1,X2
|
||
|
. D PARSE^SCRPIUT1(X,.X1,.X2,45,51)
|
||
|
. W ?68,X1,!?68,X2
|
||
|
S NONAME=1
|
||
|
K VA
|
||
|
Q
|
||
|
;
|
||
|
HDR(SDIV,SDCLN) ; Print report header, if abort flag is set, then quit
|
||
|
; Input
|
||
|
; SDIV - Division Name
|
||
|
; SDCLN - Clinic Name
|
||
|
;
|
||
|
; Variables
|
||
|
; SDL - Print line
|
||
|
;
|
||
|
N SDL,X
|
||
|
;
|
||
|
I 'PAGE,IOST?1"C-".E W @IOF
|
||
|
I PAGE,IOST?1"C-".E D Q:$G(SCABORT)
|
||
|
. S DIR(0)="E" D ^DIR K DIR S SCABORT='+$G(Y)
|
||
|
. W @IOF
|
||
|
E D
|
||
|
. I PAGE W @IOF
|
||
|
;
|
||
|
S PAGE=PAGE+1
|
||
|
W !?2,"Date: ",$$FDATE^VALM1($$DT^XLFDT),?((IOM/2)-22),"Incomplete Encounter Management Error Listing",?(IOM-13),"Page: ",PAGE
|
||
|
;
|
||
|
S X="Division: "_$S($G(SDIV)]"":SDIV,1:" ---")
|
||
|
D CTR^SCRPIUT1(.X,IOM)
|
||
|
W !,X
|
||
|
;
|
||
|
S X="Clinic: "_$S($G(SDCLN)]"":SDCLN,1:" ---")
|
||
|
D CTR^SCRPIUT1(.X,IOM)
|
||
|
W !,X
|
||
|
;
|
||
|
S X="Date Range: "_$$FMTE^XLFDT($P(SDDT,U))_" to "_$$FMTE^XLFDT($P(SDDT,U,2))
|
||
|
D CTR^SCRPIUT1(.X,IOM)
|
||
|
W !,X
|
||
|
;
|
||
|
S X="Selection Method by "_$$SELMTHD^SCRPI01(SDSEL1)_" then by "_$$SELMTHD^SCRPI01(SDSEL2)
|
||
|
D CTR^SCRPIUT1(.X,IOM)
|
||
|
W !,X
|
||
|
;
|
||
|
W !!!,?35,"Encounter",?54,"Error",?62,"Error"
|
||
|
W !,"Patient Name",?27,"SSN",?35,"Date/Time",?54,"Srce",?62,"Code",?68,"Description"
|
||
|
W !,DBLDASH
|
||
|
S X="[ '*' Indicates Deleted Outpatient Encounter for Transmission ]"
|
||
|
D CTR^SCRPIUT1(.X,IOM)
|
||
|
W !,X,!
|
||
|
Q
|
||
|
;
|
||
|
HDR1 ; Report header for no data found. Prints modified header.
|
||
|
;
|
||
|
W !?2,"Date: ",$$FDATE^VALM1($$DT^XLFDT),?((IOM/2)-22),"Incomplete Encounter Management Error Listing"
|
||
|
S X="Date Range: "_$$FMTE^XLFDT($P(SDDT,U))_" to "_$$FMTE^XLFDT($P(SDDT,U,2))
|
||
|
D CTR^SCRPIUT1(.X,IOM)
|
||
|
W !,X
|
||
|
S X="Selection Method by "_$$SELMTHD^SCRPI01(SDSEL1)_" then by "_$$SELMTHD^SCRPI01(SDSEL2)
|
||
|
D CTR^SCRPIUT1(.X,IOM)
|
||
|
W !,X,!!
|
||
|
W !?5,"No errors found"
|
||
|
D NEXTLEV(SDSEL1)
|
||
|
D NEXTLEV(SDSEL2)
|
||
|
Q
|
||
|
;
|
||
|
SELPAGE ; Print on last page the user parameters used for the report.
|
||
|
N SDIV,SDCLN,SDERR,SDPAT,SDDSS
|
||
|
;
|
||
|
I 'PAGE,IOST?1"C-".E W @IOF
|
||
|
I PAGE,IOST?1"C-".E D Q:$G(SCABORT)
|
||
|
. S DIR(0)="E" D ^DIR K DIR S SCABORT='+$G(Y)
|
||
|
. W @IOF
|
||
|
E D
|
||
|
. I PAGE W @IOF
|
||
|
;
|
||
|
S PAGE=PAGE+1
|
||
|
W !?2,"Date: ",$$FDATE^VALM1($$DT^XLFDT),?((IOM/2)-22),"Incomplete Encounter Management Error Listing",?(IOM-13),"Page: ",PAGE
|
||
|
S X="Report Selection Criteria"
|
||
|
D CTR^SCRPIUT1(X,IOM)
|
||
|
S X="Date Range: "_$$FMTE^XLFDT($P(SDDT,U))_" to "_$$FMTE^XLFDT($P(SDDT,U,2))
|
||
|
D CTR^SCRPIUT1(X,IOM)
|
||
|
;
|
||
|
W !!?10,"Divisions: ",$S(VAUTD:"All",1:"")
|
||
|
I 'VAUTD S SDIV="" F S SDIV=$O(VAUTD(SDIV)) Q:'SDIV W !?15,VAUTD(SDIV)
|
||
|
;
|
||
|
D NEXTLEV(SDSEL1)
|
||
|
D NEXTLEV(SDSEL2)
|
||
|
Q
|
||
|
;
|
||
|
NEXTLEV(SRT) ; Print out any sublevels of the user selection parameters
|
||
|
N SDITEM
|
||
|
;
|
||
|
I SRT["CLN" D
|
||
|
. W !!?10,"Clinics: ",$S(VAUTC:"All",1:"")
|
||
|
. I 'VAUTC S SDITEM="" F S SDITEM=$O(VAUTC(SDITEM)) Q:'SDITEM W !?15,VAUTC(SDITEM)
|
||
|
;
|
||
|
I SRT["PAT" D
|
||
|
. W !!?10,"Patients: ",$S(VAUTN:"All",1:"")
|
||
|
. I 'VAUTN S SDITEM="" F S SDITEM=$O(VAUTN(SDITEM)) Q:'SDITEM W !?15,VAUTN(SDITEM)
|
||
|
;
|
||
|
I SRT["ERR" D
|
||
|
. W !!?10,"Error Codes: ",$S(VAUER:"All",1:"")
|
||
|
. 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)
|
||
|
;
|
||
|
I SRT["DSS" D
|
||
|
. W !!?10,"Clinic Stop Codes: ",$S(VAUDS:"All",1:"")
|
||
|
. I 'VAUDS S SDITEM="" F S SDITEM=$O(VAUDS(SDITEM)) Q:'SDITEM W !?15,VAUDS(SDITEM)
|
||
|
Q
|