| [613] | 1 | QACSPRD3 ;HINES/CEW - Spreadsheet report selections ;7/17/95  11:22
 | 
|---|
 | 2 |  ;;2.0;Patient Representative;**3,5,9,17**;07/25/1995
 | 
|---|
 | 3 | SEX ;
 | 
|---|
 | 4 |  ;Sub-routine to count total number of issues for each sex
 | 
|---|
 | 5 |  S QACRTN="SEXTSK^QACSPRD3",QACTITLE="Sex "
 | 
|---|
 | 6 |  D ZIS1^QACSPRD(QACRTN,QACTITLE,.QACXFLG) G:$G(QACPOP) EXIT
 | 
|---|
 | 7 |  I $G(QACXFLG) G EXIT
 | 
|---|
 | 8 | SEXTSK ;
 | 
|---|
 | 9 |  ;Tasked entry point for SEX
 | 
|---|
 | 10 |  U IO
 | 
|---|
 | 11 |  S QACROU="SEXTSK1^QACSPRD3"
 | 
|---|
 | 12 |  S QACPCE(1)="M",QACLABEL(1)="Male"
 | 
|---|
 | 13 |  S QACPCE(3)="",QACCNT=2
 | 
|---|
 | 14 |  S QACPCE(2)="F",QACLABEL(2)="Female"
 | 
|---|
 | 15 |  D SET1^QACSPRD1
 | 
|---|
 | 16 |  D LOOP1^QACSPRD(QACROU,QAQNBEG,QAQNEND,.QACD0)
 | 
|---|
 | 17 |  D WRIT^QACSPRD1
 | 
|---|
 | 18 |  D EXIT
 | 
|---|
 | 19 |  Q
 | 
|---|
 | 20 | SEXTSK1 ;
 | 
|---|
 | 21 |  Q:'$D(^QA(745.1,QACD0,3))
 | 
|---|
 | 22 |  D ICLOOP^QACSPRD2
 | 
|---|
 | 23 |  S QACPN=$P(^QA(745.1,QACD0,0),U,3) Q:QACPN=""
 | 
|---|
 | 24 |  S QACSEX=$P($G(^DPT(QACPN,0)),U,2) Q:QACSEX=""
 | 
|---|
 | 25 |  S QACEE=0 F  S QACEE=$O(^QA(745.1,QACD0,3,QACEE)) Q:QACEE'>0  D
 | 
|---|
 | 26 |  . D TALL^QACSPRD1(QACSEX)
 | 
|---|
 | 27 |  Q
 | 
|---|
 | 28 | HEAD ;
 | 
|---|
 | 29 |  ;Sub-routine to count total number of issues for each Issue Code Heading
 | 
|---|
 | 30 |  S QACTITLE="Issue Code Heading "
 | 
|---|
 | 31 |  S QACRTN="HEADTSK^QACSPRD3"
 | 
|---|
 | 32 |  D ZIS1^QACSPRD(QACRTN,QACTITLE,.QACXFLG) G:$G(QACPOP) EXIT
 | 
|---|
 | 33 |  I $G(QACXFLG) G EXIT
 | 
|---|
 | 34 | HEADTSK ;
 | 
|---|
 | 35 |  ;Tasked entry point for HEAD
 | 
|---|
 | 36 |  U IO
 | 
|---|
 | 37 |  S QACROU="HEADTSK1^QACSPRD3"
 | 
|---|
 | 38 |  S QACPCE(1)="CA",QACLABEL(1)="Patient Care"
 | 
|---|
 | 39 |  S QACPCE(2)="CC",QACLABEL(2)="Courtesy" ;/Communication"
 | 
|---|
 | 40 |  S QACPCE(3)="CM",QACLABEL(3)="Compliments"
 | 
|---|
 | 41 |  S QACPCE(4)="ED",QACLABEL(4)="Patient Education"
 | 
|---|
 | 42 |  S QACPCE(5)="EL",QACLABEL(5)="Eligibility"
 | 
|---|
 | 43 |  S QACPCE(6)="EN",QACLABEL(6)="Environment"
 | 
|---|
 | 44 |  S QACPCE(7)="IN",QACLABEL(7)="Information/Assistance"
 | 
|---|
 | 45 |  S QACPCE(8)="MR",QACLABEL(8)="Medical Records"
 | 
|---|
 | 46 |  S QACPCE(9)="PP",QACLABEL(9)="Personal Property"
 | 
|---|
 | 47 |  S QACPCE(10)="TI",QACLABEL(10)="Access/Timeliness" ;"Timeliness"
 | 
|---|
 | 48 |  S QACPCE(11)="SC",QACLABEL(11)="Courtesy" ;"Staff courtesy"
 | 
|---|
 | 49 |  S QACPCE(12)="AC",QACLABEL(12)="Access/Timeliness"
 | 
|---|
 | 50 |  S QACPCE(13)="OP",QACLABEL(13)="One Provider"
 | 
|---|
 | 51 |  S QACPCE(14)="PR",QACLABEL(14)="Decisions/Preferences"
 | 
|---|
 | 52 |  S QACPCE(15)="EM",QACLABEL(15)="Emotional Needs"
 | 
|---|
 | 53 |  S QACPCE(16)="PC",QACLABEL(16)="Physical Comfort"
 | 
|---|
 | 54 |  S QACPCE(17)="CO",QACLABEL(17)="Coordination of Care"
 | 
|---|
 | 55 |  S QACPCE(18)="TR",QACLABEL(18)="Transitions"
 | 
|---|
 | 56 |  ;S QACPCE(19)="ED",QACLABEL(19)="Patient Education"
 | 
|---|
 | 57 |  S QACPCE(20)="FI",QACLABEL(20)="Family Involvement"
 | 
|---|
 | 58 |  S QACPCE(21)="RI",QACLABEL(21)="Risk Management Complaints"
 | 
|---|
 | 59 |  S QACPCE(22)="RE",QACLABEL(22)="Medical Records"
 | 
|---|
 | 60 |  S QACPCE(23)="LL",QACLABEL(23)="Eligibility" ; Issues"
 | 
|---|
 | 61 |  S QACPCE(24)="EV",QACLABEL(24)="Environment" ;al Issues"
 | 
|---|
 | 62 |  S QACPCE(25)="RG",QACLABEL(25)="Regulation Issues"
 | 
|---|
 | 63 |  S QACPCE(26)="IF",QACLABEL(26)="Requests for Information"
 | 
|---|
 | 64 |  S QACPCE(27)="CP",QACLABEL(27)="Compliments"
 | 
|---|
 | 65 |  S QACPCE(28)=""
 | 
|---|
 | 66 |  S QACCNT=27
 | 
|---|
 | 67 |  D SET1^QACSPRD1
 | 
|---|
 | 68 |  D LOOP1^QACSPRD(QACROU,QAQNBEG,QAQNEND,.QACD0)
 | 
|---|
 | 69 |  D NEWHEAD
 | 
|---|
 | 70 |  D WRIT^QACSPRD1
 | 
|---|
 | 71 |  D EXIT
 | 
|---|
 | 72 |  Q
 | 
|---|
 | 73 | HEADTSK1 ;
 | 
|---|
 | 74 |  Q:'$D(^QA(745.1,QACD0,3,0))
 | 
|---|
 | 75 |  D ICLOOP^QACSPRD2
 | 
|---|
 | 76 |  S QACEE=0
 | 
|---|
 | 77 |  F  S QACEE=$O(QACODE(QACEE)) Q:QACEE']""  D
 | 
|---|
 | 78 |  . S QACHEAD=$E(QACODE(QACEE),1,2)
 | 
|---|
 | 79 |  . D TALL^QACSPRD1(QACHEAD)
 | 
|---|
 | 80 |  Q
 | 
|---|
 | 81 | NEWHEAD ;combine some of the new and old headers
 | 
|---|
 | 82 |  N QAC1,QAC2,QACE,QACX
 | 
|---|
 | 83 |  S QACE=""
 | 
|---|
 | 84 |  F  S QACE=$O(COUNT(QACE)) Q:QACE']""  D
 | 
|---|
 | 85 |  . I $G(COUNT(QACE,"SC"))>0 S QAC1="CC",QAC2="SC" D NEW2
 | 
|---|
 | 86 |  . I $G(COUNT(QACE,"CP"))>0 S QAC1="CM",QAC2="CP" D NEW2
 | 
|---|
 | 87 |  . I $G(COUNT(QACE,"LL"))>0 S QAC1="EL",QAC2="LL" D NEW2
 | 
|---|
 | 88 |  . I $G(COUNT(QACE,"EV"))>0 S QAC1="EN",QAC2="EV" D NEW2
 | 
|---|
 | 89 |  . I $G(COUNT(QACE,"RE"))>0 S QAC1="MR",QAC2="RE" D NEW2
 | 
|---|
 | 90 |  . I $G(COUNT(QACE,"AC"))>0 S QAC1="TI",QAC2="AC" D NEW2
 | 
|---|
 | 91 |  . I $G(COUNT(QACE,"IF"))>0 S QAC1="IN",QAC2="IF" D NEW2
 | 
|---|
 | 92 |  Q
 | 
|---|
 | 93 | NEW2 ;
 | 
|---|
 | 94 |  S COUNT(QACE,QAC1)=COUNT(QACE,QAC1)+$G(COUNT(QACE,QAC2)) ;K COUNT(QACE,QAC2)
 | 
|---|
 | 95 |  F QACX=11,12,22,23,24,27 K QACLABEL(QACX)
 | 
|---|
 | 96 |  Q
 | 
|---|
 | 97 | DIVC ; Sub-routine counts total number of contacts by Division
 | 
|---|
 | 98 |  S QACRTN="DIVCTSK^QACSPRD3",QACTITLE="Contacts "
 | 
|---|
 | 99 |  D ZIS1^QACSPRD(QACRTN,QACTITLE,.QACXFLG) G:$G(QACPOP) EXIT
 | 
|---|
 | 100 |  I $G(QACXFLG) G EXIT
 | 
|---|
 | 101 | DIVCTSK ;
 | 
|---|
 | 102 |  S QACROU="DIVC1^QACSPRD3"
 | 
|---|
 | 103 |  D DVTSK(QACROU)
 | 
|---|
 | 104 |  Q
 | 
|---|
 | 105 | DIVC1 ;for each entry from #745.1 in the date range, check for the division
 | 
|---|
 | 106 |  S QACDIV=$P($G(^QA(745.1,QACD0,0)),U,16) ;Q:$G(QACDIV)']""
 | 
|---|
 | 107 |  I $G(QACDIV)']"" S QACDIV=0
 | 
|---|
 | 108 |  S QACEE=""
 | 
|---|
 | 109 |  ;I $O(^QA(740,1,"QAC2","B",QACDIV,QACEE))']"" S QACDIV=0
 | 
|---|
 | 110 |  S COUNT(QACDIV)=$G(COUNT(QACDIV))+1
 | 
|---|
 | 111 |  Q
 | 
|---|
 | 112 | WRITEDIV ;display or print the final tally
 | 
|---|
 | 113 |  W @IOF
 | 
|---|
 | 114 |  S Y=QAQNBEG D DD^%DT S QACBEG=Y
 | 
|---|
 | 115 |  S Y=QAQNEND D DD^%DT S QACEND=Y
 | 
|---|
 | 116 |  W !!?12,"Patient Rep "_QACTITLE_"by Division Spreadsheet Report"
 | 
|---|
 | 117 |  W !?20,"Date Range: "_QACBEG_" to "_QACEND
 | 
|---|
 | 118 |  S QACEE=""
 | 
|---|
 | 119 |  F  S QACEE=$O(COUNT(QACEE)) Q:QACEE']""  D 
 | 
|---|
 | 120 |  . I QACEE>0 D INST^QACUTL0(QACEE,.QACDV)
 | 
|---|
 | 121 |  . W !,$S(QACEE=0:"Unknown",1:QACDV),", ",COUNT(QACEE)
 | 
|---|
 | 122 |  . I $Y>(IOSL-5) D:$E(IOST)="C" PAUSE^QACGEN S QACPFLG=1 D WRIT^QACSPRD1
 | 
|---|
 | 123 |  . K QACPFLG
 | 
|---|
 | 124 |  Q
 | 
|---|
 | 125 | DIVI ;
 | 
|---|
 | 126 |  ; Sub-routine to count total issues by Division
 | 
|---|
 | 127 |  S QACRTN="DIVITSK^QACSPRD3",QACTITLE="Issues "
 | 
|---|
 | 128 |  D ZIS1^QACSPRD(QACRTN,QACTITLE,.QACXFLG) G:$G(QACPOP) EXIT
 | 
|---|
 | 129 |  I $G(QACXFLG) G EXIT
 | 
|---|
 | 130 | DIVITSK ;
 | 
|---|
 | 131 |  S QACROU="DIVI1^QACSPRD3"
 | 
|---|
 | 132 |  D DVTSK(QACROU)
 | 
|---|
 | 133 |  Q
 | 
|---|
 | 134 | DIVI1 ;for each entry in 745.1 loop through Issue code and count by code/div
 | 
|---|
 | 135 |  S QACDIV=$P($G(^QA(745.1,QACD0,0)),U,16)
 | 
|---|
 | 136 |  I $G(QACDIV)']"" S QACDIV=0
 | 
|---|
 | 137 |  S QACEE=""
 | 
|---|
 | 138 |  ;I $O(^QA(740,1,"QAC2","B",QACDIV,QACEE))']"" S QACDIV=0
 | 
|---|
 | 139 |  S QACISS=0 F  S QACISS=$O(^QA(745.1,QACD0,3,QACISS)) Q:QACISS'>0  D
 | 
|---|
 | 140 |  . I $G(^QA(745.1,QACD0,3,QACISS,0))]"" D
 | 
|---|
 | 141 |  . . S COUNT(QACDIV)=$G(COUNT(QACDIV))+1
 | 
|---|
 | 142 |  Q
 | 
|---|
 | 143 | DVTSK(QACROU) ;
 | 
|---|
 | 144 |  U IO
 | 
|---|
 | 145 |  I $P($G(^QA(740,1,"QAC")),U,3)<1 W !!,"Site is not multi-divisional for Patient Representative - no report created." Q
 | 
|---|
 | 146 |  D LOOP1^QACSPRD(QACROU,QAQNBEG,QAQNEND,.QACD0)
 | 
|---|
 | 147 |  D WRITEDIV
 | 
|---|
 | 148 |  D EXIT
 | 
|---|
 | 149 |  Q
 | 
|---|
 | 150 | SRVDS ;Sub-routine gives total issues by Service/Discipline
 | 
|---|
 | 151 |  S QACIFLG=1
 | 
|---|
 | 152 |  S QACTITLE="Service/Discipline "
 | 
|---|
 | 153 |  S QACRTN="SVDSTSK^QACSPRD3"
 | 
|---|
 | 154 |  D ZIS1^QACSPRD(QACRTN,QACTITLE,.QACXFLG) G:$G(QACPOP) EXIT
 | 
|---|
 | 155 |  I $G(QACXFLG) G EXIT
 | 
|---|
 | 156 | SVDSTSK ;  Tasked entry point for Service/Discipline
 | 
|---|
 | 157 |  S QACROU="SVDSTSK1^QACSPRD3"
 | 
|---|
 | 158 |  D TSK^QACSPRD2
 | 
|---|
 | 159 |  Q
 | 
|---|
 | 160 | SVDSTSK1 ;
 | 
|---|
 | 161 |  D ICLOOP^QACSPRD2
 | 
|---|
 | 162 |  S QACRR=0
 | 
|---|
 | 163 |  F  S QACRR=$O(QACODE(QACRR)) Q:QACRR'>0  D
 | 
|---|
 | 164 |  . S QACWW=0
 | 
|---|
 | 165 |  . F  S QACWW=$O(^QA(745.1,QACD0,3,QACCODE(QACRR),3,"B",QACWW)) Q:QACWW'>0  D
 | 
|---|
 | 166 |  . . S QACDISC=$$EN8^QACUTIL(+QACWW)
 | 
|---|
 | 167 |  . . S ^TMP("QACSPRD2",$J,QACDIV,QACDISC,QACODE(QACRR),QACD0)=""
 | 
|---|
 | 168 |  . . Q
 | 
|---|
 | 169 |  . Q
 | 
|---|
 | 170 |  Q
 | 
|---|
 | 171 | EXIT ;
 | 
|---|
 | 172 |  W ! D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@"
 | 
|---|
 | 173 |  K ^TMP("QACSPRD2",$J),COUNT,ZTRTN,ZTSAVE,ZTDESC,%ZIS,IOP,POP
 | 
|---|
 | 174 |  K QAC1DIV,QACBEG,QACCIEN,QACCNT,QACCODE,QACD0,QACDISC,QACDIV,QACDT
 | 
|---|
 | 175 |  K QACDV,QACEE,QACEND,QACHEAD,QACICODE,QACIFLG,QACISS,QACISSUE,QACLABEL
 | 
|---|
 | 176 |  K QACODE,QACPCE,QACPN,QACPOP,QACRR,QACRTN,QACSEX,QACTITLE,QACWW,QACXFLG
 | 
|---|
 | 177 |  K QAQNBEG,QAQNEND
 | 
|---|
 | 178 |  Q
 | 
|---|