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

ADGPTLC.m

Go to the documentation of this file.
  1. ADGPTLC ; IHS/ADC/PDW/ENM - CALCULATE PATIENT LIST ; [ 03/25/1999 11:48 AM ]
  1. ;;5.0;ADMISSION/DISCHARGE/TRANSFER;;MAR 25, 1999
  1. ;
  1. K ^TMP("DGZPTL",$J)
  1. ; -- main
  1. N DFN,NAME,WD,BED,RM,IFN,AD,DX,TS,PR,N,RMBD,RB,COM,X,Y
  1. D AWD:'DGWST,OWD:DGWST
  1. I $D(^ADGDS("CN"))!$D(^SRF("AIHS1","OB")) D ^ADGPTLC1
  1. G:DGO=3 ^ADGPTLP1
  1. G ^ADGPTLP
  1. ;
  1. AWD ; -- all wards
  1. I DGO'=3 D
  1. . S WD=0 F S WD=$O(^DG(405.4,"W",WD)) Q:'WD D:'$$OOSW(WD)
  1. .. S RB=0 F S RB=$O(^DG(405.4,"W",WD,RB)) Q:'RB D:'$$OOSB(RB)
  1. ... S WARD=$P($G(^DIC(42,+WD,0)),U),RMBD=$P($G(^DG(405.4,+RB,0)),U)
  1. ... S ^TMP("DGZPTL",$J,"BED",WD,RB)=WARD_"-"_RMBD
  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 1
  1. Q
  1. ;
  1. OWD ; -- one ward
  1. Q:$$OOSW(DGWST) I DGO'=3 D
  1. . S RB=0 F S RB=$O(^DG(405.4,"W",DGWST,RB)) Q:'RB D:'$$OOSB(RB)
  1. .. S WARD=$P($G(^DIC(42,+DGWST,0)),U),RMBD=$P($G(^DG(405.4,+RB,0)),U)
  1. .. S ^TMP("DGZPTL",$J,"BED",DGWST,RB)=WARD_"-"_RMBD
  1. S WARD=$P(^DIC(42,DGWST,0),U)
  1. S DFN=0 F S DFN=$O(^DPT("CN",WARD,DFN)) Q:'DFN D 1
  1. Q
  1. ;
  1. 1 S IFN=^DPT("CN",WARD,DFN),NAME=$P(^DPT(DFN,0),U),WD=$G(^DPT(DFN,.1))
  1. S BED=$G(^DPT(DFN,.101)),TS=$G(^(.103)),PR=$G(^(.104))
  1. S RM=WD_"-"_BED,COM=$P($G(^AUPNPAT(DFN,11)),U,18)
  1. S N=$G(^DGPM(IFN,0)),AD=+N,DX=$S(DGO=2:TS,1:$P(N,U,10))
  1. ;--alpha list
  1. I DGO=3 D Q
  1. . S ^TMP("DGZPTL",$J,"A",NAME,DFN)=RM_U_AD_U_TS_U_PR_U_COM
  1. ;--no room-bed
  1. I $P(RM,"-",2)="" D Q
  1. . S ^TMP("DGZPTL",$J,"WD",RM,DFN)=DFN_U_NAME_U_AD_U_DX_U_PR_U_COM
  1. ;--with room-bed
  1. S ^TMP("DGZPTL",$J,"WD",RM)=DFN_U_NAME_U_AD_U_DX_U_PR_U_COM
  1. Q
  1. ;
  1. Q ;--cleanup
  1. K DFN,NAME,WD,BED,RM,IFN,AD,DX,TS,PR,N,RMBD,RB,COM Q
  1. ;
  1. OOSB(Y) ; -- bed out of service
  1. Q:'$D(^DG(405.4,Y,"I","AINV")) 0
  1. N X S X=$G(^DG(405.4,Y,"I",+$O(^($O(^("AINV",0)),0)),0)) Q:'X 0
  1. Q $S($P(X,U,4)=DT:0,$P(X,U,4)&($P(X,U,4)<DT):0,X=DT:0,X<DT:1,1:0)
  1. ;
  1. OOSW(Y) ; -- ward out of service
  1. Q:'$D(^DIC(42,Y,"OOS","AINV")) 0
  1. N X S X=$G(^DIC(42,Y,"OOS",+$O(^($O(^("AINV",0)),0)),0)) Q:'X 0
  1. Q $S($P(X,U,4)=DT:0,$P(X,U,4)&($P(X,U,4)<DT):0,X=DT:0,X<DT:1,1:0)