ORCNOTE ; SLC/MKB - Progress Note actions ;25-JAN-2001 16:18:00
;;3.0;ORDER ENTRY/RESULTS REPORTING;**22,48,65,104**;Dec 17, 1997
ELSIG ; Sign rec
N ASK,TIUEVNT,TIUDA,TIUES,TIUI,X,X1,Y,ORI,NMBR,ORPICK,ORQUIT,IDX,TIUPOP,TIUPRM0,TIUPRM1
I '$D(TIUPRM0) D SETPARM^TIULE
I $P(TIUPRM0,U,2)'>0 W !,"Electronic signature not yet enabled." H 3 G ELSIGX
S ORPICK="",VALMBCK=""
I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("sign") Q:'ORNMBR
I +ORNMBR D FULL^VALM1
S ORI=1
F S NMBR=$P(ORNMBR,",",ORI) Q:+NMBR'>0!$D(ORQUIT) D
. N TIU0,TIU12,TIU15,TIUSTAT,TIUEVNT,TIUTYPE,TIUDA
. S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR)),ORI=+$G(ORI)+1
. S TIUDA=+IDX,TIU0=$G(^TIU(8925,+TIUDA,0)),TIU12=$G(^(12)),TIU15=$G(^(15))
. S TIUSTAT=+$P(TIU0,U,5)
. S TIUTYPE=$$PNAME^TIULC1(+$G(^TIU(8925,+TIUDA,0)))
. S TIUEVNT=$S(+TIUSTAT'>5:"SIGNATURE",1:"COSIGNATURE")
. S ASK=$$CANDO^TIULP(TIUDA,TIUEVNT)
. I +ASK>0 D
. . L +^TIU(8925,+TIUDA):1
. . E S ASK="0^ Another user is editing this entry."
. I +ASK'>0,$P(ASK,U,2)]"" D I 1
. . D FULL^VALM1
. . W !!,"Item #: ",NMBR,!,$P(ASK,U,2),!
. . W !,"Removed from signature list.",!
. . I $$READ^TIUU("FOA","Press RETURN to continue...")
. E D
. . I $S(+$$REQCOSIG^TIULP(+TIU0,+TIUDA,DUZ):1,+$P(TIU15,U,6):1,1:0),(+$P(TIU12,U,8)'>0) D Q:+$G(TIUPOP)
. . . N COSIGNER
. . . W !!,"Item #",NMBR,": ",TIUTYPE," for "
. . . W $$PTNAME^TIULC1($P(TIU0,U,2))," will need cosignature..."
. . . S COSIGNER=$$ASKCSNR^TIURS(TIUDA,DUZ)
. . . I +COSIGNER'>0 D
. . . . S TIUPOP=1
. . . . W !!,"Item #",NMBR,": MUST have a cosigner, before you may sign."
. . . . W !!,"Removed from signature list.",!
. . . . I $$READ^TIUU("FOA","Press RETURN to continue...")
. . N TIU,TIUY
. . D EN^VALM("ORC TIU SIGN/COSIGN")
I +$G(ORPICK)'>0 D G ELSIGX
. S VALMSG="** Signature List Empty...Nothing signed. **"
I +$G(ORPICK)>0 D
. S TIUES=$$ASKSIG^TIULA1
. I '+TIUES S VALMSG="** Nothing Signed. **" Q
. F ORI=1:1:$L(ORPICK,",") S NMBR=$P(ORPICK,",",ORI) D:NMBR Q:$D(ORQUIT)
. . S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR)),TIUDA=+IDX
. . D ES^TIURS(TIUDA,TIUES,NMBR)
I $G(ORPICK)']"" S VALMSG="** Nothing Signed. **"
E S VALMSG="** Item"_$S($L(ORPICK,",")>1:"s ",1:" ")_ORPICK_" Signed. **"
ELSIGX K VALMY S VALMBCK="R"
Q
ACCEPT(ORPICK,NMBR) ; Adds item(s) to signature list
D FULL^VALM1
S ORPICK=$G(ORPICK)_$S($L(ORPICK):",",1:"")_NMBR,OREBUILD=1
W !,"Item #",NMBR," added to the signature list." H 3
Q
SIGN ; -- sign notes
N ORI,NMBR,ORQUIT,IDX,TIUDA S VALMBCK=""
I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("sign") Q:'ORNMBR
F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR Q:$D(ORQUIT)
. S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR))
. S TIUDA=+IDX Q:'+TIUDA
. D EDSIG^TIURS(TIUDA,"",1)
Q
;
ADDENDUM ; -- make addendum
N ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG S VALMBCK=""
I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("") Q:'ORNMBR
F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR Q:$D(ORQUIT)
. S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR))
. S TIUDA=+IDX Q:'+TIUDA
. I +$$ISADDNDM^TIULC1(TIUDA) D Q
. . W !,$C(7),"You may not make addenda to addenda."
. . I $$READ^TIUU("EA","Press RETURN to continue...") W ""
. D CLEAR^VALM1,ADDEND1^TIURA1 I +$G(TIUCHNG) S OREBUILD=1
. I '+$G(TIUCHNG) S VALMBCK="R"
Q
;
EDIT ; -- edit notes
N ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG S VALMBCK=""
I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("edit") Q:'ORNMBR
F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR Q:$D(ORQUIT)
. S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR))
. S TIUDA=+IDX Q:'+TIUDA
. D CLEAR^VALM1,EDIT1^TIURA I +$G(TIUCHNG) S OREBUILD=1
S VALMBCK="R"
Q
COPY ; -- copy notes
N ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG,ORTAB S VALMBCK=""
I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("copy") Q:'ORNMBR
F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR Q:$D(ORQUIT)
. S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR))
. S TIUDA=+IDX Q:'+TIUDA
. D COPY1^TIURC I +$G(TIUCHNG) S OREBUILD=1
. I '+$G(TIUCHNG) S VALMBCK="R"
Q
DELETE ; -- delete notes
N ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG S VALMBCK=""
I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("delete") Q:'ORNMBR
F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR Q:$D(ORQUIT)
. S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR))
. S TIUDA=+IDX Q:'+TIUDA
. D DEL^TIURB(TIUDA) I +$G(TIUCHNG) S OREBUILD=1
Q
SIGNERS ; -- Identify additional signers
N ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG S VALMBCK=""
I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("") Q:'ORNMBR
F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR Q:$D(ORQUIT)
. S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR))
. S TIUDA=+IDX Q:'+TIUDA
. D FULL^VALM1,SIGNER^TIURA1
S VALMBCK="R"
Q
PRINT ; Print selected documents
N DFN,TIUDA,TIUDPRM,TIUDARR,TIUDATA,TIUI,DIROUT,TIUDE,POP,TIUPFLG
N TIUSPG,TIUDEV
S VALMBCK="" I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("print") Q:'ORNMBR
D CLEAR^VALM1
I +$$CHARTANY(ORNMBR) S TIUPFLG=$$FLAG^TIUPRPN3
S TIUSPG=1
S TIUDEV=$$DEVICE^TIUDEV(.IO) ; Get Device/allow queueing
I $S(IO']"":1,TIUDEV']"":1,1:0) G PRINTX
I $D(IO("Q")) D QUE^TIUDEV("PRINTN^ORCNOTE",TIUDEV) G PRINTX
D PRINTN
PRINTX N IOSTBM D ^%ZISC,FIXLST^TIULM
K VALMY S VALMBCK="R"
Q
CHARTANY(ORNMBR) ; Evaluate selected documents for chart print
N ORI,NMBR,ORSLT S ORSLT=0
F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) Q:+NMBR'>0!+ORSLT D
. N IDX,TIUDA
. S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR))
. S TIUDA=+IDX Q:'TIUDA
. S ORSLT=+$$CHARTONE^TIURA1(TIUDA)
Q ORSLT
PRINTN ; Loop through selected doc's & invoke print code as appropriate
N TIUI,TIUTYP,ORINDX,ORY,DFN K ^TMP("TIUPR",$J)
N ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG
U IO
F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR Q:$D(ORQUIT)!$D(DIROUT)
. N TIUPMTHD,TIUTYP,TIUPFHDR,TIUPFNBR,TIUPGRP,TIUPRINT,TIUDTYP,TIUFLAG
. S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR))
. S TIUDA=+IDX Q:'+TIUDA Q:'$D(^TIU(8925,TIUDA,0))
. S TIUTYP=$P($G(^TIU(8925,TIUDA,0)),U)
. ; Evaluate whether user can print record
. S TIUPRINT=$$CANDO^TIULP(TIUDA,"PRINT RECORD")
. I +TIUPRINT'>0 D Q ; Exclude records user can't print
. . W !!,"Item #",ORI,": ",!,$P(TIUPRINT,U,2),!
. . I IO=IO(0),'$D(ZTQUEUED),$$READ^TIUU("EA","RETURN to continue...")
. I +$G(TIUPFLG) S TIUFLAG=+$$CHARTONE^TIURA1(TIUDA)
. S DFN=$P($G(^TIU(8925,+TIUDA,0)),U,2)
. I +TIUTYP D
. . S TIUPMTHD=$$PRNTMTHD^TIULG(+TIUTYP)
. . S TIUPGRP=$$PRNTGRP^TIULG(+TIUTYP)
. . S TIUPFHDR=$$PRNTHDR^TIULG(+TIUTYP)
. . S TIUPFNBR=$$PRNTNBR^TIULG(+TIUTYP)
. I +$$ISADDNDM^TIULC1(TIUDA) D
. . S TIUDA=+$P($G(^TIU(8925,TIUDA,0)),U,6)
. . S TIUDTYP=+$G(^TIU(8925,TIUDA,0))
. I +$G(^TIU(8925,TIUDA,21))>0 D
. . S TIUDA=+$G(^TIU(8925,TIUDA,21))
. . S TIUDTYP=+$G(^TIU(8925,TIUDA,0))
. Q:+$D(ORINDX(TIUDA))
. I +$G(TIUDTYP)>0 D
. . S TIUPMTHD=$$PRNTMTHD^TIULG(+TIUDTYP)
. . S TIUPGRP=$$PRNTGRP^TIULG(+TIUDTYP)
. . S TIUPFHDR=$$PRNTHDR^TIULG(+TIUDTYP)
. . S TIUPFNBR=$$PRNTNBR^TIULG(+TIUDTYP)
. I $G(TIUPMTHD)]"",+$G(TIUPGRP),($G(TIUPFHDR)]""),($G(TIUPFNBR)]"") S ORY(TIUPMTHD,$G(TIUPGRP)_"$"_TIUPFHDR_";"_DFN,ORI,TIUDA)=TIUPFNBR
. E S ORY(TIUPMTHD,DFN,ORI,TIUDA)=""
. S ORINDX(TIUDA)=ORI
S TIUPMTHD="" F S TIUPMTHD=$O(ORY(TIUPMTHD)) Q:TIUPMTHD="" D
. D PRNTDOC^TIURA(TIUPMTHD,.ORY)
Q
BROWSE ; -- browse document
N ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG,TIUQUIT S VALMBCK=""
I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("browse") Q:'ORNMBR
F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR Q:$D(ORQUIT)
. S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR))
. S TIUDA=+IDX Q:'+TIUDA
. D CLEAR^VALM1,BROWS1^TIURA("TIU BROWSE FOR CLINICIAN")
. S VALMBCK="R" S:+$G(TIUCHNG) OREBUILD=1
. I +$G(TIUQUIT) S ORQUIT=1
Q
;
EX ; -- exit action
D:$G(OREBUILD) TAB^ORCHART(ORTAB,1)
S:$D(^TMP("OR",$J,"CURRENT","MENU")) XQORM("HIJACK")=^("MENU")
Q
ORCNOTE ; SLC/MKB - Progress Note actions ;25-JAN-2001 16:18:00
+1 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**22,48,65,104**;Dec 17, 1997
ELSIG ; Sign rec
+1 NEW ASK,TIUEVNT,TIUDA,TIUES,TIUI,X,X1,Y,ORI,NMBR,ORPICK,ORQUIT,IDX,TIUPOP,TIUPRM0,TIUPRM1
+2 IF '$DATA(TIUPRM0)
DO SETPARM^TIULE
+3 IF $PIECE(TIUPRM0,U,2)'>0
WRITE !,"Electronic signature not yet enabled."
HANG 3
GOTO ELSIGX
+4 SET ORPICK=""
SET VALMBCK=""
+5 IF '$GET(ORNMBR)
SET ORNMBR=$$ORDERS^ORCHART("sign")
IF 'ORNMBR
QUIT
+6 IF +ORNMBR
DO FULL^VALM1
+7 SET ORI=1
+8 FOR
SET NMBR=$PIECE(ORNMBR,",",ORI)
IF +NMBR'>0!$DATA(ORQUIT)
QUIT
Begin DoDot:1
+9 NEW TIU0,TIU12,TIU15,TIUSTAT,TIUEVNT,TIUTYPE,TIUDA
+10 SET IDX=$GET(^TMP("OR",$JOB,"CURRENT","IDX",NMBR))
SET ORI=+$GET(ORI)+1
+11 SET TIUDA=+IDX
SET TIU0=$GET(^TIU(8925,+TIUDA,0))
SET TIU12=$GET(^(12))
SET TIU15=$GET(^(15))
+12 SET TIUSTAT=+$PIECE(TIU0,U,5)
+13 SET TIUTYPE=$$PNAME^TIULC1(+$GET(^TIU(8925,+TIUDA,0)))
+14 SET TIUEVNT=$SELECT(+TIUSTAT'>5:"SIGNATURE",1:"COSIGNATURE")
+15 SET ASK=$$CANDO^TIULP(TIUDA,TIUEVNT)
+16 IF +ASK>0
Begin DoDot:2
+17 LOCK +^TIU(8925,+TIUDA):1
+18 IF '$TEST
SET ASK="0^ Another user is editing this entry."
End DoDot:2
+19 IF +ASK'>0
IF $PIECE(ASK,U,2)]""
Begin DoDot:2
+20 DO FULL^VALM1
+21 WRITE !!,"Item #: ",NMBR,!,$PIECE(ASK,U,2),!
+22 WRITE !,"Removed from signature list.",!
+23 IF $$READ^TIUU("FOA","Press RETURN to continue...")
End DoDot:2
IF 1
+24 IF '$TEST
Begin DoDot:2
+25 IF $SELECT(+$$REQCOSIG^TIULP(+TIU0,+TIUDA,DUZ):1,+$PIECE(TIU15,U,6):1,1:0)
IF (+$PIECE(TIU12,U,8)'>0)
Begin DoDot:3
+26 NEW COSIGNER
+27 WRITE !!,"Item #",NMBR,": ",TIUTYPE," for "
+28 WRITE $$PTNAME^TIULC1($PIECE(TIU0,U,2))," will need cosignature..."
+29 SET COSIGNER=$$ASKCSNR^TIURS(TIUDA,DUZ)
+30 IF +COSIGNER'>0
Begin DoDot:4
+31 SET TIUPOP=1
+32 WRITE !!,"Item #",NMBR,": MUST have a cosigner, before you may sign."
+33 WRITE !!,"Removed from signature list.",!
+34 IF $$READ^TIUU("FOA","Press RETURN to continue...")
End DoDot:4
End DoDot:3
IF +$GET(TIUPOP)
QUIT
+35 NEW TIU,TIUY
+36 DO EN^VALM("ORC TIU SIGN/COSIGN")
End DoDot:2
End DoDot:1
+37 IF +$GET(ORPICK)'>0
Begin DoDot:1
+38 SET VALMSG="** Signature List Empty...Nothing signed. **"
End DoDot:1
GOTO ELSIGX
+39 IF +$GET(ORPICK)>0
Begin DoDot:1
+40 SET TIUES=$$ASKSIG^TIULA1
+41 IF '+TIUES
SET VALMSG="** Nothing Signed. **"
QUIT
+42 FOR ORI=1:1:$LENGTH(ORPICK,",")
SET NMBR=$PIECE(ORPICK,",",ORI)
IF NMBR
Begin DoDot:2
+43 SET IDX=$GET(^TMP("OR",$JOB,"CURRENT","IDX",NMBR))
SET TIUDA=+IDX
+44 DO ES^TIURS(TIUDA,TIUES,NMBR)
End DoDot:2
IF $DATA(ORQUIT)
QUIT
End DoDot:1
+45 IF $GET(ORPICK)']""
SET VALMSG="** Nothing Signed. **"
+46 IF '$TEST
SET VALMSG="** Item"_$SELECT($LENGTH(ORPICK,",")>1:"s ",1:" ")_ORPICK_" Signed. **"
ELSIGX KILL VALMY
SET VALMBCK="R"
+1 QUIT
ACCEPT(ORPICK,NMBR) ; Adds item(s) to signature list
+1 DO FULL^VALM1
+2 SET ORPICK=$GET(ORPICK)_$SELECT($LENGTH(ORPICK):",",1:"")_NMBR
SET OREBUILD=1
+3 WRITE !,"Item #",NMBR," added to the signature list."
HANG 3
+4 QUIT
SIGN ; -- sign notes
+1 NEW ORI,NMBR,ORQUIT,IDX,TIUDA
SET VALMBCK=""
+2 IF '$GET(ORNMBR)
SET ORNMBR=$$ORDERS^ORCHART("sign")
IF 'ORNMBR
QUIT
+3 FOR ORI=1:1:$LENGTH(ORNMBR,",")
SET NMBR=$PIECE(ORNMBR,",",ORI)
IF NMBR
Begin DoDot:1
+4 SET IDX=$GET(^TMP("OR",$JOB,"CURRENT","IDX",NMBR))
+5 SET TIUDA=+IDX
IF '+TIUDA
QUIT
+6 DO EDSIG^TIURS(TIUDA,"",1)
End DoDot:1
IF $DATA(ORQUIT)
QUIT
+7 QUIT
+8 ;
ADDENDUM ; -- make addendum
+1 NEW ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG
SET VALMBCK=""
+2 IF '$GET(ORNMBR)
SET ORNMBR=$$ORDERS^ORCHART("")
IF 'ORNMBR
QUIT
+3 FOR ORI=1:1:$LENGTH(ORNMBR,",")
SET NMBR=$PIECE(ORNMBR,",",ORI)
IF NMBR
Begin DoDot:1
+4 SET IDX=$GET(^TMP("OR",$JOB,"CURRENT","IDX",NMBR))
+5 SET TIUDA=+IDX
IF '+TIUDA
QUIT
+6 IF +$$ISADDNDM^TIULC1(TIUDA)
Begin DoDot:2
+7 WRITE !,$CHAR(7),"You may not make addenda to addenda."
+8 IF $$READ^TIUU("EA","Press RETURN to continue...")
WRITE ""
End DoDot:2
QUIT
+9 DO CLEAR^VALM1
DO ADDEND1^TIURA1
IF +$GET(TIUCHNG)
SET OREBUILD=1
+10 IF '+$GET(TIUCHNG)
SET VALMBCK="R"
End DoDot:1
IF $DATA(ORQUIT)
QUIT
+11 QUIT
+12 ;
EDIT ; -- edit notes
+1 NEW ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG
SET VALMBCK=""
+2 IF '$GET(ORNMBR)
SET ORNMBR=$$ORDERS^ORCHART("edit")
IF 'ORNMBR
QUIT
+3 FOR ORI=1:1:$LENGTH(ORNMBR,",")
SET NMBR=$PIECE(ORNMBR,",",ORI)
IF NMBR
Begin DoDot:1
+4 SET IDX=$GET(^TMP("OR",$JOB,"CURRENT","IDX",NMBR))
+5 SET TIUDA=+IDX
IF '+TIUDA
QUIT
+6 DO CLEAR^VALM1
DO EDIT1^TIURA
IF +$GET(TIUCHNG)
SET OREBUILD=1
End DoDot:1
IF $DATA(ORQUIT)
QUIT
+7 SET VALMBCK="R"
+8 QUIT
COPY ; -- copy notes
+1 NEW ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG,ORTAB
SET VALMBCK=""
+2 IF '$GET(ORNMBR)
SET ORNMBR=$$ORDERS^ORCHART("copy")
IF 'ORNMBR
QUIT
+3 FOR ORI=1:1:$LENGTH(ORNMBR,",")
SET NMBR=$PIECE(ORNMBR,",",ORI)
IF NMBR
Begin DoDot:1
+4 SET IDX=$GET(^TMP("OR",$JOB,"CURRENT","IDX",NMBR))
+5 SET TIUDA=+IDX
IF '+TIUDA
QUIT
+6 DO COPY1^TIURC
IF +$GET(TIUCHNG)
SET OREBUILD=1
+7 IF '+$GET(TIUCHNG)
SET VALMBCK="R"
End DoDot:1
IF $DATA(ORQUIT)
QUIT
+8 QUIT
DELETE ; -- delete notes
+1 NEW ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG
SET VALMBCK=""
+2 IF '$GET(ORNMBR)
SET ORNMBR=$$ORDERS^ORCHART("delete")
IF 'ORNMBR
QUIT
+3 FOR ORI=1:1:$LENGTH(ORNMBR,",")
SET NMBR=$PIECE(ORNMBR,",",ORI)
IF NMBR
Begin DoDot:1
+4 SET IDX=$GET(^TMP("OR",$JOB,"CURRENT","IDX",NMBR))
+5 SET TIUDA=+IDX
IF '+TIUDA
QUIT
+6 DO DEL^TIURB(TIUDA)
IF +$GET(TIUCHNG)
SET OREBUILD=1
End DoDot:1
IF $DATA(ORQUIT)
QUIT
+7 QUIT
SIGNERS ; -- Identify additional signers
+1 NEW ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG
SET VALMBCK=""
+2 IF '$GET(ORNMBR)
SET ORNMBR=$$ORDERS^ORCHART("")
IF 'ORNMBR
QUIT
+3 FOR ORI=1:1:$LENGTH(ORNMBR,",")
SET NMBR=$PIECE(ORNMBR,",",ORI)
IF NMBR
Begin DoDot:1
+4 SET IDX=$GET(^TMP("OR",$JOB,"CURRENT","IDX",NMBR))
+5 SET TIUDA=+IDX
IF '+TIUDA
QUIT
+6 DO FULL^VALM1
DO SIGNER^TIURA1
End DoDot:1
IF $DATA(ORQUIT)
QUIT
+7 SET VALMBCK="R"
+8 QUIT
PRINT ; Print selected documents
+1 NEW DFN,TIUDA,TIUDPRM,TIUDARR,TIUDATA,TIUI,DIROUT,TIUDE,POP,TIUPFLG
+2 NEW TIUSPG,TIUDEV
+3 SET VALMBCK=""
IF '$GET(ORNMBR)
SET ORNMBR=$$ORDERS^ORCHART("print")
IF 'ORNMBR
QUIT
+4 DO CLEAR^VALM1
+5 IF +$$CHARTANY(ORNMBR)
SET TIUPFLG=$$FLAG^TIUPRPN3
+6 SET TIUSPG=1
+7 ; Get Device/allow queueing
SET TIUDEV=$$DEVICE^TIUDEV(.IO)
+8 IF $SELECT(IO']"":1,TIUDEV']"":1,1:0)
GOTO PRINTX
+9 IF $DATA(IO("Q"))
DO QUE^TIUDEV("PRINTN^ORCNOTE",TIUDEV)
GOTO PRINTX
+10 DO PRINTN
PRINTX NEW IOSTBM
DO ^%ZISC
DO FIXLST^TIULM
+1 KILL VALMY
SET VALMBCK="R"
+2 QUIT
CHARTANY(ORNMBR) ; Evaluate selected documents for chart print
+1 NEW ORI,NMBR,ORSLT
SET ORSLT=0
+2 FOR ORI=1:1:$LENGTH(ORNMBR,",")
SET NMBR=$PIECE(ORNMBR,",",ORI)
IF +NMBR'>0!+ORSLT
QUIT
Begin DoDot:1
+3 NEW IDX,TIUDA
+4 SET IDX=$GET(^TMP("OR",$JOB,"CURRENT","IDX",NMBR))
+5 SET TIUDA=+IDX
IF 'TIUDA
QUIT
+6 SET ORSLT=+$$CHARTONE^TIURA1(TIUDA)
End DoDot:1
+7 QUIT ORSLT
PRINTN ; Loop through selected doc's & invoke print code as appropriate
+1 NEW TIUI,TIUTYP,ORINDX,ORY,DFN
KILL ^TMP("TIUPR",$JOB)
+2 NEW ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG
+3 USE IO
+4 FOR ORI=1:1:$LENGTH(ORNMBR,",")
SET NMBR=$PIECE(ORNMBR,",",ORI)
IF NMBR
Begin DoDot:1
+5 NEW TIUPMTHD,TIUTYP,TIUPFHDR,TIUPFNBR,TIUPGRP,TIUPRINT,TIUDTYP,TIUFLAG
+6 SET IDX=$GET(^TMP("OR",$JOB,"CURRENT","IDX",NMBR))
+7 SET TIUDA=+IDX
IF '+TIUDA
QUIT
IF '$DATA(^TIU(8925,TIUDA,0))
QUIT
+8 SET TIUTYP=$PIECE($GET(^TIU(8925,TIUDA,0)),U)
+9 ; Evaluate whether user can print record
+10 SET TIUPRINT=$$CANDO^TIULP(TIUDA,"PRINT RECORD")
+11 ; Exclude records user can't print
IF +TIUPRINT'>0
Begin DoDot:2
+12 WRITE !!,"Item #",ORI,": ",!,$PIECE(TIUPRINT,U,2),!
+13 IF IO=IO(0)
IF '$DATA(ZTQUEUED)
IF $$READ^TIUU("EA","RETURN to continue...")
End DoDot:2
QUIT
+14 IF +$GET(TIUPFLG)
SET TIUFLAG=+$$CHARTONE^TIURA1(TIUDA)
+15 SET DFN=$PIECE($GET(^TIU(8925,+TIUDA,0)),U,2)
+16 IF +TIUTYP
Begin DoDot:2
+17 SET TIUPMTHD=$$PRNTMTHD^TIULG(+TIUTYP)
+18 SET TIUPGRP=$$PRNTGRP^TIULG(+TIUTYP)
+19 SET TIUPFHDR=$$PRNTHDR^TIULG(+TIUTYP)
+20 SET TIUPFNBR=$$PRNTNBR^TIULG(+TIUTYP)
End DoDot:2
+21 IF +$$ISADDNDM^TIULC1(TIUDA)
Begin DoDot:2
+22 SET TIUDA=+$PIECE($GET(^TIU(8925,TIUDA,0)),U,6)
+23 SET TIUDTYP=+$GET(^TIU(8925,TIUDA,0))
End DoDot:2
+24 IF +$GET(^TIU(8925,TIUDA,21))>0
Begin DoDot:2
+25 SET TIUDA=+$GET(^TIU(8925,TIUDA,21))
+26 SET TIUDTYP=+$GET(^TIU(8925,TIUDA,0))
End DoDot:2
+27 IF +$DATA(ORINDX(TIUDA))
QUIT
+28 IF +$GET(TIUDTYP)>0
Begin DoDot:2
+29 SET TIUPMTHD=$$PRNTMTHD^TIULG(+TIUDTYP)
+30 SET TIUPGRP=$$PRNTGRP^TIULG(+TIUDTYP)
+31 SET TIUPFHDR=$$PRNTHDR^TIULG(+TIUDTYP)
+32 SET TIUPFNBR=$$PRNTNBR^TIULG(+TIUDTYP)
End DoDot:2
+33 IF $GET(TIUPMTHD)]""
IF +$GET(TIUPGRP)
IF ($GET(TIUPFHDR)]"")
IF ($GET(TIUPFNBR)]"")
SET ORY(TIUPMTHD,$GET(TIUPGRP)_"$"_TIUPFHDR_";"_DFN,ORI,TIUDA)=TIUPFNBR
+34 IF '$TEST
SET ORY(TIUPMTHD,DFN,ORI,TIUDA)=""
+35 SET ORINDX(TIUDA)=ORI
End DoDot:1
IF $DATA(ORQUIT)!$DATA(DIROUT)
QUIT
+36 SET TIUPMTHD=""
FOR
SET TIUPMTHD=$ORDER(ORY(TIUPMTHD))
IF TIUPMTHD=""
QUIT
Begin DoDot:1
+37 DO PRNTDOC^TIURA(TIUPMTHD,.ORY)
End DoDot:1
+38 QUIT
BROWSE ; -- browse document
+1 NEW ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG,TIUQUIT
SET VALMBCK=""
+2 IF '$GET(ORNMBR)
SET ORNMBR=$$ORDERS^ORCHART("browse")
IF 'ORNMBR
QUIT
+3 FOR ORI=1:1:$LENGTH(ORNMBR,",")
SET NMBR=$PIECE(ORNMBR,",",ORI)
IF NMBR
Begin DoDot:1
+4 SET IDX=$GET(^TMP("OR",$JOB,"CURRENT","IDX",NMBR))
+5 SET TIUDA=+IDX
IF '+TIUDA
QUIT
+6 DO CLEAR^VALM1
DO BROWS1^TIURA("TIU BROWSE FOR CLINICIAN")
+7 SET VALMBCK="R"
IF +$GET(TIUCHNG)
SET OREBUILD=1
+8 IF +$GET(TIUQUIT)
SET ORQUIT=1
End DoDot:1
IF $DATA(ORQUIT)
QUIT
+9 QUIT
+10 ;
EX ; -- exit action
+1 IF $GET(OREBUILD)
DO TAB^ORCHART(ORTAB,1)
+2 IF $DATA(^TMP("OR",$JOB,"CURRENT","MENU"))
SET XQORM("HIJACK")=^("MENU")
+3 QUIT