| 1 | ORCNOTE ; SLC/MKB - Progress Note actions ;25-JAN-2001 16:18:00
 | 
|---|
| 2 |  ;;3.0;ORDER ENTRY/RESULTS REPORTING;**22,48,65,104**;Dec 17, 1997
 | 
|---|
| 3 | ELSIG ; Sign rec
 | 
|---|
| 4 |  N ASK,TIUEVNT,TIUDA,TIUES,TIUI,X,X1,Y,ORI,NMBR,ORPICK,ORQUIT,IDX,TIUPOP,TIUPRM0,TIUPRM1
 | 
|---|
| 5 |  I '$D(TIUPRM0) D SETPARM^TIULE
 | 
|---|
| 6 |  I $P(TIUPRM0,U,2)'>0 W !,"Electronic signature not yet enabled." H 3 G ELSIGX
 | 
|---|
| 7 |  S ORPICK="",VALMBCK=""
 | 
|---|
| 8 |  I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("sign") Q:'ORNMBR
 | 
|---|
| 9 |  I +ORNMBR D FULL^VALM1
 | 
|---|
| 10 |  S ORI=1
 | 
|---|
| 11 |  F  S NMBR=$P(ORNMBR,",",ORI) Q:+NMBR'>0!$D(ORQUIT)  D
 | 
|---|
| 12 |  . N TIU0,TIU12,TIU15,TIUSTAT,TIUEVNT,TIUTYPE,TIUDA
 | 
|---|
| 13 |  . S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR)),ORI=+$G(ORI)+1
 | 
|---|
| 14 |  . S TIUDA=+IDX,TIU0=$G(^TIU(8925,+TIUDA,0)),TIU12=$G(^(12)),TIU15=$G(^(15))
 | 
|---|
| 15 |  . S TIUSTAT=+$P(TIU0,U,5)
 | 
|---|
| 16 |  . S TIUTYPE=$$PNAME^TIULC1(+$G(^TIU(8925,+TIUDA,0)))
 | 
|---|
| 17 |  . S TIUEVNT=$S(+TIUSTAT'>5:"SIGNATURE",1:"COSIGNATURE")
 | 
|---|
| 18 |  . S ASK=$$CANDO^TIULP(TIUDA,TIUEVNT)
 | 
|---|
| 19 |  . I +ASK>0 D
 | 
|---|
| 20 |  . . L +^TIU(8925,+TIUDA):1
 | 
|---|
| 21 |  . . E  S ASK="0^ Another user is editing this entry."
 | 
|---|
| 22 |  . I +ASK'>0,$P(ASK,U,2)]"" D  I 1
 | 
|---|
| 23 |  . . D FULL^VALM1
 | 
|---|
| 24 |  . . W !!,"Item #: ",NMBR,!,$P(ASK,U,2),!
 | 
|---|
| 25 |  . . W !,"Removed from signature list.",!
 | 
|---|
| 26 |  . . I $$READ^TIUU("FOA","Press RETURN to continue...")
 | 
|---|
| 27 |  . E  D
 | 
|---|
| 28 |  . . I $S(+$$REQCOSIG^TIULP(+TIU0,+TIUDA,DUZ):1,+$P(TIU15,U,6):1,1:0),(+$P(TIU12,U,8)'>0) D  Q:+$G(TIUPOP)
 | 
|---|
| 29 |  . . . N COSIGNER
 | 
|---|
| 30 |  . . . W !!,"Item #",NMBR,": ",TIUTYPE," for "
 | 
|---|
| 31 |  . . . W $$PTNAME^TIULC1($P(TIU0,U,2))," will need cosignature..."
 | 
|---|
| 32 |  . . . S COSIGNER=$$ASKCSNR^TIURS(TIUDA,DUZ)
 | 
|---|
| 33 |  . . . I +COSIGNER'>0 D
 | 
|---|
| 34 |  . . . . S TIUPOP=1
 | 
|---|
| 35 |  . . . . W !!,"Item #",NMBR,": MUST have a cosigner, before you may sign."
 | 
|---|
| 36 |  . . . . W !!,"Removed from signature list.",!
 | 
|---|
| 37 |  . . . . I $$READ^TIUU("FOA","Press RETURN to continue...")
 | 
|---|
| 38 |  . . N TIU,TIUY
 | 
|---|
| 39 |  . . D EN^VALM("ORC TIU SIGN/COSIGN")
 | 
|---|
| 40 |  I +$G(ORPICK)'>0 D  G ELSIGX
 | 
|---|
| 41 |  . S VALMSG="** Signature List Empty...Nothing signed. **"
 | 
|---|
| 42 |  I +$G(ORPICK)>0 D
 | 
|---|
| 43 |  . S TIUES=$$ASKSIG^TIULA1
 | 
|---|
| 44 |  . I '+TIUES S VALMSG="** Nothing Signed. **" Q
 | 
|---|
| 45 |  . F ORI=1:1:$L(ORPICK,",") S NMBR=$P(ORPICK,",",ORI) D:NMBR  Q:$D(ORQUIT)
 | 
|---|
| 46 |  . . S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR)),TIUDA=+IDX
 | 
|---|
| 47 |  . . D ES^TIURS(TIUDA,TIUES,NMBR)
 | 
|---|
| 48 |  I $G(ORPICK)']"" S VALMSG="** Nothing Signed. **"
 | 
|---|
| 49 |  E  S VALMSG="** Item"_$S($L(ORPICK,",")>1:"s ",1:" ")_ORPICK_" Signed. **"
 | 
|---|
| 50 | ELSIGX K VALMY S VALMBCK="R"
 | 
|---|
| 51 |  Q
 | 
|---|
| 52 | ACCEPT(ORPICK,NMBR) ; Adds item(s) to signature list
 | 
|---|
| 53 |  D FULL^VALM1
 | 
|---|
| 54 |  S ORPICK=$G(ORPICK)_$S($L(ORPICK):",",1:"")_NMBR,OREBUILD=1
 | 
|---|
| 55 |  W !,"Item #",NMBR," added to the signature list." H 3
 | 
|---|
| 56 |  Q
 | 
|---|
| 57 | SIGN ; -- sign notes
 | 
|---|
| 58 |  N ORI,NMBR,ORQUIT,IDX,TIUDA S VALMBCK=""
 | 
|---|
| 59 |  I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("sign") Q:'ORNMBR
 | 
|---|
| 60 |  F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR  Q:$D(ORQUIT)
 | 
|---|
| 61 |  . S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR))
 | 
|---|
| 62 |  . S TIUDA=+IDX Q:'+TIUDA
 | 
|---|
| 63 |  . D EDSIG^TIURS(TIUDA,"",1)
 | 
|---|
| 64 |  Q
 | 
|---|
| 65 |  ;
 | 
|---|
| 66 | ADDENDUM ; -- make addendum
 | 
|---|
| 67 |  N ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG S VALMBCK=""
 | 
|---|
| 68 |  I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("") Q:'ORNMBR
 | 
|---|
| 69 |  F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR  Q:$D(ORQUIT)
 | 
|---|
| 70 |  . S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR))
 | 
|---|
| 71 |  . S TIUDA=+IDX Q:'+TIUDA
 | 
|---|
| 72 |  . I +$$ISADDNDM^TIULC1(TIUDA) D  Q
 | 
|---|
| 73 |  . . W !,$C(7),"You may not make addenda to addenda."
 | 
|---|
| 74 |  . . I $$READ^TIUU("EA","Press RETURN to continue...") W ""
 | 
|---|
| 75 |  . D CLEAR^VALM1,ADDEND1^TIURA1 I +$G(TIUCHNG) S OREBUILD=1
 | 
|---|
| 76 |  . I '+$G(TIUCHNG) S VALMBCK="R"
 | 
|---|
| 77 |  Q
 | 
|---|
| 78 |  ;
 | 
|---|
| 79 | EDIT ; -- edit notes
 | 
|---|
| 80 |  N ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG S VALMBCK=""
 | 
|---|
| 81 |  I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("edit") Q:'ORNMBR
 | 
|---|
| 82 |  F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR  Q:$D(ORQUIT)
 | 
|---|
| 83 |  . S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR))
 | 
|---|
| 84 |  . S TIUDA=+IDX Q:'+TIUDA
 | 
|---|
| 85 |  . D CLEAR^VALM1,EDIT1^TIURA I +$G(TIUCHNG) S OREBUILD=1
 | 
|---|
| 86 |  S VALMBCK="R"
 | 
|---|
| 87 |  Q
 | 
|---|
| 88 | COPY ; -- copy notes
 | 
|---|
| 89 |  N ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG,ORTAB S VALMBCK=""
 | 
|---|
| 90 |  I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("copy") Q:'ORNMBR
 | 
|---|
| 91 |  F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR  Q:$D(ORQUIT)
 | 
|---|
| 92 |  . S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR))
 | 
|---|
| 93 |  . S TIUDA=+IDX Q:'+TIUDA
 | 
|---|
| 94 |  . D COPY1^TIURC I +$G(TIUCHNG) S OREBUILD=1
 | 
|---|
| 95 |  . I '+$G(TIUCHNG) S VALMBCK="R"
 | 
|---|
| 96 |  Q
 | 
|---|
| 97 | DELETE ; -- delete notes
 | 
|---|
| 98 |  N ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG S VALMBCK=""
 | 
|---|
| 99 |  I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("delete") Q:'ORNMBR
 | 
|---|
| 100 |  F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR  Q:$D(ORQUIT)
 | 
|---|
| 101 |  . S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR))
 | 
|---|
| 102 |  . S TIUDA=+IDX Q:'+TIUDA
 | 
|---|
| 103 |  . D DEL^TIURB(TIUDA) I +$G(TIUCHNG) S OREBUILD=1
 | 
|---|
| 104 |  Q
 | 
|---|
| 105 | SIGNERS ; -- Identify additional signers
 | 
|---|
| 106 |  N ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG S VALMBCK=""
 | 
|---|
| 107 |  I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("") Q:'ORNMBR
 | 
|---|
| 108 |  F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR  Q:$D(ORQUIT)
 | 
|---|
| 109 |  . S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR))
 | 
|---|
| 110 |  . S TIUDA=+IDX Q:'+TIUDA
 | 
|---|
| 111 |  . D FULL^VALM1,SIGNER^TIURA1
 | 
|---|
| 112 |  S VALMBCK="R"
 | 
|---|
| 113 |  Q
 | 
|---|
| 114 | PRINT ; Print selected documents
 | 
|---|
| 115 |  N DFN,TIUDA,TIUDPRM,TIUDARR,TIUDATA,TIUI,DIROUT,TIUDE,POP,TIUPFLG
 | 
|---|
| 116 |  N TIUSPG,TIUDEV
 | 
|---|
| 117 |  S VALMBCK="" I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("print") Q:'ORNMBR
 | 
|---|
| 118 |  D CLEAR^VALM1
 | 
|---|
| 119 |  I +$$CHARTANY(ORNMBR) S TIUPFLG=$$FLAG^TIUPRPN3
 | 
|---|
| 120 |  S TIUSPG=1
 | 
|---|
| 121 |  S TIUDEV=$$DEVICE^TIUDEV(.IO) ; Get Device/allow queueing
 | 
|---|
| 122 |  I $S(IO']"":1,TIUDEV']"":1,1:0) G PRINTX
 | 
|---|
| 123 |  I $D(IO("Q")) D QUE^TIUDEV("PRINTN^ORCNOTE",TIUDEV) G PRINTX
 | 
|---|
| 124 |  D PRINTN
 | 
|---|
| 125 | PRINTX N IOSTBM D ^%ZISC,FIXLST^TIULM
 | 
|---|
| 126 |  K VALMY S VALMBCK="R"
 | 
|---|
| 127 |  Q
 | 
|---|
| 128 | CHARTANY(ORNMBR) ; Evaluate selected documents for chart print
 | 
|---|
| 129 |  N ORI,NMBR,ORSLT S ORSLT=0
 | 
|---|
| 130 |  F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) Q:+NMBR'>0!+ORSLT  D
 | 
|---|
| 131 |  . N IDX,TIUDA
 | 
|---|
| 132 |  . S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR))
 | 
|---|
| 133 |  . S TIUDA=+IDX Q:'TIUDA
 | 
|---|
| 134 |  . S ORSLT=+$$CHARTONE^TIURA1(TIUDA)
 | 
|---|
| 135 |  Q ORSLT
 | 
|---|
| 136 | PRINTN ; Loop through selected doc's & invoke print code as appropriate
 | 
|---|
| 137 |  N TIUI,TIUTYP,ORINDX,ORY,DFN K ^TMP("TIUPR",$J)
 | 
|---|
| 138 |  N ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG
 | 
|---|
| 139 |  U IO
 | 
|---|
| 140 |  F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR  Q:$D(ORQUIT)!$D(DIROUT)
 | 
|---|
| 141 |  . N TIUPMTHD,TIUTYP,TIUPFHDR,TIUPFNBR,TIUPGRP,TIUPRINT,TIUDTYP,TIUFLAG
 | 
|---|
| 142 |  . S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR))
 | 
|---|
| 143 |  . S TIUDA=+IDX Q:'+TIUDA  Q:'$D(^TIU(8925,TIUDA,0))
 | 
|---|
| 144 |  . S TIUTYP=$P($G(^TIU(8925,TIUDA,0)),U)
 | 
|---|
| 145 |  . ; Evaluate whether user can print record
 | 
|---|
| 146 |  . S TIUPRINT=$$CANDO^TIULP(TIUDA,"PRINT RECORD")
 | 
|---|
| 147 |  . I +TIUPRINT'>0 D  Q  ; Exclude records user can't print
 | 
|---|
| 148 |  . . W !!,"Item #",ORI,": ",!,$P(TIUPRINT,U,2),!
 | 
|---|
| 149 |  . . I IO=IO(0),'$D(ZTQUEUED),$$READ^TIUU("EA","RETURN to continue...")
 | 
|---|
| 150 |  . I +$G(TIUPFLG) S TIUFLAG=+$$CHARTONE^TIURA1(TIUDA)
 | 
|---|
| 151 |  . S DFN=$P($G(^TIU(8925,+TIUDA,0)),U,2)
 | 
|---|
| 152 |  . I +TIUTYP D
 | 
|---|
| 153 |  . . S TIUPMTHD=$$PRNTMTHD^TIULG(+TIUTYP)
 | 
|---|
| 154 |  . . S TIUPGRP=$$PRNTGRP^TIULG(+TIUTYP)
 | 
|---|
| 155 |  . . S TIUPFHDR=$$PRNTHDR^TIULG(+TIUTYP)
 | 
|---|
| 156 |  . . S TIUPFNBR=$$PRNTNBR^TIULG(+TIUTYP)
 | 
|---|
| 157 |  . I +$$ISADDNDM^TIULC1(TIUDA) D
 | 
|---|
| 158 |  . . S TIUDA=+$P($G(^TIU(8925,TIUDA,0)),U,6)
 | 
|---|
| 159 |  . . S TIUDTYP=+$G(^TIU(8925,TIUDA,0))
 | 
|---|
| 160 |  . I +$G(^TIU(8925,TIUDA,21))>0 D
 | 
|---|
| 161 |  . . S TIUDA=+$G(^TIU(8925,TIUDA,21))
 | 
|---|
| 162 |  . . S TIUDTYP=+$G(^TIU(8925,TIUDA,0))
 | 
|---|
| 163 |  . Q:+$D(ORINDX(TIUDA))
 | 
|---|
| 164 |  . I +$G(TIUDTYP)>0 D
 | 
|---|
| 165 |  . . S TIUPMTHD=$$PRNTMTHD^TIULG(+TIUDTYP)
 | 
|---|
| 166 |  . . S TIUPGRP=$$PRNTGRP^TIULG(+TIUDTYP)
 | 
|---|
| 167 |  . . S TIUPFHDR=$$PRNTHDR^TIULG(+TIUDTYP)
 | 
|---|
| 168 |  . . S TIUPFNBR=$$PRNTNBR^TIULG(+TIUDTYP)
 | 
|---|
| 169 |  . I $G(TIUPMTHD)]"",+$G(TIUPGRP),($G(TIUPFHDR)]""),($G(TIUPFNBR)]"") S ORY(TIUPMTHD,$G(TIUPGRP)_"$"_TIUPFHDR_";"_DFN,ORI,TIUDA)=TIUPFNBR
 | 
|---|
| 170 |  . E  S ORY(TIUPMTHD,DFN,ORI,TIUDA)=""
 | 
|---|
| 171 |  . S ORINDX(TIUDA)=ORI
 | 
|---|
| 172 |  S TIUPMTHD="" F  S TIUPMTHD=$O(ORY(TIUPMTHD)) Q:TIUPMTHD=""  D
 | 
|---|
| 173 |  . D PRNTDOC^TIURA(TIUPMTHD,.ORY)
 | 
|---|
| 174 |  Q
 | 
|---|
| 175 | BROWSE ; -- browse document
 | 
|---|
| 176 |  N ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG,TIUQUIT S VALMBCK=""
 | 
|---|
| 177 |  I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("browse") Q:'ORNMBR
 | 
|---|
| 178 |  F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR  Q:$D(ORQUIT)
 | 
|---|
| 179 |  . S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR))
 | 
|---|
| 180 |  . S TIUDA=+IDX Q:'+TIUDA
 | 
|---|
| 181 |  . D CLEAR^VALM1,BROWS1^TIURA("TIU BROWSE FOR CLINICIAN")
 | 
|---|
| 182 |  . S VALMBCK="R" S:+$G(TIUCHNG) OREBUILD=1
 | 
|---|
| 183 |  . I +$G(TIUQUIT) S ORQUIT=1
 | 
|---|
| 184 |  Q
 | 
|---|
| 185 |  ;
 | 
|---|
| 186 | EX ; -- exit action
 | 
|---|
| 187 |  D:$G(OREBUILD) TAB^ORCHART(ORTAB,1)
 | 
|---|
| 188 |  S:$D(^TMP("OR",$J,"CURRENT","MENU")) XQORM("HIJACK")=^("MENU")
 | 
|---|
| 189 |  Q
 | 
|---|