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

ADGAD3.m

Go to the documentation of this file.
  1. ADGAD3 ; IHS/ADC/PDW/ENM - A&D DISCHARGES ; [ 05/19/2000 10:29 AM ]
  1. ;;5.0;ADMISSION/DISCHARGE/TRANSFER;**5**;MAR 25, 1999
  1. ;
  1. ; Variables GL, RD, FR, TO used by VA G&L routines.
  1. ;
  1. N DFN,IFN,DGDT,NAME,FAC,WD,COM,PR,TS,AGE,HRCN,CA,N,UTL,ID,Z
  1. A ; -- main
  1. D L3 Q
  1. ;
  1. L3 ; -- loop discharges
  1. S DGDT=FR F S DGDT=$O(^DGPM("AMV3",DGDT)) Q:'DGDT!(DGDT>TO) D
  1. . S DFN=0 F S DFN=$O(^DGPM("AMV3",DGDT,DFN)) Q:'DFN D
  1. .. S IFN=0 F S IFN=$O(^DGPM("AMV3",DGDT,DFN,IFN)) Q:'IFN D 1,2,3
  1. Q
  1. ;
  1. 1 S ID=9999999.9999999-DGDT
  1. S N=$G(^DPT(+DFN,0)),NAME=$P(N,U),AGE=$$AGE
  1. S N=$G(^DGPM(+IFN,0)),FAC=$P(N,U,5),CA=$P(N,U,14)
  1. S N=$G(^DGPM(+$$MIP,0)),WD=$P(N,U,6)
  1. S N=$G(^DGPM(+$$MTSP,0)),TS=$P(N,U,9),PR=$P(N,U,8)
  1. S COM=$P($G(^AUPNPAT(DFN,11)),U,18),HRCN=$$HRCN^ADGF
  1. S UTL=PR_U_AGE_U_WD_U_TS_U_COM_U_FAC
  1. ; -- death, newborn or other
  1. I $D(^DPT(DFN,.35)),$P($P(^(.35),U),".")=RD D DEATH Q
  1. I $D(^DIC(45.7,"B","NEWBORN",TS)) D NWBRN Q
  1. D OTHER Q
  1. ;
  1. 2 ; -- ward
  1. ; -- newborn
  1. I $D(^DIC(45.7,"B","NEWBORN",TS)) D Q
  1. . I $$ONE S $P(DGWD("NB",WD),U,6)=$P(DGWD("NB",WD),U,6)+1
  1. . S $P(DGWD("NB",WD),U,Z)=$P(DGWD("NB",WD),U,Z)+1
  1. . S DGLWD("NB",WD)=DGLWD("NB",WD)+$$LOS2
  1. ; -- all other
  1. I $$ONE S $P(DGWD(WD),U,6)=$P(DGWD(WD),U,6)+1
  1. S $P(DGWD(WD),U,Z)=$P(DGWD(WD),U,Z)+1
  1. S DGLWD(WD)=DGLWD(WD)+$$LOS2 Q
  1. ;
  1. 3 ; -- treating specialty
  1. ; -- peds
  1. I +AGE<DGADULT D Q
  1. . S $P(DGTSP(TS),U,Z)=$P(DGTSP(TS),U,Z)+1
  1. . I $$ONE S $P(DGTSP(TS),U,6)=$P(DGTSP(TS),U,6)+1
  1. . S DGLTSP(TS)=DGLTSP(TS)+$$LOS6
  1. ; -- adults
  1. S $P(DGTSA(TS),U,Z)=$P(DGTSA(TS),U,Z)+1
  1. I $$ONE S $P(DGTSA(TS),U,6)=$P(DGTSA(TS),U,6)+1
  1. S DGLTSA(TS)=DGLTSA(TS)+$$LOS6 Q
  1. ;
  1. DEATH ; -- deceased patients
  1. S:GL ^TMP("DGZADS",$J,"DT",NAME,HRCN,IFN)=UTL
  1. S DGT3D=DGT3D+1,Z=5 Q
  1. ;
  1. NWBRN ; -- newborn patients
  1. S:GL ^TMP("DGZADS",$J,"DN",NAME,HRCN,IFN)=UTL
  1. S DGT3N=DGT3N+1,Z=2 Q
  1. ;
  1. OTHER ; -- all other patients
  1. S:GL ^TMP("DGZADS",$J,"AD",NAME,HRCN,IFN)=UTL
  1. S DGT30=DGT30+1,Z=2 Q
  1. ;
  1. MIP() ; -- movement, ifn, previous
  1. Q $O(^($O(^DGPM("APMV",DFN,CA,ID)),0))
  1. ;
  1. MTSP() ; -- movement, ts, previous
  1. Q $O(^(+$O(^(+$O(^DGPM("ATS",DFN,CA,ID)),0)),0))
  1. ;
  1. ONE() ; -- one day patients
  1. Q $S($P(^DGPM($P(^DGPM(IFN,0),U,14),0),".")=RD:1,1:0)
  1. ;
  1. AGE() ; -- age at admission
  1. ;N X,X1,X2 S X1=DGDT,X2=$P(N,U,3) D ^%DTC Q:'X "" Q X\365.25
  1. N X,X1,X2 S X1=+$G(^DGPM(+$P(^DGPM(IFN,0),U,14),0)),X2=$P(N,U,3) D ^%DTC Q:'X "" Q X\365.25 ;IHS/ANMC/LJF/ENM 3/22/99
  1. ;
  1. LOS2() ; -- ward los
  1. N X,X1,X2 S X1=+^DGPM(+IFN,0),X2=+^DGPM(+$$MIP,0) D ^%DTC Q $S(X:X,1:1)
  1. ;
  1. LOS6() ; -- t.s. los
  1. N X,X1,X2 S X1=+^DGPM(+IFN,0),X2=+^DGPM(+$$MTSP,0) D ^%DTC Q $S(X:X,1:1)