| 1 | QACBYLOC ;WCIOFO/ERC - Report by Location ;03/23/99
 | 
|---|
| 2 |  ;;2.0;Patient Representative;**9**;07/25/1995
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  N QACDV,QACDIV,QAC1DIV,QACDVFLG
 | 
|---|
| 5 |  S QACRTN="QACBYLOC"
 | 
|---|
| 6 |  D DATDIV^QACUTL0 G:QAQPOP EXIT
 | 
|---|
| 7 |  I QACDV=0!(QACDV']"") S QACDVFLG=1
 | 
|---|
| 8 |  ;if just for 1 division, get name of division
 | 
|---|
| 9 |  I +$G(QAC1DIV) D INST^QACUTL0(QAC1DIV,.QACDVNAM)
 | 
|---|
| 10 |  ;
 | 
|---|
| 11 |  S QACDESC="Issue Totals by Location"
 | 
|---|
| 12 |  K %ZIS,IOP S %ZIS="MQ" W ! D ^%ZIS I POP D EXIT Q
 | 
|---|
| 13 |  I $D(IO("Q")) D  Q
 | 
|---|
| 14 |  . S ZTDESC=QACDESC
 | 
|---|
| 15 |  . S ZTRTN="START^QACBYLOC"
 | 
|---|
| 16 |  . S ZTSAVE("QAQRANG")=""
 | 
|---|
| 17 |  . S ZTSAVE("QACRTN")=""
 | 
|---|
| 18 |  . D TASK^QACUTL0
 | 
|---|
| 19 |  ;
 | 
|---|
| 20 | START ;
 | 
|---|
| 21 |  D SETUP^QACEMPE
 | 
|---|
| 22 |  S QACROU="SET^QACBYLOC"
 | 
|---|
| 23 |  ;loop through "D" crossreference (date range)
 | 
|---|
| 24 |  D LOOP1^QACSPRD(QACROU,QAQNBEG,QAQNEND,.QACD0)
 | 
|---|
| 25 |  D REPORT
 | 
|---|
| 26 |  D EXIT
 | 
|---|
| 27 |  Q
 | 
|---|
| 28 | SET ;set array variables for each ROC in date range
 | 
|---|
| 29 |  K QACDATA,QACDIV,QACIC,QACISS,QACLOC
 | 
|---|
| 30 |  D ISSLOOP
 | 
|---|
| 31 |  I '$D(QACIC) Q
 | 
|---|
| 32 |  D GETS^DIQ(745.1,QACD0,"14;37","NIE","QACDATA")
 | 
|---|
| 33 |  S QACD0X=QACD0_","
 | 
|---|
| 34 |  ;if not integrated, division set to 0 for sorting purposes in ^TMP
 | 
|---|
| 35 |  S QACDIV=$S('$G(QACDVFLG):$G(QACDATA(745.1,QACD0X,37,"E"),"Unknown"),1:0)
 | 
|---|
| 36 |  S QACLOC=$G(QACDATA(745.1,QACD0X,14,"E"),"Unknown")
 | 
|---|
| 37 |  D SETMP
 | 
|---|
| 38 |  Q
 | 
|---|
| 39 | ISSLOOP ;loop through issue codes for the ROC
 | 
|---|
| 40 |  S QACEE=0
 | 
|---|
| 41 |  F  S QACEE=$O(^QA(745.1,QACD0,3,QACEE)) Q:QACEE'>0  D
 | 
|---|
| 42 |  . S QACIC(QACEE)=^QA(745.1,QACD0,3,QACEE,0)
 | 
|---|
| 43 |  Q
 | 
|---|
| 44 | SETMP ;set ^TMP global for report
 | 
|---|
| 45 |  S QACEE=""
 | 
|---|
| 46 |  F  S QACEE=$O(QACIC(QACEE)) Q:QACEE']""  D
 | 
|---|
| 47 |  . S QACISS=QACIC(QACEE)
 | 
|---|
| 48 |  . D GETS^DIQ(745.2,QACISS,".01;2","E","QACICEXT")
 | 
|---|
| 49 |  . S QACISSX=QACISS_","
 | 
|---|
| 50 |  . S QACISSC=$G(QACICEXT(745.2,QACISSX,.01,"E"))
 | 
|---|
| 51 |  . I $G(QACISSC)']"" Q
 | 
|---|
| 52 |  . S QACICHDR=$E($G(QACICEXT(745.2,QACISSX,.01,"E")),1,2)
 | 
|---|
| 53 |  . S QACNAME=$G(QACICEXT(745.2,QACISSX,2,"E"))
 | 
|---|
| 54 |  . S ^TMP(QACRTN,$J,"ROC",QACDIV,QACLOC,QACICHDR,QACISS)=$G(^TMP(QACRTN,$J,"ROC",QACDIV,QACLOC,QACICHDR,QACISS))+1
 | 
|---|
| 55 |  . S ^TMP(QACRTN,$J,"COUNT","TOT")=$G(^TMP(QACRTN,$J,"COUNT","TOT"))+1
 | 
|---|
| 56 |  . S ^TMP(QACRTN,$J,"COUNT",QACDIV)=$G(^TMP(QACRTN,$J,"COUNT",QACDIV))+1
 | 
|---|
| 57 |  . S ^TMP(QACRTN,$J,"COUNT",QACDIV,QACLOC)=$G(^TMP(QACRTN,$J,"COUNT",QACDIV,QACLOC))+1
 | 
|---|
| 58 |  . S QACICHDR=$E($G(QACICEXT(745.2,QACISSX,.01,"E")),1,2)
 | 
|---|
| 59 |  . S QACNAME=$G(QACICEXT(745.2,QACISSX,2,"E"))
 | 
|---|
| 60 |  . S ^TMP(QACRTN,$J,"ISS",QACISS)=QACISSC_"  "_QACNAME
 | 
|---|
| 61 |  . S ^TMP(QACRTN,$J,"COUNT",QACDIV,QACLOC,QACICHDR)=$G(^TMP(QACRTN,$J,"COUNT",QACDIV,QACLOC,QACICHDR))+1
 | 
|---|
| 62 |  Q
 | 
|---|
| 63 | REPORT ;
 | 
|---|
| 64 |  U IO
 | 
|---|
| 65 |  S QACAA=""
 | 
|---|
| 66 |  F  S QACAA=$O(^TMP(QACRTN,$J,"ROC",QACAA)) Q:QACAA']""  D  Q:QACQUIT
 | 
|---|
| 67 |  . S QACBB=""
 | 
|---|
| 68 |  . F  S QACBB=$O(^TMP(QACRTN,$J,"ROC",QACAA,QACBB)) Q:QACBB']""  D  Q:QACQUIT
 | 
|---|
| 69 |  . . D HEADER Q:QACQUIT
 | 
|---|
| 70 |  . . ;if not integrated this next line will not print
 | 
|---|
| 71 |  . . I $G(QACAA)'=0 W !?15,"Total Issues for Division: "_QACAA_"    "_^TMP(QACRTN,$J,"COUNT",QACAA)
 | 
|---|
| 72 |  . . W !?10,"Total Issues for Location: "_QACBB_"    "_^TMP(QACRTN,$J,"COUNT",QACAA,QACBB)
 | 
|---|
| 73 |  . . S QACCC=""
 | 
|---|
| 74 |  . . F  S QACCC=$O(^TMP(QACRTN,$J,"ROC",QACAA,QACBB,QACCC)) Q:QACCC']""  D  Q:QACQUIT
 | 
|---|
| 75 |  . . . I $Y>(IOSL-6) D HEADER Q:QACQUIT
 | 
|---|
| 76 |  . . . W !?5,QACCC_"    "_$P(^QA(745.2,$O(^QA(745.2,"B",QACCC,0)),0),U,3)
 | 
|---|
| 77 |  . . . W ?72,^TMP(QACRTN,$J,"COUNT",QACAA,QACBB,QACCC)
 | 
|---|
| 78 |  . . . S QACDD=0
 | 
|---|
| 79 |  . . . F  S QACDD=$O(^TMP(QACRTN,$J,"ROC",QACAA,QACBB,QACCC,QACDD)) Q:QACDD'>0  D  Q:QACQUIT
 | 
|---|
| 80 |  . . . . I $Y>(IOSL-6) D HEADER Q:QACQUIT
 | 
|---|
| 81 |  . . . . W !,^TMP(QACRTN,$J,"ISS",QACDD),?72,^TMP(QACRTN,$J,"ROC",QACAA,QACBB,QACCC,QACDD)
 | 
|---|
| 82 |  I '$D(^TMP(QACRTN,$J,"ROC")) D
 | 
|---|
| 83 |  . D HEADER
 | 
|---|
| 84 |  . W !!!?25,"No data to report."
 | 
|---|
| 85 |  Q
 | 
|---|
| 86 | HEADER ;
 | 
|---|
| 87 |  S QACPAGE=$G(QACPAGE)+1
 | 
|---|
| 88 |  I QACPAGE>1 D  Q:QACQUIT
 | 
|---|
| 89 |  . W $C(7)
 | 
|---|
| 90 |  . I $E(IOST)="C" K DIR S DIR(0)="E" D ^DIR S QACQUIT=$S(Y'>0:1,1:0)
 | 
|---|
| 91 |  W:$E(IOST)="C"!(QACPAGE>1) @IOF
 | 
|---|
| 92 |  W !,QACDESC,?48,QACTODAY,?70,"PAGE ",QACPAGE
 | 
|---|
| 93 |  W !?(80-$L(QACHDR2))/2,QACHDR2
 | 
|---|
| 94 |  W !,"Issue Code",?25,"Issue Code Name",?70,"Total"
 | 
|---|
| 95 |  W !,QACUNDL,!
 | 
|---|
| 96 |  Q
 | 
|---|
| 97 | EXIT ;
 | 
|---|
| 98 |  W ! D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@"
 | 
|---|
| 99 |  D K^QAQDATE
 | 
|---|
| 100 |  K ^TMP(QACRTN,$J)
 | 
|---|
| 101 |  K DIQ,DIR,IOSL,POP
 | 
|---|
| 102 |  K QAC1DIV,QACAA,QACBB,QACCC,QACD0,QACD0X,QACDATA,QACDESC,QACDD,QACDIV
 | 
|---|
| 103 |  K QACDV,QACDVNAM,QACDVFLG,QACHDR2,QACIC,QACICEXT,QACICHDR
 | 
|---|
| 104 |  K QACEE,QACISS,QACISSC,QACISSX,QACLOC,QACNAME
 | 
|---|
| 105 |  K QACPAGE,QACQUIT,QACROU,QACRTN,QACTIME,QACTODAY,QACUNDL
 | 
|---|
| 106 |  K QAQNBEG,QAQNEND,QAQPOP,QAQRANG
 | 
|---|
| 107 |  K X,Y,ZTDESC,ZTRTN,ZTSAVE
 | 
|---|
| 108 |  Q
 | 
|---|