- VADPT32 ;ALB/MRL/MJK - PATIENT VARIABLES [IN5], CONT.; 12 DEC 1988
- ;;5.3;Registration;;Aug 13, 1993
- ;Inpatient variables [Version 5.0 and above]
- ;
- BLD ; build array of mvt in reverse order up one before E mvt
- K ^UTILITY("VADPTZ",$J,DFN) S (VANN,VAQ,VAZ,VACC)=0
- I "^4^5^"[("^"_$P(VAMV0,"^",2)_"^") D LODGER G BLDQ
- F I=0:0 S VAZ=$O(^DGPM("APMV",DFN,VAX("CA"),VAZ)),VAZ(1)=0 Q:VAQ!(VAZ'>0) F I1=0:0 S VAZ(1)=$O(^DGPM("APMV",DFN,VAX("CA"),VAZ,VAZ(1))) Q:VAQ!(VAZ(1)'>0) S VACC=VACC+1 D BA
- BLDQ K VACC,VAQ,VAZ Q
- ;
- BA ;Build Movement Array
- I VANN,VACC=(VANN+2) S VAQ=1 Q
- S:VAZ(1)=+E VANN=VACC S X=$S($D(^DGPM(+VAZ(1),0)):^(0),1:""),^UTILITY("VADPTZ",$J,DFN,VACC)=VAZ(1)_"||"_X Q
- ;
- LODGER ;
- S VANN=1,X=^DGPM(E,0)
- I $P(X,"^",2)=5 S ^UTILITY("VADPTZ",$J,DFN,1)=E_"||"_X S:$D(^DGPM(+$P(X,"^",14),0)) ^UTILITY("VADPTZ",$J,DFN,2)=+$P(X,"^",14)_"||"_^(0)
- I $P(X,"^",2)=4 S:$D(^DGPM(+$P(X,"^",17),0)) ^UTILITY("VADPTZ",$J,DFN,1)=+$P(X,"^",17)_"||"_^(0),VANN=2 S ^UTILITY("VADPTZ",$J,DFN,VANN)=E_"||"_X
- Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HVADPT32 1025 printed Apr 23, 2025@19:15:21 Page 2
- VADPT32 ;ALB/MRL/MJK - PATIENT VARIABLES [IN5], CONT.; 12 DEC 1988
- +1 ;;5.3;Registration;;Aug 13, 1993
- +2 ;Inpatient variables [Version 5.0 and above]
- +3 ;
- BLD ; build array of mvt in reverse order up one before E mvt
- +1 KILL ^UTILITY("VADPTZ",$JOB,DFN)
- SET (VANN,VAQ,VAZ,VACC)=0
- +2 IF "^4^5^"[("^"_$PIECE(VAMV0,"^",2)_"^")
- DO LODGER
- GOTO BLDQ
- +3 FOR I=0:0
- SET VAZ=$ORDER(^DGPM("APMV",DFN,VAX("CA"),VAZ))
- SET VAZ(1)=0
- if VAQ!(VAZ'>0)
- QUIT
- FOR I1=0:0
- SET VAZ(1)=$ORDER(^DGPM("APMV",DFN,VAX("CA"),VAZ,VAZ(1)))
- if VAQ!(VAZ(1)'>0)
- QUIT
- SET VACC=VACC+1
- DO BA
- BLDQ KILL VACC,VAQ,VAZ
- QUIT
- +1 ;
- BA ;Build Movement Array
- +1 IF VANN
- IF VACC=(VANN+2)
- SET VAQ=1
- QUIT
- +2 if VAZ(1)=+E
- SET VANN=VACC
- SET X=$SELECT($DATA(^DGPM(+VAZ(1),0)):^(0),1:"")
- SET ^UTILITY("VADPTZ",$JOB,DFN,VACC)=VAZ(1)_"||"_X
- QUIT
- +3 ;
- LODGER ;
- +1 SET VANN=1
- SET X=^DGPM(E,0)
- +2 IF $PIECE(X,"^",2)=5
- SET ^UTILITY("VADPTZ",$JOB,DFN,1)=E_"||"_X
- if $DATA(^DGPM(+$PIECE(X,"^",14),0))
- SET ^UTILITY("VADPTZ",$JOB,DFN,2)=+$PIECE(X,"^",14)_"||"_^(0)
- +3 IF $PIECE(X,"^",2)=4
- if $DATA(^DGPM(+$PIECE(X,"^",17),0))
- SET ^UTILITY("VADPTZ",$JOB,DFN,1)=+$PIECE(X,"^",17)_"||"_^(0)
- SET VANN=2
- SET ^UTILITY("VADPTZ",$JOB,DFN,VANN)=E_"||"_X
- +4 QUIT