- SCRPW2 ;RENO/KEITH - Clinic Utilization Statistical Summary ; 16 May 99 6:19 PM
- ;;5.3;Scheduling;**139,144,163,184,194,1015**;AUG 13, 1993;Build 21
- ;
- D TITL^SCRPW50("Clinic Utilization Statistical Summary")
- N SDDIV G:'$$DIVA^SCRPW17(.SDDIV) EXIT
- DTR D SUBT^SCRPW50("*** Date Range Selection ***")
- FDT W ! S %DT="AEX",%DT("A")="Beginning date: " D ^%DT G:X=U!($D(DTOUT)) EXIT G:X="" EXIT
- G:Y<1 FDT S SDBDAY=Y X ^DD("DD") S SDPBDA=Y
- LDT W ! S %DT("A")=" Ending date: " D ^%DT G:X=U!($D(DTOUT)) EXIT G:X="" EXIT
- I Y<SDBDAY W !!,$C(7),"Ending date must be after beginning date!" G LDT
- G:Y<1 LDT S SDEDAY=Y_.9999 X ^DD("DD") S SDPEDA=Y
- TYP D SUBT^SCRPW50("*** Report Format Selection ***")
- S SDQUIT=0,DIR(0)="S^AC:ALL CLINICS;SC:SELECTED CLINICS;RC:RANGE OF CLINICS;RS:RANGE OF STOP CODES;CG:CLINIC GROUP"
- W ! D ^DIR G:($D(DTOUT)!$D(DUOUT)) EXIT S SDF=Y I Y="SC" D SEL G:(SDQUIT!'$D(SDCL)) EXIT
- I SDF="RC" D SRC S SDCL="",SDCL=$O(SDCL(SDCL)) G:SDCL="" EXIT S SDCL=$O(SDCL(SDCL)) G:SDCL="" EXIT
- I SDF="RS" D SRS G:'$O(SDCL(0)) EXIT
- I SDF="CG" D SCG G:'$O(SDCL(0)) EXIT
- N Z,ZTSAVE F Z="SDDIV","SDDIV(","SDBDAY","SDEDAY","SDPBDA","SDPEDA","SDF","SDCL(" S ZTSAVE(Z)=""
- W !!,"This report requires 132 column output.",! D EN^XUTMDEVQ("START^SCRPW2","Clinic Util. Stat. Summary",.ZTSAVE)
- G EXIT
- ;
- START ;Gather data and print report
- K ^TMP("SCRPW",$J) S SDOUT=0,SDMD="",SDMD=$O(SDDIV(SDMD)),SDMD=$O(SDDIV(SDMD)) S:$P(SDDIV,U,2)="ALL DIVISIONS" SDMD=1
- S X1=SDEDAY,X2=SDBDAY D ^%DTC S SDMAX=X+1 D INIT
- S SDSUB="SDTMP" D @(SDF_"^SCRPW3") K ^TMP(SDSUB,$J)
- S SDPAGE=1,SDLINE="",$P(SDLINE,"-",133)="" D NOW^%DTC S Y=% X ^DD("DD") S SDPNOW=$P(Y,":",1,2),SDT(1)="<*> CLINIC UTILIZATION STATISTICAL SUMMARY <*>"
- S SDT(2)=$S(SDF="AC":"FOR ALL ACTIVE CLINICS",SDF="SC":"FOR SELECTED CLINICS",SDF="RC":"FOR RANGE OF ACTIVE CLINICS",SDF="RS":"FOR RANGE OF STOP CODES",SDF="CG":"FOR CLINIC GROUP")
- I SDF="RC" S SDCLN=$O(SDCL("")),SDECL=$O(SDCL(SDCLN)),SDT(3)=SDCLN_" TO "_SDECL
- I SDF="RS" S SDBCS=$O(SDCL(0)),SDECS=$O(SDCL(SDBCS)) S:SDECS="" SDECS=SDBCS S SDT(2)=SDT(2)_": "_SDBCS_" TO "_SDECS
- I SDF="CG" S SDI=$O(SDCL(0)),SDT(2)=SDT(2)_": "_SDCL(SDI)
- S SDH(1)="W !?31,""Scheduled"",?45,""Addl."",?65,""Addl."",!?37,""and"",?42,""Variable"",?62,""Variable"",?114,""Percent"",?125,""Percent"""
- S SDH(2)="W !?29,""Unscheduled"",?45,""Appt."",?63,""No-show"",?76,""Over"",?86,""Open"",?92,""Adjusted"",?104,""Clinic"",?115,""Sched."",?126,""Actual"""
- S SDH(3)="W !?28,""Appointments"",?45,""Slots"",?52,""No-shows"",?65,""Slots"",?75,""Books"",?85,""Slots"",?94,""Avail."",?102,""Capacity"",?116,""Util."",?127,""Util."""
- D:$E(IOST)="C" DISP0^SCRPW23 I '$D(^TMP("SCRPW",$J)) S SDIV=0 D DHDR^SCRPW40(4,.SDT),HDR S SDX="No availability found for the specified date range." W !!?(132-$L(SDX)\2),SDX D FOOT G EXIT
- S SDIV="" F S SDIV=$O(SDDIV(SDIV)) Q:'SDIV S SDIV(SDDIV(SDIV))=SDIV
- I 'SDDIV,$P(SDDIV,U,2)'="ALL DIVISIONS" S SDIV($P(SDDIV,U,2))=$$PRIM^VASITE()
- I $P(SDDIV,U,2)="ALL DIVISIONS" S SDI=0 F S SDI=$O(^TMP("SCRPW",$J,SDI)) Q:'SDI S SDX=$P($G(^DG(40.8,SDI,0)),U) S:$L(SDX) SDIV(SDX)=SDI
- S SDIVN="" F S SDIVN=$O(SDIV(SDIVN)) Q:SDIVN=""!SDOUT S SDIV=SDIV(SDIVN) D DPRT(.SDIV)
- S SDI=0,SDI=$O(^TMP("SCRPW",$J,SDI)),SDMD=$O(^TMP("SCRPW",$J,SDI))
- G:SDOUT EXIT I SDMD S SDIV=0 D DPRT(.SDIV)
- I $E(IOST)="C",'SDOUT N DIR S DIR(0)="E" D ^DIR
- ;
- EXIT K SDA,SDAVA,SDMAX,SDC,SDCL,SDCL0,SDCLI,SDCLN,SDCT,SDDAY,SDEDAY,SDF,SDF1,SDH,SDI,SDL,SDAP,SDCAP,SDLINE,SDTAP,SDTOB,SDTSL,DTOUT,SDCP0,SDNS,SDPAS,SDTNS
- K SDCG,SDPAGE,SDDIV,SDAC,SDBDAY,SDEDAY,SDPBDA,SDPEDA,SDPNOW,SDLINE,%,%H,%I,%DT,SDIVN,SDLAP,SDMD,SDNSVS,SDOUT,SDPESL,SDPLAP,SDTNSVS,SDTVSL,SDVSL,SDX
- K SDSUB,SDS,SDTOS,SD,SDBCS,SDCSC,SDECS,SDECL,SDOB,SDOS,SDPCT,SDPR,SDPRN,SDQUIT,SDSL,SDT,SDTITL,DGPGM,DGVAR,DIC,DIR,STOUT,DUOUT,POP,X,X1,X2,Y,%Y
- D END^SCRPW50
- Q
- ;
- INIT ;Initialize array for counting patterns
- K SD N I
- S SD="123456789jklmnopqrstuvwxyz"
- F I=1:1:26 S SD($E(SD,I))=I
- Q
- ;
- DPRT(SDIV) ;Print report for a division
- D DHDR^SCRPW40(4,.SDT),HDR I '$D(^TMP("SCRPW",$J,SDIV)) S SDX="No availability found for this division within report parameters!" W !!?(132-$L(SDX)\2),SDX D FOOT Q
- W !!,"*** CLINIC SUMMARY ***" S SDCLN="",(SDTAP,SDTOB,SDTSL,SDTNS,SDTVSL,SDTNSVS,SDTOS)=0 D START^SCRPW3
- Q
- ;
- SEL ;Select clinics
- W ! F D ASK Q:(SDQUIT!(X=""))
- Q
- ASK K DIC S DIC(0)="AEMQ",DIC="^SC(",DIC("S")="I $P(^(0),U,3)=""C""" S:SDDIV DIC("S")=DIC("S")_",$D(SDDIV(+$P(^(0),U,15)))" D ^DIC
- I ($D(DTOUT)!$D(DUOUT)) S SDQUIT=1
- S:Y>0 SDCL(+Y)=""
- Q
- ;
- SRC ;Select range of clinics
- W ! K DIC S DIC="^SC(",DIC(0)="AEMQ",DIC("S")="I $P(^(0),U,3)=""C"""_$S(SDDIV:",$D(SDDIV(+$P(^(0),U,15)))",1:""),DIC("A")="Select BEGINNING Clinic: " D ^DIC Q:($D(DTOUT)!$D(DUOUT)!(X="")) S SDCL($P(Y,U,2))=$P(Y,U)
- C2 W ! S DIC("A")="Select ENDING Clinic: " D ^DIC Q:($D(DTOUT)!$D(DUOUT)!(X="")) I $P(Y,U,2)]$O(SDCL("")) S SDCL($P(Y,U,2))=$P(Y,U) Q
- W !!,$C(7),"Ending clinic must collate after beginning clinic!" G C2
- ;
- SRS ;Select range of stop codes
- W ! K DIR S DIR(0)="N^100:999",DIR("A")="Select BEGINNING Stop Code: " D ^DIR Q:($D(DTOUT)!$D(DUOUT)) S SDCL(Y)="",DIR(0)="N^"_Y_":999",DIR("A")="Select ENDING Stop Code: "
- W ! D ^DIR Q:($D(DTOUT)!$D(DUOUT)) S SDCL(Y)=""
- Q
- ;
- SCG ;Select clinic group
- W ! K DIC S DIC="^SD(409.67,",DIC(0)="AEMQ" D ^DIC Q:$D(DTOUT)!$D(DUOUT) Q:Y<1 S SDCL(+Y)=$P(Y,U,2)
- Q
- ;
- HDR ;Print report header
- I $E(IOST)="C",SDPAGE>1 N DIR S DIR(0)="E" D ^DIR S SDOUT=Y'=1 Q:SDOUT
- D STOP^SCRPW3 Q:SDOUT
- W:SDPAGE>1!($E(IOST)="C") $$XY^SCRPW50(IOF,1,0) W:$X $$XY^SCRPW50("",0,0) W SDLINE S X=0 F S X=$O(SDT(X)) Q:'X W !?(132-$L(SDT(X))\2),SDT(X)
- W !,SDLINE,!,"For date range: ",SDPBDA," to ",SDPEDA,!,"Date printed: ",SDPNOW,?(126-$L(SDPAGE)),"Page: ",SDPAGE
- W !,SDLINE S X=0 F S X=$O(SDH(X)) Q:'X X SDH(X)
- W !,SDLINE S SDPAGE=SDPAGE+1
- Q
- ;
- N SDI
- F SDI=1:1:80 Q:$Y>(IOSL-8) W !
- W SDLINE,!,"NOTE: Appointment totals include no-shows, overbooks, sched. and unsched. appts. Overbooks = sched. and unsched. appts. - clinic"
- W !?6,"capacity (or 0 if greater). Open slots = regular (untaken) appt. slots. Adjusted availability = clinic capacity - sched. and"
- W !?6,"unsched. appts. - additional variable appt. slots. Percent scheduling utilization = sched. and unsched. appts. + additional"
- W !?6,"variable appt. slots (times 100) divided by clinic capacity. Percent actual utilization = sched. and unsched. appts. + addl."
- W !?6,"variable appointment slots - no-shows - additional variable no-show slots (times 100) divided by clinic capacity.",!,SDLINE
- Q
- SCRPW2 ;RENO/KEITH - Clinic Utilization Statistical Summary ; 16 May 99 6:19 PM
- +1 ;;5.3;Scheduling;**139,144,163,184,194,1015**;AUG 13, 1993;Build 21
- +2 ;
- +3 DO TITL^SCRPW50("Clinic Utilization Statistical Summary")
- +4 NEW SDDIV
- IF '$$DIVA^SCRPW17(.SDDIV)
- GOTO EXIT
- DTR DO SUBT^SCRPW50("*** Date Range Selection ***")
- FDT WRITE !
- SET %DT="AEX"
- SET %DT("A")="Beginning date: "
- DO ^%DT
- IF X=U!($DATA(DTOUT))
- GOTO EXIT
- IF X=""
- GOTO EXIT
- +1 IF Y<1
- GOTO FDT
- SET SDBDAY=Y
- XECUTE ^DD("DD")
- SET SDPBDA=Y
- LDT WRITE !
- SET %DT("A")=" Ending date: "
- DO ^%DT
- IF X=U!($DATA(DTOUT))
- GOTO EXIT
- IF X=""
- GOTO EXIT
- +1 IF Y<SDBDAY
- WRITE !!,$CHAR(7),"Ending date must be after beginning date!"
- GOTO LDT
- +2 IF Y<1
- GOTO LDT
- SET SDEDAY=Y_.9999
- XECUTE ^DD("DD")
- SET SDPEDA=Y
- TYP DO SUBT^SCRPW50("*** Report Format Selection ***")
- +1 SET SDQUIT=0
- SET DIR(0)="S^AC:ALL CLINICS;SC:SELECTED CLINICS;RC:RANGE OF CLINICS;RS:RANGE OF STOP CODES;CG:CLINIC GROUP"
- +2 WRITE !
- DO ^DIR
- IF ($DATA(DTOUT)!$DATA(DUOUT))
- GOTO EXIT
- SET SDF=Y
- IF Y="SC"
- DO SEL
- IF (SDQUIT!'$DATA(SDCL))
- GOTO EXIT
- +3 IF SDF="RC"
- DO SRC
- SET SDCL=""
- SET SDCL=$ORDER(SDCL(SDCL))
- IF SDCL=""
- GOTO EXIT
- SET SDCL=$ORDER(SDCL(SDCL))
- IF SDCL=""
- GOTO EXIT
- +4 IF SDF="RS"
- DO SRS
- IF '$ORDER(SDCL(0))
- GOTO EXIT
- +5 IF SDF="CG"
- DO SCG
- IF '$ORDER(SDCL(0))
- GOTO EXIT
- +6 NEW Z,ZTSAVE
- FOR Z="SDDIV","SDDIV(","SDBDAY","SDEDAY","SDPBDA","SDPEDA","SDF","SDCL("
- SET ZTSAVE(Z)=""
- +7 WRITE !!,"This report requires 132 column output.",!
- DO EN^XUTMDEVQ("START^SCRPW2","Clinic Util. Stat. Summary",.ZTSAVE)
- +8 GOTO EXIT
- +9 ;
- START ;Gather data and print report
- +1 KILL ^TMP("SCRPW",$JOB)
- SET SDOUT=0
- SET SDMD=""
- SET SDMD=$ORDER(SDDIV(SDMD))
- SET SDMD=$ORDER(SDDIV(SDMD))
- IF $PIECE(SDDIV,U,2)="ALL DIVISIONS"
- SET SDMD=1
- +2 SET X1=SDEDAY
- SET X2=SDBDAY
- DO ^%DTC
- SET SDMAX=X+1
- DO INIT
- +3 SET SDSUB="SDTMP"
- DO @(SDF_"^SCRPW3")
- KILL ^TMP(SDSUB,$JOB)
- +4 SET SDPAGE=1
- SET SDLINE=""
- SET $PIECE(SDLINE,"-",133)=""
- DO NOW^%DTC
- SET Y=%
- XECUTE ^DD("DD")
- SET SDPNOW=$PIECE(Y,":",1,2)
- SET SDT(1)="<*> CLINIC UTILIZATION STATISTICAL SUMMARY <*>"
- +5 SET SDT(2)=$SELECT(SDF="AC":"FOR ALL ACTIVE CLINICS",SDF="SC":"FOR SELECTED CLINICS",SDF="RC":"FOR RANGE OF ACTIVE CLINICS",SDF="RS":"FOR RANGE OF STOP CODES",SDF="CG":"FOR CLINIC GROUP")
- +6 IF SDF="RC"
- SET SDCLN=$ORDER(SDCL(""))
- SET SDECL=$ORDER(SDCL(SDCLN))
- SET SDT(3)=SDCLN_" TO "_SDECL
- +7 IF SDF="RS"
- SET SDBCS=$ORDER(SDCL(0))
- SET SDECS=$ORDER(SDCL(SDBCS))
- IF SDECS=""
- SET SDECS=SDBCS
- SET SDT(2)=SDT(2)_": "_SDBCS_" TO "_SDECS
- +8 IF SDF="CG"
- SET SDI=$ORDER(SDCL(0))
- SET SDT(2)=SDT(2)_": "_SDCL(SDI)
- +9 SET SDH(1)="W !?31,""Scheduled"",?45,""Addl."",?65,""Addl."",!?37,""and"",?42,""Variable"",?62,""Variable"",?114,""Percent"",?125,""Percent"""
- +10 SET SDH(2)="W !?29,""Unscheduled"",?45,""Appt."",?63,""No-show"",?76,""Over"",?86,""Open"",?92,""Adjusted"",?104,""Clinic"",?115,""Sched."",?126,""Actual"""
- +11 SET SDH(3)="W !?28,""Appointments"",?45,""Slots"",?52,""No-shows"",?65,""Slots"",?75,""Books"",?85,""Slots"",?94,""Avail."",?102,""Capacity"",?116,""Util."",?127,""Util."""
- +12 IF $EXTRACT(IOST)="C"
- DO DISP0^SCRPW23
- IF '$DATA(^TMP("SCRPW",$JOB))
- SET SDIV=0
- DO DHDR^SCRPW40(4,.SDT)
- DO HDR
- SET SDX="No availability found for the specified date range."
- WRITE !!?(132-$LENGTH(SDX)\2),SDX
- DO FOOT
- GOTO EXIT
- +13 SET SDIV=""
- FOR
- SET SDIV=$ORDER(SDDIV(SDIV))
- IF 'SDIV
- QUIT
- SET SDIV(SDDIV(SDIV))=SDIV
- +14 IF 'SDDIV
- IF $PIECE(SDDIV,U,2)'="ALL DIVISIONS"
- SET SDIV($PIECE(SDDIV,U,2))=$$PRIM^VASITE()
- +15 IF $PIECE(SDDIV,U,2)="ALL DIVISIONS"
- SET SDI=0
- FOR
- SET SDI=$ORDER(^TMP("SCRPW",$JOB,SDI))
- IF 'SDI
- QUIT
- SET SDX=$PIECE($GET(^DG(40.8,SDI,0)),U)
- IF $LENGTH(SDX)
- SET SDIV(SDX)=SDI
- +16 SET SDIVN=""
- FOR
- SET SDIVN=$ORDER(SDIV(SDIVN))
- IF SDIVN=""!SDOUT
- QUIT
- SET SDIV=SDIV(SDIVN)
- DO DPRT(.SDIV)
- +17 SET SDI=0
- SET SDI=$ORDER(^TMP("SCRPW",$JOB,SDI))
- SET SDMD=$ORDER(^TMP("SCRPW",$JOB,SDI))
- +18 IF SDOUT
- GOTO EXIT
- IF SDMD
- SET SDIV=0
- DO DPRT(.SDIV)
- +19 IF $EXTRACT(IOST)="C"
- IF 'SDOUT
- NEW DIR
- SET DIR(0)="E"
- DO ^DIR
- +20 ;
- EXIT KILL SDA,SDAVA,SDMAX,SDC,SDCL,SDCL0,SDCLI,SDCLN,SDCT,SDDAY,SDEDAY,SDF,SDF1,SDH,SDI,SDL,SDAP,SDCAP,SDLINE,SDTAP,SDTOB,SDTSL,DTOUT,SDCP0,SDNS,SDPAS,SDTNS
- +1 KILL SDCG,SDPAGE,SDDIV,SDAC,SDBDAY,SDEDAY,SDPBDA,SDPEDA,SDPNOW,SDLINE,%,%H,%I,%DT,SDIVN,SDLAP,SDMD,SDNSVS,SDOUT,SDPESL,SDPLAP,SDTNSVS,SDTVSL,SDVSL,SDX
- +2 KILL SDSUB,SDS,SDTOS,SD,SDBCS,SDCSC,SDECS,SDECL,SDOB,SDOS,SDPCT,SDPR,SDPRN,SDQUIT,SDSL,SDT,SDTITL,DGPGM,DGVAR,DIC,DIR,STOUT,DUOUT,POP,X,X1,X2,Y,%Y
- +3 DO END^SCRPW50
- +4 QUIT
- +5 ;
- INIT ;Initialize array for counting patterns
- +1 KILL SD
- NEW I
- +2 SET SD="123456789jklmnopqrstuvwxyz"
- +3 FOR I=1:1:26
- SET SD($EXTRACT(SD,I))=I
- +4 QUIT
- +5 ;
- DPRT(SDIV) ;Print report for a division
- +1 DO DHDR^SCRPW40(4,.SDT)
- DO HDR
- IF '$DATA(^TMP("SCRPW",$JOB,SDIV))
- SET SDX="No availability found for this division within report parameters!"
- WRITE !!?(132-$LENGTH(SDX)\2),SDX
- DO FOOT
- QUIT
- +2 WRITE !!,"*** CLINIC SUMMARY ***"
- SET SDCLN=""
- SET (SDTAP,SDTOB,SDTSL,SDTNS,SDTVSL,SDTNSVS,SDTOS)=0
- DO START^SCRPW3
- +3 QUIT
- +4 ;
- SEL ;Select clinics
- +1 WRITE !
- FOR
- DO ASK
- IF (SDQUIT!(X=""))
- QUIT
- +2 QUIT
- ASK KILL DIC
- SET DIC(0)="AEMQ"
- SET DIC="^SC("
- SET DIC("S")="I $P(^(0),U,3)=""C"""
- IF SDDIV
- SET DIC("S")=DIC("S")_",$D(SDDIV(+$P(^(0),U,15)))"
- DO ^DIC
- +1 IF ($DATA(DTOUT)!$DATA(DUOUT))
- SET SDQUIT=1
- +2 IF Y>0
- SET SDCL(+Y)=""
- +3 QUIT
- +4 ;
- SRC ;Select range of clinics
- +1 WRITE !
- KILL DIC
- SET DIC="^SC("
- SET DIC(0)="AEMQ"
- SET DIC("S")="I $P(^(0),U,3)=""C"""_$SELECT(SDDIV:",$D(SDDIV(+$P(^(0),U,15)))",1:"")
- SET DIC("A")="Select BEGINNING Clinic: "
- DO ^DIC
- IF ($DATA(DTOUT)!$DATA(DUOUT)!(X=""))
- QUIT
- SET SDCL($PIECE(Y,U,2))=$PIECE(Y,U)
- C2 WRITE !
- SET DIC("A")="Select ENDING Clinic: "
- DO ^DIC
- IF ($DATA(DTOUT)!$DATA(DUOUT)!(X=""))
- QUIT
- IF $PIECE(Y,U,2)]$ORDER(SDCL(""))
- SET SDCL($PIECE(Y,U,2))=$PIECE(Y,U)
- QUIT
- +1 WRITE !!,$CHAR(7),"Ending clinic must collate after beginning clinic!"
- GOTO C2
- +2 ;
- SRS ;Select range of stop codes
- +1 WRITE !
- KILL DIR
- SET DIR(0)="N^100:999"
- SET DIR("A")="Select BEGINNING Stop Code: "
- DO ^DIR
- IF ($DATA(DTOUT)!$DATA(DUOUT))
- QUIT
- SET SDCL(Y)=""
- SET DIR(0)="N^"_Y_":999"
- SET DIR("A")="Select ENDING Stop Code: "
- +2 WRITE !
- DO ^DIR
- IF ($DATA(DTOUT)!$DATA(DUOUT))
- QUIT
- SET SDCL(Y)=""
- +3 QUIT
- +4 ;
- SCG ;Select clinic group
- +1 WRITE !
- KILL DIC
- SET DIC="^SD(409.67,"
- SET DIC(0)="AEMQ"
- DO ^DIC
- IF $DATA(DTOUT)!$DATA(DUOUT)
- QUIT
- IF Y<1
- QUIT
- SET SDCL(+Y)=$PIECE(Y,U,2)
- +2 QUIT
- +3 ;
- HDR ;Print report header
- +1 IF $EXTRACT(IOST)="C"
- IF SDPAGE>1
- NEW DIR
- SET DIR(0)="E"
- DO ^DIR
- SET SDOUT=Y'=1
- IF SDOUT
- QUIT
- +2 DO STOP^SCRPW3
- IF SDOUT
- QUIT
- +3 IF SDPAGE>1!($EXTRACT(IOST)="C")
- WRITE $$XY^SCRPW50(IOF,1,0)
- IF $X
- WRITE $$XY^SCRPW50("",0,0)
- WRITE SDLINE
- SET X=0
- FOR
- SET X=$ORDER(SDT(X))
- IF 'X
- QUIT
- WRITE !?(132-$LENGTH(SDT(X))\2),SDT(X)
- +4 WRITE !,SDLINE,!,"For date range: ",SDPBDA," to ",SDPEDA,!,"Date printed: ",SDPNOW,?(126-$LENGTH(SDPAGE)),"Page: ",SDPAGE
- +5 WRITE !,SDLINE
- SET X=0
- FOR
- SET X=$ORDER(SDH(X))
- IF 'X
- QUIT
- XECUTE SDH(X)
- +6 WRITE !,SDLINE
- SET SDPAGE=SDPAGE+1
- +7 QUIT
- +8 ;
- +1 NEW SDI
- +2 FOR SDI=1:1:80
- IF $Y>(IOSL-8)
- QUIT
- WRITE !
- +3 WRITE SDLINE,!,"NOTE: Appointment totals include no-shows, overbooks, sched. and unsched. appts. Overbooks = sched. and unsched. appts. - clinic"
- +4 WRITE !?6,"capacity (or 0 if greater). Open slots = regular (untaken) appt. slots. Adjusted availability = clinic capacity - sched. and"
- +5 WRITE !?6,"unsched. appts. - additional variable appt. slots. Percent scheduling utilization = sched. and unsched. appts. + additional"
- +6 WRITE !?6,"variable appt. slots (times 100) divided by clinic capacity. Percent actual utilization = sched. and unsched. appts. + addl."
- +7 WRITE !?6,"variable appointment slots - no-shows - additional variable no-show slots (times 100) divided by clinic capacity.",!,SDLINE
- +8 QUIT