| 1 | SDAMOS1 ;ALB/SCK - AM MGT REPORTS STATISTICS OUTPUT ; 5/14/93
 | 
|---|
| 2 |  ;;5.3;Scheduling;;Aug 13, 1993
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | BLD ;  build report from data stored in TMP global
 | 
|---|
| 5 |  N I,SDFIN,STATUS
 | 
|---|
| 6 |  S (TC,TA,TI,SDCO,SDAR,SDIP,SDTOT,SDFIN,TCOCNT,TARCNT,TIPCNT)=0,PAGE=1
 | 
|---|
| 7 |  S SDLST="",SDLST=$O(^TMP("SDAMS",$J,SDLST)),SDFIN=$$HDR(SDLST)
 | 
|---|
| 8 |  S SDNXT="" F  S SDNXT=$O(^TMP("SDAMS",$J,SDNXT)) Q:SDNXT=""  D  G:SDFIN BLDQ
 | 
|---|
| 9 |  . I SDNXT'=SDLST S SDFIN=$$HDR(SDNXT) Q:SDFIN  S SDLST=SDNXT,(TC,TI,TA)=0
 | 
|---|
| 10 |  . S NXTSC="" F  S NXTSC=$O(^TMP("SDAMS",$J,SDNXT,NXTSC)) Q:NXTSC=""  D  Q:SDFIN
 | 
|---|
| 11 |  .. S STATUS=0 F  S STATUS=$O(^TMP("SDAMS",$J,SDNXT,NXTSC,STATUS)) Q:'STATUS  D  Q:SDFIN
 | 
|---|
| 12 |  ... S SDFIN=$$STCNT(STATUS,+^(STATUS)) ; ref to tmp(sdams,$j,div,stocode,status)
 | 
|---|
| 13 |  .. S SDFIN=$$SUBTOT(NXTSC)
 | 
|---|
| 14 |  . D TOTALS
 | 
|---|
| 15 |  D TDIV
 | 
|---|
| 16 | BLDQ K SDCO,SDAR,SDIP,SDTOT,TCOCNT,TARCNT,TIPCNT,SDLST,LSTSC,SDNXT,NXTSC,ACTION,QFLAG,TC,TI,TA,TOT,PAGE,SDFIN,%
 | 
|---|
| 17 |  Q
 | 
|---|
| 18 |  ;
 | 
|---|
| 19 | STCNT(STAT,COUNT) ; increment action count for stopcode
 | 
|---|
| 20 |  ;   sdar = action req by stop code
 | 
|---|
| 21 |  ;   sdco = checked out by stop code
 | 
|---|
| 22 |  ;   sdip = in-pat by stop code
 | 
|---|
| 23 |  ;
 | 
|---|
| 24 |  N Y S Y=0
 | 
|---|
| 25 |  S:STAT=14 SDAR=SDAR+COUNT
 | 
|---|
| 26 |  S:STAT=2 SDCO=SDCO+COUNT
 | 
|---|
| 27 |  S:STAT=8 SDIP=SDIP+COUNT
 | 
|---|
| 28 |  Q (Y)
 | 
|---|
| 29 |  ;
 | 
|---|
| 30 | SUBTOT(SDCODE) ;  totals by stopcode
 | 
|---|
| 31 |  ;         tcocnt = checked out total by division (per page)
 | 
|---|
| 32 |  ;         tarcnt = action req tot by div/page
 | 
|---|
| 33 |  ;         tipcnt = In-pat tot by div/page
 | 
|---|
| 34 |  ;
 | 
|---|
| 35 |  N Y,SDFIN
 | 
|---|
| 36 |  S Y=0
 | 
|---|
| 37 |  I $Y+5>IOSL D  G:SDFIN SUBTOTQ
 | 
|---|
| 38 |  . D TOTALS
 | 
|---|
| 39 |  . S SDFIN=$$HDR(SDNXT) Q:SDFIN
 | 
|---|
| 40 |  I SDSEL=5 W !,SDCODE,?34,SDCO,?53,SDAR,?64,SDIP,?77,SDCO+SDAR+SDIP
 | 
|---|
| 41 |  S TCOCNT=TCOCNT+SDCO,TARCNT=TARCNT+SDAR,TIPCNT=TIPCNT+SDIP
 | 
|---|
| 42 |  S (SDCO,SDAR,SDIP)=0
 | 
|---|
| 43 | SUBTOTQ Q (Y)
 | 
|---|
| 44 |  ;
 | 
|---|
| 45 | TOTALS ;  total of actions by stopcode for division
 | 
|---|
| 46 |  ;      tc = check out total for division
 | 
|---|
| 47 |  ;      ta = action required tot for div.
 | 
|---|
| 48 |  ;      ti = in-pat tot for div.
 | 
|---|
| 49 |  ;
 | 
|---|
| 50 |  N SDIV
 | 
|---|
| 51 |  I SDSEL=5 W !,SDTDASH,!,"TOTAL",?34,TCOCNT,?53,TARCNT,?64,TIPCNT,?77,TCOCNT+TARCNT+TIPCNT
 | 
|---|
| 52 |  S TC=TC+TCOCNT,TA=TA+TARCNT,TI=TI+TIPCNT
 | 
|---|
| 53 |  S TOT(SDNXT)=TC_U_TA_U_TI
 | 
|---|
| 54 |  S (TCOCNT,TARCNT,TIPCNT)=0
 | 
|---|
| 55 |  Q
 | 
|---|
| 56 |  ;
 | 
|---|
| 57 | HDR(SDIV) ;  page header
 | 
|---|
| 58 |  N Y
 | 
|---|
| 59 |  S Y=0
 | 
|---|
| 60 |  G:SDSEL'=5 HDRQ
 | 
|---|
| 61 |  D PAUSE
 | 
|---|
| 62 |  W !!,"Statistics Report by Stop Code"
 | 
|---|
| 63 |  W !,"Division: ",SDIV,?40,"Date Range ",$$FDATE^VALM1(SDBEG)_" to "_$$FDATE^VALM1(SDEND)
 | 
|---|
| 64 |  D NOW^%DTC W ?95,"Run Date: ",$E($$FDTTM^VALM1(%),1,14),?125,"Page: ",PAGE S PAGE=PAGE+1
 | 
|---|
| 65 |  W !,"  Stop Code",?25,"Checked-Out",?40,"Action Required",?58,"Inpatient",?75,"Total",!,SDASH
 | 
|---|
| 66 | HDRQ Q (Y)
 | 
|---|
| 67 |  ;
 | 
|---|
| 68 | TDIV ;  final totals by division for med center
 | 
|---|
| 69 |  ;  reuse tc for check out total by med ctr
 | 
|---|
| 70 |  ;        ta for action req tot
 | 
|---|
| 71 |  ;        ti for in-pat tot
 | 
|---|
| 72 |  ;  tcd = check out totals by div
 | 
|---|
| 73 |  ;  tad = action req totals by div
 | 
|---|
| 74 |  ;  tip = in-pat totals by div
 | 
|---|
| 75 |  ;
 | 
|---|
| 76 |  N SDIV,TC,TA,TI,TCD,TAD,TID
 | 
|---|
| 77 |  S (TC,TA,TI,TCD,TAD,TID)=0
 | 
|---|
| 78 |  D PAUSE
 | 
|---|
| 79 |  W !!,"Statistics Report Totals by Division"
 | 
|---|
| 80 |  W !,"MEDICAL CENTER",?40,"Date Range ",$$FDATE^VALM1(SDBEG)_" to "_$$FDATE^VALM1(SDEND)
 | 
|---|
| 81 |  D NOW^%DTC W ?95,"Run Date: ",$E($$FDTTM^VALM1(%),1,14),?125,"Page: ",PAGE S PAGE=PAGE+1
 | 
|---|
| 82 |  W !,"  Division",?25,"Checked-Out",?40,"Action Required",?58,"Inpatient",?75,"Total"
 | 
|---|
| 83 |  S SDIV="" F  S SDIV=$O(TOT(SDIV)) Q:SDIV=""  D
 | 
|---|
| 84 |  . W !,SDASH
 | 
|---|
| 85 |  . S TCD=$P(TOT(SDIV),U),TAD=$P(TOT(SDIV),U,2),TID=$P(TOT(SDIV),U,3)
 | 
|---|
| 86 |  . W !,SDIV,?34,TCD,?54,TAD,?65,TID,?75,TCD+TAD+TID
 | 
|---|
| 87 |  . S TC=TC+TCD,TA=TA+TAD,TI=TI+TID
 | 
|---|
| 88 |  W !,SDTDASH
 | 
|---|
| 89 |  W !,"TOTAL",?34,TC,?54,TA,?65,TI,?75,TC+TA+TI
 | 
|---|
| 90 |  K TCD,TAD,TID
 | 
|---|
| 91 | TDIVQ Q
 | 
|---|
| 92 |  ;
 | 
|---|
| 93 | PAUSE ;
 | 
|---|
| 94 |  I $E(IOST,1,2)="C-" D
 | 
|---|
| 95 |  . S DIR(0)="FO",DIR("A")="Press RETURN to continue or '^' to exit"
 | 
|---|
| 96 |  . D ^DIR K DIR I $D(DUOUT)!($D(DTOUT)) Q
 | 
|---|
| 97 |  . W @IOF
 | 
|---|
| 98 |  E  W @IOF
 | 
|---|
| 99 | PAUSEQ Q
 | 
|---|
| 100 |  ;
 | 
|---|
| 101 | NOREP ;    report if no data in TMP global
 | 
|---|
| 102 |  W !!,"Statistics Report by Stop Code"
 | 
|---|
| 103 |  W !,"Date Range ",$$FDATE^VALM1(SDBEG)_" to "_$$FDATE^VALM1(SDEND)
 | 
|---|
| 104 |  D NOW^%DTC W ?95,"Run Date: ",$E($$FDTTM^VALM1(%),1,14),?125,"Page: 1"
 | 
|---|
| 105 |  W !,SDASH
 | 
|---|
| 106 |  W !!?10,"No data found matching sort parameters"
 | 
|---|
| 107 |  Q
 | 
|---|