- PSJCLOR1 ;BIR/JCH - SHOW NON-VERFIED CLINIC ORDERS GATHERED IN PSJCLOR1 ; 2/28/12 9:11am
- ;;5.0;INPATIENT MEDICATIONS;**275**;DEC 16, 1997;Build 157
- ;
- ; Reference to ^PSSLOCK is supported by DBIA #2789
- ; Reference to ^DIR is supported by DBIA 10026
- ; Reference to ^VALM is supported by DBIA 10118
- ;
- START ;
- N PSJHLIN S PSGOEA=$G(PSGOEA),$P(PSJHLIN,"-",81)="" S PSGPXN=$G(PSGPXN)
- K ^TMP("PSJLIST",$J) D:PSGSS'="P" DISPLAYW Q:'$O(^TMP("PSJSELECT",$J,0))
- PROCESS ; Loop through selected patients and display profile/orders.
- N PSJCNT K DIR,PSJPNV S PSJPNV=1
- F PSJCNT=0:0 S PSJCNT=$O(^TMP("PSJSELECT",$J,PSJCNT)) Q:'PSJCNT D PROCESS1 S PSGOP=PSGP D ENQL^PSGLW:$P(PSJSYSL,"^",2)]"" Q:$G(PSJGOTO)="E" I $D(^TMP("PSJSELECT",$J,+$G(PSJGOTO))) S PSJCNT=PSJGOTO-1
- D DONE
- Q
- PROCESS1 ; Process patient
- N PSJTMPN,PSJCURCL,PSJCLN,PSJPAD,PSJPAGE,PSJPDD,PSJPDOB,PSJPDX,PSJPHT,PSJPHTD,PSJPRB,PSJPSEX,PSJPSSN,PSJPTD,PSJPWDN,PSJPWT,PSJPWTD,RMORDAT
- S PSJCURCL=$G(^TMP("PSJSELECT",$J,"C",$G(PSJCNT)))
- S PSJPN=$G(^TMP("PSJSELECT",$J,PSJCNT)),PSJTMPN=PSJPN K PSJGOTO
- S PSJLK=$$L^PSSLOCK($P(PSJPN,U,2),1) I 'PSJLK W !,$C(7),$P(PSJLK,U,2) D CONT^PSJOE0 Q
- I $G(PSJTMPED),$P(PSJTMPED,"^",2) S PSJEND=$S($P(PSJTMPED,"^",2)'=$P(PSJPN,"^",2):+PSJTMPED,1:+PSJEND)
- I $G(PSJTMPBG),$P(PSJTMPBG,"^",2) S PSJBEG=$S($P(PSJTMPBG,"^",2)'=$P(PSJPN,"^",2):+PSJTMPBG,1:+PSJBEG)
- K PSJGOTO D:PSJPN]"" GTORDERS
- I PSJLK D UL^PSSLOCK($P(PSJTMPN,U,2))
- S PSGPXN=$G(PSGPXN)
- Q
- DISPLAYW ; Allow selection of patients on each ward selected.
- K ^TMP("PSJSELECT",$J) S PSJCNT=1,PSGWORP1="" F S PSGWORP1=$O(^TMP("PSGVBW",$J,PSGWORP1)) Q:PSGWORP1="" D DISPLAYP
- K PSJASK
- Q
- DISPLAYP ; Display WORP1 (Ward or Priority)
- N PSGPICK
- S PSGVBWN=PSGWORP1
- D HEADER
- S PSGWORP2="" F S PSGWORP2=$O(^TMP("PSGVBW",$J,PSGWORP1,PSGWORP2)) Q:PSGWORP2="" S PSGPRIN=PSGWORP2 D DISPLAYT
- I $G(PSJASK),(PSGVBY>0) D ASK
- Q
- DISPLAYT ;
- ;NEW PSGPICK ;PSGPICK=1-->user selected order, stop display the profile
- S PSGPRIN=PSGWORP2
- S:$G(PSGPRIF) PSGVBWN=PSGWORP2,PSGPRIN=PSGWORP1
- S PSGVBTM="" F S PSGVBTM=$O(^TMP("PSGVBW",$J,PSGWORP1,PSGWORP2,PSGVBTM)) Q:(PSGVBTM=""!$G(PSGPICK)) D V2
- I $G(PSJPRIF),$G(PSJASK),(PSGVBY>0) D ASK
- Q
- GTORDERS ;
- S (PSGP,DFN)=$P(PSJPN,U,2),PSGOL="S" K PSJACNWP D ^PSJAC
- S:$G(PSJTMPBG) PSJBEG=PSJTMPBG S:$G(PSJTMPED) PSJEND=PSJTMPED K PSJTMPBG,PSJTMPED
- D PROFILE Q
- Q
- PROFILE ; Display the patient's profile and allow order selection.
- S PSGP=DFN,PSJOL=PSGOL F Q:$G(PSJVALQ) D EN^VALM("PSJ LM CLINIC ORDERS") Q:'$G(PSJORD)&'$G(PSJNEWOE)!$G(PSJVALQ) S PSJNEWOE=0
- S PSJVALQ=0
- Q
- DONE ; Clean up
- K PSGOP,PSJLK,PSJNEWOE,PSJPN,VALMBCK,PSGP
- Q
- V2 ;
- S PSGVBPN="" F S PSGVBPN=$O(^TMP("PSGVBW",$J,PSGWORP1,PSGWORP2,PSGVBTM,PSGVBPN)) Q:(PSGVBPN=""!$G(PSGPICK)) S PSGP=$P(PSGVBPN,"^",2),PPN=$P(PSGVBPN,"^") S:PPN="" PPN=PSGP_";DPT(" D WRT
- Q
- WRT ;
- S PSGVBY=PSGVBY+1,PSJASK=1
- S PSGVBWN=PSGWORP1,PSGPRD=PSGWORP2
- W !,$J(PSGVBY,4),?8,PPN," (",$P(PSGVBPN,U,3),")" S ^TMP("PSJLIST",$J,PSGVBY)=PSGVBWN_U_PSGVBTM_U_PPN_U_PSGP
- I $Y+1>IOSL,(PSGVBY>0) NEW DIR S DIR(0)="EA",DIR("A")=" '^' TO QUIT " D ^DIR D
- . I X="^" S PSGPICK=1 Q
- . S PSJASK=0 W @IOF
- Q
- ASK ;
- N DIR,PSGDFN,PSGASKX S DIR(0)="LOA^1:"_PSGVBY,DIR("A")="Select 1 - "_PSGVBY_": " D ^DIR I $D(DUOUT)!$D(DTOUT) K ^TMP("PSGVBW",$J) Q
- S:Y]"" PSGPICK=1
- F PSJINDEX=1:1:$L(Y,",")-1 D
- . S PSGASKX=$G(^TMP("PSJLIST",$J,$P(Y,",",PSJINDEX))),PSGDFN=$P(PSGASKX,"^",4)_"^"_$P(PSGASKX,"^",3)
- . D CHK^PSJDPT(.PSGDFN,1) I PSGDFN=-1 Q
- . S:PSGASKX]"" ^TMP("PSJSELECT",$J,PSJCNT)=$P(PSGASKX,U,3,4),^TMP("PSJSELECT",$J,"B",$P(PSGASKX,U,3),PSJCNT)="",^TMP("PSJSELECT",$J,"C",PSJCNT)=$G(^TMP("PSGVBW3",$J,$P(PSGASKX,U),PSGP)),PSJCNT=PSJCNT+1
- K PSJINDEX,Y
- Q
- H2 ;
- W !!?2,"Select patients either singularly separated by commas (1,2,3), by a range of",!,"patients separated by a dash (1-3), or a combination (1,2,4-6). To select all",!,"patients, enter 'ALL' or a dash ('-'). You can also enter '-n' to"
- W " select the",!,"first patient through the 'nth' patient or enter 'n-' to select the 'nth'",!,"patient through the last patient. If a patient is selected more than once,"
- W !,"only the first selection is used. (Entering '1,2,1' would return '1,2'.)" Q
- ;
- W:$Y @IOF W !,"CLINIC ORDERS - "
- I $G(PSGPRIF) W $S($G(PRD)=1:"STAT",$G(PRD)=2:"ASAP",1:"ROUTINE")
- I '$G(PSGPRIF) W $S(PSGVBWN="ZZ":"^OTHER",1:PSGVBWN)
- W !!," No.",?8,"PATIENT",!,PSJHLIN K PSGVBY S PSGVBY=0 Q
- Q
- NP ;
- W $C(7) R !!,"ENTER AN '^' TO SELECT ORDERS NOW, OR PRESS THE RETURN KEY TO CONTINUE. ",NP:DTIME E S NP="^"
- Q
- DISPORD(DFN,ON) ;Display the order that being lock by another user
- NEW PSJLINE,PSJOC,X
- S PSJLINE=1
- D DSPLORDU^PSJLMUT1(DFN,ON)
- W ! F X=0:0 S X=$O(PSJOC(ON,X)) Q:'X W !,PSJOC(ON,X)
- Q
- HELP ;
- D FULL^VALM1
- W !!,"ES Edit Start Date"
- W !," Select the medication orders you wish to edit. "
- W !," After selecting orders, a new Start Date/Time may be entered."
- W !
- W !,"VD View Order Detail"
- W !," Select the medication orders you wish to view. "
- W !," Details for selected orders will be displayed."
- W !
- W !,"VP View Profile"
- W !," View order profile that shows all medication orders."
- W !," No edits allowed at this view. "
- W !
- W !,"CD Change Date Range"
- W !," Change the search date range for the current patient's"
- W !," Clinic Orders. The search date range will revert to the"
- W !," initial search date range for subsequent patients. ",!
- D CONT^PSJOE0 S VALMBCK="R"
- Q
- IMPATPR ; View Profile Entry
- D ^PSJHVARS N VAIN,VADM,PSJLM D FULL^VALM1,ENOR^PSJCLOR4(PSGP) D RESTORE^PSJHVARS S VALMBCK="R"
- Q
- PSJREVFY() ; Ask if Active orders should be re-verified
- D FULL^VALM1 W !
- K Y,DIR S Y=0 S DIR("A",1)=""
- S DIR("A",2)=" ATTENTION: One or more selected orders have an ACTIVE status. "
- S DIR("A",3)=" You may choose to have ACTIVE orders remain ACTIVE after editing, or "
- S DIR("A",4)=" you may choose to have the status of ACTIVE orders changed to NON-VERIFIED."
- S DIR("A",5)=" "
- S DIR("?")="^D VFYHELP^PSJCLOR1",DIR(0)="Y",DIR("A")="Should ACTIVE orders remain ACTIVE after editing" D ^DIR W !!
- I 'Y,'$G(DUOUT) W !," All selected orders will have a status of NON-VERIFIED after editing",!
- Q +Y
- VFYHELP ; Help text for auto-reverify
- W !?5,"Yes - ACTIVE orders will remain ACTIVE after they are modified.",!
- W !?5,"No - The status of ACTIVE orders will be changed to NON-VERIFIED"
- W !?5,"after they are modified. The orders must be re-verified, via"
- W !?5,"Inpatient Order Entry or other order entry options, in order"
- W !?5,"to change the status back to ACTIVE."
- Q
- SURE() ; Non-Pharmacist can't auto-reverify
- D FULL^VALM1 W !
- K Y,DIR S Y=0
- S DIR("A",1)=" ATTENTION: One or more selected orders have an ACTIVE status. "
- S DIR("A",2)=" If you continue, the status of ACTIVE orders will be changed to NON-VERIFIED."
- S DIR("A",3)=" "
- S DIR("?")="^D SUREHELP^PSJCLOR1",DIR(0)="Y",DIR("A")="Continue editing selected orders" D ^DIR W !
- I Y>0,'$G(DUOUT) W !," All selected orders will have a status of NON-VERIFIED after editing",!
- Q $S(Y>0:0,1:-1)
- SUREHELP ; Help text for non-pharmacists
- W !?5,"The status of ACTIVE orders will be changed to NON-VERIFIED"
- W !?5,"after they are modified. The orders must be re-verified, via"
- W !?5,"Inpatient Order Entry or other order entry options, in order"
- W !?5,"to change the status back to ACTIVE."
- Q
- HDR ; HEADER code for PSJ LM ECO protocol
- D A^PSJ200(21,19),SHOW^VALM
- S XQORM("#")=+$O(^ORD(101,"B","PSJ LM VIEW ORDER DETAIL",0))_"^1:"_+$G(^TMP("PSJPRO",$J,0))
- Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSJCLOR1 7682 printed Jan 18, 2025@03:07:37 Page 2
- PSJCLOR1 ;BIR/JCH - SHOW NON-VERFIED CLINIC ORDERS GATHERED IN PSJCLOR1 ; 2/28/12 9:11am
- +1 ;;5.0;INPATIENT MEDICATIONS;**275**;DEC 16, 1997;Build 157
- +2 ;
- +3 ; Reference to ^PSSLOCK is supported by DBIA #2789
- +4 ; Reference to ^DIR is supported by DBIA 10026
- +5 ; Reference to ^VALM is supported by DBIA 10118
- +6 ;
- START ;
- +1 NEW PSJHLIN
- SET PSGOEA=$GET(PSGOEA)
- SET $PIECE(PSJHLIN,"-",81)=""
- SET PSGPXN=$GET(PSGPXN)
- +2 KILL ^TMP("PSJLIST",$JOB)
- if PSGSS'="P"
- DO DISPLAYW
- if '$ORDER(^TMP("PSJSELECT",$JOB,0))
- QUIT
- PROCESS ; Loop through selected patients and display profile/orders.
- +1 NEW PSJCNT
- KILL DIR,PSJPNV
- SET PSJPNV=1
- +2 FOR PSJCNT=0:0
- SET PSJCNT=$ORDER(^TMP("PSJSELECT",$JOB,PSJCNT))
- if 'PSJCNT
- QUIT
- DO PROCESS1
- SET PSGOP=PSGP
- if $PIECE(PSJSYSL,"^",2)]""
- DO ENQL^PSGLW
- if $GET(PSJGOTO)="E"
- QUIT
- IF $DATA(^TMP("PSJSELECT",$JOB,+$GET(PSJGOTO)))
- SET PSJCNT=PSJGOTO-1
- +3 DO DONE
- +4 QUIT
- PROCESS1 ; Process patient
- +1 NEW PSJTMPN,PSJCURCL,PSJCLN,PSJPAD,PSJPAGE,PSJPDD,PSJPDOB,PSJPDX,PSJPHT,PSJPHTD,PSJPRB,PSJPSEX,PSJPSSN,PSJPTD,PSJPWDN,PSJPWT,PSJPWTD,RMORDAT
- +2 SET PSJCURCL=$GET(^TMP("PSJSELECT",$JOB,"C",$GET(PSJCNT)))
- +3 SET PSJPN=$GET(^TMP("PSJSELECT",$JOB,PSJCNT))
- SET PSJTMPN=PSJPN
- KILL PSJGOTO
- +4 SET PSJLK=$$L^PSSLOCK($PIECE(PSJPN,U,2),1)
- IF 'PSJLK
- WRITE !,$CHAR(7),$PIECE(PSJLK,U,2)
- DO CONT^PSJOE0
- QUIT
- +5 IF $GET(PSJTMPED)
- IF $PIECE(PSJTMPED,"^",2)
- SET PSJEND=$SELECT($PIECE(PSJTMPED,"^",2)'=$PIECE(PSJPN,"^",2):+PSJTMPED,1:+PSJEND)
- +6 IF $GET(PSJTMPBG)
- IF $PIECE(PSJTMPBG,"^",2)
- SET PSJBEG=$SELECT($PIECE(PSJTMPBG,"^",2)'=$PIECE(PSJPN,"^",2):+PSJTMPBG,1:+PSJBEG)
- +7 KILL PSJGOTO
- if PSJPN]""
- DO GTORDERS
- +8 IF PSJLK
- DO UL^PSSLOCK($PIECE(PSJTMPN,U,2))
- +9 SET PSGPXN=$GET(PSGPXN)
- +10 QUIT
- DISPLAYW ; Allow selection of patients on each ward selected.
- +1 KILL ^TMP("PSJSELECT",$JOB)
- SET PSJCNT=1
- SET PSGWORP1=""
- FOR
- SET PSGWORP1=$ORDER(^TMP("PSGVBW",$JOB,PSGWORP1))
- if PSGWORP1=""
- QUIT
- DO DISPLAYP
- +2 KILL PSJASK
- +3 QUIT
- DISPLAYP ; Display WORP1 (Ward or Priority)
- +1 NEW PSGPICK
- +2 SET PSGVBWN=PSGWORP1
- +3 DO HEADER
- +4 SET PSGWORP2=""
- FOR
- SET PSGWORP2=$ORDER(^TMP("PSGVBW",$JOB,PSGWORP1,PSGWORP2))
- if PSGWORP2=""
- QUIT
- SET PSGPRIN=PSGWORP2
- DO DISPLAYT
- +5 IF $GET(PSJASK)
- IF (PSGVBY>0)
- DO ASK
- +6 QUIT
- DISPLAYT ;
- +1 ;NEW PSGPICK ;PSGPICK=1-->user selected order, stop display the profile
- +2 SET PSGPRIN=PSGWORP2
- +3 if $GET(PSGPRIF)
- SET PSGVBWN=PSGWORP2
- SET PSGPRIN=PSGWORP1
- +4 SET PSGVBTM=""
- FOR
- SET PSGVBTM=$ORDER(^TMP("PSGVBW",$JOB,PSGWORP1,PSGWORP2,PSGVBTM))
- if (PSGVBTM=""!$GET(PSGPICK))
- QUIT
- DO V2
- +5 IF $GET(PSJPRIF)
- IF $GET(PSJASK)
- IF (PSGVBY>0)
- DO ASK
- +6 QUIT
- GTORDERS ;
- +1 SET (PSGP,DFN)=$PIECE(PSJPN,U,2)
- SET PSGOL="S"
- KILL PSJACNWP
- DO ^PSJAC
- +2 if $GET(PSJTMPBG)
- SET PSJBEG=PSJTMPBG
- if $GET(PSJTMPED)
- SET PSJEND=PSJTMPED
- KILL PSJTMPBG,PSJTMPED
- +3 DO PROFILE
- QUIT
- +4 QUIT
- PROFILE ; Display the patient's profile and allow order selection.
- +1 SET PSGP=DFN
- SET PSJOL=PSGOL
- FOR
- if $GET(PSJVALQ)
- QUIT
- DO EN^VALM("PSJ LM CLINIC ORDERS")
- if '$GET(PSJORD)&'$GET(PSJNEWOE)!$GET(PSJVALQ)
- QUIT
- SET PSJNEWOE=0
- +2 SET PSJVALQ=0
- +3 QUIT
- DONE ; Clean up
- +1 KILL PSGOP,PSJLK,PSJNEWOE,PSJPN,VALMBCK,PSGP
- +2 QUIT
- V2 ;
- +1 SET PSGVBPN=""
- FOR
- SET PSGVBPN=$ORDER(^TMP("PSGVBW",$JOB,PSGWORP1,PSGWORP2,PSGVBTM,PSGVBPN))
- if (PSGVBPN=""!$GET(PSGPICK))
- QUIT
- SET PSGP=$PIECE(PSGVBPN,"^",2)
- SET PPN=$PIECE(PSGVBPN,"^")
- if PPN=""
- SET PPN=PSGP_";DPT("
- DO WRT
- +2 QUIT
- WRT ;
- +1 SET PSGVBY=PSGVBY+1
- SET PSJASK=1
- +2 SET PSGVBWN=PSGWORP1
- SET PSGPRD=PSGWORP2
- +3 WRITE !,$JUSTIFY(PSGVBY,4),?8,PPN," (",$PIECE(PSGVBPN,U,3),")"
- SET ^TMP("PSJLIST",$JOB,PSGVBY)=PSGVBWN_U_PSGVBTM_U_PPN_U_PSGP
- +4 IF $Y+1>IOSL
- IF (PSGVBY>0)
- NEW DIR
- SET DIR(0)="EA"
- SET DIR("A")=" '^' TO QUIT "
- DO ^DIR
- Begin DoDot:1
- +5 IF X="^"
- SET PSGPICK=1
- QUIT
- +6 SET PSJASK=0
- WRITE @IOF
- End DoDot:1
- +7 QUIT
- ASK ;
- +1 NEW DIR,PSGDFN,PSGASKX
- SET DIR(0)="LOA^1:"_PSGVBY
- SET DIR("A")="Select 1 - "_PSGVBY_": "
- DO ^DIR
- IF $DATA(DUOUT)!$DATA(DTOUT)
- KILL ^TMP("PSGVBW",$JOB)
- QUIT
- +2 if Y]""
- SET PSGPICK=1
- +3 FOR PSJINDEX=1:1:$LENGTH(Y,",")-1
- Begin DoDot:1
- +4 SET PSGASKX=$GET(^TMP("PSJLIST",$JOB,$PIECE(Y,",",PSJINDEX)))
- SET PSGDFN=$PIECE(PSGASKX,"^",4)_"^"_$PIECE(PSGASKX,"^",3)
- +5 DO CHK^PSJDPT(.PSGDFN,1)
- IF PSGDFN=-1
- QUIT
- +6 if PSGASKX]""
- SET ^TMP("PSJSELECT",$JOB,PSJCNT)=$PIECE(PSGASKX,U,3,4)
- SET ^TMP("PSJSELECT",$JOB,"B",$PIECE(PSGASKX,U,3),PSJCNT)=""
- SET ^TMP("PSJSELECT",$JOB,"C",PSJCNT)=$GET(^TMP("PSGVBW3",$JOB,$PIECE(PSGASKX,U),PSGP))
- SET PSJCNT=PSJCNT+1
- End DoDot:1
- +7 KILL PSJINDEX,Y
- +8 QUIT
- H2 ;
- +1 WRITE !!?2,"Select patients either singularly separated by commas (1,2,3), by a range of",!,"patients separated by a dash (1-3), or a combination (1,2,4-6). To select all",!,"patients, enter 'ALL' or a dash ('-'). You can also enter '-n' to"
- +2 WRITE " select the",!,"first patient through the 'nth' patient or enter 'n-' to select the 'nth'",!,"patient through the last patient. If a patient is selected more than once,"
- +3 WRITE !,"only the first selection is used. (Entering '1,2,1' would return '1,2'.)"
- QUIT
- +4 ;
- +1 if $Y
- WRITE @IOF
- WRITE !,"CLINIC ORDERS - "
- +2 IF $GET(PSGPRIF)
- WRITE $SELECT($GET(PRD)=1:"STAT",$GET(PRD)=2:"ASAP",1:"ROUTINE")
- +3 IF '$GET(PSGPRIF)
- WRITE $SELECT(PSGVBWN="ZZ":"^OTHER",1:PSGVBWN)
- +4 WRITE !!," No.",?8,"PATIENT",!,PSJHLIN
- KILL PSGVBY
- SET PSGVBY=0
- QUIT
- +5 QUIT
- NP ;
- +1 WRITE $CHAR(7)
- READ !!,"ENTER AN '^' TO SELECT ORDERS NOW, OR PRESS THE RETURN KEY TO CONTINUE. ",NP:DTIME
- IF '$TEST
- SET NP="^"
- +2 QUIT
- DISPORD(DFN,ON) ;Display the order that being lock by another user
- +1 NEW PSJLINE,PSJOC,X
- +2 SET PSJLINE=1
- +3 DO DSPLORDU^PSJLMUT1(DFN,ON)
- +4 WRITE !
- FOR X=0:0
- SET X=$ORDER(PSJOC(ON,X))
- if 'X
- QUIT
- WRITE !,PSJOC(ON,X)
- +5 QUIT
- HELP ;
- +1 DO FULL^VALM1
- +2 WRITE !!,"ES Edit Start Date"
- +3 WRITE !," Select the medication orders you wish to edit. "
- +4 WRITE !," After selecting orders, a new Start Date/Time may be entered."
- +5 WRITE !
- +6 WRITE !,"VD View Order Detail"
- +7 WRITE !," Select the medication orders you wish to view. "
- +8 WRITE !," Details for selected orders will be displayed."
- +9 WRITE !
- +10 WRITE !,"VP View Profile"
- +11 WRITE !," View order profile that shows all medication orders."
- +12 WRITE !," No edits allowed at this view. "
- +13 WRITE !
- +14 WRITE !,"CD Change Date Range"
- +15 WRITE !," Change the search date range for the current patient's"
- +16 WRITE !," Clinic Orders. The search date range will revert to the"
- +17 WRITE !," initial search date range for subsequent patients. ",!
- +18 DO CONT^PSJOE0
- SET VALMBCK="R"
- +19 QUIT
- IMPATPR ; View Profile Entry
- +1 DO ^PSJHVARS
- NEW VAIN,VADM,PSJLM
- DO FULL^VALM1
- DO ENOR^PSJCLOR4(PSGP)
- DO RESTORE^PSJHVARS
- SET VALMBCK="R"
- +2 QUIT
- PSJREVFY() ; Ask if Active orders should be re-verified
- +1 DO FULL^VALM1
- WRITE !
- +2 KILL Y,DIR
- SET Y=0
- SET DIR("A",1)=""
- +3 SET DIR("A",2)=" ATTENTION: One or more selected orders have an ACTIVE status. "
- +4 SET DIR("A",3)=" You may choose to have ACTIVE orders remain ACTIVE after editing, or "
- +5 SET DIR("A",4)=" you may choose to have the status of ACTIVE orders changed to NON-VERIFIED."
- +6 SET DIR("A",5)=" "
- +7 SET DIR("?")="^D VFYHELP^PSJCLOR1"
- SET DIR(0)="Y"
- SET DIR("A")="Should ACTIVE orders remain ACTIVE after editing"
- DO ^DIR
- WRITE !!
- +8 IF 'Y
- IF '$GET(DUOUT)
- WRITE !," All selected orders will have a status of NON-VERIFIED after editing",!
- +9 QUIT +Y
- VFYHELP ; Help text for auto-reverify
- +1 WRITE !?5,"Yes - ACTIVE orders will remain ACTIVE after they are modified.",!
- +2 WRITE !?5,"No - The status of ACTIVE orders will be changed to NON-VERIFIED"
- +3 WRITE !?5,"after they are modified. The orders must be re-verified, via"
- +4 WRITE !?5,"Inpatient Order Entry or other order entry options, in order"
- +5 WRITE !?5,"to change the status back to ACTIVE."
- +6 QUIT
- SURE() ; Non-Pharmacist can't auto-reverify
- +1 DO FULL^VALM1
- WRITE !
- +2 KILL Y,DIR
- SET Y=0
- +3 SET DIR("A",1)=" ATTENTION: One or more selected orders have an ACTIVE status. "
- +4 SET DIR("A",2)=" If you continue, the status of ACTIVE orders will be changed to NON-VERIFIED."
- +5 SET DIR("A",3)=" "
- +6 SET DIR("?")="^D SUREHELP^PSJCLOR1"
- SET DIR(0)="Y"
- SET DIR("A")="Continue editing selected orders"
- DO ^DIR
- WRITE !
- +7 IF Y>0
- IF '$GET(DUOUT)
- WRITE !," All selected orders will have a status of NON-VERIFIED after editing",!
- +8 QUIT $SELECT(Y>0:0,1:-1)
- SUREHELP ; Help text for non-pharmacists
- +1 WRITE !?5,"The status of ACTIVE orders will be changed to NON-VERIFIED"
- +2 WRITE !?5,"after they are modified. The orders must be re-verified, via"
- +3 WRITE !?5,"Inpatient Order Entry or other order entry options, in order"
- +4 WRITE !?5,"to change the status back to ACTIVE."
- +5 QUIT
- HDR ; HEADER code for PSJ LM ECO protocol
- +1 DO A^PSJ200(21,19)
- DO SHOW^VALM
- +2 SET XQORM("#")=+$ORDER(^ORD(101,"B","PSJ LM VIEW ORDER DETAIL",0))_"^1:"_+$GET(^TMP("PSJPRO",$JOB,0))
- +3 QUIT