source: FOIAVistA/trunk/r/TEXT_INTEGRATION_UTILITIES-GMRP-TIU/TIUPD.m@ 1800

Last change on this file since 1800 was 628, checked in by George Lilly, 15 years ago

initial load of FOIAVistA 6/30/08 version

File size: 5.6 KB
Line 
1TIUPD ; SLC/JER - Background Print Driver ;5/3/04
2 ;;1.0;TEXT INTEGRATION UTILITIES;**7,89,100,182**;Jun 20, 1997
3MAIN(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
28RPC(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
71TSKPRINT(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
106GETDEV(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))
116GETDX Q $G(TIUY)
Note: See TracBrowser for help on using the repository browser.