1 | LA7SMU1 ;DALOI/JMC - Shipping Manifest Utility (Cont'd);5/5/97 14:44
|
---|
2 | ;;5.2;AUTOMATED LAB INSTRUMENTS;**27,46,65,64**;Sep 27, 1994
|
---|
3 | ;
|
---|
4 | Q
|
---|
5 | ;
|
---|
6 | SMW(LA7SM) ; "Write" additional information on DIC lookup of #62.48.
|
---|
7 | ; Called by DIC("W")
|
---|
8 | ; Call with LA7SM = ien of entry in file #62.8
|
---|
9 | ;
|
---|
10 | N LA7X,LA7Y,LA7EVC
|
---|
11 | ;
|
---|
12 | S LA7SM(0)=$G(^LAHM(62.8,LA7SM,0))
|
---|
13 | ; Shipping configuration
|
---|
14 | S LA7X=" "_$P($G(^LAHM(62.9,$P(LA7SM(0),"^",2),0)),"^")
|
---|
15 | S LA7X=LA7X_" Status: "_$$EXTERNAL^DILFD(62.8,.03,"",$P(LA7SM(0),"^",3))
|
---|
16 | S LA7EVC="SM"_$S($P(LA7SM(0),"^",3)=0:"00",1:$P("02^03^04^05^07","^",+$P(LA7SM(0),"^",3)))
|
---|
17 | S LA7Y=$$SMED^LA7SMU(LA7SM,LA7EVC)
|
---|
18 | S LA7X=LA7X_" as of "_$P(LA7Y,"^",2)
|
---|
19 | D EN^DDIOL(LA7X,"","?18")
|
---|
20 | Q
|
---|
21 | ;
|
---|
22 | ;
|
---|
23 | ADATE ; Select accession dates if specified
|
---|
24 | ;
|
---|
25 | N DIR,DIRUT,DTOUT,LRAA,X,Y
|
---|
26 | ;
|
---|
27 | S DIR(0)="YO",DIR("A")="Use default accession dates",DIR("B")="YES"
|
---|
28 | S DIR("?",1)="Enter ""YES"" to use the current accession date for each accession area utilized by this shipping configuration."
|
---|
29 | S DIR("?",2)=" "
|
---|
30 | S DIR("?")="If you select ""NO"" then you will be asked to specify a specific accession date and starting and ending accession numbers for each accession area."
|
---|
31 | D ^DIR
|
---|
32 | ; User aborted
|
---|
33 | I $D(DIRUT) S LA7QUIT=1 Q
|
---|
34 | ; Use default accession dates
|
---|
35 | I Y=1 Q
|
---|
36 | ;
|
---|
37 | S X=0
|
---|
38 | F S X=$O(^LAHM(62.9,+LA7SCFG,60,X)) Q:'X D
|
---|
39 | . S X(0)=$G(^LAHM(62.9,+LA7SCFG,60,X,0))
|
---|
40 | . I $P(X(0),"^",2),'$D(LA7AA($P(X(0),"^",2))) S LA7AA($P(X(0),"^",2))=""
|
---|
41 | ;
|
---|
42 | S LA7AA=0
|
---|
43 | F S LA7AA=$O(LA7AA(LA7AA)) Q:'LA7AA D Q:LA7QUIT
|
---|
44 | . N %DT,DTOUT,LRAA,LRAD,LREND,LRFAN,LRLAN
|
---|
45 | . D EN^DDIOL("For Accession Area: "_$P($G(^LRO(68,LA7AA,0)),"^"),"","!!?2")
|
---|
46 | . S LRAA=LA7AA D ADATE^LRWU3
|
---|
47 | . I Y<1!($G(DTOUT)) S LA7QUIT=1 Q
|
---|
48 | . S LA7AA(LA7AA)=$G(LRAD)
|
---|
49 | . D LRAN^LRWU3
|
---|
50 | . I LREND S LA7QUIT=1 Q
|
---|
51 | . S LA7AA(LA7AA)=$G(LRAD)_"^"_$G(LRFAN)_"^"_$G(LRLAN)
|
---|
52 | Q
|
---|
53 | ;
|
---|
54 | ;
|
---|
55 | ASKPREV() ; Ask if build should exclude tests from building that have previously
|
---|
56 | ; been removed from a manifest. Allows user to control if tests rebuild
|
---|
57 | ; onto the same or different manifest.
|
---|
58 | ;
|
---|
59 | N DIR,DIRUT,DTOUT,DUOUT,X,Y
|
---|
60 | ;
|
---|
61 | S DIR(0)="YO"
|
---|
62 | S DIR("A")="Exclude previously removed tests from building"
|
---|
63 | S DIR("B")="YES"
|
---|
64 | S DIR("?",1)="Answer 'YES' if you do NOT want tests previously removed"
|
---|
65 | S DIR("?",2)="from a manifest to be added to this manifest."
|
---|
66 | S DIR("?",3)=" "
|
---|
67 | S DIR("?",4)="Answer 'NO' if you WANT tests to be added to this manifest"
|
---|
68 | S DIR("?",5)="that were previously removed from a manifest and are"
|
---|
69 | S DIR("?")="otherwise eligible to be added."
|
---|
70 | D ^DIR
|
---|
71 | Q $S($D(DIRUT):-1,1:+Y)
|
---|
72 | ;
|
---|
73 | ;
|
---|
74 | PREV(LA7UID,LA760) ; Determine if test previously removed from a manifest.
|
---|
75 | ; Checks all manifests for accession/test combination.
|
---|
76 | ; Call with LA7UID = accession's uid
|
---|
77 | ; LA760 = file #60 test ien
|
---|
78 | ;
|
---|
79 | ; Returns 0 = not previously removed from a manifest
|
---|
80 | ; 1 = previously removed from a manifest
|
---|
81 | ;
|
---|
82 | ; Called by LA7SMB
|
---|
83 | ;
|
---|
84 | N LA7628,LA762801,LA7FLAG,LA7ROOT,LA7X
|
---|
85 | ;
|
---|
86 | S LA7FLAG=0
|
---|
87 | I '$L($G(LA7UID))!'(+$G(LA760)) Q LA7FLAG
|
---|
88 | S LA7ROOT="^LAHM(62.8,""UID"",LA7UID)"
|
---|
89 | F S LA7ROOT=$Q(@LA7ROOT) Q:$QS(LA7ROOT,3)'=LA7UID D Q:LA7FLAG
|
---|
90 | . ; Manifest and specimen ien
|
---|
91 | . S LA7628=$QS(LA7ROOT,4),LA762801=$QS(LA7ROOT,5)
|
---|
92 | . S LA7X=$G(^LAHM(62.8,LA7628,10,LA762801,0))
|
---|
93 | . ; Found previous test removal
|
---|
94 | . I $P(LA7X,"^",2)=LA760,$P(LA7X,"^",8)=0 S LA7FLAG=1
|
---|
95 | Q LA7FLAG
|
---|
96 | ;
|
---|
97 | ;
|
---|
98 | DOT(LA7CODE,LA7NCS,LA7UID,LA7628) ; Determine ordered tests
|
---|
99 | ;
|
---|
100 | ; Call with LA7CODE = Test code to look up
|
---|
101 | ; LA7NCS = name of coding system
|
---|
102 | ; LA7UID = accession's UID
|
---|
103 | ; LA7628 = ien of shipping manifest in #62.8
|
---|
104 | ;
|
---|
105 | ; Returns LA760 = ien of test entry in file #60 if found
|
---|
106 | ;
|
---|
107 | ; Given a test code, accession and a shipping manifest finds the
|
---|
108 | ; file #60 test which is associated with the test code on the manifest.
|
---|
109 | ;
|
---|
110 | ; Called from LA7VIN4 to determine ordered test and update shipping event.
|
---|
111 | N LA760,LA764,LA7I,LA7X,LA7Y
|
---|
112 | ;
|
---|
113 | S (LA760,LA764)=0
|
---|
114 | ; Quit if no code, UID or configuration passed.
|
---|
115 | I $G(LA7CODE)=""!($G(LA7UID)="")!($G(LA7628)="") Q LA760
|
---|
116 | ;
|
---|
117 | ; Using NLT codes
|
---|
118 | I $G(LA7NCS)="99VA64" S LA764=+$O(^LAM("E",LA7CODE,0))
|
---|
119 | ;
|
---|
120 | ; Try NLT in case other system is returning NLT codes but not saying so
|
---|
121 | I 'LA764,$D(^LAM("E",LA7CODE)) S LA764=+$O(^LAM("E",LA7CODE,0))
|
---|
122 | ;
|
---|
123 | S LA7I=0
|
---|
124 | F S LA7I=$O(^LAHM(62.8,LA7628,10,"UID",LA7UID,LA7I)) Q:'LA7I D Q:LA760
|
---|
125 | . S LA7X=$G(^LAHM(62.8,LA7628,10,LA7I,0))
|
---|
126 | . S LA7Y=$P(LA7X,"^",2)
|
---|
127 | . ; Found match on NLT code
|
---|
128 | . I LA7Y,+$P(^LAB(60,LA7Y,64),"^")=LA764 S LA760=LA7Y Q
|
---|
129 | . ; Found match on non-VA code
|
---|
130 | . I LA7CODE=$P($G(^LAHM(62.8,LA7628,10,LA7I,5)),"^") S LA760=LA7Y
|
---|
131 | ;
|
---|
132 | Q LA760
|
---|