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

VADPT.m

Go to the documentation of this file.
  1. VADPT ;ALB/MRL/MJK,ERC,TDM - RETURN PATIENT VARIABLE ARRAYS
  1. ;;5.3;PIMS;**193,343,389,415,489,498,1004,1015,1016**;JUN 30, 2012;Build 20
  1. ;DFN = Patient IFN [if not passed entire array returned as null]
  1. ;IHS/ANMC/LJF 8/18/2000 added HRCN to kill of variables
  1. ;IHS/OIT/LJF 11/10/2005 PATCH 1004 included for sites where it has been overwritten
  1. ;
  1. DEM ;Demographic Variables
  1. S VAN=1,VAN(1)=12,VAV="VADM" D ^VADPT0 Q
  1. ;
  1. OPD ;Other Patient Data
  1. S VAN=2,VAN(1)=8,VAV="VAPD" D ^VADPT0 Q
  1. ;
  1. ADD ;Current Address
  1. S VAN=3,VAN(1)=29,VAV="VAPA" D ^VADPT0 Q
  1. ;
  1. OAD ;Other Patient Variables
  1. S VAN=4,VAN(1)=11,VAV="VAOA" D ^VADPT0 Q
  1. ;
  1. INP ;Inpatient Data [pre-version 5]
  1. N VAINDTT S VAN=5,VAN(1)=11,VAV="VAIN",VAINDTT=$G(VAINDT) N VAINDT S:VAINDTT VAINDT=$$DATIM(VAINDTT) D ^VADPT0 Q
  1. ;
  1. IN5 ;Inpatient Data [v5.0 and above]
  1. N VAINDTT S VAN=6,VAN(1)=19,VAV=$S('$D(VAIP("V")):"VAIP",VAIP("V")'?1A.E:"VAIP",1:VAIP("V")),VAINDTT=$G(VAIP("D")) S:$L(VAINDTT) VAIP("D")=VAINDTT S:VAINDTT VAIP("D")=$$DATIM(VAINDTT) D ^VADPT0 S:$L(VAINDTT) VAIP("D")=VAINDTT Q
  1. ;
  1. ELIG ;Eligibility Information
  1. S VAN=7,VAN(1)=9,VAV="VAEL" D ^VADPT0 Q
  1. ;
  1. MB ;Monetary Benefits
  1. S VAN=8,VAN(1)=9,VAV="VAMB" D ^VADPT0 Q
  1. ;
  1. SVC ;Service Information
  1. S VAN=9,VAN(1)=14,VAV="VASV" D ^VADPT0 Q
  1. ;
  1. REG ;Registration data
  1. S VAN=10,VAV="VARP" D ^VADPT0 Q
  1. ;
  1. SDE ;Enrollment Information
  1. S VAN=11,VAV="VAEN" D ^VADPT0 Q
  1. ;
  1. SDA ;Appointment Information
  1. S VAN=12,VAV="VASD" D ^VADPT0 Q
  1. ;
  1. PID ;Patient Id
  1. S VAN=13,VAV="VA" D ^VADPT0 Q
  1. ;
  1. TESTPAT(DFN) ;Test patient ? Returns 0 (No) or 1 (Yes)
  1. S DFN=+$G(DFN) I 'DFN Q 0
  1. I $D(^DPT("ATEST",DFN)) Q 1
  1. N NODE S NODE=$G(^DPT(DFN,0))
  1. I $P(NODE,"^",21)=1 Q 1
  1. I $E($P(NODE,"^",9),1,5)="00000" Q 1
  1. Q 0
  1. ;
  1. V5 S X=$S($D(^DG(43,1,"VERSION")):+^("VERSION"),1:""),VADPT("V")=$S(X<5:0,1:1) K X Q
  1. OERR ;
  1. 1 S VATAG=1 D MULT Q
  1. 2 S VATAG=2 D MULT Q
  1. 3 S VATAG=3 D MULT Q
  1. 4 S VATAG=4 D MULT Q
  1. 5 S VATAG=5 D MULT Q
  1. 6 S VATAG=6 D MULT Q
  1. 7 S VATAG=7 D MULT Q
  1. 8 S VATAG=8 D MULT Q
  1. 9 S VATAG=9 D MULT Q
  1. 10 S VATAG=10 D MULT Q
  1. 51 S VATAG=11 D MULT Q
  1. 52 S VATAG=12 D MULT Q
  1. 53 S VATAG=13 D MULT Q
  1. ALL S VATAG=14 D MULT Q
  1. A5 S VATAG=15 D MULT Q
  1. SEL Q:$O(VARRAY(0))']"" S VATAG=0,VATAG(2)=$P($T(TAG),";;",2)
  1. F VATAG(1)=0:0 S VATAG=$O(VARRAY(VATAG)) Q:VATAG="" I VATAG(2)[("^"_VATAG_"^") S VARRAY(VATAG)=1,VAROOT=$S($D(VAROOT(VATAG)):VAROOT(VATAG),1:"") D @VATAG
  1. G Q
  1. ;
  1. MULT S VATAG=$P($T(TG+VATAG),";;",2)
  1. F VATAG(1)=1:1 S VATAG(2)=$P(VATAG,"^",VATAG(1)) Q:VATAG(2)="" S VAROOT=$S($D(VAROOT(VATAG(2))):VAROOT(VATAG(2)),1:"") D @(VATAG(2))
  1. Q S VAROOT="" K:$D(VAROOT)'=11 VAROOT K VATAG Q
  1. ;
  1. KVA K VA
  1. K HRCN ;IHS/ANMC/LJF 8/18/2000 set when VA variables are set
  1. ;
  1. KVAR D KVAR^VADPT0 K:$D(VAIP("V")) @(VAIP("V")) K I,X,Y,VARRAY,VADM,VAPD,VADPT,VAOA,VASV,VAEL,VAMB,VARP,VAEN,VASD,VAIN,VAIP,VAPA,VAHOW,VAINDT,VAERR,^UTILITY("VADPT",$J),VA200,VATEST Q
  1. DATIM(DATIM) ;If time not specified see if movement on that date
  1. Q:DATIM'?7N DATIM
  1. N A,B S A=$O(^DGPM("ADFN"_DFN,DATIM)),B=+$O(^(+A,0))
  1. I 'A Q DATIM
  1. I $P($G(^DGPM(+B,0)),"^",2)=3 Q DATIM ;Next movement is discharge
  1. F Q:"^4^5^7^"'[(U_$P($G(^DGPM(+B,0)),"^",2)) S A=$O(^DGPM("ADFN"_DFN,A)),B=+$O(^(+A,0)) I $E(A,1,7)'=DATIM Q
  1. I 'A Q DATIM
  1. I $E(A,1,7)'=DATIM Q DATIM
  1. Q A
  1. ;
  1. TG ;
  1. ;;DEM^INP
  1. ;;DEM^ELIG
  1. ;;ELIG^INP
  1. ;;DEM^ADD
  1. ;;ADD^INP
  1. ;;DEM^ELIG^ADD
  1. ;;ELIG^SVC
  1. ;;ELIG^SVC^MB
  1. ;;DEM^REG^SDE^SDA
  1. ;;SDE^SDA
  1. ;;DEM^IN5
  1. ;;ELIG^IN5
  1. ;;ADD^IN5
  1. ;;DEM^OPD^INP^ADD^ELIG^SVC^OAD^MB^REG^SDE^SDA
  1. ;;DEM^OPD^IN5^ADD^ELIG^SVC^OAD^MB^REG^SDE^SDA
  1. ;
  1. TAG ;;^DEM^OPD^INP^IN5^ADD^OAD^ELIG^SVC^MB^REG^SDE^SDA^