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

ADGDSN.m

Go to the documentation of this file.
  1. ADGDSN ; IHS/ADC/PDW/ENM - PATIENTS NOT RELEASED FROM DAY SURGERY ; [ 01/05/2004 11:45 AM ]
  1. ;;5.0;ADMISSION/DISCHARGE/TRANSFER;**2**;MAR 25, 1999
  1. ;
  1. ;***> get date range and device
  1. W !!?10,"PRINT LIST OF PATIENTS NOT RELEASED FROM DAY SURGERY"
  1. DATE S %DT="AEQ",%DT("A")="Beginning date: ",X="" D ^%DT
  1. G END:Y=-1 S DGBDT=Y
  1. DATE2 S %DT="AEQ",%DT("A")="Ending date: ",X="" D ^%DT G DATE:Y=-1 S DGEDT=Y
  1. I DGEDT<DGBDT W *7,!!?5,"Ending date MUST NOT be before beginning date",! G DATE2
  1. ;IHS/ITSC/WAR 12/16/03 added .2400 to include todays patients
  1. ;I DGEDT'<DT S X1=DT,X2=-1 D C^%DTC S DGEDT=X
  1. I DGEDT'<(DT+.2400) S X1=DT,X2=-1 D C^%DTC S DGEDT=X
  1. ;
  1. W !! S %ZIS="PQ" D ^%ZIS G END:POP,QUE:$D(IO("Q")) U IO G CALC
  1. QUE K IO("Q") S ZTRTN="CALC^ADGDSN",ZTDESC="DS NOT RELEASED"
  1. ;F DGI="DGBDT","DGEDT" S ZTSAVE("DGI")=""
  1. F DGI="DGBDT","DGEDT" S ZTSAVE(DGI)="" ;IHS/DSD/ENM 06/14/99
  1. D ^%ZTLOAD D ^%ZISC K ZTSK
  1. END K DGBED,DGEDT D HOME^%ZIS Q
  1. ;
  1. ;
  1. CALC ;***> calculate patients not released; screen out no-shows & cancels
  1. S DGDT=DGBDT-.0001,DGEDT=DGEDT_.2400 K ^TMP("DGZDSN",$J)
  1. A1 S DGDT=$O(^ADGDS("AA",DGDT)) G PRNT:DGDT="",PRNT:DGDT>DGEDT S DFN=0
  1. A2 S DFN=$O(^ADGDS("AA",DGDT,DFN)) G A1:DFN="" S DGN=0
  1. A3 S DGN=$O(^ADGDS("AA",DGDT,DFN,DGN)) G A2:DGN=""
  1. G A3:'$D(^ADGDS(DFN,"DS",DGN,0))
  1. G A4:'$D(^ADGDS(DFN,"DS",DGN,2)) S DGSTR=^(2)
  1. G A3:$P(DGSTR,U)'="",A3:$P(DGSTR,U,3)="Y",A3:$P(DGSTR,U,4)="Y"
  1. A4 S ^TMP("DGZDSN",$J,DGDT,DFN)="" G A3
  1. ;
  1. PRNT ;***> print list
  1. S DGDT=0,DGSTOP="",DGPAGE=""
  1. S DGLIN="",$P(DGLIN,"=",80)=""
  1. S DGFAC=$P(^DIC(4,DUZ(2),0),U),DGDUZ=$P(^VA(200,DUZ,0),U,2)
  1. D HEAD
  1. PR1 S DGDT=$O(^TMP("DGZDSN",$J,DGDT)) G END1:DGDT="" S DFN=0
  1. PR2 S DFN=$O(^TMP("DGZDSN",$J,DGDT,DFN)) G PR1:DFN=""
  1. S DGT=$P(DGDT,".",2),DGT=$E(DGT_"000",1,4)
  1. S X=$P(DGDT,"."),X=$E(X,4,5)_"/"_$E(X,6,7)_"/"_$E(X,2,3)_" at "_DGT
  1. W !?3,$P(^DPT(DFN,0),U)
  1. W:$D(^AUPNPAT(DFN,41,DUZ(2),0)) ?30,$J($P(^(0),U,2),7) W ?50,X
  1. D NEWPG:($Y>(IOSL-6)) G END2:DGSTOP=U G PR2
  1. ;
  1. ;
  1. END1 ;***> eoj
  1. I IOST["C-" D PRTOPT^ADGVAR
  1. END2 W @IOF D KILL^ADGUTIL
  1. D ^%ZISC K ^TMP("DGZDSN",$J) Q
  1. ;
  1. ;
  1. NEWPG ;***> subrtn for end of page control
  1. I IOST'?1"C-".E D HEAD S DGSTOP="" Q
  1. I DGPAGE>0 K DIR S DIR(0)="E" D ^DIR S DGSTOP=X
  1. I DGSTOP'=U D HEAD
  1. Q
  1. ;
  1. I (IOST["C-")!(DGPAGE>0) W @IOF
  1. S DGPAGE=DGPAGE+1
  1. W ?11,"*****Confidential Patient Data Covered by Privacy Act*****"
  1. W !,DGDUZ,?80-$L(DGFAC)\2,DGFAC
  1. W ! D TIME^ADGUTIL W ?23,"DAY SURGERY PATIENTS NOT RELEASED"
  1. W !!!?3,"PATIENT NAME",?30,"CHART #",?50,"SURGERY DATE/TIME"
  1. W !,DGLIN,!! Q