1 | QACPRE17 ;ALB/ERC - PRE-INSTALL FOR PATCH QAC*2*17 ;3/6/02
|
---|
2 | ;;2.0;Patient Representative:**17**;07/25/1995
|
---|
3 | ;
|
---|
4 | ;This routine will perform the de-activation of the existing Issue
|
---|
5 | ;Codes from file 745.2. Allowable Issue Codes will now be restricted
|
---|
6 | ;to those being imported with this patch. Two existing codes, ED01 and
|
---|
7 | ;ED02 will be retained.
|
---|
8 | EN ;
|
---|
9 | D INACT
|
---|
10 | D ED
|
---|
11 | D CSS
|
---|
12 | D RENAME
|
---|
13 | Q
|
---|
14 | INACT ;inactivate current codes
|
---|
15 | N QACQ
|
---|
16 | D INSTALL^QACENV17
|
---|
17 | Q:$G(QACQ)=1
|
---|
18 | N QAC,QACC,QACFDA,QACNODE
|
---|
19 | S QAC=0
|
---|
20 | F S QAC=$O(^QA(745.2,QAC)) Q:QAC'>0 D
|
---|
21 | . Q:'$D(^QA(745.2,QAC,0))
|
---|
22 | . S QACNODE=^QA(745.2,QAC,0)
|
---|
23 | . ;ED01 and ED02 will still be in use
|
---|
24 | . Q:$P(QACNODE,U)="ED01"!($P(QACNODE,U)="ED02")
|
---|
25 | . I $P(QACNODE,U,6)']"" D
|
---|
26 | . . S QACFDA(745.2,QAC_",",4)=1
|
---|
27 | . . S QACFDA(745.2,QAC_",",6)=DT
|
---|
28 | . . D FILE^DIE(,"QACFDA","QACERR")
|
---|
29 | Q
|
---|
30 | ED ;check to see if the ED01 and ED02 entries are current. These two
|
---|
31 | ;codes are already in existence, and are being retained
|
---|
32 | ;if these codes are not in the file, add them
|
---|
33 | N QACC,QACD,QACN,QACNM,QACNN,QACNNN
|
---|
34 | S QACD=0
|
---|
35 | F QACC="ED01","ED02" D
|
---|
36 | . S QACD=$O(^QA(745.2,"B",QACC,QACD)) Q:QACC']"" D
|
---|
37 | . . I '$D(^QA(745.2,QACD,0)) D DIC Q
|
---|
38 | . . S QACN=$P(^QA(745.2,QACD,0),U,3)
|
---|
39 | . . S QACNN=$TR(QACN," ")
|
---|
40 | . . S QACNNN=$E($$UP^XLFSTR(QACN),1,60)
|
---|
41 | . . S QACNM=$S(QACC="ED01":"DIAGNOSIS / CARE / PREVENTION",1:"PURPOSE/SIDE EFFECTS OF MEDICATION")
|
---|
42 | . . I $G(QACNM)'=QACN,($G(QACNM)'=QACNNN),($G(QACNM)'=(QACNNN)) D ADD
|
---|
43 | Q
|
---|
44 | RENAME ;check for duplicates. If there are any, rename them
|
---|
45 | N QACQ
|
---|
46 | D INSTALL^QACENV17
|
---|
47 | Q:$G(QACQ)=1
|
---|
48 | N QACE,QACIEN,QACODE,QACPRE,QAX
|
---|
49 | S QACIEN=0
|
---|
50 | S QAX=""
|
---|
51 | S QACODE="^SC^AC^OP^PR^EM^PC^CO^TR^FI^RI^LL^EV^RG^IF^CP^"
|
---|
52 | F S QAX=$O(^QA(745.2,"B",QAX)) Q:QAX']"" D
|
---|
53 | . S QACIEN=$O(^QA(745.2,"B",QAX,QACIEN)) Q:QACIEN'>0 D
|
---|
54 | . . S QACE="^"_$E(QAX,1,2)_"^"
|
---|
55 | . . I QACODE[QACE D
|
---|
56 | . . . S QACPRE=$E(QAX,1,2)
|
---|
57 | . . . D CODE(QAX,QACPRE,QACIEN)
|
---|
58 | Q
|
---|
59 | CODE(QAC,QACPRE,QACIEN) ;check for specific code, if a duplicate, call DIE
|
---|
60 | N QACQUIT,QACR,QACTXT,QAXX
|
---|
61 | Q:$G(QAC)']""
|
---|
62 | F QAXX=1:1 S QACTXT=$P($T(@QACPRE+QAXX),";;",2) Q:$G(QACTXT)']""!($G(QACQUIT)=1) D
|
---|
63 | . I $G(QAC)=$G(QACTXT) D
|
---|
64 | . . S QACIEN(QACIEN)=""
|
---|
65 | . . S QACQUIT=1
|
---|
66 | I $O(QACIEN(0))'>0 D ZZ
|
---|
67 | Q
|
---|
68 | ZZ ;rename duplicate code entries (add "Z" to beginning of code)
|
---|
69 | N DA,DIK,QACDR,QACN,QACNN
|
---|
70 | S QACN=0
|
---|
71 | S DIK="^QA(745.2,"
|
---|
72 | F S QACN=$O(QACIEN(QACN)) Q:QACN'>0 D
|
---|
73 | . S QACNN=$P(^QA(745.2,QACN,0),U)
|
---|
74 | . Q:$G(QACNN)']""
|
---|
75 | . S QACDR="Z"_QACNN
|
---|
76 | . S $P(^QA(745.2,QACN,0),U)=$G(QACDR)
|
---|
77 | . Q:$G(QACDR)']""!('$D(^QA(745.2,QACN,0)))
|
---|
78 | . S DA=QACN
|
---|
79 | . S DIK(1)=".01^B^BU"
|
---|
80 | . D EN^DIK
|
---|
81 | . K ^QA(745.2,"B",QACNN,QACN)
|
---|
82 | . K ^QA(745.2,"BU",QACNN,QACN)
|
---|
83 | Q
|
---|
84 | ADD ;update entries ED01 and ED02
|
---|
85 | N DA,DIE,DR
|
---|
86 | S DIE="^QA(745.2,",DA=QACD
|
---|
87 | S DR="2///^S X=$S(QACC=""ED01"":""Diagnosis / care / prevention"",1:""Purpose/side effects of medication"");4///^S X=""N"";6///@;7///^S X=7"
|
---|
88 | D ^DIE
|
---|
89 | Q
|
---|
90 | DIC ;if ED01 or ED02 not in file, add it
|
---|
91 | N DA,DIC,Y
|
---|
92 | S DIC="^QA(745.2,",DA=QACD
|
---|
93 | D ^DIC
|
---|
94 | I +Y>0 S DA=+Y
|
---|
95 | D ADD
|
---|
96 | Q
|
---|
97 | SC ;
|
---|
98 | ;;SC01
|
---|
99 | ;;SC02
|
---|
100 | Q
|
---|
101 | AC ;
|
---|
102 | ;;AC01
|
---|
103 | ;;AC02
|
---|
104 | ;;AC03
|
---|
105 | ;;AC04
|
---|
106 | ;;AC05
|
---|
107 | ;;AC06
|
---|
108 | ;;AC07
|
---|
109 | ;;AC08
|
---|
110 | ;;AC09
|
---|
111 | ;;AC10
|
---|
112 | ;;AC11
|
---|
113 | ;;AC12
|
---|
114 | Q
|
---|
115 | OP ;
|
---|
116 | ;;OP01
|
---|
117 | ;;OP02
|
---|
118 | Q
|
---|
119 | PR ;
|
---|
120 | ;;PR01
|
---|
121 | ;;PR02
|
---|
122 | ;;PR03
|
---|
123 | ;;PR04
|
---|
124 | Q
|
---|
125 | EM ;
|
---|
126 | ;;EM01
|
---|
127 | ;;EM02
|
---|
128 | ;;EM03
|
---|
129 | Q
|
---|
130 | PC ;
|
---|
131 | ;;PC01
|
---|
132 | ;;PC02
|
---|
133 | Q
|
---|
134 | CO ;
|
---|
135 | ;;CO01
|
---|
136 | ;;CO02
|
---|
137 | ;;CO03
|
---|
138 | ;;CO04
|
---|
139 | Q
|
---|
140 | TR ;
|
---|
141 | ;;TR01
|
---|
142 | Q
|
---|
143 | FI ;
|
---|
144 | ;;FI01
|
---|
145 | Q
|
---|
146 | RI ;
|
---|
147 | ;;RI01
|
---|
148 | ;;RI02
|
---|
149 | ;;RI03
|
---|
150 | ;;RI04
|
---|
151 | ;;RI05
|
---|
152 | Q
|
---|
153 | RE ;
|
---|
154 | ;;RE01
|
---|
155 | Q
|
---|
156 | LL ;
|
---|
157 | ;;LL01
|
---|
158 | ;;LL02
|
---|
159 | ;;LL03
|
---|
160 | ;;LL04
|
---|
161 | Q
|
---|
162 | EV ;
|
---|
163 | ;;EV01
|
---|
164 | ;;EV02
|
---|
165 | ;;EV03
|
---|
166 | Q
|
---|
167 | RG ;
|
---|
168 | ;;RG01
|
---|
169 | ;;RG02
|
---|
170 | ;;RG03
|
---|
171 | Q
|
---|
172 | IF ;
|
---|
173 | ;;IF01
|
---|
174 | ;;IF02
|
---|
175 | ;;IF04
|
---|
176 | ;;IF05
|
---|
177 | ;;IF06
|
---|
178 | ;;IF07
|
---|
179 | ;;IF08
|
---|
180 | ;;IF09
|
---|
181 | ;;IF10
|
---|
182 | Q
|
---|
183 | CP ;
|
---|
184 | ;;CP01
|
---|
185 | Q
|
---|
186 | CSS ;edit any Name fields that differ from the exported version, as FM will
|
---|
187 | ;create new entries is they are not the same
|
---|
188 | N DA,DIE,DR,QAC,QACNAME,QACZERO,X
|
---|
189 | S QACNAME="Staff Courtesy^Access/Timeliness^One Provider^Decisions/Preferences^Emotional Needs^Coordination of Care^Patient Education^Family Involvement^Physical Comfort^Transitions"
|
---|
190 | S QAC=0
|
---|
191 | F S QAC=$O(^QA(745.6,QAC)) Q:QAC'>0!(QAC>10) D
|
---|
192 | . S QACZERO=^QA(745.6,QAC,0)
|
---|
193 | . I QAC'=$P(QACZERO,U) S QAC(QAC)=""
|
---|
194 | . I $P(QACZERO,U,2)'=$P(QACNAME,U,QAC) S QAC(QAC)=""
|
---|
195 | Q:$O(QAC(0))'>0
|
---|
196 | S QAC=0
|
---|
197 | S DIE="^QA(745.6,"
|
---|
198 | F S QAC=$O(QAC(QAC)) Q:QAC'>0 D
|
---|
199 | . S DA=QAC,DR=".01///^S X=QAC;1///^S X=$P(QACNAME,U,QAC)"
|
---|
200 | . D ^DIE
|
---|
201 | Q
|
---|