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

ADGDODP.m

Go to the documentation of this file.
  1. ADGDODP ; IHS/ADC/PDW/ENM - INPATIENT DEATHS LISTING (PRINT) ; [ 09/22/2000 11:14 AM ]
  1. ;;5.0;ADMISSION/DISCHARGE/TRANSFER;**5**;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 DGLIN="",$P(DGLIN,"=",80)=""
  1. S DGLIN2="",$P(DGLIN2,"-",80)=""
  1. ;
  1. G DATE:DGTYP=1,SERV:DGTYP=2,NAME:DGTYP=3 ;what sort order?
  1. ;
  1. DATE ;***> discharge date order
  1. S DGDT=0 D HEAD
  1. DT1 S DGDT=$O(^TMP("DGZDOD",$J,DGDT)) G END:DGDT="" S DGNM=0
  1. DT2 S DGNM=$O(^TMP("DGZDOD",$J,DGDT,DGNM)) G DT1:DGNM="" S DFN=0
  1. DT3 S DFN=$O(^TMP("DGZDOD",$J,DGDT,DGNM,DFN)) G DT2:DFN=""
  1. S DGS=^TMP("DGZDOD",$J,DGDT,DGNM,DFN),DGT=$P(DGS,U),DGSV=$P(DGS,U,2)
  1. D LIN G END1:DGSTOP=U G DT3
  1. ;
  1. SERV ;***> discharge service order
  1. S DGSV=0 D HEAD
  1. SV1 S DGSV=$O(^TMP("DGZDOD",$J,DGSV)) G END:DGSV="" S DGDT=0
  1. SV2 S DGDT=$O(^TMP("DGZDOD",$J,DGSV,DGDT)) G SV1:DGDT="" S DGNM=0
  1. SV3 S DGNM=$O(^TMP("DGZDOD",$J,DGSV,DGDT,DGNM)) G SV2:DGNM="" S DFN=0
  1. SV4 S DFN=$O(^TMP("DGZDOD",$J,DGSV,DGDT,DGNM,DFN)) G SV3:DFN=""
  1. ;IHS/ASDST/ENM 09/22/00 NEXT LINE COPIED/MOD
  1. ;S DGT=^TMP("DGZDOD",$J,DGSV,DGDT,DGNM,DFN) D LIN G END1:DGSTOP=U G SV4
  1. S DGT=+^TMP("DGZDOD",$J,DGSV,DGDT,DGNM,DFN) D LIN G END1:DGSTOP=U G SV4
  1. ;
  1. NAME ;***> alpha order by patient name
  1. S DGNM=0 D HEAD
  1. NM1 S DGNM=$O(^TMP("DGZDOD",$J,DGNM)) G END:DGNM="" S DFN=0
  1. NM2 S DFN=$O(^TMP("DGZDOD",$J,DGNM,DFN)) G NM1:DFN="" S DGDT=0
  1. NM3 S DGDT=$O(^TMP("DGZDOD",$J,DGNM,DFN,DGDT)) G NM2:DGDT=""
  1. S DGS=^TMP("DGZDOD",$J,DGNM,DFN,DGDT),DGT=$P(DGS,U),DGSV=$P(DGS,U,2)
  1. D LIN G END1:DGSTOP=U G NM3
  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("DGZDOD") Q
  1. ;
  1. ;
  1. LIN ;***> subrtn to print patient data
  1. W !,$E(DGNM,1,20) S DGX=$P(^AUPNPAT(DFN,41,DUZ(2),0),U,2) ;name
  1. W ?23,$J(DGX,6),?33,$E(DGSV,1,3) ;chart # and service
  1. W ?40,$E(DGDT,4,5)_"/"_$E(DGDT,6,7)_"/"_$E(DGDT,2,3) ;date of death
  1. W ?52,$E($P(^DIC(42.2,DGT,0),U),1,25) ;discharge type
  1. I $Y>(IOSL-6) 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. 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 !,DGLIN S DGPAGE=DGPAGE+1
  1. W !?11,"*****Confidential Patient Data Covered by Privacy Act*****"
  1. W !,DGDUZ,?80-$L(DGSITE)/2,DGSITE S DGTY="INPATIENT DEATHS"
  1. W ! D TIME^ADGUTIL W ?80-$L(DGTY)/2,DGTY,?70,"Page: ",DGPAGE
  1. S Y=DT X ^DD("DD") W !,Y
  1. S DGX="SORTED BY "_$S(DGTYP=1:"DATE",DGTYP=2:"SERVICE",1:"PATIENT NAME") W ?80-$L(DGX)/2,DGX
  1. W !,DGLIN,!,"Patient Name",?24,"Chart #",?33,"SRV"
  1. W ?38,"Date of Death",?55,"Discharge Type"
  1. W !,DGLIN2,!
  1. Q