1 | SDAMOWP1 ;ALB/CAW - Appointment Waiting Time Print Routine ; 12/1/91
|
---|
2 | ;;5.3;Scheduling;**12,20**;Aug 13, 1993
|
---|
3 | ;
|
---|
4 | HDR ; -- print header
|
---|
5 | ;
|
---|
6 | N Y
|
---|
7 | D HDRD
|
---|
8 | ;
|
---|
9 | I $D(SDNO) D NO G HDR1
|
---|
10 | I SDSORT=1!(SDSORT=2) W !,?70," Clinic: ",$E(LEVEL1,1,23)
|
---|
11 | I SDSORT=3!(SDSORT=4) W !,?70,"Stop Code: ",$E(LEVEL1,1,23)
|
---|
12 | ;
|
---|
13 | HDR1 W !,"Sorted By: ",$P($T(SORT1+SDSORT),";;",2)
|
---|
14 | I SDSORT'=5,$D(^TMP("SDWTTOT",$J,+SDDIV,LEVEL1,"PRIM")) W ?70," Total: ",+^("PRIM")
|
---|
15 | I SDSORT=5,$D(^TMP("SDWTTOTD",$J,+SDDIV,"DIV")) W ?70," Total: ",+^("DIV")
|
---|
16 | ;
|
---|
17 | W !,SDASH
|
---|
18 | I SDSEL=1 W !,"Patient",?20,"ID",?26,$S("^3^4^5^"[(U_SDSORT_U):"Clinic",1:""),?46,"Check-In",?62,"Appointment",?78,"Elapsed",?92,"Check-Out",?109,"Elapsed",?120,"Total"
|
---|
19 | I SDSEL=1 W !,?46,"Date/Time",?62,"Date/Time",?78,"Time",?92,"Date/Time",?109,"Time",?120,"Time",!,SDASH
|
---|
20 | HDRQ Q
|
---|
21 | ;
|
---|
22 | HDRD ; Print header with dates
|
---|
23 | ;
|
---|
24 | W @IOF,"Appointment Waiting Time Report",?51,"Report Date: ",$P($$NOW^VALM1,":",1,2)
|
---|
25 | S SDPAGE=SDPAGE+1 W ?108,"Page: ",SDPAGE
|
---|
26 | W !,SDASH
|
---|
27 | ;
|
---|
28 | W !,"Dates : ",$$FDATE^VALM1(SDBEG)," to ",$$FDATE^VALM1(SDEND)
|
---|
29 | I $D(SDNO) D NODIV G HDRDQ
|
---|
30 | S SDDIVNAM=$E($S($D(^DG(40.8,+SDDIV,0)):$P(^(0),U),1:""),1,SDLEN)
|
---|
31 | I SDDIVNAM'="" W ?70," Division: ",SDDIVNAM
|
---|
32 | HDRDQ Q
|
---|
33 | ;
|
---|
34 | HDRT(SORT) ; Print header for totals
|
---|
35 | ;
|
---|
36 | N SRT S SRT=$G(SORT)
|
---|
37 | W !,$S("^1^2^"[(U_SRT_U):"Clinic","^3^4^"[(U_SRT_U):"Stop Code",1:"Division"),?40,"Appointments",?56,"Total CI Time",?71,"Total CO Time",?86,"Average Pre",?101,"Average Post",?116,"Average Total"
|
---|
38 | W !,?86,"Waiting Time",?101,"Waiting Time",?116,"Waiting Time"
|
---|
39 | W !,SDASH
|
---|
40 | Q
|
---|
41 | TOT(WHAT,LEVEL1,DIV) ; Print totals
|
---|
42 | ;
|
---|
43 | N TOTAL,TOTAL1,TOTAL2,TOTAL3,TOTAL4
|
---|
44 | I WHAT="PRIM" S TOTAL=$G(^TMP("SDWTTOT",$J,+DIV,LEVEL1,"PRIM"))
|
---|
45 | I WHAT="DIV" S TOTAL=$G(^TMP("SDWTTOTD",$J,+DIV,"DIV"))
|
---|
46 | I WHAT="GRAND" S TOTAL=$G(^TMP("SDWTTOTG",$J,"GRAND"))
|
---|
47 | S TOTAL1=$P(TOTAL,U,1),TOTAL2=$P(TOTAL,U,2),TOTAL3=$P(TOTAL,U,3),TOTAL4=$P(TOTAL,U,4)
|
---|
48 | W !,$G(LEVEL1)
|
---|
49 | W ?40,TOTAL1
|
---|
50 | W ?56,$$HRS^SDAMOWP(TOTAL2)
|
---|
51 | W ?71,$$HRS^SDAMOWP(TOTAL3)
|
---|
52 | W ?86,$$HRS^SDAMOWP($P((TOTAL2/TOTAL1),"."))
|
---|
53 | W ?101,$$HRS^SDAMOWP($P((TOTAL3/TOTAL1),"."))
|
---|
54 | W ?116,$$HRS^SDAMOWP($P((TOTAL4/TOTAL1),"."))
|
---|
55 | TOTQ Q
|
---|
56 | ;
|
---|
57 | SORT1 ; -- hdr labels for sort
|
---|
58 | ;;DIVISION, CLINIC, PATIENT
|
---|
59 | ;;DIVISION, CLINIC, APPOINTMENT DATE/TIME
|
---|
60 | ;;DIVISION, STOP CODE, CLINIC
|
---|
61 | ;;DIVISION, STOP CODE, PATIENT
|
---|
62 | ;;DIVISION, PATIENT, APPOINTMENT DATE/TIME
|
---|
63 | ;;$$END
|
---|
64 | Q
|
---|
65 | ;
|
---|
66 | TOTP(SORT,DIV,LEVEL1) ; Print totals
|
---|
67 | ;
|
---|
68 | D HDRD,HDRT(SORT)
|
---|
69 | F S LEVEL1=$O(^TMP("SDWTTOT",$J,+DIV,LEVEL1)) Q:LEVEL1=""!(SDQUIT) D
|
---|
70 | .D CHECK(SORT) Q:SDQUIT
|
---|
71 | .D TOT("PRIM",LEVEL1,DIV)
|
---|
72 | Q:SDQUIT
|
---|
73 | W !,SDASH1
|
---|
74 | D TOT("DIV","TOTAL",DIV),LEGEND
|
---|
75 | D PAUSE^SDAMOWP
|
---|
76 | Q
|
---|
77 | ;
|
---|
78 | CHECK(SORT) ; check to see if header should be printed
|
---|
79 | I 'SDPAGE D HDRT(SORT) Q
|
---|
80 | I $E(IOST,1,2)="C-",($Y+6)>IOSL D PAUSE^VALM1 I 'Y S SDQUIT=1 Q
|
---|
81 | I ($Y+6)>IOSL W @IOF D HDRT(SORT)
|
---|
82 | Q
|
---|
83 | ;
|
---|
84 | LEGEND ; Print legend on bottom
|
---|
85 | ;
|
---|
86 | W !!,?5,"o Check-In Date/Time - Time the patient first checks in at the clinic reception area."
|
---|
87 | W !,?5,"o Appointment Date/Time - Time of the veteran's scheduled appointment."
|
---|
88 | W !,?5,"o Elapsed Time(s) - 1. The elapsed period of time from the patient checking in at the clinic to the appointment time. "
|
---|
89 | W !,?5," (Appointment time minus Check-In time)"
|
---|
90 | W !,?5,"o 2. The elapsed period of time from the appointment time to the time the patient checks out."
|
---|
91 | W !,?5," (Check-Out time minus Appointment Time)"
|
---|
92 | W !,?5,"o Total Waiting Time - The elapsed period of time from the patient's check-in date/time to the time leaving the clinic"
|
---|
93 | W !,?5," after service is completed. (Check-Out time minus Check-In time)"
|
---|
94 | LEGENDQ Q
|
---|
95 | ;
|
---|
96 | NODIV ; Print divisions when no appts found
|
---|
97 | ;
|
---|
98 | N DIV S DIV="" W !,?70,"Division(s): "
|
---|
99 | I VAUTD=1 W "All" G NODIVQ
|
---|
100 | F S DIV=$O(VAUTD(DIV)) Q:DIV="" W ?83,VAUTD(DIV),!
|
---|
101 | NODIVQ Q
|
---|
102 | ;
|
---|
103 | NO ; Print stop code or clinic when no appts found
|
---|
104 | ;
|
---|
105 | N SDWHAT S SDWHAT="" W !,?72,$S(SDSORT=1!(SDSORT=2):"Clinic(s): ",SDSORT=3!(SDSORT=4):"Stop Code(s): ",1:"")
|
---|
106 | I SDSORT=1!(SDSORT=2),VAUTC=1 W "All" G NOQ
|
---|
107 | I SDSORT=1!(SDSORT=2) F S SDWHAT=$O(VAUTC(SDWHAT)) Q:SDWHAT="" W ?83,VAUTC(SDWHAT),!
|
---|
108 | I SDSORT=3!(SDSORT=4),VAUTS=1 W "All" G NOQ
|
---|
109 | I SDSORT=3!(SDSORT=4) F S SDWHAT=$O(VAUTS(SDWHAT)) Q:SDWHAT="" W ?87,VAUTS(SDWHAT),!
|
---|
110 | NOQ Q
|
---|