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

ADGCEN30.m

Go to the documentation of this file.
  1. ADGCEN30 ; IHS/ADC/PDW/ENM - CENSUS AID-PATIENT LIST ; [ 03/25/1999 11:48 AM ]
  1. ;;5.0;ADMISSION/DISCHARGE/TRANSFER;;MAR 25, 1999
  1. ;
  1. N N,N0,N6,NAME,WARD,DGDT,DFN,IFN,TS,TY,TSNB
  1. K ^TMP($J)
  1. S TSNB=$S($O(^DIC(45.7,"B","NEWBORN",0)):$O(^(0)),1:"NEW")
  1. A ; -- main
  1. D LP1,LP3,LP2,LP6
  1. G ^ADGCEN31 ;print report
  1. Q
  1. ;
  1. LP1 ; -- loop admissions
  1. S DGDT=DGBDT-.0001
  1. F S DGDT=$O(^DGPM("AMV1",DGDT)) Q:'DGDT!(DGDT>DGEDT) D
  1. . S DFN=0 F S DFN=$O(^DGPM("AMV1",DGDT,DFN)) Q:'DFN D
  1. .. S IFN=0 F S IFN=$O(^DGPM("AMV1",DGDT,DFN,IFN)) Q:'IFN D ADM
  1. Q
  1. ;
  1. ADM ; -- admission
  1. S N=$G(^DGPM(IFN,0)),N0=$G(^DPT(DFN,0)),N6=$G(^DGPM(+$$TS,0))
  1. S NAME=$P(N0,U),WARD=$P($G(^DIC(42,+$P(N,U,6),0)),U),TS=$P(N6,U,9)
  1. ; -- screen (selected ward? "A"=all wards)
  1. I DGWD'="A",$P(N,U,6)'=DGWD Q
  1. ; -- newborn
  1. I TS=TSNB D Q
  1. . S ^TMP($J,"NEWA",WARD,DGDT,NAME,DFN)=""
  1. ; -- other
  1. S ^TMP($J,"AA",WARD,DGDT,NAME,DFN)=""
  1. Q
  1. ;
  1. LP3 ; -- loop discharges
  1. S DGDT=DGBDT-.0001
  1. F S DGDT=$O(^DGPM("AMV3",DGDT)) Q:'DGDT!(DGDT>DGEDT) 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 DSC
  1. Q
  1. ;
  1. DSC ; -- discharge
  1. S N=$G(^DGPM(IFN,0)),N0=$G(^DPT(DFN,0)),N6=$G(^DGPM(+$$TS,0))
  1. S NAME=$P(N0,U),WARD=$P($G(^DIC(42,+$P($G(^DGPM(+$$MP,0)),U,6),0)),U)
  1. S TY=$P(N,U,4),TS=$P(N6,U,9)
  1. ; -- screen (selected ward? "A"=all wards)
  1. I DGWD'="A",$P($G(^DGPM(+$$MP,0)),U,6)'=DGWD Q
  1. ; -- newborn
  1. I TS=TSNB D Q
  1. . S ^TMP($J,"NEWD",WARD,DGDT,NAME,DFN)=""
  1. ; -- death
  1. I $$DEATH D Q
  1. . S ^TMP($J,"DT",WARD,DGDT,NAME,DFN)=""
  1. ; -- other
  1. S ^TMP($J,"AD",WARD,DGDT,NAME,DFN)=""
  1. Q
  1. ;
  1. LP2 ; -- loop ward transfers
  1. S DGDT=DGBDT-.0001
  1. F S DGDT=$O(^DGPM("AMV2",DGDT)) Q:'DGDT!(DGDT>DGEDT) 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 TRN
  1. Q
  1. ;
  1. TRN ; -- ward transfers
  1. S N=$G(^DGPM(IFN,0)),N0=$G(^DPT(DFN,0)),N6=$G(^DGPM(+$$TS,0))
  1. S NAME=$P(N0,U),WARD=$P($G(^DIC(42,+$P(N,U,6),0)),U),TS=$P(N6,U,9)
  1. ; -- screen (selected ward? "A"=all wards)
  1. ; -- xfr in
  1. I DGWD="A"!($P(N,U,6)=DGWD) D Q:DGWD'="A"
  1. . S ^TMP($J,"TI",WARD,DGDT,NAME,DFN)=""
  1. ; -- ward transfer, previous
  1. S CA=$P(N,U,14),ID=9999999.9999999-N
  1. S N6=$G(^DGPM(+$$TSP,0)),TS=$P(N6,U,9)
  1. S NAME=$P($G(^DPT(DFN,0)),U)
  1. S N=$G(^DGPM($$MP,0)),WARD=$P($G(^DIC(42,+$P(N,U,6),0)),U)
  1. I DGWD'="A",$P(N,U,6)'=DGWD Q
  1. ; -- xfr out
  1. S ^TMP($J,"TO",WARD,DGDT,NAME,DFN)=""
  1. Q
  1. ;
  1. LP6 ; -- loop treating specialty transfers
  1. S DGDT=DGBDT-.0001
  1. F S DGDT=$O(^DGPM("AMV6",DGDT)) Q:'DGDT!(DGDT>DGEDT) D
  1. . S DFN=0 F S DFN=$O(^DGPM("AMV6",DGDT,DFN)) Q:'DFN D
  1. .. S IFN=0 F S IFN=$O(^DGPM("AMV6",DGDT,DFN,IFN)) Q:'IFN D TSC
  1. Q
  1. ;
  1. TSC ; -- transfers from newborn service
  1. S N=$G(^DGPM(IFN,0)),TS=$P(N,U,9)
  1. I TS'=TSNB Q
  1. Q:'$$M6A
  1. S NAME=$P($G(^DPT(DFN,0)),U)
  1. S WARD=$P($G(^DIC(42,+$P($G(^DGPM(+$P(N,U,24),0)),U,6),0)),U)
  1. S ^TMP($J,"NEWT",WARD,DGDT,NAME,DFN)=""
  1. ; -- ward xfr too?
  1. I +$P($G(^DGPM(+N,0)),U,24) S ^TMP($J,"TI",WARD,DGDT,NAME,DFN)=""
  1. Q
  1. ;
  1. MP() ; -- movement, previous
  1. Q $O(^DGPM("APID",DFN,+$O(^DGPM("APID",DFN,9999999.9999999-DGDT)),0))
  1. ;
  1. DEATH() ; -- type of discharge death
  1. Q $S((+$G(^DG(405.1,+TY,"IHS"))>3)&(+$G(^DG(405.1,+TY,"IHS"))<8):1,1:0)
  1. ;
  1. M6A() ; -- movement, ts, next
  1. Q $O(^DGPM("APTT6",DFN,+$O(^DGPM("APTT6",DFN,DGDT)),0))
  1. ;
  1. TS() ; -- t.s. ifn
  1. Q:$O(^DGPM("APHY",+IFN,0)) $O(^DGPM("APHY",+IFN,0))
  1. Q $O(^($O(^DGPM("ATS",DFN,+$P(N,U,14),9999999.9999999-N)),0))
  1. ;
  1. TSP() ; -- t.s, previous
  1. Q $O(^($O(^DGPM("ATS",DFN,CA,ID)),0))