1 | LRARCHIV ;SLC/RWF/DAL/HOAK FIRST ROUTINE FOR PATIENT ARCHIVE ; 12/12/96 10:16 ;
|
---|
2 | ;;5.2;LAB SERVICE;**59,111**;Sep 27, 1994
|
---|
3 | ;
|
---|
4 | ; Taken from--> SET UP O("S") VARIABLES FOR ARCHIVE. ;2/5/91 12:30 ;
|
---|
5 | INIT ;
|
---|
6 | ;
|
---|
7 | ;
|
---|
8 | ;
|
---|
9 | K ^TMP("LRBAD"),^TMP("LRUNV"),^TMP("LRNOD")
|
---|
10 | ;
|
---|
11 | SEARCH ;
|
---|
12 | S OK=1
|
---|
13 | ; Rewrite of basic archive SEARCH function for ^LR data
|
---|
14 | ;
|
---|
15 | ;--> Following the F1 variable tells you where you are
|
---|
16 | ;
|
---|
17 | ;^LAB(69.9,1,6,1,0) = ARCH-1^VAMC^2970318.0941^1^2970318
|
---|
18 | ;
|
---|
19 | ;--> F1=1 or 2 or 3 or 4or 5 depending what step has been done
|
---|
20 | ;
|
---|
21 | ;DATA TYPE: Set of Codes |
|
---|
22 | ; 1:Searching------------------|
|
---|
23 | ; 2:Search done----------------|
|
---|
24 | ; 3:Clear----------------------|
|
---|
25 | ; 4:Purging--------------------|
|
---|
26 | ; 5:Purge done-----------------|
|
---|
27 | ;SERCHING:
|
---|
28 | ; Looks through the entire LR global by patient (LRDFN) for all
|
---|
29 | ; eligible entries by date.
|
---|
30 | ; New functionality also make certain all associated eligiable data is
|
---|
31 | ; forced to a perminant cume page.
|
---|
32 | ;
|
---|
33 | I '$G(F1) G MEET QUIT
|
---|
34 | S OK=1 D RESTART^LRAR06:$G(F1)=1
|
---|
35 | I 'OK D END QUIT
|
---|
36 | ;
|
---|
37 | I $G(F1)>1 W !,"Please finish the Clear and Purge steps first." D QUIT Q
|
---|
38 | ;
|
---|
39 | I $G(F1)=0 S:'$D(^LAB(69.9,1,6,0)) ^LAB(69.9,1,6,0)="^69.9003A^^" D TAPE^LRAR06
|
---|
40 | ;
|
---|
41 | I $G(DA)<1!($G(P1)<1) D QUIT Q
|
---|
42 | PAT ;
|
---|
43 | ; Entry for testing--------------------->
|
---|
44 | STEPOUT ;
|
---|
45 | MEET ;
|
---|
46 | W @IOF,!!,"Welcome to The Search Option for the New Archive Modual",!
|
---|
47 | ;
|
---|
48 | I '$G(P1) S OK=1 D TAPE^LRAR06 I 'OK D END QUIT
|
---|
49 | ;E W !,"A file entry IS NOT present"
|
---|
50 | ;
|
---|
51 | ; Make a list of data or not
|
---|
52 | ;
|
---|
53 | ;
|
---|
54 | W !,"Shall I prepare a list of patients that will have data archived"
|
---|
55 | S %=2 D YN^DICN
|
---|
56 | ;
|
---|
57 | QUES I %=0 W !,"Answering YES to this question will produce" D G PAT
|
---|
58 | . W "a list of patients that will have data archived."
|
---|
59 | ;
|
---|
60 | S LRPAT=0 S:%=1 LRPAT=1
|
---|
61 | T ;
|
---|
62 | I '$G(P1) W !,"Tape name not defined. Please start again."
|
---|
63 | I QUIT
|
---|
64 | ;
|
---|
65 | S ^LAB(69.9,1,"TAPE")=P1
|
---|
66 | S $P(^LAB(69.9,1,6,P1,0),U,4)=1 ;---SEARCH IS IN PROGRESS
|
---|
67 | S X=1
|
---|
68 | S LRP1=P1
|
---|
69 | D LRSUB1 D DEVICE
|
---|
70 | QUIT
|
---|
71 | END ;
|
---|
72 | D QUIT
|
---|
73 | Q
|
---|
74 | ;
|
---|
75 | DEVICE ;
|
---|
76 | S %ZIS="Q"
|
---|
77 | QUE ;
|
---|
78 | S ZTSAVE("LR*")="",ZTRTN="LR^LRAR04",ZTDESC="Archive search option."
|
---|
79 | S ZTSAVE("LR*")=""
|
---|
80 | S ZTSAVE("^TMP(""LR9""")=""
|
---|
81 | D IO^LRWU
|
---|
82 | QUIT
|
---|
83 | DQ1 ;
|
---|
84 | ;
|
---|
85 | K OK,LRI
|
---|
86 | U IO
|
---|
87 | S LRC1=1,LRC2=0,LRC3=0,Y=LR(1)
|
---|
88 | D DD^LRX
|
---|
89 | W @IOF,!,"LAB DATA ARCHIVE for data before ",Y
|
---|
90 | W ". on " D STAMP^LRX S X=1 X ^%ZOSF("PRIORITY")
|
---|
91 | I '$G(LREDT3) D TIME^LRAR06
|
---|
92 | S X2=LREDT3,X1=LR(1) D ^%DTC
|
---|
93 | W !!,"Number of Days To be searched: ",X
|
---|
94 | QUIT
|
---|
95 | ;
|
---|
96 | ; Get test data names from 63.04
|
---|
97 | ;
|
---|
98 | LRSUB1 S LRSUB=1
|
---|
99 | F S LRSUB=$O(^DD(63.04,LRSUB)) Q:LRSUB<1 D
|
---|
100 | . I $D(^DD(63.04,LRSUB,0)),'$D(^DD(63.999904,LRSUB)) D
|
---|
101 | .. S LRX0=^DD(63.04,LRSUB,0) S LRX3=$S($D(^(3)):^(3),1:"")
|
---|
102 | .. S ^DD(63.999904,LRSUB,0)=LRX0 S:LRX3'="" ^(3)=LRX3
|
---|
103 | .. S ^DD(63.999904,"B",$P(LRX0,U),LRSUB)=""
|
---|
104 | K X,Y,L1,L2
|
---|
105 | ;
|
---|
106 | ;D ^AAHAGL
|
---|
107 | ;
|
---|
108 | ;QUIT ;****************************************************
|
---|
109 | ;
|
---|
110 | ;
|
---|
111 | ;
|
---|
112 | PROCESS ;
|
---|
113 | ;
|
---|
114 | ;
|
---|
115 | K ^LAR("DHZ")
|
---|
116 | ;
|
---|
117 | K ^TMP("LRT2")
|
---|
118 | ;
|
---|
119 | D SET^LRAR03
|
---|
120 | ;
|
---|
121 | ;
|
---|
122 | ;S $P(^LAB(69.9,1,6,P1,0),U,4)=2 L -^LAR
|
---|
123 | QUIT
|
---|
124 | LST ;
|
---|
125 | W @IOF
|
---|
126 | S OK=1
|
---|
127 | U IO
|
---|
128 | S LRPAGE=1
|
---|
129 | D HEAD
|
---|
130 | I $G(LRPAT) W !! S PNM="" F S PNM=$O(^LAR("NAME",PNM)) Q:PNM="" D
|
---|
131 | . S LRDFN=0
|
---|
132 | . F S LRDFN=$O(^LAR("NAME",PNM,LRDFN)) Q:+LRDFN'>0!('OK) D
|
---|
133 | .. I $D(^LR(LRDFN,0))#2 N PNM S LRDPF=$P(^LR(LRDFN,0),"^",2) D
|
---|
134 | ... Q:'OK
|
---|
135 | ... S DFN=$P(^LR(LRDFN,0),"^",3)
|
---|
136 | ... D CHKPG Q:'OK D DEM^LRX W !,PNM,?30,SSN
|
---|
137 | .. I '$D(^LR(LRDFN,0))#2 D
|
---|
138 | ... W !!,PNM," LRDFN # "_LRDFN_" Has Been Deleted from ^LR( ",!,$C(7),"SSN = Unknown",!
|
---|
139 | ;
|
---|
140 | LISTS ;
|
---|
141 | ;
|
---|
142 | I 'OK S OK=1 G AROUND
|
---|
143 | I IOST'["C-" G AROUND
|
---|
144 | S OK=1
|
---|
145 | I IOST["C-" S DIR(0)="E" D ^DIR
|
---|
146 | AROUND F LRQ="^TMP(""LRBAD"")","^TMP(""LRUNV"")","^TMP(""LRNOD"")" Q:LRQ="" D
|
---|
147 | . W @IOF
|
---|
148 | . W !,$$CJ^XLFSTR($S(LRQ["LRBAD":"Entries with bad Data",LRQ["LRUNV":"Entries that were not verified",1:"Entries with no data"),IOM),!!
|
---|
149 | . F S LRQ=$Q(@LRQ) Q:LRQ'["LR" D CHKPG Q:'OK W !,@LRQ
|
---|
150 | QUIT ;
|
---|
151 | D KILL^LRAR01 D KVAR^VADPT K F1,LRC1,LRC2,LRC3 U IO(0)
|
---|
152 | ;
|
---|
153 | I $G(LRP1) S $P(^LAB(69.9,1,6,LRP1,0),U,4)=2 ;----SEARCH IS DONE
|
---|
154 | ;
|
---|
155 | K ^TMP("LRBAD"),^TMP("LRUNV"),^TMP("LRNOD")
|
---|
156 | QUIT
|
---|
157 | CHKPG ;
|
---|
158 | Q:'OK
|
---|
159 | I IOSL-$Y'>3&($E(IOST,1,2)="C-") S DIR(0)="E" D ^DIR K DIR D
|
---|
160 | . W @IOF
|
---|
161 | . I $D(DTOUT)!($D(DUOUT)) S OK=0
|
---|
162 | Q:'OK
|
---|
163 | I IOSL-$Y'>3&($E(IOST,1,2)="P-") S LRPAGE=LRPAGE+1 D HEAD
|
---|
164 | ;
|
---|
165 | QUIT
|
---|
166 | HEAD ;
|
---|
167 | W $$RJ^XLFSTR("Page "_LRPAGE,IOM),!
|
---|
168 | Q
|
---|
169 | CLEAN ;
|
---|
170 | D CLEAN^LRAR01
|
---|
171 | Q
|
---|
172 | PURGE ;
|
---|
173 | D PURGE^LRAR01
|
---|
174 | Q
|
---|