1 | LRAC14 ;DALOI/DH/RLM-FIND LOCATION FOR MULTIPLE ABBREVIATION ;6/16/97 15:45
|
---|
2 | ;;5.2;LAB SERVICE;**272**;SEP 27, 1994
|
---|
3 | ; Reference to ^SC( supported by IA # 908
|
---|
4 | ; Reference to ^%DTC supported by IA # 10000
|
---|
5 | ; Reference to ^VADPT supported by IA # 10061
|
---|
6 | ; Reference to ^XMD supported by IA # 10070
|
---|
7 | INIT ;
|
---|
8 | Q:'$D(LRLLOC)
|
---|
9 | S LRODT=DT
|
---|
10 | Q:'$D(^LAB(64.58,"C"))
|
---|
11 | I '$G(LRLLIN) S LRLLIN=0
|
---|
12 | ;S LRLLIN=$O(^LAB(64.58,"C",LRLLOC,LRLLIN))
|
---|
13 | ;I +$G(LRLLIN)>0 QUIT
|
---|
14 | CNT S LRCNT9=$G(LRCNT9)+1
|
---|
15 | Q:'$G(LRDT)
|
---|
16 | S LRODT=LRDT
|
---|
17 | Q:'$D(^LRO(69,LRODT,1,"AR",LRLLOC))
|
---|
18 | S PNM1=$O(^LRO(69,LRODT,1,"AR",LRLLOC,""))
|
---|
19 | Q:'$D(^LRO(69,LRODT,1,"AR",LRLLOC,PNM1))
|
---|
20 | S LRDFN1=$O(^LRO(69,LRODT,1,"AR",LRLLOC,PNM1,0))
|
---|
21 | S DFN=$P(^LR(LRDFN1,0),U,3) D ^VADPT
|
---|
22 | Q:'$D(^LRO(69,LRODT,1,"AR",LRLLOC,PNM1,LRDFN1))
|
---|
23 | D CH D MI D BB D SP
|
---|
24 | ; ^LR(50954,"CH",7029381.94999,0) = 2970617.05001^^^^71^WUA 0616 30^^^^36560^WMHC
|
---|
25 | CH ;
|
---|
26 | S LRSUB="CH" D LR
|
---|
27 | D MAIL
|
---|
28 | K LRNODE
|
---|
29 | Q:LRLLIN=0 ;--> This happens when location is UNKNOWN
|
---|
30 | MI ;
|
---|
31 | Q:$G(LRLLIN)>0
|
---|
32 | S LRSUB="MI" D LR
|
---|
33 | Q
|
---|
34 | BB ;
|
---|
35 | Q:$G(LRLLIN)>0
|
---|
36 | S LRSUB="BB" D LR
|
---|
37 | Q
|
---|
38 | SP ;
|
---|
39 | Q:$G(LRLLIN)>0
|
---|
40 | S LRSUB="SP" D LR
|
---|
41 | Q
|
---|
42 | LR ;
|
---|
43 | Q:'$D(^LR(LRDFN1,LRSUB))
|
---|
44 | S LRIDT=$O(^LRO(69,LRODT,1,"AN",LRLLOC,LRDFN1,0)) Q:+LRIDT'>0 D
|
---|
45 | . I $D(^LR(LRDFN1,LRSUB,LRIDT,0)) S LRNODE=^LR(LRDFN1,LRSUB,LRIDT,0)
|
---|
46 | . Q:$G(LRNODE)=""
|
---|
47 | . S LRAD=9999999-LRIDT
|
---|
48 | . S LRAD=$P(LRAD,".")
|
---|
49 | . S LRACCN=$P(LRNODE,U,6)
|
---|
50 | . S LRAAN=$P(LRACCN," ") S LRAA=$O(^LRO(68,"B",LRAAN,0))
|
---|
51 | . Q:LRAA=""
|
---|
52 | . S LRAD=$S(LRSUB'="CH":$E(LRAD,1,3)_"0000",1:$E(LRAD,1,3)_$P(LRACCN," ",2))
|
---|
53 | . S LRAN=+$P(LRNODE," ",3)
|
---|
54 | . Q:LRAN'>0
|
---|
55 | . Q:LRAA'>0!(LRAD'>0)
|
---|
56 | . Q:'$D(^LRO(68,LRAA,1,LRAD,1,LRAN,0)) D LRO
|
---|
57 | ;
|
---|
58 | ;D END
|
---|
59 | Q
|
---|
60 | LRO ;
|
---|
61 | S LRLLIN=$P(^LRO(68,LRAA,1,LRAD,1,LRAN,0),U,13)
|
---|
62 | ;W !,^SC(LRLLIN,0)
|
---|
63 | ;K LRLLIN
|
---|
64 | I '$G(LRLLIN) S ^TMP("LR","NO-LRLLIN",LRACCN,LRLLOC)="" D LRO69
|
---|
65 | Q
|
---|
66 | LRO69 ;
|
---|
67 | I $D(^LRO(68,LRAA,1,LRAD,1,LRAN,0)) S LRNODE=^(0) D
|
---|
68 | . S LRODT=$P(LRNODE,U,4),LRSN=$P(LRNODE,U,5)
|
---|
69 | . Q:$G(LRSN)'>0
|
---|
70 | . Q:'$D(^LRO(69,LRODT,1,LRSN,0))
|
---|
71 | . S LRLLIN=$P(^LRO(69,LRODT,1,LRSN,0),U,9)
|
---|
72 | ;K LRLLIN
|
---|
73 | I '$G(LRLLIN) D
|
---|
74 | . I '$G(PNM) S PNM=PNM1
|
---|
75 | . D PT^LRX S LRDATA=$G(PNM1)_U_$G(SSN)_U_$G(LRODT)_U_$G(DFN)
|
---|
76 | . S ^TMP("LR","LR-NO-LOC",LRLLOC)=LRDATA ;--->Send message
|
---|
77 | . D MAIL
|
---|
78 | Q
|
---|
79 | MAIL ;
|
---|
80 | ; Send a message to entries in G.LMI if the
|
---|
81 | ; location can't be found in ^SC
|
---|
82 | I $G(DUZ)'>0 S LRDUZ2=.5
|
---|
83 | I $G(LRDUZ2)'>0 S LRDUZ2=.5
|
---|
84 | S Y=0
|
---|
85 | S XMY("G.LMI")="" D
|
---|
86 | . S XMDUZ=LRDUZ2
|
---|
87 | . S XMTEXT="LRTXT("
|
---|
88 | . S LRTXT(1)="Flash... Have a problem with: "_$G(LRLLOC)_" "_$G(VADM(1))_" "_$G(VADM(2))_" For "_$G(LRODT)
|
---|
89 | . I $G(LRLLIN) S LRTXT(2)="I think it might be: "_$G(^SC(LRLLIN,0))
|
---|
90 | . S XMSUB="Problem resolving locations for cumulative."
|
---|
91 | . D ^XMD
|
---|
92 | QUIT
|
---|
93 | END ;
|
---|
94 | QUIT
|
---|
95 | K LRCNTCUM,LRSUB,LRDFN1,LRIDT,LRAD,LRAA,LRAN,LRACCN,LRAAN,LRODT,LRDUZ2
|
---|
96 | K LRTXT,LRTIME0,LRTIME9
|
---|
97 | Q
|
---|
98 | LOOK ;
|
---|
99 | S X=0
|
---|
100 | D NOW^%DTC S LRTIME0=%
|
---|
101 | S X=0
|
---|
102 | F S X=$O(^LAC("LRAC",X)) Q:X=""
|
---|
103 | D NOW^%DTC S LRTIME9=%
|
---|
104 | W LRTIME0," TO ",LRTIME9
|
---|
105 | ; in ^LRO
|
---|
106 | ; From that we get the LRDFN and look ^LR(LRDFN,"CH" or
|
---|
107 | ; ^LR(LRDFN,"MI"
|
---|
108 | ; fROM this we get the accn---Get the IEN from the accn area by
|
---|
109 | ; --------^LRO(68,"B","ABBRV")-----
|
---|
110 | ; The last peice of the 0 node is the IEN forn ^SC
|
---|
111 | ; Take that and look in the B x-ref of ^LAB(64.5,1,5,"B",IEN
|
---|
112 | ; ^LAB(64.5,1,5,"B",1870,422
|
---|
113 | ; and get the ien for the separate location and where it should
|
---|
114 | ; print
|
---|
115 | ; Lastly set LRLLIN VARABLE TO to the ien in ^SC
|
---|
116 | QUIT
|
---|