1 | TIUPD ; SLC/JER - Background Print Driver ;5/3/04
|
---|
2 | ;;1.0;TEXT INTEGRATION UTILITIES;**7,89,100,182**;Jun 20, 1997
|
---|
3 | MAIN(DA,TIUACT) ; Control Branching
|
---|
4 | ; TIUACT=R ==> Release from transcription,
|
---|
5 | ; V ==> Verified by MAS,
|
---|
6 | ; A ==> AMENDED by Privacy Act Officer
|
---|
7 | ; S ==> On completion by electronic signature by appropriate
|
---|
8 | ; person (i.e., author or expected cosigner)
|
---|
9 | ; TIUSTAT=1 ==> STAT urgency,
|
---|
10 | ; TIURP=routine print event(s)
|
---|
11 | ; TIUSP=stat print event(s)
|
---|
12 | N TIUSTAT,TIURP,TIUSP,TIUDPARM
|
---|
13 | D DOCPRM^TIULC1(+$G(^TIU(8925,+DA,0)),.TIUDPARM,+DA)
|
---|
14 | Q:+$P($G(TIUDPARM(0)),U,8)>0!(+$G(TIUDPARM(0))'>0)
|
---|
15 | Q:$G(TIUACT)=""!("ARVS"'[TIUACT)!(+$G(DA)'>0)
|
---|
16 | S:$P($G(^TIU(8925,+DA,0)),U,9)="P" TIUSTAT=1
|
---|
17 | S TIURP=$P($G(TIUDPARM(0)),U,6),TIUSP=$P($G(TIUDPARM(0)),U,7)
|
---|
18 | I TIUACT="S" D TSKPRINT(DA,2,"",.TIUDPARM) Q
|
---|
19 | I TIUACT="A" D TSKPRINT(DA,1,"",.TIUDPARM) Q
|
---|
20 | I TIUACT="V",TIUSP]"","VB"[TIUSP D TSKPRINT(DA,1,"",.TIUDPARM) Q
|
---|
21 | I +$G(TIUSTAT) D ;STAT Document processing
|
---|
22 | . I TIUACT="R",TIUSP]"","RB"[TIUSP D TSKPRINT(DA,1,TIUSTAT,.TIUDPARM) Q
|
---|
23 | . I TIUACT="V",TIUSP]"","VB"[TIUSP D TSKPRINT(DA,1,"",.TIUDPARM) Q
|
---|
24 | E D ;Non-stat Document processing
|
---|
25 | . I TIUACT="R",TIURP]"","RB"[TIURP D TSKPRINT(DA,1,"",.TIUDPARM) Q
|
---|
26 | . I TIUACT="V",TIURP]"","VB"[TIURP D TSKPRINT(DA,1,"",.TIUDPARM) Q
|
---|
27 | Q
|
---|
28 | RPC(TIUY,TIUDA,TIUIO,TIUFLAG,TIUWIN) ; Remote Procedure to print a record
|
---|
29 | ;TIUFLAG > 1 Chart Copy, TIUFLAG = 2 Electronically signed Chart Copy
|
---|
30 | ;TIUWIN = 1 Windows printer, 0 or "" VistA printer
|
---|
31 | N DFN,TIUD0,TIUX,ZTIO,ZTDTH,ZTRTN,ZTSK,ZTDESC,TIUTYPE,TIUPMTHD,TIUTNM
|
---|
32 | N TIUDATE,TIUPFHDR,TIUPFNBR,TIUPGRP,TIUD13,TIUD15,TIUIDDAD
|
---|
33 | K ^TMP("TIUPR",$J)
|
---|
34 | I '$D(^TIU(8925,+$G(TIUDA),0)) S TIUY="1^No such record in TIU" Q
|
---|
35 | I $G(TIUIO)']"" S TIUY="1^No device selected" Q
|
---|
36 | ; Get Print Method for the document
|
---|
37 | S TIUD0=$G(^TIU(8925,+TIUDA,0)),TIUD13=$G(^TIU(8925,+TIUDA,13))
|
---|
38 | S TIUD15=$G(^TIU(8925,+TIUDA,15)),TIUTYPE=+TIUD0,TIUFLAG=+$G(TIUFLAG)
|
---|
39 | S TIUDATE=$S(+TIUD15>0:+TIUD15,+TIUD13>0:+TIUD13,1:+$G(DT))
|
---|
40 | I '+TIUTYPE Q
|
---|
41 | S DFN=+$P(TIUD0,U,2)
|
---|
42 | S TIUTNM=$$PNAME^TIULC1(+TIUTYPE)
|
---|
43 | S TIUPMTHD=$$PRNTMTHD^TIULG(+TIUTYPE,TIUDA)
|
---|
44 | S TIUPGRP=$$PRNTGRP^TIULG(+TIUTYPE,TIUDA)
|
---|
45 | S TIUPFHDR=$$PRNTHDR^TIULG(+TIUTYPE,TIUDA)
|
---|
46 | S TIUPFNBR=$$PRNTNBR^TIULG(+TIUTYPE,TIUDA)
|
---|
47 | I +$$ISADDNDM^TIULC1(TIUDA) S TIUDA=+$P($G(^TIU(8925,+TIUDA,0)),U,6)
|
---|
48 | S TIUIDDAD=$$HASIDDAD^TIUGBR(TIUDA)
|
---|
49 | I TIUIDDAD S TIUDA=TIUIDDAD
|
---|
50 | I $G(TIUPMTHD)']"" S TIUY="1^No Print Method Defined" Q
|
---|
51 | ;I $G(TIUPMTHD)]"",+$G(TIUPGRP),($G(TIUPFHDR)]""),($G(TIUPFNBR)]"") D
|
---|
52 | ;. S ^TMP("TIUPR",$J,$G(TIUPGRP)_"$"_$G(TIUPFHDR)_";"_DFN,1,TIUDA)=$G(TIUPFNBR)
|
---|
53 | ;E S ^TMP("TIUPR",$J,DFN,1,TIUDA)=""
|
---|
54 | ; -- P182: Set array same whether or not flds are defined, with
|
---|
55 | ; TIUPGRP piece possibly 0, TIUPFHDR piece possibly null, and
|
---|
56 | ; array value TIUPFNBR possibly null.
|
---|
57 | S ^TMP("TIUPR",$J,+$G(TIUPGRP)_"$"_$G(TIUPFHDR)_";"_DFN,1,TIUDA)=$G(TIUPFNBR)
|
---|
58 | I +$G(TIUWIN) D
|
---|
59 | . U IO
|
---|
60 | . X TIUPMTHD
|
---|
61 | E D
|
---|
62 | . S ZTIO=TIUIO,ZTDTH=$H
|
---|
63 | . S ZTDESC=$S(+TIUFLAG:"CHART",1:"WORK")_" copy of "_$$UPPER^TIULS(TIUTNM)
|
---|
64 | . S ZTRTN=$P(TIUPMTHD," ",2),ZTSAVE("^TMP(""TIUPR"",$J,")=""
|
---|
65 | . S ZTSAVE("TIUFLAG")="",ZTSAVE("TIUPRM*")="",ZTSAVE("DUZ(")=""
|
---|
66 | . D ^%ZTLOAD ;K ^TMP("TIUPR",$J,+$P(TIUD0,U,2),1,TIUDA) P182
|
---|
67 | . I $D(ZTSK) S TIUY="0^"_$S(+$G(TIUFLAG):"Chart",1:"Draft")_" copy queued"
|
---|
68 | . E S TIUY="1^Task Rejected"
|
---|
69 | K ^TMP("TIUPR",$J,+$G(TIUPGRP)_"$"_$G(TIUPFHDR)_";"_DFN,1,TIUDA) ;P182
|
---|
70 | Q
|
---|
71 | TSKPRINT(DA,TIUFLAG,TIUSTAT,TIUDPARM) ;Set up task and do a queued print
|
---|
72 | ;TIUFLAG > 1 Chart Copy, TIUFLAG = 2 Electronically signed Chart Copy
|
---|
73 | ;TIUSTAT > 1 Stat printed at Release, check for Stat Chart Copy Printer
|
---|
74 | N TIUD0,TIUDA,TIUX,ZTIO,ZTDTH,ZTRTN,ZTSK,ZTDESC,TIUTYPE,TIUPMTHD,TIUTNM
|
---|
75 | N TIUDATE,TIUPFHDR,TIUPFNBR,TIUPGRP,TIUD13,TIUD15,TIUIDDAD
|
---|
76 | K ^TMP("TIUPR",$J)
|
---|
77 | I '$D(^TIU(8925,+$G(DA),0)) Q
|
---|
78 | ; Get Print Method for the document
|
---|
79 | S TIUD0=$G(^TIU(8925,+DA,0)),TIUD13=$G(^TIU(8925,+DA,13))
|
---|
80 | S TIUD15=$G(^TIU(8925,+DA,15)),TIUTYPE=+TIUD0
|
---|
81 | S TIUDATE=$S(+TIUD15>0:+TIUD15,+TIUD13>0:+TIUD13,1:+$G(DT))
|
---|
82 | I '+TIUTYPE Q
|
---|
83 | S TIUTNM=$$PNAME^TIULC1(+TIUTYPE)
|
---|
84 | S TIUPMTHD=$P($$PRNTMTHD^TIULG(+TIUTYPE,DA)," ",2)
|
---|
85 | S TIUPGRP=$$PRNTGRP^TIULG(+TIUTYPE,DA)
|
---|
86 | S TIUPFHDR=$$PRNTHDR^TIULG(+TIUTYPE,DA)
|
---|
87 | S TIUPFNBR=$$PRNTNBR^TIULG(+TIUTYPE,DA)
|
---|
88 | I +$$ISADDNDM^TIULC1(DA) S DA=+$P($G(^TIU(8925,+DA,0)),U,6)
|
---|
89 | S TIUIDDAD=$$HASIDDAD^TIUGBR(DA)
|
---|
90 | I TIUIDDAD S DA=TIUIDDAD
|
---|
91 | I TIUPMTHD']"" Q
|
---|
92 | S ZTIO=$$GETDEV(DA,.TIUDPARM,+$G(TIUSTAT)),ZTDTH=$H
|
---|
93 | I ZTIO']"" K ^TMP("TIUPR",$J) Q
|
---|
94 | S ZTDESC="CHART COPY OF "_$$UPPER^TIULS(TIUTNM)
|
---|
95 | S ZTRTN=TIUPMTHD,ZTSAVE("^TMP(""TIUPR"",$J,")="",ZTSAVE("TIUFLAG")=""
|
---|
96 | S ZTSAVE("TIUPRM*")="",ZTSAVE("DUZ(")=""
|
---|
97 | ;I $G(TIUPMTHD)]"",+$G(TIUPGRP),($G(TIUPFHDR)]""),($G(TIUPFNBR)]"") D
|
---|
98 | ;. S ^TMP("TIUPR",$J,$G(TIUPGRP)_"$"_$G(TIUPFHDR)_";"_+$P(TIUD0,U,2),TIUDATE,DA)=$G(TIUPFNBR)
|
---|
99 | ;E S ^TMP("TIUPR",$J,+$P(TIUD0,U,2),TIUDATE,DA)=""
|
---|
100 | ; -- P182: See RPC
|
---|
101 | S ^TMP("TIUPR",$J,+$G(TIUPGRP)_"$"_$G(TIUPFHDR)_";"_+$P(TIUD0,U,2),TIUDATE,DA)=$G(TIUPFNBR)
|
---|
102 | D ^%ZTLOAD ;K ^TMP("TIUPR",$J,+$P(TIUD0,U,2),TIUDATE,DA) P182
|
---|
103 | K ^TMP("TIUPR",$J,+$G(TIUPGRP)_"$"_$G(TIUPFHDR)_";"_+$P(TIUD0,U,2),TIUDATE,DA) ;P182
|
---|
104 | I $D(ZTSK),'$D(XWBOS) W !,$S(+$G(TIUFLAG):"Chart",1:"Draft")," copy queued."
|
---|
105 | Q
|
---|
106 | GETDEV(DA,TIUDPARM,TIUSTAT) ; Get Chart copy print device name
|
---|
107 | N DIC,DIQ,DR,X,Y,TIUDPDA,TIUDIV,TIUDEV,TIUI,TIU,TIUY
|
---|
108 | D GETTIU^TIULD(.TIU,+DA)
|
---|
109 | S TIUDPDA=+$O(^TIU(8925.95,"B",+$G(TIUDPARM(0)),0)) I '+TIUDPDA G GETDX
|
---|
110 | S TIUDIV=+$O(^TIU(8925.95,+TIUDPDA,2,"B",+$G(TIU("DIV")),0))
|
---|
111 | I +TIUDIV>0 D
|
---|
112 | . S DIC="^TIU(8925.95,"_TIUDPDA_",2,",DA=+TIUDIV
|
---|
113 | . S DIQ="TIUDEV",DR=".02;.03" D EN^DIQ1
|
---|
114 | . I +$G(TIUSTAT),($G(TIUDEV(8925.952,+DA,.03))]"") S TIUY=$G(TIUDEV(8925.952,+DA,.03))
|
---|
115 | . E S TIUY=$G(TIUDEV(8925.952,+DA,.02))
|
---|
116 | GETDX Q $G(TIUY)
|
---|