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

ADGAD2.m

Go to the documentation of this file.
  1. ADGAD2 ; IHS/ADC/PDW/ENM - A&D WARD XFR ; [ 05/19/2000 10:26 AM ]
  1. ;;5.0;ADMISSION/DISCHARGE/TRANSFER;**5**;MAR 25, 1999
  1. ;
  1. ; Variables GL,FR,TO used by VA G&L routines.
  1. ;
  1. N WD,IFN,WARD,DFN,TS,PR,N,NAME,AGE,COM,HRCN,UTL,ID,DGDT,TY,CA,TYP,WDP
  1. N TSP
  1. A ; -- main
  1. D SI,L2 Q
  1. ;
  1. SI ; -- loop "CN" x-ref
  1. S WARD="" F S WARD=$O(^DPT("CN",WARD)) Q:WARD="" D
  1. . S DFN=0 F S DFN=$O(^DPT("CN",WARD,DFN)) Q:'DFN D SI1
  1. Q
  1. ;
  1. SI1 ; -- seriously ill
  1. Q:'$D(^DPT(DFN,"DAC")) Q:$P(^("DAC"),U)=""
  1. S WD=$O(^DIC(42,"B",WARD,0)),IFN=^DPT("CN",WARD,DFN)
  1. S TS=$G(^DPT(DFN,.103)),PR=$G(^DPT(DFN,.104))
  1. S N=^DPT(DFN,0),NAME=$P(N,U),AGE=$$AGE
  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,DGTSI=DGTSI+1
  1. S:GL ^TMP("DGZADS",$J,"SI",NAME,HRCN,IFN)=UTL
  1. Q
  1. ;
  1. L2 ; -- loop ward transfers
  1. S DGDT=FR F S DGDT=$O(^DGPM("AMV2",DGDT)) Q:'DGDT!(DGDT>TO) D
  1. . S DFN=0 F S DFN=$O(^DGPM("AMV2",DGDT,DFN)) Q:'DFN D
  1. .. S IFN=0 F S IFN=$O(^DGPM("AMV2",DGDT,DFN,IFN)) Q:'IFN D 1,2
  1. Q
  1. ;
  1. 1 S N=^DPT(DFN,0),NAME=$P(N,U),AGE=$$AGE,ID=9999999.9999999-DGDT
  1. S N=$G(^DGPM(+IFN,0)),TY=+$P(N,U,4),WD=+$P(N,U,6),CA=+$P(N,U,14)
  1. S N=$G(^DGPM(+$$MR,0)),TS=$S($P(N,U,9):$P(N,U,9),1:$$TSP),TSP=$$TSP
  1. S N=$G(^DGPM(+$$MP,0)),TYP=$S($P(N,U,2)=2:$P(N,U,4),1:0),WDP=$P(N,U,6)
  1. ; -- utility nodes
  1. Q:'GL
  1. ; -- absences
  1. I TY>11 S ^TMP("DGZADS",$J,"AB",NAME,DFN,IFN)=WDP_U_TY Q
  1. I TYP>11 S ^TMP("DGZADS",$J,"AB1",NAME,DFN,IFN)=TYP_U_WD Q
  1. ; -- ward transfers
  1. S ^TMP("DGZADS",$J,"WT",NAME,DFN,IFN)=WDP_U_WD Q
  1. ;
  1. 2 ; -- census counts
  1. S DGT2=DGT2+1
  1. ; -- newborn
  1. I $D(^DIC(45.7,"B","NEWBORN",+TS)) D Q
  1. . S DGLWD("NB",WDP)=DGLWD("NB",WDP)+$$LOS
  1. . S $P(DGWD("NB",WD),U,3)=$P(DGWD("NB",WD),U,3)+1
  1. . S $P(DGWD("NB",WDP),U,4)=$P(DGWD("NB",WDP),U,4)+1
  1. I $D(^DIC(45.7,"B","NEWBORN",+TSP)) D Q
  1. . S DGLWD("NB",WDP)=DGLWD("NB",WDP)+$$LOS
  1. . S $P(DGWD(WD),U,3)=$P(DGWD(WD),U,3)+1
  1. . S $P(DGWD("NB",WDP),U,4)=$P(DGWD("NB",WDP),U,4)+1
  1. ; -- other
  1. S DGLWD(WDP)=DGLWD(WDP)+$$LOS
  1. S $P(DGWD(WD),U,3)=$P(DGWD(WD),U,3)+1
  1. S $P(DGWD(WDP),U,4)=$P(DGWD(WDP),U,4)+1 Q
  1. ;
  1. AGE() ; -- age at admission
  1. ;N X,X1,X2 S X1=+^DGPM(+IFN,0),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. MR() ; -- movement, related, ien
  1. Q $O(^DGPM("APHY",IFN,0))
  1. ;
  1. MP() ; -- movement, previous, ien
  1. Q $O(^($O(^DGPM("APMV",DFN,CA,ID)),0))
  1. ;
  1. TSP() ; -- treating specialty, previous
  1. Q $O(^($O(^DGPM("ATS",DFN,CA,ID)),0))
  1. ;
  1. LOS() ; -- ward los
  1. N X,X1,X2 S X1=+$G(^DGPM(+IFN,0)),X2=+$G(^DGPM(+$$MP,0)) D ^%DTC Q $S(X:X,1:1)