1 | LA7SCE ;DALOI/JMC - Shipping Configuration Utility ;5/5/97 14:44
|
---|
2 | ;;5.2;AUTOMATED LAB INSTRUMENTS;**27,46,61,64**;Sep 27, 1994
|
---|
3 | Q
|
---|
4 | ;
|
---|
5 | SCFE ; Edit file #62.9, Shipping Configuration.
|
---|
6 | ;
|
---|
7 | N DA,DIE,DIC,DIR,DLAYGO,DIRUT,DR,DTOUT,DIROUT,X,Y
|
---|
8 | N LA7CHECK,LA7COPY,LA7NVAF,LA7SCFG,LA7SCFR,LA7TYPE,LA7VAF,LA7X,LR62,LRSS
|
---|
9 | ;
|
---|
10 | S DIC="^LAHM(62.9,",DIC(0)="AELMQZ",DIC("A")="Select SHIPPING CONFIGURATION: "
|
---|
11 | S DIC("DR")=".02;.03",DLAYGO=62.9
|
---|
12 | D ^DIC
|
---|
13 | K DA,DIC,DIE,DR
|
---|
14 | I Y<1 Q
|
---|
15 | ;
|
---|
16 | S LA7SCFG=+Y,LA7SCFG(0)=Y(0)
|
---|
17 | ;
|
---|
18 | L +^LAHM(62.9,LA7SCFG):5
|
---|
19 | I '$T D Q
|
---|
20 | . D EN^DDIOL("Unable to obtain lock on entry "_$P(LA7SCFG(0),"^"),"","!?3")
|
---|
21 | ;
|
---|
22 | S DIR(0)="SO^1:Collecting facility;2:Host facility",DIR("A")="Are you editing this entry as the"
|
---|
23 | S DIR("?",1)="Is this entry used by the Collecting facility to ship specimens,"
|
---|
24 | S DIR("?",2)="or by the Host facility to accept a shipment."
|
---|
25 | S DIR("?")="This determines which fields are edited in the file."
|
---|
26 | D ^DIR
|
---|
27 | I $D(DIRUT) D UNL629 Q
|
---|
28 | S LA7TYPE=+Y
|
---|
29 | ;
|
---|
30 | ; Determine if other facility is non-VA.
|
---|
31 | ; When acting as collecting facility is host non-VA
|
---|
32 | ; When acting as host is collecting facility non-VA
|
---|
33 | S LA7VAF="",LA7NVAF=0
|
---|
34 | I $P(LA7SCFG(0),"^",2),$P(LA7SCFG(0),"^",3) D
|
---|
35 | . S LA7X=$S(LA7TYPE=1:$P(LA7SCFG(0),"^",3),1:$P(LA7SCFG(0),"^",2))
|
---|
36 | . S LA7VAF=$$GET1^DIQ(4,LA7X_",","AGENCY CODE","I")
|
---|
37 | . S LA7NVAF=$$NVAF^LA7VHLU2(LA7X)
|
---|
38 | I LA7VAF="" D Q
|
---|
39 | . N LA7MSG
|
---|
40 | . S LA7MSG="Unable to proceed - institution "
|
---|
41 | . S LA7MSG=LA7MSG_$$GET1^DIQ(4,$S(LA7TYPE=1:$P(LA7SCFG(0),"^",3),1:$P(LA7SCFG(0),"^",2))_",",.01)
|
---|
42 | . S LA7MSG=LA7MSG_" missing AGENCY CODE field in INSITUTION file (#4)"
|
---|
43 | . D EN^DDIOL(LA7MSG,"","!!?3")
|
---|
44 | . D UNL629
|
---|
45 | ;
|
---|
46 | ; If acting as host ask if user wants to copy test config from another entry.
|
---|
47 | I LA7TYPE=2 D
|
---|
48 | . N DIC,Y
|
---|
49 | . S LA7COPY=$$ASKCOPY
|
---|
50 | . I LA7COPY<1 Q
|
---|
51 | . S LA7CHECK=$$CHECK(LA7SCFG)
|
---|
52 | . I LA7CHECK<1 S LA7COPY=LA7CHECK Q
|
---|
53 | . I LA7COPY<1 Q
|
---|
54 | . I LA7COPY=1 D Q
|
---|
55 | . . S DIC="^LAHM(62.9,",DIC(0)="AEMQZ",DIC("A")="Select SHIPPING CONFIGURATION to COPY FROM: ",DIC("S")="I Y'=LA7SCFG"
|
---|
56 | . . D ^DIC K DIC("S")
|
---|
57 | . . I Y<1 Q
|
---|
58 | . . S LA7SCFR=+Y,LA7SCFR(0)=Y(0)
|
---|
59 | . . D CLRSCT(.LA7SCFG)
|
---|
60 | . . D COPYSC(.LA7SCFR,.LA7SCFG)
|
---|
61 | . I LA7COPY=2 D Q
|
---|
62 | . . D CLRSCT(.LA7SCFG)
|
---|
63 | . . D COPY60(.LA7SCFG)
|
---|
64 | I LA7TYPE=2,LA7COPY<0 D UNL629 Q
|
---|
65 | K DA,DIE,DIC,DIR,DLAYGO,DIRUT,DR,DTOUT,DIROUT,X,Y
|
---|
66 | ;
|
---|
67 | ; Set up DR string when acting as collecting facility
|
---|
68 | I LA7TYPE=1 D
|
---|
69 | . S DR=".01;.02;.06;.03;.031;"
|
---|
70 | . I LA7NVAF>1 S DR=DR_".11;.12;.14;.15;"
|
---|
71 | . I LA7NVAF=1 S DR=DR_".14////1;.15////1;"
|
---|
72 | . S DR=DR_".04;.07;.08;.09;.1;.13;60"
|
---|
73 | . S DR(2,62.9001)=".01;.02;.025;.03;.04;.05;.06;.07"
|
---|
74 | ;
|
---|
75 | ; Set up DR string when acting as host facility
|
---|
76 | I LA7TYPE=2 D
|
---|
77 | . S DR=".01;.02;.06;.03;.031;"
|
---|
78 | . I LA7NVAF>1 S DR=DR_".11;.14;.15;"
|
---|
79 | . I LA7NVAF=1 S DR=DR_".14////0;.15////1;"
|
---|
80 | . S DR=DR_".04;.05;60"
|
---|
81 | . S DR(2,62.9001)=".01;S LRSS=$P(^LAB(60,X,0),U,4);.04;.09;S LR62=X I LRSS'=""MI"" S Y=""@2"";I LR62,$P(^LAB(62,LR62,0),U,2)'="""" S Y=""@2"";.03;5.7;@2"
|
---|
82 | ;
|
---|
83 | ; Determine if non-VA test codes/specimen fields should be asked
|
---|
84 | I LA7VAF'="V" D
|
---|
85 | . S DR(2,62.9001)=DR(2,62.9001)_";I $P(^LAHM(62.9,LA7SCFG,0),U,15)'=1 S Y=""@9"";5.1;5.2;5.5"
|
---|
86 | . I LA7TYPE=1,LA7NVAF=1 S DR(2,62.9001)=DR(2,62.9001)_"////99LST"
|
---|
87 | . S DR(2,62.9001)=DR(2,62.9001)_";@9"
|
---|
88 | . I LA7TYPE=1 D
|
---|
89 | . . S DR(2,62.9001)=DR(2,62.9001)_";I $P(^LAHM(62.9,LA7SCFG,0),U,16)'=1 S Y=""@10"";5.3;5.4;5.6"
|
---|
90 | . . I LA7NVAF=1 S DR(2,62.9001)=DR(2,62.9001)_"////99LRP;5.7;5.8;5.9////99LRS"
|
---|
91 | . . S DR(2,62.9001)=DR(2,62.9001)_";@10"
|
---|
92 | . I LA7TYPE=2 D
|
---|
93 | . . S DR(2,62.9001)=DR(2,62.9001)_";I $P(^LAHM(62.9,LA7SCFG,0),U,16)'=1 S Y=""@10"";5.3;5.4;5.6"
|
---|
94 | . . I LA7NVAF=1 S DR(2,62.9001)=DR(2,62.9001)_"////99LRP"
|
---|
95 | . . S DR(2,62.9001)=DR(2,62.9001)_";@10"
|
---|
96 | ;
|
---|
97 | I LA7TYPE=1 D
|
---|
98 | . N J,K
|
---|
99 | . S DR(2,62.9001)=DR(2,62.9001)_";"
|
---|
100 | . S X="1.1;I 'X S Y=1.2;1.15;1.16;1.2;I 'X S Y=2.1;1.25;1.26;2.1;I '+X S Y=2.3;2.15;2.16;2.3;I '+X S Y=2.2;2.35;2.36;2.2;I '+X S Y=""@12"";2.25;2.26;@12"
|
---|
101 | . I ($L(DR(2,62.9001))+$L(X))<246 S DR(2,62.9001)=DR(2,62.9001)_X Q
|
---|
102 | . S K=$L(X,";")
|
---|
103 | . F J=1:1:K D
|
---|
104 | . . I ($L(DR(2,62.9001))+$L($P(X,";")))>244 S J=K Q
|
---|
105 | . . S DR(2,62.9001)=DR(2,62.9001)_$P(X,";")_";",X=$P(X,";",2,K)
|
---|
106 | . I X'="" S DR(2,62.9001,1)=X
|
---|
107 | ;
|
---|
108 | S DA=LA7SCFG,DIE="^LAHM(62.9,"
|
---|
109 | D ^DIE,UNL629
|
---|
110 | Q
|
---|
111 | ;
|
---|
112 | ;
|
---|
113 | ; Unlock entry in 62.9
|
---|
114 | UNL629 L -^LAHM(62.9,LA7SCFG)
|
---|
115 | ;
|
---|
116 | Q
|
---|
117 | ;
|
---|
118 | ;
|
---|
119 | SCTE ; Edit file #62.91, Shipping Container.
|
---|
120 | N DA,DIE,DIC,DLAYGO,DR,X,Y
|
---|
121 | S DIC="^LAHM(62.91,",DIC(0)="AELMQZ",DIC("A")="Select SHIPPING CONTAINER: ",DLAYGO=62.91
|
---|
122 | D ^DIC
|
---|
123 | I Y<1 Q
|
---|
124 | S DA=+Y,DIE=DIC,DR=".01;.02"
|
---|
125 | D ^DIE
|
---|
126 | Q
|
---|
127 | ;
|
---|
128 | ;
|
---|
129 | SCME ; Edit file #62.92, Shipping Method.
|
---|
130 | N DA,DIE,DIC,DLAYGO,DR,X,Y
|
---|
131 | S DIC="^LAHM(62.92,",DIC(0)="AELMQZ",DIC("A")="Select SHIPPING METHOD: ",DLAYGO=62.92
|
---|
132 | D ^DIC
|
---|
133 | I Y<1 Q
|
---|
134 | S DA=+Y,DIE=DIC,DR=".01;.02"
|
---|
135 | D ^DIE
|
---|
136 | Q
|
---|
137 | ;
|
---|
138 | ;
|
---|
139 | SCDE ; Edit file #62.93, Shipping Condition.
|
---|
140 | N DA,DIE,DIC,DLAYGO,DR,X,Y
|
---|
141 | S DIC="^LAHM(62.93,",DIC(0)="AELMQZ",DIC("A")="Select SHIPPING CONDITION: ",DLAYGO=62.93
|
---|
142 | D ^DIC
|
---|
143 | I Y<1 Q
|
---|
144 | S DA=+Y,DIE=DIC,DR=".01;.02"
|
---|
145 | D ^DIE
|
---|
146 | Q
|
---|
147 | ;
|
---|
148 | ;
|
---|
149 | ASKCOPY() ; Ask if user want to copy tests from file #60 or another configuration in file #62.9 LAB SHIPPING CONFIGURATION
|
---|
150 | ; Returns LA7COPY = -1 user quit/aborted
|
---|
151 | ; = 0 do not copy
|
---|
152 | ; = 1 use file #60
|
---|
153 | ; = 2 use another entry in #62.49
|
---|
154 | N DIR,DIRUT,DTOUT,DUOUT,X,Y
|
---|
155 | S DIR(0)="SMO^0:Do NOT copy;1:Another Shipping Configuration;2:Test Catalog - LABORATORY TEST File #60"
|
---|
156 | S DIR("A")="Copy a test profile from",DIR("B")="Do NOT copy"
|
---|
157 | S DIR("?",1)="If you want to duplicate a shipping configuration using another configuration"
|
---|
158 | S DIR("?",2)="or build from the tests marked as catalog tests in the LABORATORY TEST file."
|
---|
159 | S DIR("?")="Select the appropiate option."
|
---|
160 | D ^DIR
|
---|
161 | I $D(DIRUT) S Y=-1
|
---|
162 | Q Y
|
---|
163 | ;
|
---|
164 | ;
|
---|
165 | CHECK(LA7SCFG) ; Check if test exists for configuration and warn if overwriting
|
---|
166 | ; Call with LA7SCFG = shiping configuration ien
|
---|
167 | ; Returns -1 = user aborted/timeout
|
---|
168 | ; 0 = no - don't overwrite
|
---|
169 | ; 1 = yes - overwrite
|
---|
170 | I '$O(^LAHM(62.9,LA7SCFG,60,0)) Q 1
|
---|
171 | N DIR,DIRUT,DTOUT,DUOUT,X,Y
|
---|
172 | S DIR(0)="SBO^0:NO;1:YES"
|
---|
173 | S DIR("A",1)="Tests already exist for this configuration!",DIR("A")="Are you sure",DIR("B")="NO"
|
---|
174 | D ^DIR
|
---|
175 | I $D(DIRUT) S Y=-1
|
---|
176 | Q Y
|
---|
177 | ;
|
---|
178 | ;
|
---|
179 | COPYSC(LA7FR,LA7TO) ; Copy one shipping configuration to another
|
---|
180 | ; Call with LA7FR = shipping configuration to copy FROM.
|
---|
181 | ; LA7TO = shipping configuration ien to copy TO.
|
---|
182 | N LA760,LA762,LA6205,LA7X
|
---|
183 | W !!,"Copying tests from configuration: ",$P(LA7FR(0),"^")," to ",$P(LA7TO(0),"^"),!
|
---|
184 | S LA7X=0
|
---|
185 | F S LA7X=$O(^LAHM(62.9,LA7FR,60,LA7X)) Q:'LA7X D
|
---|
186 | . S LA760=$P($G(^LAHM(62.9,LA7FR,60,LA7X,0)),"^") ; file #60 laboratory test ien.
|
---|
187 | . S LA76205=$P($G(^LAHM(62.9,LA7FR,60,LA7X,0)),"^",4) ; file #62.05, urgency ien.
|
---|
188 | . S LA762=$P($G(^LAHM(62.9,LA7FR,60,LA7X,0)),"^",9) ; file #62, collection sample ien.
|
---|
189 | . I LA760 D FDA629(LA7TO,LA760,LA762,LA76205)
|
---|
190 | Q
|
---|
191 | ;
|
---|
192 | ;
|
---|
193 | COPY60(LA7SCFG) ; Copy catalog tests from file #60 to shipping configuration.
|
---|
194 | ; Call with LA7SCFG = shipping configuration ien to add tests to from file #60
|
---|
195 | N LA760,LA762,LA7X
|
---|
196 | W !!,"Copying tests from file #60 LABORATORY TEST to ",$P(LA7SCFG(0),"^"),!
|
---|
197 | S LA760=0 ; file #60 pointer
|
---|
198 | I '$D(^LAHM(62.9,LA7SCFG,60,0)) S ^LAHM(62.9,LA7SCFG,60,0)="^62.9001P^0^0" ; set subfile zeroth node
|
---|
199 | F S LA760=$O(^LAB(60,LA760)) Q:'LA760 D
|
---|
200 | . I '$P($G(^LAB(60,LA760,64)),"^",3) Q ; Not a catalog item
|
---|
201 | . S LA7X=0
|
---|
202 | . F S LA7X=$O(^LAB(60,LA760,3,LA7X)) Q:'LA7X D
|
---|
203 | . . S LA762=+$G(^LAB(60,LA760,3,LA7X,0)) ; file #62 pointer (collection sample)
|
---|
204 | . . I LA762 D FDA629(LA7SCFG,LA760,LA762,"")
|
---|
205 | Q
|
---|
206 | ;
|
---|
207 | ;
|
---|
208 | FDA629(LA7SCFG,LA760,LA762,LA76205) ; Add entry to TEST/PROFILE multiple
|
---|
209 | ; Call with LA7SCFG = file #62.9, shipping configuration ien
|
---|
210 | ; LA760 = file #60, lab test ien
|
---|
211 | ; LA762 = file #62, collection sample ien
|
---|
212 | ; LA76205 = file #62.05 , urgency ien
|
---|
213 | N FDA,LA7DIE,LA7629
|
---|
214 | S LA7629(1)=LA7SCFG
|
---|
215 | S FDA(629,62.9001,"+2,"_+LA7SCFG_",",.01)=LA760
|
---|
216 | I LA76205 S FDA(629,62.9001,"+2,"_+LA7SCFG_",",.04)=LA76205
|
---|
217 | I LA762 S FDA(629,62.9001,"+2,"_+LA7SCFG_",",.09)=LA762
|
---|
218 | W:$X>(IOM-2) ! W "#"
|
---|
219 | D UPDATE^DIE("","FDA(629)","LA7629","LA7DIE(629)") ; Add test to shipping configuration.
|
---|
220 | Q
|
---|
221 | ;
|
---|
222 | ;
|
---|
223 | CLRSCT(LA7SCFG) ; Clear shipping configuration tests.
|
---|
224 | ; Call with LA7SCFG = file #62.9, shipping configuration ien
|
---|
225 | N DA,DIK,LA7X
|
---|
226 | W !!,"Clearing existing tests from configuration: ",$P(LA7SCFG(0),"^"),!
|
---|
227 | S DA(1)=+LA7SCFG,DIK="^LAHM(62.9,"_DA(1)_",60,"
|
---|
228 | S LA7X=0
|
---|
229 | F S LA7X=$O(^LAHM(62.9,LA7SCFG,60,LA7X)) Q:'LA7X D
|
---|
230 | . W:$X>(IOM-2) ! W "*"
|
---|
231 | . S DA=LA7X D ^DIK
|
---|
232 | Q
|
---|