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

ADGLADP.m

Go to the documentation of this file.
  1. ADGLADP ; IHS/ADC/PDW/ENM - ADMISSION LISTING (PRINT) ; [ 03/25/1999 11:48 AM ]
  1. ;;5.0;ADMISSION/DISCHARGE/TRANSFER;;MAR 25, 1999
  1. ;
  1. ;***> initialize variables
  1. S DGPAGE=0,DGSTOP="",DGDUZ=$P(^VA(200,DUZ,0),U,2)
  1. S DGSITE=$P(^DIC(4,DUZ(2),0),U) ;set site
  1. S DGRANGE=$E(DGBDT,4,5)_"/"_$E(DGBDT,6,7)_"/"_$E(DGBDT,2,3)_" to "
  1. S DGRANGE=DGRANGE_$E(DGEDT,4,5)_"/"_$E(DGEDT,6,7)_"/"_$E(DGEDT,2,3)
  1. S DGLINE="",$P(DGLINE,"=",80)=""
  1. S DGLINE2="",$P(DGLINE2,"-",80)=""
  1. ;
  1. G DATE:DGTYP=1,WARD:DGTYP=2,SERV:DGTYP=3 ;what sort order?
  1. ;
  1. DATE ;***> admit date order
  1. S DGDT=0
  1. DT1 S DGDT=$O(^TMP("DGZLAD",$J,DGDT)) G END:DGDT="" S DGTM=0
  1. D NEWPG G END1:DGSTOP=U
  1. DT2 S DGTM=$O(^TMP("DGZLAD",$J,DGDT,DGTM)) G DT1:DGTM="" S DFN=0
  1. DT3 S DFN=$O(^TMP("DGZLAD",$J,DGDT,DGTM,DFN)) G DT2:DFN=""
  1. S DGS=^TMP("DGZLAD",$J,DGDT,DGTM,DFN)
  1. S DGW=$P(DGS,U),DGSV=$P(DGS,U,2),DGDX=$P(DGS,U,3)
  1. S DGNM=$P(^DPT(DFN,0),U),DGTIM=$E($P(DGTM,".",2)_"000",1,4)
  1. D LINE G END1:DGSTOP=U G DT3
  1. ;
  1. WARD ;***> in order by ward
  1. S DGW=0
  1. WD1 S DGW=$O(^TMP("DGZLAD",$J,DGW)) G END:DGW="" S DGDT=0
  1. I DGPAGE=0!(DGBDT'=DGEDT) D NEWPG G END1:DGSTOP=U
  1. I DGPAGE>0,DGBDT=DGEDT W !!?35,"** ",$E(DGW,1,3)," **"
  1. WD2 S DGDT=$O(^TMP("DGZLAD",$J,DGW,DGDT)) G WD1:DGDT="" S DGNM=0
  1. WD3 S DGNM=$O(^TMP("DGZLAD",$J,DGW,DGDT,DGNM)) G WD2:DGNM="" S DFN=0
  1. WD4 S DFN=$O(^TMP("DGZLAD",$J,DGW,DGDT,DGNM,DFN)) G WD3:DFN=""
  1. S DGS=^TMP("DGZLAD",$J,DGW,DGDT,DGNM,DFN)
  1. S DGSV=$P(DGS,U),DGDX=$P(DGS,U,2)
  1. D LINE G END1:DGSTOP=U G WD4
  1. ;
  1. SERV ;***> admit service order
  1. S DGSV=0
  1. SV1 S DGSV=$O(^TMP("DGZLAD",$J,DGSV)) G END:DGSV="" S DGDT=0
  1. I DGPAGE=0!(DGBDT'=DGEDT) D NEWPG G END1:DGSTOP=U
  1. I DGPAGE>0,DGBDT=DGEDT W !!?35,"** ",$E(DGSV,1,3)," **"
  1. SV2 S DGDT=$O(^TMP("DGZLAD",$J,DGSV,DGDT)) G SV1:DGDT="" S DGNM=0
  1. SV3 S DGNM=$O(^TMP("DGZLAD",$J,DGSV,DGDT,DGNM)) G SV2:DGNM="" S DFN=0
  1. SV4 S DFN=$O(^TMP("DGZLAD",$J,DGSV,DGDT,DGNM,DFN)) G SV3:DFN=""
  1. S DGS=^TMP("DGZLAD",$J,DGSV,DGDT,DGNM,DFN)
  1. S DGW=$P(DGS,U),DGDX=$P(DGS,U,2)
  1. D LINE G END1:DGSTOP=U G SV4
  1. ;
  1. ;
  1. END ;***> eoj
  1. I IOST["C-" K DIR S DIR(0)="E" D ^DIR
  1. END1 W @IOF D KILL^ADGUTIL
  1. D ^%ZISC K ^TMP("DGZLAD") Q
  1. ;
  1. ;
  1. LINE ;***> print patient data
  1. W !,$E(DGNM,1,20) ;patient name
  1. S DGX=$P(^AUPNPAT(DFN,41,DUZ(2),0),U,2) W ?23,$J(DGX,6) ;chart #
  1. I DGTYP=1 W ?32,DGTIM,?41,$E(DGSV,1,3),?48,$E(DGW,1,3) ;time,srv&ward
  1. I DGTYP>1 W ?32,$E(DGDT,4,5)_"/"_$E(DGDT,6,7)_"/"_$E(DGDT,2,3)_"@"_$E($P(DGDT,".",2)_"000",1,4)
  1. W ?48,$S(DGTYP=2:$E(DGSV,1,3),DGTYP=3:$E(DGW,1,3),1:"")
  1. W ?55,$E(DGDX,1,25) ;admit dx
  1. I $Y>(IOSL-4) D NEWPG
  1. Q
  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. W !,DGLINE S DGPAGE=DGPAGE+1
  1. W !?11,"*****Confidential Patient Data Covered by Privacy Act*****"
  1. W !,DGDUZ,?80-$L(DGSITE)/2,DGSITE S DGTY="ADMISSIONS"
  1. W ! D TIME^ADGUTIL W ?80-$L(DGTY)/2,DGTY,?70,"Page: ",DGPAGE
  1. S Y=DT X ^DD("DD") W !,Y,?30,DGRANGE ;date range
  1. S DGX="(SORTED BY "_$S(DGTYP=1:"DATE",DGTYP=2:"WARD",1:"SERVICE")_")" W !?80-$L(DGX)/2,DGX
  1. W !,DGLINE I DGTYP=1 W !?32,"Admit"
  1. W !,"Patient Name",?24,"HRCN"
  1. I DGTYP=1 W ?32,"Time",?41,"Srv",?47,"Ward",?57,"Admitting Diagnosis"
  1. I DGTYP=2 W ?33,"Admit Date",?48,"Srv",?57,"Admitting Diagnosis"
  1. I DGTYP=3 W ?33,"Admit Date",?47,"Ward",?58,"Admitting Diagnosis"
  1. W !,DGLINE2
  1. I DGTYP=1 W !!?25,"** Admitted on ",$E(DGDT,4,5)_"/"_$E(DGDT,6,7)_"/"_$E(DGDT,2,3)," **",!
  1. E I DGBDT'=DGEDT S DGX="** "_$S(DGTYP=2:DGW,1:DGSV)_" **" W !!?80-$L(DGX)/2,DGX
  1. Q