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

PSJOCVAR.m

Go to the documentation of this file.
PSJOCVAR ;BIR/RSB-SAVE/RESTORE VARIABLES FOR OC  ;24 Feb 99 / 10:42 AM
 ;;5.0; INPATIENT MEDICATIONS ;**16,22,30,58,181**;16 DEC 97;Build 190
 ;
 NEW PSJVAR,PSJVAR1,PSJX
 ; saves the variables in ^TMP
 K ^TMP("PSJOCVAR",$J),^TMP("PSJOCVAR_DRG",$J),^TMP("PSJOCVAR_PS5345",$J)
 F PSJVAR1=1:1 S PSJVAR=$P($T(LIST+PSJVAR1),";;",2) Q:PSJVAR=""  D
 .I $D(@PSJVAR) S:$D(@PSJVAR)'=10 ^TMP("PSJOCVAR",$J,PSJVAR)=@PSJVAR
 I $D(DRG) MERGE ^TMP("PSJOCVAR_DRG",$J)=DRG
 ;save off local array
 F PSJX="P(","PSGEFN(","PSGVADR(","PSGVALG(","VADM(","VAIN(","VAIP(" D SVARRAY
 D SAVEPS ; Save the ^PS(53.45,DUZ,2) entry
 Q
SVARRAY ;  Save array to ^TMP
 NEW PSJVARX,X
 S PSJVARX=PSJX_"X)"
 S X="" F  S X=$O(@PSJVARX) Q:X=""  S ^TMP("PSJOCVAR",$J,PSJX_$S(+X=X:X,1:""""_X_"""")_")")=@PSJVARX
 Q
RESTORE ;  restores the variables from ^TMP
 NEW PSJVAR
 S PSJVAR="" F  S PSJVAR=$O(^TMP("PSJOCVAR",$J,PSJVAR)) Q:PSJVAR=""  D
 .S @PSJVAR=^TMP("PSJOCVAR",$J,PSJVAR)
 I $D(^TMP("PSJOCVAR_DRG",$J)) K DRG MERGE DRG=^TMP("PSJOCVAR_DRG",$J)
 K ^TMP("PSJOCVAR",$J),^TMP("PSJOCVAR_DRG",$J),^TMP("PSJOCVAR_PS5345",$J,DUZ)
 D RESPS ; Restore any saved ^PS(53.45,DUZ,2) and ^PS(53.45,DUZ,4) entries
 Q
SAVEPS ; Save the ^PS(53.45,DUZ,2) entry
 NEW PSJLOOP,PSJBLOOP
 ; Save the 2,0) node
 I $D(^PS(53.45,DUZ,2,0)) D
 .S ^TMP("PSJOCVAR_PS5345",$J,DUZ,2,0)=^PS(53.45,DUZ,2,0)
 ;Save the 2,n,0) nodes
 S PSJLOOP=0
 F PSJLOOP=$O(^PS(53.45,DUZ,2,PSJLOOP)) Q:(PSJLOOP="")!(PSJLOOP="B")  D
 .S ^TMP("PSJOCVAR_PS5345",$J,DUZ,2,PSJLOOP,0)=^PS(53.45,DUZ,2,PSJLOOP,0)
 ;Save the 2,"B" node
 I $D(^PS(53.45,DUZ,2,"B")) D
 .S PSJBLOOP=""
 .F PSJBLOOP=$O(^PS(53.45,DUZ,2,"B",PSJBLOOP)) Q:PSJBLOOP=""  D
 ..S PSJCOUNT=""
 ..F PSJCOUNT=$O(^PS(53.45,DUZ,2,"B",PSJBLOOP,PSJCOUNT)) Q:PSJCOUNT=""  D
 ...S ^TMP("PSJOCVAR_PS5345",$J,DUZ,2,"B",PSJBLOOP,PSJCOUNT)=^PS(53.45,DUZ,2,"B",PSJBLOOP,PSJCOUNT)
 Q
RESPS ; Restore any saved ^PS(53.45,DUZ,2) entry
 NEW PSJLOOP,PSJBLOOP,PSJCOUNT
 ;Restore the 2,0 node
 I $D(^TMP("PSJOCVAR_PS5345",$J,DUZ,2,0)) D
 .S ^PS(53.45,DUZ,2,0)=^TMP("PSJOCVAR_PS5345",$J,DUZ,2,0)
 ;Restore the 2,n,o) nodes
 S PSJLOOP=0
 F PSJLOOP=$O(^TMP("PSJOCVAR_PS5345",$J,DUZ,2,PSJLOOP)) Q:(PSJLOOP="")!(PSJLOOP="B")  D
 .S ^PS(53.45,DUZ,2,PSJLOOP,0)=^TMP("PSJOCVAR_PS5345",$J,DUZ,2,PSJLOOP,0)
 ;Restore the 2,"B" nodes
 I $D(^TMP("PSJOCVAR_PS5345",$J,DUZ,2,"B")) D
 .S PSJBLOOP=""
 .F PSJBLOOP=$O(^TMP("PSJOCVAR_PS5345",$J,DUZ,2,"B",PSJBLOOP)) Q:PSJBLOOP=""  D
 ..S PSJCOUNT=""
 ..F PSJCOUNT=$O(^TMP("PSJOCVAR_PS5345",$J,DUZ,2,"B",PSJBLOOP,PSJCOUNT)) Q:PSJCOUNT=""  D
 ...S ^PS(53.45,DUZ,2,"B",PSJBLOOP,PSJCOUNT)=^TMP("PSJOCVAR_PS5345",$J,DUZ,2,"B",PSJBLOOP,PSJCOUNT)
 K ^TMP("PSJOCVAR_PS5345",$J,DUZ)
 Q
LIST ;
 ;;ADM
 ;;AL
 ;;C
 ;;CHK
 ;;DDH
 ;;DFN
 ;;DN
 ;;DRGI
 ;;DRGN
 ;;DRGT
 ;;DX
 ;;DY
 ;;FIL
 ;;FQ
 ;;GMRA
 ;;GMRAL
 ;;HDT
 ;;I
 ;;INFUSE
 ;;J
 ;;LIMIT
 ;;LINE
 ;;LOC
 ;;N
 ;;NAD
 ;;ND
 ;;ND0
 ;;ND2
 ;;ND4
 ;;ND6
 ;;NDP2
 ;;NEXT
 ;;NF
 ;;NO
 ;;O
 ;;ON
 ;;ON55
 ;;ORIFN
 ;;P16
 ;;P17
 ;;P(2)
 ;;P(3)
 ;;P(4)
 ;;P(5)
 ;;P(6)
 ;;P(7)
 ;;P(8)
 ;;P(9)
 ;;P(10)
 ;;P(11)
 ;;P(12)
 ;;P(13)
 ;;P(14)
 ;;P(15)
 ;;P(16)
 ;;P(17)
 ;;P(18)
 ;;P(19)
 ;;P(20)
 ;;P(21)
 ;;P(22)
 ;;P(23)
 ;;P(24)
 ;;P(25)
 ;;P("21FLG")
 ;;P("CLRK")
 ;;P("CUM")
 ;;P("DO")
 ;;P("DTYP")
 ;;P("FRES")
 ;;P("INS")
 ;;P("IVRM")
 ;;P("LF")
 ;;P("LFA")
 ;;P("LOG")
 ;;P("MR")
 ;;P("NEWON")
 ;;P("OLDON")
 ;;P("OPI")
 ;;P("OT")
 ;;P("PD")
 ;;P("PON")
 ;;P("PRY")
 ;;P("REM")
 ;;P("REN")
 ;;P("RES")
 ;;P("SYRS")
 ;;PF
 ;;PPAGE
 ;;PPN
 ;;PROVIDER
 ;;PS
 ;;PSFDT
 ;;PSGACT
 ;;PSGADR
 ;;PSGADR(1)
 ;;PSGAT
 ;;PSGCANFL
 ;;PSGDFLG
 ;;PSGDI
 ;;PSGDRG
 ;;PSGDRGN
 ;;PSGDO
 ;;PSGDT
 ;;PSGEB
 ;;PSGEBN
 ;;PSGEFN
 ;;PSGF
 ;;PSGFD
 ;;PSGFDN
 ;;PSGHSM
 ;;PSGID
 ;;PSGIVAC
 ;;PSGIVBR
 ;;PSGLAD
 ;;PSGLAGE
 ;;PSGLBID
 ;;PSGLBSS
 ;;PSGLDOB
 ;;PSGLDT
 ;;PSGLDX
 ;;PSGLI
 ;;PSGLIN
 ;;PSGLPID
 ;;PSGLPN
 ;;PSGLPR
 ;;PSGLRB
 ;;PSGLSEX
 ;;PSGLSSN
 ;;PSGLTM
 ;;PSGLTS
 ;;PSGLWD
 ;;PSGLWDN
 ;;PSGLWGN
 ;;PSGLWP1
 ;;PSGLWP2
 ;;PSGMR
 ;;PSGMRN
 ;;PSGNEDFD
 ;;PSGNEF
 ;;PSGNESD
 ;;PSGOAT
 ;;PSGOD
 ;;PSGODDD
 ;;PSGODDD(1)
 ;;PSGODO
 ;;PSGODT
 ;;PSGOEA
 ;;PSGOEAV
 ;;PSGOEDMR
 ;;PSGOEEG
 ;;PSGOEEND
 ;;PSGOEEWF
 ;;PSGOENG
 ;;PSGOENOF
 ;;PSGOEPR
 ;;PSGOFD
 ;;PSGOFDN
 ;;PSGOHSM
 ;;PSGOINST
 ;;PSGOL
 ;;PSGOMR
 ;;PSGOMRN
 ;;PSGONC
 ;;PSGOP
 ;;PSGOPD
 ;;PSGOPDN
 ;;PSGOPR
 ;;PSGOPRN
 ;;PSGORD
 ;;PSGOSCH
 ;;PSGOSD
 ;;PSGOSDN
 ;;PSGOSI
 ;;PSGOSM
 ;;PSGOST
 ;;PSGOSTN
 ;;PSGP
 ;;PSGP(0)
 ;;PSGPD
 ;;PSGPDN
 ;;PSGPDRG
 ;;PSGPDRGN
 ;;PSGPI
 ;;PSGPR
 ;;PSGPRIO
 ;;PSGPRN
 ;;PSGPTMP
 ;;PSGPTS
 ;;PSGPXN
 ;;PSGRRF
 ;;PSGSCH
 ;;PSGSD
 ;;PSGSDN
 ;;PSGSI
 ;;PSGSM
 ;;PSGSOXT
 ;;PSGSOY
 ;;PSGS0Y
 ;;PSGSS
 ;;PSGSSH
 ;;PSGST
 ;;PSGSTAT
 ;;PSGSTN
 ;;PSGVADR
 ;;PSGVALG
 ;;PSGVBPN
 ;;PSGVBTM
 ;;PSGVBWN
 ;;PSGVBWW
 ;;PSGVBY
 ;;PSIVAC
 ;;PSIVBR
 ;;PSIVDT
 ;;PSIVON
 ;;PSIVOF
 ;;PSIVOV1
 ;;PSIVOV2
 ;;PSIV
 ;;PSIVORF
 ;;PSIVPL
 ;;PSIVPR
 ;;PSIVRD
 ;;PSIVREA
 ;;PSIVSITE
 ;;PSIVSN
 ;;PSIVST
 ;;PSIVUP
 ;;PSIVX1
 ;;PSIVX2
 ;;PSJ
 ;;PSJAC
 ;;PSJACND
 ;;PSJACNWP
 ;;PSJACOK
 ;;PSJACPF
 ;;PSJASK
 ;;PSJCNT
 ;;PSJCOM
 ;;PSJF
 ;;PSJHLMTN
 ;;PSJINDEX
 ;;PSJIVOF
 ;;PSJIVORF
 ;;PSJL
 ;;PSJLABEL
 ;;PSJLK
 ;;PSJLM
 ;;PSJLMCON
 ;;PSJLMPRO
 ;;PSJLN
 ;;PSJNARC
 ;;PSJNV
 ;;PSJO
 ;;PSJOCNT
 ;;PSJOE
 ;;PSJOEPF
 ;;PSJOL
 ;;PSJORD
 ;;PSJORF
 ;;PSJORIFN
 ;;PSJORL
 ;;PSJORQF
 ;;PSJORVP
 ;;PSJOS
 ;;PSJPAC
 ;;PSJPAD
 ;;PSJPAGE
 ;;PSJPBID
 ;;PSJPCAF
 ;;PSJPDD
 ;;PSJPDOB
 ;;PSJPDT
 ;;PSJPDX
 ;;PSJPEN
 ;;PSJPHT
 ;;PSJPHTD
 ;;PSJPN
 ;;PSJPPID
 ;;PSJPRB
 ;;PSJPROT
 ;;PSJPSEX
 ;;PSJPSSN
 ;;PSJP
 ;;PSJPTS
 ;;PSJPTSP
 ;;PSJPWD
 ;;PSJPWDN
 ;;PSJPWT
 ;;PSJPWTD
 ;;PSJSCHT
 ;;PSJSEL
 ;;PSJSEL1
 ;;PSJSTOP
 ;;PSJSYSL
 ;;PSJSYSP
 ;;PSJSYSP0
 ;;PSJSYSU
 ;;PSJSYSW
 ;;PSJSYSW0
 ;;PSJTF
 ;;PSJTOO
 ;;PSJUDPRF
 ;;PSJX
 ;;PSSPSP0
 ;;Q
 ;;QQ
 ;;QUD
 ;;QUX1
 ;;RTE
 ;;SCH
 ;;SD
 ;;SEGMENT(0)
 ;;SM
 ;;ST
 ;;START
 ;;STAT
 ;;STATUS
 ;;STOP
 ;;STT
 ;;SUB
 ;;TYPE
 ;;UDU
 ;;V
 ;;VA200
 ;;VADM
 ;;VAIN
 ;;VAIP
 ;;VALMCNT
 ;;VALM("TITLE")
 ;;WRD
 ;;WS
 ;;X
 ;;X3
 ;;X4
 ;;X5
 ;;XRTN
 ;;Y