| 1 | PSJLIORD ;BIR/MV-INPATIENT ORDER ENTRY FOR IV ;10 Mar 98 / 4:19 PM
 | 
|---|
| 2 |  ;;5.0; INPATIENT MEDICATIONS ;**1,16,29,58,85,110,149**;16 DEC 97
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ; Reference to ^PS(55 is supported by DBIA #2191.
 | 
|---|
| 5 |  ; Reference to EN1^ORCFLAG is supported by DBIA #3620.
 | 
|---|
| 6 |  ; Reference to AND^ORX8 is supported by DBIA #3632.
 | 
|---|
| 7 |  ;
 | 
|---|
| 8 | EN(DFN,PSJORD) ; Display order with numbers.
 | 
|---|
| 9 |  ;N ON,ON55,P,PSIVAC,PSGEBN,PSGLI,PSJSTAR
 | 
|---|
| 10 |  N ON55,P,PSIVAC,PSGEBN,PSGLI,PSJSTAR
 | 
|---|
| 11 |  D UDVARS
 | 
|---|
| 12 |  S (PSGEBN,PSGLI)=""
 | 
|---|
| 13 |  ;* S PSIVAC="C" S (P("PON"),ON,ON55)=+PSJORD_"V"
 | 
|---|
| 14 |  S PSIVAC="E" S (P("PON"),ON,ON55)=+PSJORD_"V"
 | 
|---|
| 15 |  S PSIVUP=+$$GTPCI^PSIVUTL D GT55^PSIVORFB
 | 
|---|
| 16 |  D:'$D(P("OT")) GTOT^PSIVUTL(P(4))
 | 
|---|
| 17 |  NEW PSJL
 | 
|---|
| 18 |  N PSIVNUM S PSIVNUM=1
 | 
|---|
| 19 |  ;;I $E(P("OT"))'="F" S PSJSTAR="(1)^(4)^(5)^(6)^(7)^(9)^(10)"
 | 
|---|
| 20 |  I $E(P("OT"))="I" S PSJSTAR="(1)^(4)^(5)^(6)^(7)^(9)^(10)"
 | 
|---|
| 21 |  E  S PSJSTAR="(1)^(2)^(3)^(4)^(5)^(6)^(7)^(9)" D GTDATA^PSJLIFN
 | 
|---|
| 22 |  NEW PSGACT D PSGACT
 | 
|---|
| 23 |  ;* Only allow activity logs for non pharmacist/RN personel if coming
 | 
|---|
| 24 |  ;* from the Non-verify/pending option.
 | 
|---|
| 25 |  I '+$P(PSJSYSU,";"),$G(PSJPNV) S PSGACT="L"
 | 
|---|
| 26 |  D EN^VALM("PSJ LM IV INPT ACTIVE") ; Call to EN^PSJLIVMD
 | 
|---|
| 27 |  S VALMBCK="Q"
 | 
|---|
| 28 |  Q
 | 
|---|
| 29 |  ;
 | 
|---|
| 30 | PSGACT ;Setup selectable actions based on order's status
 | 
|---|
| 31 |  S (X,XKEYS)=$$CHKKEYS()
 | 
|---|
| 32 |  N PSGR S PSGACT=""
 | 
|---|
| 33 |  S PSJCOM=$P($G(^PS(55,DFN,"IV",+ON55,.2)),U,8)
 | 
|---|
| 34 |  I PSJCOM S PSGR=0
 | 
|---|
| 35 |  I PSJCOM S PSGR=$$AND^ORX8(PSJCOM) S:PSGR=1 PSGR=$$RNEWOK^PSJUTL2(PSJCOM,DFN)
 | 
|---|
| 36 |  I 'PSJCOM S PSGR='$$EXPIRED^PSGOER(DFN,ON55)
 | 
|---|
| 37 |  S X=XKEYS
 | 
|---|
| 38 |  ;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:"")
 | 
|---|
| 39 |  ;I P(17)="A" S PSGACT="L" S:+X PSGACT=$S(P(10):"DROL",1:"DHROL")
 | 
|---|
| 40 |  I P(17)="A" S PSGACT="EL" S:+X PSGACT=PSGACT_"DO"_$S(P(10):"",1:"H")_$S(PSGR:"R",1:"")
 | 
|---|
| 41 |  I P(17)="H" S PSGACT="L" S:+X PSGACT=$S(P(10):"DL",1:"DHL")
 | 
|---|
| 42 |  I P(17)="R" S PSGACT="L" ;S:+X PSGACT="DL"  PSJ*5*149
 | 
|---|
| 43 |  I P(17)="D" S PSGACT="L"
 | 
|---|
| 44 |  I P(17)="D"&P(12) S PSGACT="L" S:+X PSGACT="L"_$S(PSGR:"R",1:"")
 | 
|---|
| 45 |  I P(17)="E" S PSGACT="L" D:+X
 | 
|---|
| 46 |  . I $P($G(^PS(55,DFN,"IV",+ON55,.2)),U,4)="D" Q
 | 
|---|
| 47 |  . S PSGACT="L"_$S($P($G(^PS(55,DFN,"IV",+ON55,2)),U,6):"",PSGR:"R",1:"")
 | 
|---|
| 48 |  I P(17)="O" S PSGACT="L" S:+X PSGACT="DOL"
 | 
|---|
| 49 |  I P(17)="N" S PSGACT="EL" S:+X PSGACT="DELV"
 | 
|---|
| 50 |  S PSGACT=PSGACT_$P(X,U,2)
 | 
|---|
| 51 |  Q
 | 
|---|
| 52 | UDVARS ;* Remove un-use variables.
 | 
|---|
| 53 |  K PSGCANFL,PSGDI,PSGDO,PSGEB,PSGEBN,PSGFD,PSGFDN,PSHSM,PSGLI
 | 
|---|
| 54 |  K PSGLIN,PSGLMT,PSGMR,PSGMRN,PSGNEF,PSGOAT
 | 
|---|
| 55 |  K PSGODO,PSGODT,PSGOEA,PSGOEAV,PSGOEEWF,PSGOENG,PSGOFD,PSGOFDN
 | 
|---|
| 56 |  K PSGOHSM,PSGOINST,PSGOMR,PSGOMRN,PSGONC,PSGOPD,PSGOPDN,PSGOPR
 | 
|---|
| 57 |  K PSGOPRN,PSGOSCH,PSGOSD,PSGOSDN,PSGOSI,PSGOSM,PSGOST,PSGOSTN
 | 
|---|
| 58 |  K PSGPD,PSGPDN,PSGPI,PSGPR,PSGPRIO,PSGPRN,PSGPTMP,PSGRRF,PSGS0XT
 | 
|---|
| 59 |  K PSGS0Y,PSGSCH,PSGSD,PSGSDN,PSGSI,PSGSM,PSGST,PSGSTAT,PSGSTN
 | 
|---|
| 60 |  K PSGEFN,PSGOEFN,PSGOEEF,PSGOEEG,PSGOEEND,PSGPDRG,PSGPDRGN
 | 
|---|
| 61 |  K PSGNESDO,PSGNODE,PSGOEDMR,PSGOEPR,PSGPEN,PSGPENWS
 | 
|---|
| 62 |  Q
 | 
|---|
| 63 | CHKKEYS()  ;* Check for users' key to set up appropriate actions
 | 
|---|
| 64 |  ;Output:
 | 
|---|
| 65 |  ;  X=a^b
 | 
|---|
| 66 |  ;  a=1 for either RN or Pharmacist; 0 for other
 | 
|---|
| 67 |  ;  b="V" if not verified by key owner
 | 
|---|
| 68 |  S XX=$G(^PS(55,DFN,"IV",+ON,4)),X=0
 | 
|---|
| 69 |  I +PSJSYSU=3 S X=1 D
 | 
|---|
| 70 |  . I '+$P(XX,U,4) S $P(X,U,2)="V"
 | 
|---|
| 71 |  . I $L($T(EN1^ORCFLAG)) S $P(X,U,2)=$P(X,U,2)_"G"
 | 
|---|
| 72 |  I +PSJSYSU=1 S X=1 D
 | 
|---|
| 73 |  . I '+XX S $P(X,U,2)="V"
 | 
|---|
| 74 |  Q X
 | 
|---|