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

PSJLIORD.m

Go to the documentation of this file.
  1. PSJLIORD ;BIR/MV-INPATIENT ORDER ENTRY FOR IV ;10 Mar 98 / 4:19 PM
  1. ;;5.0;INPATIENT MEDICATIONS;**1,16,29,58,85,110,149,267**;16 DEC 97;Build 158
  1. ;
  1. ; Reference to ^PS(55 is supported by DBIA #2191.
  1. ; Reference to EN1^ORCFLAG is supported by DBIA #3620.
  1. ; Reference to AND^ORX8 is supported by DBIA #3632.
  1. ;
  1. EN(DFN,PSJORD) ; Display order with numbers.
  1. ;N ON,ON55,P,PSIVAC,PSGEBN,PSGLI,PSJSTAR
  1. N ON55,P,PSIVAC,PSGEBN,PSGLI,PSJSTAR K ^PS(53.45,+$G(PSJSYSP),6)
  1. D UDVARS
  1. S (PSGEBN,PSGLI)=""
  1. ;* S PSIVAC="C" S (P("PON"),ON,ON55)=+PSJORD_"V"
  1. S PSIVAC="E" S (P("PON"),ON,ON55)=+PSJORD_"V"
  1. S PSIVUP=+$$GTPCI^PSIVUTL D GT55^PSIVORFB
  1. D:'$D(P("OT")) GTOT^PSIVUTL(P(4))
  1. NEW PSJL
  1. N PSIVNUM S PSIVNUM=1
  1. ;;I $E(P("OT"))'="F" S PSJSTAR="(1)^(4)^(5)^(6)^(7)^(9)^(10)"
  1. I $E(P("OT"))="I" S PSJSTAR="(1)^(4)^(5)^(6)^(7)^(9)^(10)"
  1. E S PSJSTAR="(1)^(2)^(3)^(4)^(5)^(6)^(7)^(9)" D GTDATA^PSJLIFN
  1. NEW PSGACT D PSGACT
  1. ;* Only allow activity logs for non pharmacist/RN personel if coming
  1. ;* from the Non-verify/pending option.
  1. I '+$P(PSJSYSU,";"),$G(PSJPNV) S PSGACT="L"
  1. D EN^VALM("PSJ LM IV INPT ACTIVE") ; Call to EN^PSJLIVMD
  1. S VALMBCK="Q"
  1. K ^PS(53.45,+$G(PSJSYSP),6)
  1. Q
  1. ;
  1. PSGACT ;Setup selectable actions based on order's status
  1. S (X,XKEYS)=$$CHKKEYS()
  1. N PSGR S PSGACT=""
  1. S PSJCOM=$P($G(^PS(55,DFN,"IV",+ON55,.2)),U,8)
  1. I PSJCOM S PSGR=0
  1. I PSJCOM S PSGR=$$AND^ORX8(PSJCOM) S:PSGR=1 PSGR=$$RNEWOK^PSJUTL2(PSJCOM,DFN)
  1. I 'PSJCOM S PSGR='$$EXPIRED^PSGOER(DFN,ON55)
  1. S X=XKEYS
  1. ;I P(17)="A" S PSGACT=$S(PSJCOM:"L",1:"EL") S:+X PSGACT=PSGACT_"DO"_$S(P(10):"",1:"H")_$S(PSGR:"R",1:"")
  1. ;I P(17)="A" S PSGACT="L" S:+X PSGACT=$S(P(10):"DROL",1:"DHROL")
  1. I P(17)="A" S PSGACT="EL" S:+X PSGACT=PSGACT_"DO"_$S(P(10):"",1:"H")_$S(PSGR:"R",1:"")
  1. I P(17)="H" S PSGACT="L" S:+X PSGACT=$S(P(10):"DL",1:"DHL")
  1. I P(17)="R" S PSGACT="L" ;S:+X PSGACT="DL" PSJ*5*149
  1. I P(17)="D" S PSGACT="L"
  1. I P(17)="D"&P(12) S PSGACT="L" S:+X PSGACT="L"_$S(PSGR:"R",1:"")
  1. I P(17)="E" S PSGACT="L" D:+X
  1. . I $P($G(^PS(55,DFN,"IV",+ON55,.2)),U,4)="D" Q
  1. . S PSGACT="L"_$S($P($G(^PS(55,DFN,"IV",+ON55,2)),U,6):"",PSGR:"R",1:"")
  1. I P(17)="O" S PSGACT="L" S:+X PSGACT="DOL"
  1. I P(17)="N" S PSGACT="EL" S:+X PSGACT="DELV"
  1. S PSGACT=PSGACT_$P(X,U,2)
  1. Q
  1. UDVARS ;* Remove un-use variables.
  1. K PSGCANFL,PSGDI,PSGDO,PSGEB,PSGEBN,PSGFD,PSGFDN,PSHSM,PSGLI
  1. K PSGLIN,PSGLMT,PSGMR,PSGMRN,PSGNEF,PSGOAT
  1. K PSGODO,PSGODT,PSGOEA,PSGOEAV,PSGOEEWF,PSGOENG,PSGOFD,PSGOFDN
  1. K PSGOHSM,PSGOINST,PSGOMR,PSGOMRN,PSGONC,PSGOPD,PSGOPDN,PSGOPR
  1. K PSGOPRN,PSGOSCH,PSGOSD,PSGOSDN,PSGOSI,PSGOSM,PSGOST,PSGOSTN
  1. K PSGPD,PSGPDN,PSGPI,PSGPR,PSGPRIO,PSGPRN,PSGPTMP,PSGRRF,PSGS0XT
  1. K PSGS0Y,PSGSCH,PSGSD,PSGSDN,PSGSI,PSGSM,PSGST,PSGSTAT,PSGSTN
  1. K PSGEFN,PSGOEFN,PSGOEEF,PSGOEEG,PSGOEEND,PSGPDRG,PSGPDRGN
  1. K PSGNESDO,PSGNODE,PSGOEDMR,PSGOEPR,PSGPEN,PSGPENWS
  1. Q
  1. CHKKEYS() ;* Check for users' key to set up appropriate actions
  1. ;Output:
  1. ; X=a^b
  1. ; a=1 for either RN or Pharmacist; 0 for other
  1. ; b="V" if not verified by key owner
  1. S XX=$G(^PS(55,DFN,"IV",+ON,4)),X=0
  1. I +PSJSYSU=3 S X=1 D
  1. . I '+$P(XX,U,4) S $P(X,U,2)="V"
  1. . I $L($T(EN1^ORCFLAG)) S $P(X,U,2)=$P(X,U,2)_"G"
  1. I +PSJSYSU=1 S X=1 D
  1. . I '+XX S $P(X,U,2)="V"
  1. Q X