Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: ADGDSST

ADGDSST.m

Go to the documentation of this file.
  1. ADGDSST ; IHS/ADC/PDW/ENM - DAY SURGERY STATISTICS BY SERVICE ; [ 12/16/2003 3:14 PM ]
  1. ;;5.0;ADMISSION/DISCHARGE/TRANSFER;**3**;MAR 25, 1999
  1. ;IHS/ITSC/WAR 12/16/03 Added call to 'old'(?) init of IHS variales
  1. I '$D(DGOPT("GEN"))&($D(^DG(43,1,9999999))) D VAR^ADGVAR
  1. I '$D(DGOPT("GEN")) D
  1. .S DGOPT("GEN")=$P(^BDGPAR(1,0),U,5) ;Last attempt to get min age
  1. ;IHS/ITSC/WAR 12/16/03 end of mod
  1. ;
  1. W @IOF,!!!?18,"DAY SURGERY STATISTICS BY SERVICE",!!
  1. ;***> get date range
  1. BDATE S %DT="AEQ",%DT("A")="Select beginning date: ",X="" D ^%DT
  1. G END:Y=-1 S DGBDT=Y
  1. EDATE S %DT="AEQ",%DT("A")="Select ending date: ",X="" D ^%DT
  1. G END:Y=-1 S DGEDT=Y
  1. ;
  1. ;***> get print device
  1. S %ZIS="PQ" D ^%ZIS G END:POP,QUE:$D(IO("Q")) U IO G CALC
  1. QUE K IO("Q") S ZTRTN="CALC^ADGDSST",ZTDESC="DAY SURGERY STATS"
  1. ;IHS/DSD/ENM 07/16/99 NEXT LINE COPIED/MOD
  1. ;S ZTSAVE("DGBDT")="",ZTSAVE("DGEDT")=""
  1. F DGI="DGBDT","DGEDT","DGPV","DGOPT(""GEN"")","DGOPT(""QA"")","DGOPT(""QA1"")" S ZTSAVE(DGI)=""
  1. D ^%ZTLOAD D ^%ZISC K ZTSK
  1. END K Y,DGBDT,DGEDT D HOME^%ZIS Q
  1. ;
  1. ;
  1. CALC ;***> sort by surgery date and find service and age
  1. S DGDT=DGBDT-.9999
  1. C1 S DGDT=$O(^ADGDS("AA",DGDT)) G PRINT:DGDT="",PRINT:DGDT>(DGEDT_.2400) S DFN=0
  1. C2 S DFN=$O(^ADGDS("AA",DGDT,DFN)) G C1:DFN="" S DGN=0
  1. C3 S DGN=$O(^ADGDS("AA",DGDT,DFN,DGN)) G C2:DGN=""
  1. G C3:'$D(^ADGDS(DFN,"DS",DGN,0)) S DGSRV=$P(^(0),U,5)
  1. I $D(^ADGDS(DFN,"DS",DGN,2)) G C3:$P(^(2),U,3)="Y" G C3:$P(^(2),U,4)="Y"
  1. S:DGSRV'="" DGSRV=$S($D(^DIC(45.7,DGSRV,0)):$P(^(0),U),1:"")
  1. S AGE=$$VAL^XBDIQ1(9000001,DFN,1102.99)
  1. I AGE="" S ^TMP($J,"ERR",DFN)="Date of Birth missing or invalid" G C3
  1. ;IHS/ITSC/WAR 12/16/03 added $G to avoid undefined if the OLD DS
  1. ; varialbes were not able to be setup by the VAR^ADGVAR call
  1. ;I AGE'<$P(DGOPT("GEN"),U,5) S DGA(DGSRV,"A")=$S($D(DGA(DGSRV,"A")):DGA(DGSRV,"A")+1,1:1) S:'$D(DGA(DGSRV,"P")) DGA(DGSRV,"P")=0
  1. I AGE'<$P($G(DGOPT("GEN")),U,5) S DGA(DGSRV,"A")=$S($D(DGA(DGSRV,"A")):DGA(DGSRV,"A")+1,1:1) S:'$D(DGA(DGSRV,"P")) DGA(DGSRV,"P")=0
  1. E S DGA(DGSRV,"P")=$S($D(DGA(DGSRV,"P")):DGA(DGSRV,"P")+1,1:1) S:'$D(DGA(DGSRV,"A")) DGA(DGSRV,"A")=0
  1. G C3
  1. ;
  1. PRINT ;***> print
  1. S DGFAC=$P(^DIC(4,DUZ(2),0),U),DGDUZ=$P(^VA(200,DUZ,0),U,2)
  1. S (DGLIN,DGLIN1)="",$P(DGLIN,"-",80)="",$P(DGLIN1,"=",80)=""
  1. ;
  1. S (DGSRV,DGPAGE)=0 D HEAD
  1. P1 S DGSRV=$O(DGA(DGSRV)) G EXIT:DGSRV=""
  1. W !?3,DGSRV W ?29,$J(DGA(DGSRV,"A"),3),?41,$J(DGA(DGSRV,"P"),3)
  1. W ?63,$J(DGA(DGSRV,"A")+DGA(DGSRV,"P"),4) G P1
  1. ;
  1. ;***> print totals
  1. EXIT W !,DGLIN,!!!?3,"TOTALS:"
  1. S (DGX,DGY)=0 F S DGX=$O(DGA(DGX)) Q:DGX="" S DGY=DGY+DGA(DGX,"A")
  1. S (DGX1,DGY1)=0
  1. F S DGX1=$O(DGA(DGX1)) Q:DGX1="" S DGY1=DGY1+DGA(DGX1,"P")
  1. W ?28,$J(DGY,4),?40,$J(DGY1,4),?63,$J((DGY+DGY1),4)
  1. ;
  1. END1 ;***> eoj
  1. I IOST["C-" D PRTOPT^ADGVAR
  1. W @IOF D KILL^ADGUTIL D ^%ZISC Q
  1. ;
  1. ;
  1. I (IOST["C-")!(DGPAGE>0) W @IOF
  1. W !,DGDUZ,?82-$L(DGFAC)\2,DGFAC S DGPAGE=DGPAGE+1
  1. W ! D TIME^ADGUTIL W ?23,"DAY SURGERY STATISTICS BY SERVICE"
  1. S DGX=$E(DGBDT,4,5)_"/"_$E(DGBDT,6,7)_"/"_($E(DGBDT,1,3)+1700)
  1. S DGY=$E(DGEDT,4,5)_"/"_$E(DGEDT,6,7)_"/"_($E(DGEDT,1,3)+1700)
  1. W !,$E(DT,4,5)_"/"_$E(DT,6,7)_"/"_$E(DT,2,3),?24,"from ",DGX," to ",DGY
  1. W !!?5,"SERVICE",?29,"ADULT",?41,"PEDS",?57,"TOTAL FOR SERVICE"
  1. W !,DGLIN1,! Q