source: WorldVistAEHR/trunk/r/AUTOMATED_LAB_INSTRUMENTS-LA/LA7SMU1.m@ 1800

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

initial load of WorldVistAEHR

File size: 4.4 KB
Line 
1LA7SMU1 ;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 ;
6SMW(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 ;
23ADATE ; 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 ;
55ASKPREV() ; 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 ;
74PREV(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 ;
98DOT(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
Note: See TracBrowser for help on using the repository browser.