- SDAMOSP ;ALB/CAW - Print for Appointment Statistics;4/15/92
- ;;5.3;Scheduling;**22,1015**;Aug 13, 1993;Build 21
- ;IHS/ANMC/LJF 9/29/2000 added call to display legend within 80 columns
- ;
- HDR ;Report Header
- ;
- I $E(IOST,1,2)="C-" D PAUSE^VALM1 I 'Y S SDSTOP=1 Q
- HDR1 W @IOF,$S('SDFLG:"Division: "_$P($G(^DG(40.8,SDDV,0)),U),1:"MEDICAL CENTER")
- W ?41,"Date Range: ",$$FDATE^VALM1(SDBEG)_" to "_$$FDATE^VALM1(SDEND)
- D NOW^%DTC W ?95,"Run Date: ",$E($$FDTTM^VALM1(%),1,14),?125,"Page: ",SDPAGE S SDPAGE=SDPAGE+1
- W !,?1,$S('SDFLG:"Clinic",1:"Division"),?34,"Checked-In",?48,"Checked-Out",?63,"No Action Taken",?83,"___No-show___",?99,"__Cancelled__",?114,"Inpatient",?127,"Total"
- W !,?83,"Tot",?89,"CI",?94,"RB",?99,"Tot",?105,"CI",?110,"RB",!,SDASH
- Q
- ;
- BLD ;Build output from ^TMP global
- ;
- S (SDSTOP,SDTOT,SDFLG)=0,SDDV="" F S SDDV=$O(^TMP("SDAMS",$J,SDDV)) Q:SDDV=""!(SDSTOP) D:SDSEL=5 HDR D
- .S SDCL="" F S SDCL=$O(^TMP("SDAMS",$J,SDDV,SDCL)) Q:SDCL=""!(SDSTOP) D S SDNXT=$O(^TMP("SDAMS",$J,SDDV,SDCL)) I SDNXT'="" W:SDSEL=4 !,SDASH
- ..S SDCLI="" F S SDCLI=$O(^TMP("SDAMS",$J,SDDV,SDCL,SDCLI)) Q:'SDCLI!(SDSTOP) D
- ...S SDAT="" F S SDAT=$O(^TMP("SDAMS",$J,SDDV,SDCL,SDCLI,SDAT)) Q:'SDAT!(SDSTOP) S SDCNT(SDAT)=^(SDAT)
- ...W:SDSEL=5 !,SDCL F SDI=1:1:11 S SDTOT=$G(SDTOT)+$G(SDCNT(SDI))
- ...D:SDSEL=5 CNT
- ...I SDSEL=5 W ?124,$J(SDTOT,8) K SDTOT,SDCNT D CHK Q:SDSTOP
- .Q:SDSTOP I SDSEL=5 W !,SDTDASH,!,"TOTAL" D TOTAL W ?124,$J(SDTOT,8) K SDTOT,SDCNT D CHK Q:SDSTOP
- .I SDSEL=5 W !! D LEGEND
- BLDQ I SDSTOP Q
- ;
- MCTOT S SDFLG=1,SDDV="" D HDR F S SDDV=$O(^TMP("SDAMS",$J,SDDV)) Q:SDDV="" D Q:SDSTOP
- .W !,$P($G(^DG(40.8,SDDV,0)),U)
- .K SDTOT,SDCNT D TOTAL
- .W ?124,$J(SDTOT,8)
- .D CHK Q:SDSTOP
- .S SDNXT=$O(^TMP("SDAMS",$J,SDDV)) W:SDNXT'="" !,SDASH
- .K SDTOT,SDCNT
- W !,SDTDASH,!,"TOTAL" F SDI=1:1:11 S SDCNT(SDI)=+$G(SDAT("SDAMS",$J,SDI)),SDTOT=$G(SDTOT)+$G(SDCNT(SDI))
- D CNT
- W ?124,$J(SDTOT,8) K SDTOT,SDCNT D CHK I SDSTOP G MCTOTQ
- W !! D LEGEND
- MCTOTQ Q
- CNT ;Place no-show/no-show auto rebook & cancel/cancel auto-rebook together
- S SDCNT(4)=+$G(SDCNT(4))+(+$G(SDCNT(6))),SDCNT(13)=+$G(SDCI(+SDCL,4))+(+$G(SDCI(+SDCL,6)))
- S SDCNT(5)=+$G(SDCNT(5))+(+$G(SDCNT(7))),SDCNT(14)=+$G(SDCI(+SDCL,5))+(+$G(SDCI(+SDCL,7)))
- F SDI=1,2,3,4,13,6,5,14,7,8 D
- .W ?$$COL(SDI),$J($S($D(SDCNT(SDI)):SDCNT(SDI),1:0),$$LEN(SDI))
- Q
- ;
- CHK ;Check to pause on screen
- I $E(IOST,1,2)="C-",($Y+6)>IOSL D PAUSE^VALM1 S SDY=Y D:SDY HDR1 I 'SDY S SDSTOP=1 Q
- I ($Y+6)>IOSL D HDR1
- Q
- TOTAL ;Totals
- F SDI=1:1:11 S SDCNT(SDI)=+$G(SDCL("SDAMS",$J,SDDV,SDI)),SDTOT=$G(SDTOT)+$G(SDCNT(SDI))
- D CNT
- K SDCNT
- Q
- ;
- LEGEND ;Legend on bottom of output
- D LEGEND^BSDAMO Q ;IHS/ANMC/LJF 9/29/2000
- ;
- W !,?5,"o CI=Checked In ; RB=Rebooked"
- W !,?5,"o 'Cancelled' appointments only reflect appointments cancelled using 'Cancel Clinic Availability'."
- W !,?5,"o 'Checked-In' does not include no-shows or cancelled appointments that have been checked in."
- Q
- ;
- COL(SDI) ;Column placement of appt. status
- ;
- ;input - SDI (appt. type)
- ;output - column placement
- Q $S(SDI=1:34,SDI=2:48,SDI=3:63,SDI=4:81,SDI=5:97,SDI=6:92,SDI=7:108,SDI=8:114,SDI=13:87,SDI=14:103)
- ;
- LEN(SDI) ;Length of column
- ;
- ;input - SDI (appt. type)
- ;output - length of column
- Q $S(SDI=1:10,SDI=2:11,SDI=3:15,SDI=4:5,SDI=6:4,SDI=5:5,SDI=7:4,SDI=8:9,SDI=13:4,SDI=14:4)
- ;
- SDAMOSP ;ALB/CAW - Print for Appointment Statistics;4/15/92
- +1 ;;5.3;Scheduling;**22,1015**;Aug 13, 1993;Build 21
- +2 ;IHS/ANMC/LJF 9/29/2000 added call to display legend within 80 columns
- +3 ;
- HDR ;Report Header
- +1 ;
- +2 IF $EXTRACT(IOST,1,2)="C-"
- DO PAUSE^VALM1
- IF 'Y
- SET SDSTOP=1
- QUIT
- HDR1 WRITE @IOF,$SELECT('SDFLG:"Division: "_$PIECE($GET(^DG(40.8,SDDV,0)),U),1:"MEDICAL CENTER")
- +1 WRITE ?41,"Date Range: ",$$FDATE^VALM1(SDBEG)_" to "_$$FDATE^VALM1(SDEND)
- +2 DO NOW^%DTC
- WRITE ?95,"Run Date: ",$EXTRACT($$FDTTM^VALM1(%),1,14),?125,"Page: ",SDPAGE
- SET SDPAGE=SDPAGE+1
- +3 WRITE !,?1,$SELECT('SDFLG:"Clinic",1:"Division"),?34,"Checked-In",?48,"Checked-Out",?63,"No Action Taken",?83,"___No-show___",?99,"__Cancelled__",?114,"Inpatient",?127,"Total"
- +4 WRITE !,?83,"Tot",?89,"CI",?94,"RB",?99,"Tot",?105,"CI",?110,"RB",!,SDASH
- +5 QUIT
- +6 ;
- BLD ;Build output from ^TMP global
- +1 ;
- +2 SET (SDSTOP,SDTOT,SDFLG)=0
- SET SDDV=""
- FOR
- SET SDDV=$ORDER(^TMP("SDAMS",$JOB,SDDV))
- IF SDDV=""!(SDSTOP)
- QUIT
- IF SDSEL=5
- DO HDR
- Begin DoDot:1
- +3 SET SDCL=""
- FOR
- SET SDCL=$ORDER(^TMP("SDAMS",$JOB,SDDV,SDCL))
- IF SDCL=""!(SDSTOP)
- QUIT
- Begin DoDot:2
- +4 SET SDCLI=""
- FOR
- SET SDCLI=$ORDER(^TMP("SDAMS",$JOB,SDDV,SDCL,SDCLI))
- IF 'SDCLI!(SDSTOP)
- QUIT
- Begin DoDot:3
- +5 SET SDAT=""
- FOR
- SET SDAT=$ORDER(^TMP("SDAMS",$JOB,SDDV,SDCL,SDCLI,SDAT))
- IF 'SDAT!(SDSTOP)
- QUIT
- SET SDCNT(SDAT)=^(SDAT)
- +6 IF SDSEL=5
- WRITE !,SDCL
- FOR SDI=1:1:11
- SET SDTOT=$GET(SDTOT)+$GET(SDCNT(SDI))
- +7 IF SDSEL=5
- DO CNT
- +8 IF SDSEL=5
- WRITE ?124,$JUSTIFY(SDTOT,8)
- KILL SDTOT,SDCNT
- DO CHK
- IF SDSTOP
- QUIT
- End DoDot:3
- End DoDot:2
- SET SDNXT=$ORDER(^TMP("SDAMS",$JOB,SDDV,SDCL))
- IF SDNXT'=""
- IF SDSEL=4
- WRITE !,SDASH
- +9 IF SDSTOP
- QUIT
- IF SDSEL=5
- WRITE !,SDTDASH,!,"TOTAL"
- DO TOTAL
- WRITE ?124,$JUSTIFY(SDTOT,8)
- KILL SDTOT,SDCNT
- DO CHK
- IF SDSTOP
- QUIT
- +10 IF SDSEL=5
- WRITE !!
- DO LEGEND
- End DoDot:1
- BLDQ IF SDSTOP
- QUIT
- +1 ;
- MCTOT SET SDFLG=1
- SET SDDV=""
- DO HDR
- FOR
- SET SDDV=$ORDER(^TMP("SDAMS",$JOB,SDDV))
- IF SDDV=""
- QUIT
- Begin DoDot:1
- +1 WRITE !,$PIECE($GET(^DG(40.8,SDDV,0)),U)
- +2 KILL SDTOT,SDCNT
- DO TOTAL
- +3 WRITE ?124,$JUSTIFY(SDTOT,8)
- +4 DO CHK
- IF SDSTOP
- QUIT
- +5 SET SDNXT=$ORDER(^TMP("SDAMS",$JOB,SDDV))
- IF SDNXT'=""
- WRITE !,SDASH
- +6 KILL SDTOT,SDCNT
- End DoDot:1
- IF SDSTOP
- QUIT
- +7 WRITE !,SDTDASH,!,"TOTAL"
- FOR SDI=1:1:11
- SET SDCNT(SDI)=+$GET(SDAT("SDAMS",$JOB,SDI))
- SET SDTOT=$GET(SDTOT)+$GET(SDCNT(SDI))
- +8 DO CNT
- +9 WRITE ?124,$JUSTIFY(SDTOT,8)
- KILL SDTOT,SDCNT
- DO CHK
- IF SDSTOP
- GOTO MCTOTQ
- +10 WRITE !!
- DO LEGEND
- MCTOTQ QUIT
- CNT ;Place no-show/no-show auto rebook & cancel/cancel auto-rebook together
- +1 SET SDCNT(4)=+$GET(SDCNT(4))+(+$GET(SDCNT(6)))
- SET SDCNT(13)=+$GET(SDCI(+SDCL,4))+(+$GET(SDCI(+SDCL,6)))
- +2 SET SDCNT(5)=+$GET(SDCNT(5))+(+$GET(SDCNT(7)))
- SET SDCNT(14)=+$GET(SDCI(+SDCL,5))+(+$GET(SDCI(+SDCL,7)))
- +3 FOR SDI=1,2,3,4,13,6,5,14,7,8
- Begin DoDot:1
- +4 WRITE ?$$COL(SDI),$JUSTIFY($SELECT($DATA(SDCNT(SDI)):SDCNT(SDI),1:0),$$LEN(SDI))
- End DoDot:1
- +5 QUIT
- +6 ;
- CHK ;Check to pause on screen
- +1 IF $EXTRACT(IOST,1,2)="C-"
- IF ($Y+6)>IOSL
- DO PAUSE^VALM1
- SET SDY=Y
- IF SDY
- DO HDR1
- IF 'SDY
- SET SDSTOP=1
- QUIT
- +2 IF ($Y+6)>IOSL
- DO HDR1
- +3 QUIT
- TOTAL ;Totals
- +1 FOR SDI=1:1:11
- SET SDCNT(SDI)=+$GET(SDCL("SDAMS",$JOB,SDDV,SDI))
- SET SDTOT=$GET(SDTOT)+$GET(SDCNT(SDI))
- +2 DO CNT
- +3 KILL SDCNT
- +4 QUIT
- +5 ;
- LEGEND ;Legend on bottom of output
- +1 ;IHS/ANMC/LJF 9/29/2000
- DO LEGEND^BSDAMO
- QUIT
- +2 ;
- +3 WRITE !,?5,"o CI=Checked In ; RB=Rebooked"
- +4 WRITE !,?5,"o 'Cancelled' appointments only reflect appointments cancelled using 'Cancel Clinic Availability'."
- +5 WRITE !,?5,"o 'Checked-In' does not include no-shows or cancelled appointments that have been checked in."
- +6 QUIT
- +7 ;
- COL(SDI) ;Column placement of appt. status
- +1 ;
- +2 ;input - SDI (appt. type)
- +3 ;output - column placement
- +4 QUIT $SELECT(SDI=1:34,SDI=2:48,SDI=3:63,SDI=4:81,SDI=5:97,SDI=6:92,SDI=7:108,SDI=8:114,SDI=13:87,SDI=14:103)
- +5 ;
- LEN(SDI) ;Length of column
- +1 ;
- +2 ;input - SDI (appt. type)
- +3 ;output - length of column
- +4 QUIT $SELECT(SDI=1:10,SDI=2:11,SDI=3:15,SDI=4:5,SDI=6:4,SDI=5:5,SDI=7:4,SDI=8:9,SDI=13:4,SDI=14:4)
- +5 ;