[613] | 1 | QACCSSTD ;WCIOFO/ERC - Routine for CSS totals ;8/16/97
|
---|
| 2 | ;;2.0;Patient Representative;**3,5,7,9,12**;07/25/1995
|
---|
| 3 | DATE ; Establish date range
|
---|
| 4 | K QACDVTOT
|
---|
| 5 | N QACCSS,QACDC,QACDFLG,QACISS,QACNODIV,QACSFLG,QACSRV,QACSV,QACYES
|
---|
| 6 | S QACRTN="QACCSSTD"
|
---|
| 7 | S QACDESC="Customer Service Standards Totals"
|
---|
| 8 | S (QACSUM,QACYES)=0
|
---|
| 9 | S DIR(0)="SOA^D:Detailed;S:Summary"
|
---|
| 10 | S DIR("A")="Select report format: "
|
---|
| 11 | S DIR("A",1)="Report Format (D)etailed or (S)ummary:"
|
---|
| 12 | S DIR("?")="Select ""D"" for detailed or ""S"" for summary."
|
---|
| 13 | D ^DIR Q:$D(DIRUT)
|
---|
| 14 | K DIR
|
---|
| 15 | I Y="S" S QACSUM=1
|
---|
| 16 | D DATDIV^QACUTL0 Q:$G(QAQPOP)=1
|
---|
| 17 | I $G(QACDV)=0!($G(QACDV)']"") S QACNODIV=1
|
---|
| 18 | I $G(QACSUM)=1 G TASK
|
---|
| 19 | S DIR(0)="YOA"
|
---|
| 20 | S DIR("A")="Do you want to print this report for just one Discipline? "
|
---|
| 21 | S DIR("B")="No"
|
---|
| 22 | S DIR("?")="Enter 'YES' if you prefer to print this report for one specific Discipline."
|
---|
| 23 | D ^DIR Q:$D(DIRUT) I Y=1 D DISC
|
---|
| 24 | I QACYES=0 D
|
---|
| 25 | . S DIR("A")="Do you want to print this report for just one Service/Discipline? "
|
---|
| 26 | . S DIR("B")="No"
|
---|
| 27 | . S DIR("?")="Enter 'Yes' if you prefer to print this report for one Service/Discipline."
|
---|
| 28 | . D ^DIR Q:$D(DIRUT)
|
---|
| 29 | . I Y=1 D SERV
|
---|
| 30 | Q:$D(DIRUT)
|
---|
| 31 | TASK ;
|
---|
| 32 | K %ZIS,IOP S %ZIS="MQ" W ! D ^%ZIS G:POP EXIT
|
---|
| 33 | I $D(IO("Q")) D G EXIT
|
---|
| 34 | . S (ZTSAVE("QACD0"),ZTSAVE("QAISS"),ZTSAVE("QACISSC"))=""
|
---|
| 35 | . S ZTSAVE("QACSTD")=""
|
---|
| 36 | . S (ZTSAVE("QACSFLG"),ZTSAVE("QACDFLG"))=""
|
---|
| 37 | . S (ZTSAVE("QACDIS"),ZTSAVE("QACSVD"))=""
|
---|
| 38 | . S ZTDESC=QACDESC
|
---|
| 39 | . S ZTSAVE("QACCSS")=""
|
---|
| 40 | . S ZTSAVE("QACRTN")=""
|
---|
| 41 | . S ZTSAVE("QACSTD")=""
|
---|
| 42 | . S ZTSAVE("QAQRANG")=""
|
---|
| 43 | . S ZTSAVE("QACSUM")=""
|
---|
| 44 | . S ZTSAVE("QACEE")=""
|
---|
| 45 | . S ZTRTN="TSK^QACCSSTD"
|
---|
| 46 | . D TASK^QACUTL0
|
---|
| 47 | . Q
|
---|
| 48 | TSK ; Get data for totaling
|
---|
| 49 | U IO
|
---|
| 50 | INIT ; set up counters for each CSS, discipline and for the total count
|
---|
| 51 | D SETUP^QACEMPE
|
---|
| 52 | ;set up local array for CSS in external format
|
---|
| 53 | S QACAA=0
|
---|
| 54 | F S QACAA=$O(^QA(745.6,QACAA)) Q:QACAA'>0 D
|
---|
| 55 | . S QACSTD(QACAA)=$P(^QA(745.6,QACAA,0),U,2)
|
---|
| 56 | S QACROU="SET^QACCSSTD"
|
---|
| 57 | ;loop through "D" cross-reference (date)
|
---|
| 58 | D LOOP1^QACSPRD(QACROU,QAQNBEG,QAQNEND,.QACD0)
|
---|
| 59 | I $G(QACSUM)=1 D PRINTSUM D EXIT Q
|
---|
| 60 | D PRINT
|
---|
| 61 | D EXIT
|
---|
| 62 | Q
|
---|
| 63 | SET ;
|
---|
| 64 | S QACDDV=$P(^QA(745.1,QACD0,0),U,16)
|
---|
| 65 | D INST^QACUTL0(QACDDV,.QACDDD)
|
---|
| 66 | I $G(QAC1DIV)]"" I $G(QAC1DIV)'=$G(QACDDV) Q
|
---|
| 67 | S QACDDV=QACDDD
|
---|
| 68 | ;if not integrated division set to 0 for sorting purposes in ^TMP
|
---|
| 69 | S QACDDV=$S($G(QACNODIV)'=1:$G(QACDDV,"Unknown"),1:0)
|
---|
| 70 | ;loops through the issue code multiple
|
---|
| 71 | K QACIC
|
---|
| 72 | D ISSLOOP^QACBYLOC
|
---|
| 73 | I '$D(QACIC) Q
|
---|
| 74 | S QACAA=0
|
---|
| 75 | F S QACAA=$O(QACIC(QACAA)) Q:QACAA'>0 D
|
---|
| 76 | . Q:'$D(^QA(745.2,QACIC(QACAA),0))
|
---|
| 77 | . S QACCSS=$P(^QA(745.2,QACIC(QACAA),0),U,7) Q:QACCSS']""
|
---|
| 78 | . S QACCSS=$P(^QA(745.6,QACCSS,0),U,2)
|
---|
| 79 | . I $G(QACSUM)=1 D COUNTSUM Q
|
---|
| 80 | . S QACBB=0,QACQUT=""
|
---|
| 81 | . F S QACBB=$O(^QA(745.1,QACD0,3,QACAA,3,QACBB)) Q:(QACBB'>0)&(QACBB]"") Q:$G(QACQUT) D
|
---|
| 82 | . . I $G(QACBB)'>0 I ($G(QACDFLG)=1!$G(QACSFLG)=1) S QACQUT=1 Q
|
---|
| 83 | . . I $G(QACBB)'>0 S (QACSVD,QACDIS)="Unknown",QACQUT=1 G COUNT
|
---|
| 84 | . . S QACNODE=^QA(745.1,QACD0,3,QACAA,3,QACBB,0)
|
---|
| 85 | . . S QACSVD=$P(^QA(745.55,$P(QACNODE,U),0),U) Q:$G(QACSVD)']""
|
---|
| 86 | . . I $G(QACSFLG)=1 I $G(QACSRV)'=$P(QACNODE,U) Q
|
---|
| 87 | . . I $P(QACNODE,U,2)]"" S QACDIS=$P(^QA(745.5,$P(QACNODE,U,2),0),U,2) Q:$G(QACDIS)']""
|
---|
| 88 | . . I $P(QACNODE,U,2)']"" S QACDIS="Unknown"
|
---|
| 89 | . . I $P(QACNODE,U,2)']"",($G(QACDISC)]"") Q ;if discipline
|
---|
| 90 | . . ;is unknown, there will be no match with the one discipline
|
---|
| 91 | . . ;in variable QACDISC
|
---|
| 92 | . . I $G(QACDFLG)=1 I $G(QACDISC)'=$P(^QA(745.5,$P(QACNODE,U,2),0),U) Q
|
---|
| 93 | COUNT . . ;counts for detailed report
|
---|
| 94 | . . S QACTOT=$G(QACTOT)+1
|
---|
| 95 | . . I $G(QACDDV)]"" S QACDVTOT(QACDDV)=$G(QACDVTOT(QACDDV))+1
|
---|
| 96 | . . S ^TMP(QACRTN,$J,QACDDV,QACSVD,QACDIS,QACCSS)=$G(^TMP(QACRTN,$J,QACDDV,QACSVD,QACDIS,QACCSS))+1
|
---|
| 97 | . . S ^TMP(QACRTN,$J,"COUNT",QACDDV,QACSVD)=$G(^TMP(QACRTN,$J,"COUNT",QACDDV,QACSVD))+1
|
---|
| 98 | . .S ^TMP(QACRTN,$J,"COUNT",QACDDV,QACSVD,QACDIS)=$G(^TMP(QACRTN,$J,"COUNT",QACDDV,QACSVD,QACDIS))+1
|
---|
| 99 | Q
|
---|
| 100 | PRINT ;print routine for detailed report
|
---|
| 101 | U IO
|
---|
| 102 | S QACEE=""
|
---|
| 103 | F S QACEE=$O(^TMP(QACRTN,$J,QACEE)) Q:QACEE']"" D Q:QACQUIT
|
---|
| 104 | . I QACEE="COUNT" Q
|
---|
| 105 | . S QACFF=""
|
---|
| 106 | . F S QACFF=$O(^TMP(QACRTN,$J,QACEE,QACFF)) Q:QACFF']"" D Q:QACQUIT
|
---|
| 107 | . . D HEAD
|
---|
| 108 | . . I $G(QACEE)'=0 W !?5,"Total for Division: "_QACEE_" "_QACDVTOT(QACEE)
|
---|
| 109 | . . I $G(QACFF)'=0 W !?5,"Total for Service/Discipline: "_QACFF_" "_^TMP(QACRTN,$J,"COUNT",QACEE,QACFF)
|
---|
| 110 | . . S QACGG=""
|
---|
| 111 | . . F S QACGG=$O(^TMP(QACRTN,$J,QACEE,QACFF,QACGG)) Q:QACGG']"" D Q:QACQUIT
|
---|
| 112 | . . . I $G(QACGG)'=0 W !?5,"Total for Discipline: "_QACGG_" "_^TMP(QACRTN,$J,"COUNT",QACEE,QACFF,QACGG),!
|
---|
| 113 | . . . S QACHH=""
|
---|
| 114 | . . . F S QACHH=$O(QACSTD(QACHH)) Q:QACHH']"" D Q:QACQUIT
|
---|
| 115 | . . . . I $Y>(IOSL-6) D HEAD Q:QACQUIT I $G(QACEE)'=0 W !?5,"Division: ",QACEE
|
---|
| 116 | . . . . W !?10,QACSTD(QACHH),?50,$G(^TMP(QACRTN,$J,QACEE,QACFF,QACGG,QACSTD(QACHH)),0)
|
---|
| 117 | W:$G(QACTOT)>0 !!?20,"Grand Total: "_QACTOT
|
---|
| 118 | I '$D(^TMP(QACRTN,$J)) D
|
---|
| 119 | . D HEAD
|
---|
| 120 | . W !!!?25,"No data to report."
|
---|
| 121 | Q
|
---|
| 122 | HEAD ;
|
---|
| 123 | S QACPAGE=$G(QACPAGE)+1
|
---|
| 124 | I QACPAGE>1 D Q:QACQUIT
|
---|
| 125 | . W $C(7)
|
---|
| 126 | . I $E(IOST)="C" K DIR S DIR(0)="E" D ^DIR S QACQUIT=$S(Y'>0:1,1:0)
|
---|
| 127 | W:$E(IOST)="C"!(QACPAGE>1) @IOF
|
---|
| 128 | W !,QACDESC,?48,QACTODAY,?70,"PAGE ",QACPAGE
|
---|
| 129 | W !,"Date "_QAQRANG
|
---|
| 130 | W !,$S($G(QACSUM)=1:"SUMMARY",1:"DETAILED")," Report"
|
---|
| 131 | W !?51,"NUMBER OF"
|
---|
| 132 | W !?10,"CUSTOMER SERVICE STANDARD",?50,"OCCURRENCES"
|
---|
| 133 | W !,QACUNDL,!
|
---|
| 134 | Q
|
---|
| 135 | EXIT ;
|
---|
| 136 | W ! D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@"
|
---|
| 137 | K ^TMP(QACRTN,$J)
|
---|
| 138 | K QAC1DIV,QACCSS,QACD0,QACDCNT,QACDESC,QACDDD,QACDDV,QACDFLG,QACDV
|
---|
| 139 | K QACDVTOT,QACDIS,QACDISC,QACIC,QACNODE,QACPAGE,QACQUIT,QACQUT
|
---|
| 140 | K QACROU,QACRTN,QACSFLG,QACSTD,QACSUM,QACSVD,QACTODAY,QACTOT,QACUNDL
|
---|
| 141 | K QACAA,QACBB,QACDD,QACEE,QACFF,QACGG,QACHH
|
---|
| 142 | K QAQNBEG,QAQNEND,QAQPOP,QAQRANG
|
---|
| 143 | K DIR,DIRUT,POP,ZTSAVE,ZTDESC,ZTRTN
|
---|
| 144 | D K^QAQDATE
|
---|
| 145 | Q
|
---|
| 146 | DISC ; Select one discipline for this report
|
---|
| 147 | K DIR
|
---|
| 148 | S DIR(0)="FAO^^K:X'?2U X"
|
---|
| 149 | S DIR("A")="Enter the Discipline as a two letter abbreviation: "
|
---|
| 150 | D ^DIR K DIR Q:$D(DIRUT)!($D(DIROUT))
|
---|
| 151 | I $O(^QA(745.5,"B",Y,0)) S QACDISC=Y,QACDFLG=1,QACYES=1
|
---|
| 152 | E D G DISC
|
---|
| 153 | . W !!,"Not a valid Discipline, choose from:"
|
---|
| 154 | . S QACEE=0
|
---|
| 155 | . F S QACEE=$O(^QA(745.5,QACEE)) Q:QACEE'>0 D
|
---|
| 156 | . . W !?5,$P(^QA(745.5,QACEE,0),U)," (",$P(^QA(745.5,QACEE,0),U,2),")"
|
---|
| 157 | Q
|
---|
| 158 | SERV ; Select one Service/Discipline for this report
|
---|
| 159 | K DIR
|
---|
| 160 | S DIR(0)="POA^745.55:EMZ"
|
---|
| 161 | S DIR("A")="Enter the Service/Discipline: "
|
---|
| 162 | D ^DIR K DIR Q:$D(DIRUT)!($D(DIROUT))
|
---|
| 163 | I $G(^QA(745.55,+Y,0))]"" S QACSRV=+Y,QACSFLG=1
|
---|
| 164 | E D G SERV
|
---|
| 165 | . W !!,"Not a valid service/discipline. Try again."
|
---|
| 166 | Q
|
---|
| 167 | COUNTSUM ;counts for summary report
|
---|
| 168 | S QACBB=0
|
---|
| 169 | F S QACBB=$O(^QA(745.1,QACD0,3,QACAA,3,QACBB)) Q:QACBB'>0 D
|
---|
| 170 | . S ^TMP(QACRTN,$J,"TOT")=$G(^TMP(QACRTN,$J,"TOT"))+1
|
---|
| 171 | . S ^TMP(QACRTN,$J,"TOT",QACDDV)=$G(^TMP(QACRTN,$J,"TOT",QACDDV))+1
|
---|
| 172 | . S ^TMP(QACRTN,$J,"SUM",QACDDV,QACCSS)=$G(^TMP(QACRTN,$J,"SUM",QACDDV,QACCSS))+1
|
---|
| 173 | . S ^TMP(QACRTN,$J,"SUMCSS",QACCSS)=$G(^TMP(QACRTN,$J,"SUMCSS",QACCSS))+1
|
---|
| 174 | Q
|
---|
| 175 | PRINTSUM ;print routine for summary report
|
---|
| 176 | U IO
|
---|
| 177 | D HEAD
|
---|
| 178 | I '$D(^TMP(QACRTN,$J)) D Q
|
---|
| 179 | . W !!!?25,"No data to report."
|
---|
| 180 | S QACDCN=0,QACEE=""
|
---|
| 181 | F S QACEE=$O(^TMP(QACRTN,$J,"SUM",QACEE)) Q:QACEE']"" D Q:QACQUIT
|
---|
| 182 | . S QACDCNT=$G(QACDCNT)+1
|
---|
| 183 | . I $G(QACEE)=0,($D(QAC1DIV)) W !?5,"For all Divisions"
|
---|
| 184 | . I $G(QACEE)'=0 W !?5,"Division: ",QACEE
|
---|
| 185 | . S QACGG=""
|
---|
| 186 | . F S QACGG=$O(QACSTD(QACGG)) Q:QACGG']"" D
|
---|
| 187 | . . I $Y>(IOSL-6) D HEAD Q:QACQUIT I $G(QACEE)'=0 W !?5,"Division: ",QACEE
|
---|
| 188 | . . W !?10,QACSTD(QACGG),?55,$G(^TMP(QACRTN,$J,"SUM",QACEE,QACSTD(QACGG)),0)
|
---|
| 189 | . W !?53,"-----"
|
---|
| 190 | . W !?45,"TOTAL:",?55,^TMP(QACRTN,$J,"TOT",QACEE)
|
---|
| 191 | I $G(QACDCNT)>1 D
|
---|
| 192 | . I $Y>(IOSL-6) D HEAD Q:QACQUIT I $G(QACEE)'=0 W !?5,"Division: ",QACEE
|
---|
| 193 | . W !!!?5,"Totals for all Divisions:"
|
---|
| 194 | . S QACFF=""
|
---|
| 195 | . F S QACFF=$O(QACSTD(QACFF)) Q:QACFF']"" D
|
---|
| 196 | . . I $Y>(IOSL-6) D HEAD Q:QACQUIT
|
---|
| 197 | . . W !?10,QACSTD(QACFF),?55,$G(^TMP(QACRTN,$J,"SUMCSS",QACSTD(QACFF)),0)
|
---|
| 198 | . W !?53,"-----"
|
---|
| 199 | . W !?38,"GRAND TOTAL:",?55,^TMP(QACRTN,$J,"TOT")
|
---|
| 200 | Q
|
---|