1 | SCCVE ;ALB/RMO,TMP - Encounter Conversion Driver; [ 04/05/95 8:19 AM ]
|
---|
2 | ;;5.3;Scheduling;**211**;Aug 13, 1993
|
---|
3 | ;
|
---|
4 | QUE(SCLOG,SCREQ) ;Schedule encounter conversion via task manager
|
---|
5 | ; Input -- SCLOG CST log IEN
|
---|
6 | ; SCREQ CST request IEN
|
---|
7 | ; Output -- None
|
---|
8 | N I,SCERRMSG,SCREQ0,SCREQD,Y,ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE,ZTSK
|
---|
9 | S SCREQ0=$G(^SD(404.98,SCLOG,"R",SCREQ,0))
|
---|
10 | ;
|
---|
11 | ; -- quit if convert or reconvert & conversion disabled
|
---|
12 | IF $P(SCREQ0,U,3)=1!($P(SCREQ0,U,3)=2),'$$OK^SCCVU(1) G QUEQ
|
---|
13 | ;
|
---|
14 | I SCREQ0="" D G QUEQ
|
---|
15 | . N SCERRIP
|
---|
16 | . S SCERRIP(1)=SCLOG
|
---|
17 | . S SCERRIP(2)=SCREQ
|
---|
18 | . S SCERRIP(3)="Conversion"
|
---|
19 | . D GETERR^SCCVLOG1(4049004.001,"",.SCERRIP,SCLOG,0,.SCERRMSG)
|
---|
20 | S SCREQD=$$LOW^XLFSTR($$EXPAND^SCCVDSP2(404.9825,.02,$P(SCREQ0,U,2)))
|
---|
21 | S ZTDESC="CST Log #"_SCLOG_" - "_SCREQD_" ("_$$LOW^XLFSTR($$EXPAND^SCCVDSP2(404.9825,.03,$P(SCREQ0,U,3)))_")"
|
---|
22 | S ZTRTN="EN^SCCVE"
|
---|
23 | F I="SCLOG","SCREQ" S ZTSAVE(I)=""
|
---|
24 | S ZTIO="SCCV RESOURCE"
|
---|
25 | S ZTDTH=$S($P(SCREQ0,U,4):$P(SCREQ0,U,4),1:$$NOW^XLFDT)
|
---|
26 | D ^%ZTLOAD
|
---|
27 | I $D(ZTSK) D
|
---|
28 | . W " (Task: #",ZTSK,")"
|
---|
29 | . D UPD^SCCVLOG("CST",SCLOG,"","","",ZTSK,$G(^%ZOSF("VOL")),6)
|
---|
30 | QUEQ Q
|
---|
31 | ;
|
---|
32 | EN ;Entry point to run encounter estimate/conversion
|
---|
33 | ; Input -- SCLOG CST log IEN
|
---|
34 | ; SCREQ CST request IEN
|
---|
35 | ; Output -- None
|
---|
36 | N SCACT,SCCVEVT,SCEND,SCERRMSG,SCRSTDT,SCRSTPT,SCSTDT,SCSTOPF,SCBULL,SCTOT,SCRSTDFN,SCCVERRH,SCCVERRT,SCCVDIS,SCCVACRP,SCCV900,ZZLOG,SCCVMAXE
|
---|
37 | I '$G(SCLOG)!('$G(SCREQ))!('$G(DUZ)) D G ENQ ;req vars missing
|
---|
38 | . N SCERRIP
|
---|
39 | . S SCERRIP(1)=$S('$G(SCLOG):"SCLOG",'$G(SCREQ):"SCREQ",1:"DUZ")
|
---|
40 | . S SCERRIP(2)="EN^SCCVE"
|
---|
41 | . D GETERR^SCCVLOG1(4040001.001,"",.SCERRIP,$G(SCLOG),0,.SCERRMSG)
|
---|
42 | . I $G(SCLOG),$G(SCREQ) D STOP^SCCVLOG(SCLOG,SCREQ,1)
|
---|
43 | ;
|
---|
44 | ; -- set overall variables
|
---|
45 | S SCCVACRP=$$ENDDATE^SCCVU()
|
---|
46 | S SCCV900=+$O(^DIC(40.7,"C",900,0))
|
---|
47 | S SCCVMAXE=$S($P($G(^SD(404.91,1,"CNV")),U,7):$P(^("CNV"),U,7),1:1000)-1
|
---|
48 | ;
|
---|
49 | D SET(SCLOG,SCREQ,.SCACT,.SCCVEVT,.SCSTDT,.SCENDT,.SCRSTPT,.SCRSTDT,.SCBULL,.SCRSTDFN)
|
---|
50 | ;
|
---|
51 | ; -- quit if convert or reconvert & conversion disabled
|
---|
52 | IF SCCVEVT=1!(SCCVEVT=2),'$$OK^SCCVU(0) G ENQ
|
---|
53 | ;
|
---|
54 | ;Log event
|
---|
55 | D UPD^SCCVLOG("CST",SCLOG,"","","","","",SCACT)
|
---|
56 | ;
|
---|
57 | I $G(SCCVEVT)=1,$$CHKACT^SCCVLOG(SCLOG,SCCVEVT,5,"CST") D G ENQ ;converted
|
---|
58 | . D GETERR^SCCVLOG1(4049001.008,"","",SCLOG,0,.SCERRMSG)
|
---|
59 | ;
|
---|
60 | I "^2^4^"'[(U_SCACT_U) D G ENQ ;start or re-start
|
---|
61 | . D GETERR^SCCVLOG1(4049006.001,"","",SCLOG,0,.SCERRMSG)
|
---|
62 | . D STOP^SCCVLOG(SCLOG,SCREQ,1)
|
---|
63 | ;
|
---|
64 | I '$G(SCSTDT)!('$G(SCENDT)) D G ENQ ;start date or end date undefined
|
---|
65 | . D GETERR^SCCVLOG1(4049001.003,"","",SCLOG,0,.SCERRMSG)
|
---|
66 | . D STOP^SCCVLOG(SCLOG,SCREQ,1)
|
---|
67 | ;
|
---|
68 | I $G(SCCVEVT)="" D G ENQ ;event undefined
|
---|
69 | . D GETERR^SCCVLOG1(4049001.009,"","",SCLOG,0,.SCERRMSG)
|
---|
70 | . D STOP^SCCVLOG(SCLOG,SCREQ,1)
|
---|
71 | ;
|
---|
72 | I $$VERDT^SCCVU2(SCSTDT,SCENDT,SCLOG) D G ENQ ;invalid date range
|
---|
73 | . D STOP^SCCVLOG(SCLOG,SCREQ,1)
|
---|
74 | ;
|
---|
75 | S (SCCVERRH,SCCVERRT)=+$P($G(^SD(404.98,SCLOG,1)),U,5)
|
---|
76 | I SCCVEVT S SCTOT(1.02)=$P($G(^SD(404.98,SCLOG,1)),U,2),SCTOT(2.06)=$P($G(^(2)),U,6)
|
---|
77 | I 'SCCVEVT K ^XTMP("SCCV-VIS-"_SCLOG),^XTMP("SCCV-BOTH-"_SCLOG)
|
---|
78 | ;
|
---|
79 | ;Convert appointments
|
---|
80 | I $G(SCRSTPT)<2 D EN^SCCVEAP(SCCVEVT,SCSTDT,SCENDT,SCLOG,SCREQ,+$G(SCRSTDFN),.SCSTOPF) G ENQ:$G(SCSTOPF) I $G(SCRSTPT) S (SCRSTDT,SCRSTDFN)=""
|
---|
81 | ;
|
---|
82 | ;Convert disposition
|
---|
83 | I $S('$G(SCRSTPT):1,1:SCRSTPT'=2) D EN^SCCVEDI(SCCVEVT,$S($G(SCRSTDT):SCRSTDT,1:SCSTDT),SCENDT,SCLOG,SCREQ,.SCSTOPF) G ENQ:$G(SCSTOPF) I $G(SCRSTPT) S (SCRSTDT,SCRSTDFN)=""
|
---|
84 | ;
|
---|
85 | ;Convert add/edits
|
---|
86 | D EN^SCCVEAE(SCCVEVT,$S($G(SCRSTDT):SCRSTDT,1:SCSTDT),SCENDT,SCLOG,SCREQ,.SCSTOPF) G ENQ:$G(SCSTOPF)
|
---|
87 | ;
|
---|
88 | ;Log completion
|
---|
89 | D UPD^SCCVLOG("CST",SCLOG,"","","","@","@",5)
|
---|
90 | ;
|
---|
91 | ENQ Q
|
---|
92 | ;
|
---|
93 | SET(SCLOG,SCREQ,SCACT,SCCVEVT,SCSTDT,SCENDT,SCRSTPT,SCRSTDT,SCBULL,SCRSTDFN) ;
|
---|
94 | ; Set variables
|
---|
95 | ; Input -- SCLOG CST log IEN
|
---|
96 | ; SCREQ CST request IEN
|
---|
97 | ; Output -- SCACT Action
|
---|
98 | ; SCCVEVT Conversion event
|
---|
99 | ; SCSTDT Start date
|
---|
100 | ; SCENDT End date
|
---|
101 | ; SCRSTPT Conversion re-start point (1=appt, 2=a/e, 3=disp)
|
---|
102 | ; SCRSTDT Re-start date
|
---|
103 | ; SCBULL Send bulletin flag
|
---|
104 | ; SCRSTDFN Re-start dfn
|
---|
105 | N SCLOG0,SCLOG1,SCOE,SCOE0,SCREQACT
|
---|
106 | S SCLOG0=$G(^SD(404.98,SCLOG,0)),SCLOG1=$G(^(1))
|
---|
107 | S SCREQACT=$P($G(^SD(404.98,SCLOG,"R",SCREQ,0)),U,2)
|
---|
108 | S SCACT=$S(SCREQACT=1:2,SCREQACT=3:4,1:"") ;action based on request
|
---|
109 | S SCCVEVT=$P(SCLOG0,U,5)
|
---|
110 | S SCSTDT=$P(SCLOG0,U,3)
|
---|
111 | S SCENDT=$P(SCLOG0,U,4)
|
---|
112 | S SCBULL=$P(SCLOG0,U,6)
|
---|
113 | ;
|
---|
114 | I +SCLOG1,SCCVEVT,SCACT=4 D ;Only for re-start of conversion
|
---|
115 | . S SCOE=+SCLOG1 ;last entry
|
---|
116 | . I $P($G(^SCE(SCOE,0)),U,6) S SCOE=+$P(^(0),U,6) ;re-start at parent
|
---|
117 | . S SCOE0=$G(^SCE(SCOE,0))
|
---|
118 | . S SCRSTPT=+$P(SCOE0,U,8),SCRSTDT=$P(+SCOE0,"."),SCRSTDFN=$P(SCOE0,U,2) ;set re-start point
|
---|
119 | ;
|
---|
120 | I 'SCCVEVT D ;Estimate must start counting over from beginning
|
---|
121 | .N Z,SC2,SCDATA,SCF
|
---|
122 | .S SC2=$G(^SD(404.98,SCLOG,2))
|
---|
123 | .F Z=1:1:11 I $P(SC2,U,Z) S SCF="2."_$S(Z<10:"0",1:"")_Z,SCDATA(+SCF)=0
|
---|
124 | .I $D(SCDATA) D UPD^SCCVDBU(404.98,SCLOG,.SCDATA) ;Re-set totals to 0
|
---|
125 | ;
|
---|
126 | I SCCVEVT=2,SCACT'=4 D ;'Start' of re-convert deletes errors and resets counts to 0
|
---|
127 | . N SCDATA
|
---|
128 | . S SCDATA(1.05)=0,SCDATA(50)="@",SCDATA(2.06)=0,SCDATA(1.02)=0
|
---|
129 | . D UPD^SCCVDBU(404.98,SCLOG,.SCDATA)
|
---|
130 | Q
|
---|
131 | ;
|
---|
132 | STOP(SCLOG,SCREQ) ;User request to stop conversion
|
---|
133 | ; Input -- SCLOG CST log IEN
|
---|
134 | ; SCREQ CST request IEN
|
---|
135 | ; Output -- None
|
---|
136 | N SCSTOPF
|
---|
137 | D STOP^SCCVLOG(SCLOG,SCREQ,.SCSTOPF)
|
---|
138 | Q
|
---|
139 | ;
|
---|