| [613] | 1 | QACSPRD2 ;HINES/CEW - Spreadsheet report selections ;7/17/95  11:17
 | 
|---|
 | 2 |  ;;2.0;Patient Representative;**3,9,12,17**;07/25/1995
 | 
|---|
 | 3 | CODE ;
 | 
|---|
 | 4 |  ;Sub-routine to count total number of issues for each issue code
 | 
|---|
 | 5 |  S QACTITLE="Issue Code "
 | 
|---|
 | 6 |  S QACRTN="CODETSK^QACSPRD2"
 | 
|---|
 | 7 |  S QACIFLG=1
 | 
|---|
 | 8 |  D ZIS1^QACSPRD(QACRTN,QACTITLE,.QACD0) G:$G(QACPOP) EXIT
 | 
|---|
 | 9 |  I $G(QACXFLG) G EXIT
 | 
|---|
 | 10 | CODETSK ;
 | 
|---|
 | 11 |  ;Tasked entry point for CODE
 | 
|---|
 | 12 |  S QACROU="CODETSK1^QACSPRD2"
 | 
|---|
 | 13 |  D TSK
 | 
|---|
 | 14 |  Q
 | 
|---|
 | 15 | CODETSK1 ;
 | 
|---|
 | 16 |  D ICLOOP
 | 
|---|
 | 17 |  S QACRR=0
 | 
|---|
 | 18 |  F  S QACRR=$O(QACODE(QACRR)) Q:QACRR']""  D
 | 
|---|
 | 19 |  . S ^TMP("QACSPRD2",$J,QACDIV,QACODE(QACRR),QACD0)=""
 | 
|---|
 | 20 |  . ;D TALL^QACSPRD1(QACD0) ;Q
 | 
|---|
 | 21 |  Q
 | 
|---|
 | 22 | LOC ;
 | 
|---|
 | 23 |  ;Sub-routine to count total number of issues for Location of Event
 | 
|---|
 | 24 |  S QACTITLE="Location "
 | 
|---|
 | 25 |  S QACRTN="LOCTSK^QACSPRD2"
 | 
|---|
 | 26 |  S QACIFLG=1
 | 
|---|
 | 27 |  D ZIS1^QACSPRD(QACRTN,QACTITLE,.QACD0) G:$G(QACPOP) EXIT
 | 
|---|
 | 28 |  I $G(QACXFLG) G EXIT
 | 
|---|
 | 29 | LOCTSK ;
 | 
|---|
 | 30 |  ;Tasked entry point for LOC
 | 
|---|
 | 31 |  S QACROU="LOCTSK1^QACSPRD2"
 | 
|---|
 | 32 |  D TSK
 | 
|---|
 | 33 |  Q
 | 
|---|
 | 34 | LOCTSK1 ;
 | 
|---|
 | 35 |  D ICLOOP
 | 
|---|
 | 36 |  S QACLNUM=$P(^QA(745.1,QACD0,0),U,12) Q:QACLNUM=""  D
 | 
|---|
 | 37 |  . S QACLOC=$P($G(^SC(+QACLNUM,0)),U,1)
 | 
|---|
 | 38 |  Q:$G(QACLOC)']""
 | 
|---|
 | 39 |  S QACRR=0
 | 
|---|
 | 40 |  F  S QACRR=$O(QACODE(QACRR)) Q:QACRR']""  D
 | 
|---|
 | 41 |  . S ^TMP("QACSPRD2",$J,QACDIV,QACLOC,QACODE(QACRR),QACD0)=""
 | 
|---|
 | 42 |  . Q
 | 
|---|
 | 43 |  Q
 | 
|---|
 | 44 | SERVICE ;
 | 
|---|
 | 45 |  ;Sub-routine to count total number of issues for Service
 | 
|---|
 | 46 |  ;This field is the old service/section involved field, no longer used
 | 
|---|
 | 47 |  ;after 10/01/97.  Report is kept for records entered prior to that date.
 | 
|---|
 | 48 |  K %ZIS,IOP S %ZIS="MQ" W ! D ^%ZIS G:POP EXIT
 | 
|---|
 | 49 |  I $D(IO("Q")) D  G EXIT
 | 
|---|
 | 50 |  . S (ZTSAVE("QAQNBEG"),ZTSAVE("QAQNEND"))=""
 | 
|---|
 | 51 |  . S ZTSAVE("^TMP(""QACSPRD2"",$J,")=""
 | 
|---|
 | 52 |  . S ZTDESC="Patient Rep Service Spreadsheet"
 | 
|---|
 | 53 |  . S ZTRTN="SERVTSK^QACSPRD2" D ^%ZTLOAD
 | 
|---|
 | 54 |  . Q
 | 
|---|
 | 55 | SERVTSK ;
 | 
|---|
 | 56 |  ;Tasked entry point for SERVICE
 | 
|---|
 | 57 |  U IO
 | 
|---|
 | 58 |  S QACDT=QAQNBEG-.0000001 F  S QACDT=$O(^QA(745.1,"D",QACDT)) Q:(QACDT'>0)!(QACDT>QAQNEND)!(QACDT\1'?7N)  D
 | 
|---|
 | 59 |  . S QACD0=0 F  S QACD0=$O(^QA(745.1,"D",QACDT,QACD0)) Q:QACD0'>0  D
 | 
|---|
 | 60 |  .. Q:'$D(^QA(745.1,QACD0,3,0))
 | 
|---|
 | 61 |  .. S QACCN=0 F  S QACCN=$O(^QA(745.1,QACD0,3,QACCN)) Q:QACCN'>0  D
 | 
|---|
 | 62 |  ... S QACCIEN=$P($G(^QA(745.1,QACD0,3,QACCN,0)),U,1) Q:QACCIEN=""
 | 
|---|
 | 63 |  ... S QACICODE=$P($G(^QA(745.2,QACCIEN,0)),U,1) Q:QACICODE=""  D
 | 
|---|
 | 64 |  .... Q:'$D(^QA(745.1,QACD0,3,QACCN,1,0))
 | 
|---|
 | 65 |  .... S QACSIEN=0 F  S QACSIEN=$O(^QA(745.1,QACD0,3,QACCN,1,"B",QACSIEN)) Q:QACSIEN'>0  D
 | 
|---|
 | 66 |  ..... S QACSERV=$$EN4^QACUTIL(+QACSIEN)
 | 
|---|
 | 67 |  ..... S ^TMP("QACSPRD2",$J,QACSERV,QACICODE,QACD0)=""
 | 
|---|
 | 68 |  ..... Q
 | 
|---|
 | 69 |  .... Q
 | 
|---|
 | 70 |  ... Q
 | 
|---|
 | 71 |  .. Q
 | 
|---|
 | 72 |  . Q
 | 
|---|
 | 73 |  S QACSERV="" F  S QACSERV=$O(^TMP("QACSPRD2",$J,QACSERV)) Q:QACSERV=""  D
 | 
|---|
 | 74 |  . S QACICODE="",QACTOT=0 F  S QACICODE=$O(^TMP("QACSPRD2",$J,QACSERV,QACICODE)) Q:QACICODE=""  D
 | 
|---|
 | 75 |  .. S QACREC=0 F  S QACREC=$O(^TMP("QACSPRD2",$J,QACSERV,QACICODE,QACREC)) Q:QACREC'>0  D
 | 
|---|
 | 76 |  ... S QACTOT=QACTOT+1
 | 
|---|
 | 77 |  ... Q
 | 
|---|
 | 78 |  .. Q
 | 
|---|
 | 79 |  . W !,QACSERV_","_QACTOT
 | 
|---|
 | 80 |  . Q
 | 
|---|
 | 81 |  D EXIT
 | 
|---|
 | 82 |  Q
 | 
|---|
 | 83 | DISC ; Sub-routine to count total issue per discipline
 | 
|---|
 | 84 |  S QACTITLE="Discipline "
 | 
|---|
 | 85 |  S QACRTN="DISCTSK^QACSPRD2"
 | 
|---|
 | 86 |  S QACIFLG=1
 | 
|---|
 | 87 |  D ZIS1^QACSPRD(QACRTN,QACTITLE,.QACD0) G:$G(QACPOP) EXIT
 | 
|---|
 | 88 |  I $G(QACXFLG) G EXIT
 | 
|---|
 | 89 | DISCTSK ; Tasked entry point for DISCIPLINE
 | 
|---|
 | 90 |  S QACROU="DISCTSK1^QACSPRD2"
 | 
|---|
 | 91 |  D TSK
 | 
|---|
 | 92 |  Q
 | 
|---|
 | 93 | DISCTSK1 ;
 | 
|---|
 | 94 |  D ICLOOP
 | 
|---|
 | 95 |  S QACRR=0
 | 
|---|
 | 96 |  F  S QACRR=$O(QACODE(QACRR)) Q:QACRR'>0  D
 | 
|---|
 | 97 |  . ;Q:'$D(^QA(745.1,QACD0,3,QACODE(QACRR),3,0))
 | 
|---|
 | 98 |  . S QACWW=0
 | 
|---|
 | 99 |  . F  S QACWW=$O(^QA(745.1,QACD0,3,QACCODE(QACRR),3,"B",QACWW)) Q:QACWW'>0  D
 | 
|---|
 | 100 |  . . S QACDIEN=$P(^QA(745.55,QACWW,0),U,3) Q:$G(QACDIEN)']""
 | 
|---|
 | 101 |  . . S QACDISC=$$EN7^QACUTIL(+QACDIEN)
 | 
|---|
 | 102 |  . . S ^TMP("QACSPRD2",$J,QACDIV,QACDISC,QACODE(QACRR),QACD0)=""
 | 
|---|
 | 103 |  . . Q
 | 
|---|
 | 104 |  . Q
 | 
|---|
 | 105 |  Q
 | 
|---|
 | 106 | EXIT ;
 | 
|---|
 | 107 |  W ! D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@"
 | 
|---|
 | 108 |  K ^TMP("QACSPRD2",$J),IOP,POP,ZTRTN,ZTSAVE,ZTDESC,%ZIS
 | 
|---|
 | 109 |  K COUNT,QAC1,QAC1DIV,QAC2,QAC3,QAC4,QACCIEN,QACCODE,QACCN,QACD0
 | 
|---|
 | 110 |  K QACDD,QACDIV,QACDIEN,QACDISC,QACDV,QACDNUM,QACDT,QACEE,QACICODE
 | 
|---|
 | 111 |  K QACIFLG,QACISSUE,QACLOC,QACLNUM,QACMM,QACNUM,QACPN,QACPOP,QACREC
 | 
|---|
 | 112 |  K QACROU,QACRR,QACRTN,QACSERV,QACSIEN,QACTITLE,QACTOT,QACWW,QACXFLG
 | 
|---|
 | 113 |  K QAQNBEG,QAQNEND
 | 
|---|
 | 114 |  Q
 | 
|---|
 | 115 | ICLOOP ;
 | 
|---|
 | 116 |  U IO
 | 
|---|
 | 117 |  K QACODE
 | 
|---|
 | 118 |  Q:'$D(^QA(745.1,QACD0,3,0))
 | 
|---|
 | 119 |  S QACEE=0 F  S QACEE=$O(^QA(745.1,QACD0,3,"B",QACEE)) Q:QACEE'>0  D
 | 
|---|
 | 120 |  . S QACODE(QACEE)=$P($G(^QA(745.2,QACEE,0)),U,1) I QACODE(QACEE)="" K QACODE(QACEE) Q
 | 
|---|
 | 121 |  . ;get the issue code IEN so that in DISCTSK1 can get the discpline
 | 
|---|
 | 122 |  . S QACMM=0 S QACMM=$O(^QA(745.1,QACD0,3,"B",QACEE,QACMM)) I $G(QACMM)>0 S QACCODE(QACEE)=QACMM
 | 
|---|
 | 123 |  Q
 | 
|---|
 | 124 | COUNT ;
 | 
|---|
 | 125 |  N QACCNT,QACCNT2,QACCNT3,QACCNT4,QACTOT
 | 
|---|
 | 126 |  S QAC1=""
 | 
|---|
 | 127 |  S (QACCNT2,QACCNT3,QACCNT4)=0
 | 
|---|
 | 128 |  F  S QAC1=$O(^TMP("QACSPRD2",$J,QAC1)) Q:QAC1']""  D
 | 
|---|
 | 129 |  . I $D(QAC1DIV) D
 | 
|---|
 | 130 |  . . I $G(QAC1)]"" S QACDV=QAC1
 | 
|---|
 | 131 |  . . I $G(QAC1)=+$G(QAC1) D INST^QACUTL0(QAC1,.QACDV)
 | 
|---|
 | 132 |  . . W !!?5,"Division: "_$S(QAC1=0:"Unknown",1:QACDV)
 | 
|---|
 | 133 |  . S QAC2=""
 | 
|---|
 | 134 |  . F  S QAC2=$O(^TMP("QACSPRD2",$J,QAC1,QAC2)) Q:QAC2']""  D
 | 
|---|
 | 135 |  . . S QACCNT2=$G(QACCNT2)+1
 | 
|---|
 | 136 |  . . S QAC3=""
 | 
|---|
 | 137 |  . . F  S QAC3=$O(^TMP("QACSPRD2",$J,QAC1,QAC2,QAC3)) Q:QAC3']""  D
 | 
|---|
 | 138 |  . . . S QACCNT3=$G(QACCNT3)+1
 | 
|---|
 | 139 |  . . . S QAC4=""
 | 
|---|
 | 140 |  . . . F  S QAC4=$O(^TMP("QACSPRD2",$J,QAC1,QAC2,QAC3,QAC4)) Q:QAC4']""  D
 | 
|---|
 | 141 |  . . . . S QACCNT4=$G(QACCNT4)+1
 | 
|---|
 | 142 |  . . W !,QAC2_", "_$S($G(QACCNT4)>0:QACCNT4,1:QACCNT3) S (QACCNT3,QACCNT4)=0
 | 
|---|
 | 143 |  . ;W !?5,QAC1_", "_$S($G(QACCNT3)>0:QACCNT3,1:QACCNT2) S (QACCNT3,QACCNT2)=0
 | 
|---|
 | 144 |  ;. . S (QACCNT3,QACCNT4)=0
 | 
|---|
 | 145 |  Q
 | 
|---|
 | 146 | TSK ;
 | 
|---|
 | 147 |  D LOOP1^QACSPRD(QACROU,QAQNBEG,QAQNEND,.QACD0)
 | 
|---|
 | 148 |  ;D SET1^QACSPRD1
 | 
|---|
 | 149 |  D WRIT^QACSPRD1
 | 
|---|
 | 150 |  D COUNT
 | 
|---|
 | 151 |  D EXIT
 | 
|---|
 | 152 |  Q
 | 
|---|
 | 153 | LOOP2 ;
 | 
|---|
 | 154 |  S (QACDD,QACTOT)=0
 | 
|---|
 | 155 |  F  S QACDD=$O(^TMP("QACSPRD2",$J,QAC1,QAC2,QACDD)) Q:QACDD']""  D
 | 
|---|
 | 156 |  . S QACTOT=QACTOT+1
 | 
|---|
 | 157 |  W !,QAC2_", "_QACTOT
 | 
|---|
 | 158 |  I $Y>(IOSL-5) D:$E(IOST)="C" PAUSE^QACGEN S QACPFLG=1 D WRIT^QACSPRD1
 | 
|---|
 | 159 |  S QACTOT=0
 | 
|---|
 | 160 |  K QACPFLG
 | 
|---|
 | 161 |  Q
 | 
|---|