1 | RAIPST3 ;HIRMFO/GJC - Clean-up of the v5.0 environment ;10/9/97 14:40
|
---|
2 | VERSION ;;5.0;Radiology/Nuclear Medicine;;Mar 16, 1998
|
---|
3 | S ZTREQ="@" ; delete from the task global
|
---|
4 | I +$G(DIFROM)'=+$P($T(VERSION),";",3) S XPDABORT=2 Q
|
---|
5 | N RAIPST
|
---|
6 | ;
|
---|
7 | S RAIPST=$$NEWCP^XPDUTL("PST31","NUMLIN^RAIPST3")
|
---|
8 | ; This subroutine will delete the Number Of Lines field (12)
|
---|
9 | ; and all associated data from the Rad/Nuc Med Reports file (74)
|
---|
10 | ;
|
---|
11 | S RAIPST=$$NEWCP^XPDUTL("PST32","TCOMNTS^RAIPST3")
|
---|
12 | ; This subroutine will delete the Transfer Comment field (150)
|
---|
13 | ; and all associated data from the Examinations Sub-Field
|
---|
14 | ; (70.03)
|
---|
15 | ;
|
---|
16 | S RAIPST=$$NEWCP^XPDUTL("PST33","DISTQ^RAIPST3")
|
---|
17 | ; This subroutine will delete the following fields from the
|
---|
18 | ; Report Distribution (74.4) file: Hospital Division (5)
|
---|
19 | ; Imaging Location (7), Patient (9) and SSN (10). All data
|
---|
20 | ; associated with these fields will be deleted.
|
---|
21 | ;
|
---|
22 | S RAIPST=$$NEWCP^XPDUTL("PST34","TIMOUT^RAIPST3")
|
---|
23 | ; This subroutine will delete the '*Timeout After How
|
---|
24 | ; Many Second' field from the Imaging Type (79.2) file.
|
---|
25 | ; All data associated with this field will be deleted.
|
---|
26 | ;
|
---|
27 | S RAIPST=$$NEWCP^XPDUTL("PST35","AOXREF^RAIPST3")
|
---|
28 | ; This subroutine will delete corrupted "AO" cross-
|
---|
29 | ; reference data from the Rad/Nuc Med Patient file.
|
---|
30 | ; Only the "AO" cross-reference will be deleted. Data
|
---|
31 | ; in the Rad/Nuc Med Patient file and the Rad/Nuc Med
|
---|
32 | ; Orders file will remain intact.
|
---|
33 | ;
|
---|
34 | NUMLIN ; This subroutine will delete the Number Of Lines field (12)
|
---|
35 | ; and all associated data in the Rad/Nuc Med Reports file (74)
|
---|
36 | Q:'($D(^DD(74,12,0))#2) ; Done in the past
|
---|
37 | N %,DA,DIC,DIK,RA1,RACNT,RAD0,RALNUM,RATXT,X,Y
|
---|
38 | S RATXT(1)=" ",RAD0=+$$PARCP^XPDUTL("PST31")
|
---|
39 | S RATXT(2)="Deleting obsolete NUMBER OF LINES field from Rad/Nuc Med"
|
---|
40 | S RATXT(3)="Reports data dictionary. Deleting Number of Lines data"
|
---|
41 | S RATXT(4)="from the Rad/Nuc Med Reports file. Please be patient,"
|
---|
42 | S RATXT(5)="this may take awhile." D BMES^XPDUTL(.RATXT)
|
---|
43 | F S RAD0=$O(^RARPT(RAD0)) Q:RAD0'>0 D
|
---|
44 | . S RALNUM=$P($G(^RARPT(RAD0,"T")),"^",2)
|
---|
45 | . D:RALNUM]"" ENKILL^RAXREF(74,12,RALNUM,.RAD0)
|
---|
46 | . S:RALNUM]"" $P(^RARPT(RAD0,"T"),"^",2)=""
|
---|
47 | . S RACNT=+$G(RACNT)+1
|
---|
48 | . W:'(RACNT#500)&('$D(ZTQUEUED)) "."
|
---|
49 | . S RA1=+$$UPCP^XPDUTL("PST31",RAD0)
|
---|
50 | . Q
|
---|
51 | S DIK="^DD(74,",DA(1)=74,DA=12 D ^DIK ; delete from data dictionary
|
---|
52 | Q
|
---|
53 | TCOMNTS ; This subroutine will delete the Transfer Comment field (150)
|
---|
54 | ; and all associated data from the Examinations Sub-Field (70.03)
|
---|
55 | Q:'($D(^DD(70.03,150,0))#2) ; Done in the past
|
---|
56 | N %,DA,DIC,DIK,RA1,RACNI,RACNT,RADA,RADFN,RADTI,RATCOM,RATXT,X,Y
|
---|
57 | S RATXT(1)=" ",RADFN=+$$PARCP^XPDUTL("PST32")
|
---|
58 | S RATXT(2)="Deleting obsolete TRANSFER COMMENT field from Examinations sub-file"
|
---|
59 | S RATXT(3)="data dictionary. Deleting the Transfer Comment data from the Rad/Nuc"
|
---|
60 | S RATXT(4)="Med Patient file. Please be patient, this may take awhile."
|
---|
61 | D BMES^XPDUTL(.RATXT)
|
---|
62 | F S RADFN=$O(^RADPT(RADFN)) Q:RADFN'>0 D
|
---|
63 | . S RADTI=0 F S RADTI=$O(^RADPT(RADFN,"DT",RADTI)) Q:RADTI'>0 D
|
---|
64 | .. S RACNI=0
|
---|
65 | .. F S RACNI=$O(^RADPT(RADFN,"DT",RADTI,"P",RACNI)) Q:RACNI'>0 D
|
---|
66 | ... S RATCOM=$P($G(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"TFR")),"^")
|
---|
67 | ... I RATCOM]"" D
|
---|
68 | .... S RADA(2)=RADFN,RADA(1)=RADTI,RADA=RACNI
|
---|
69 | .... D ENKILL^RAXREF(70.03,150,RATCOM,.RADA)
|
---|
70 | .... Q
|
---|
71 | ... K ^RADPT(RADFN,"DT",RADTI,"P",RACNI,"TFR")
|
---|
72 | ... Q
|
---|
73 | .. Q
|
---|
74 | . S RACNT=+$G(RACNT)+1
|
---|
75 | . W:'(RACNT#500)&('$D(ZTQUEUED)) "."
|
---|
76 | . S RA1=+$$UPCP^XPDUTL("PST32",RADFN)
|
---|
77 | . Q
|
---|
78 | S DIK="^DD(70.03,",DA(1)=70.03,DA=150
|
---|
79 | D ^DIK ; delete the data dictionary
|
---|
80 | Q
|
---|
81 | DISTQ ; This subroutine will delete the following fields from the
|
---|
82 | ; Report Distribution (74.4) file: Hospital Division (5)
|
---|
83 | ; Imaging Location (7), Patient (9) and SSN (10). All data
|
---|
84 | ; associated with these fields will be deleted.
|
---|
85 | Q:'($D(^DD(74.4,10,0))#2) ; Done in the past, this is the last field
|
---|
86 | ; deleted.
|
---|
87 | N %,DA,DIC,DIK,RA1,RA744,RACNT,RAD0,RAHD,RAIL,RAPAT,RASSN,RATXT,X,Y
|
---|
88 | S RATXT(1)=" ",RAD0=+$$PARCP^XPDUTL("PST33")
|
---|
89 | S RATXT(2)="Deleting the following obsolete fields and data from the"
|
---|
90 | S RATXT(3)="Report Distribution data dictionary:"
|
---|
91 | S RATXT(4)="HOSPITAL DIVISION, IMAGING LOCATION, PATIENT and SSN."
|
---|
92 | D BMES^XPDUTL(.RATXT)
|
---|
93 | F S RAD0=$O(^RABTCH(74.4,RAD0)) Q:RAD0'>0 D
|
---|
94 | . S RA744=$G(^RABTCH(74.4,RAD0,0)),RAHD=$P(RA744,"^",5)
|
---|
95 | . S RAIL=$P(RA744,"^",7),RAPAT=$P(RA744,"^",9),RASSN=$P(RA744,"^",10)
|
---|
96 | . I RAHD]"" D
|
---|
97 | .. D ENKILL^RAXREF(74.4,5,RAHD,.RAD0)
|
---|
98 | .. S $P(^RABTCH(74.4,RAD0,0),"^",5)=""
|
---|
99 | .. Q
|
---|
100 | . I RAIL]"" D
|
---|
101 | .. D ENKILL^RAXREF(74.4,7,RAIL,.RAD0)
|
---|
102 | .. S $P(^RABTCH(74.4,RAD0,0),"^",7)=""
|
---|
103 | .. Q
|
---|
104 | . I RAPAT]"" D
|
---|
105 | .. D ENKILL^RAXREF(74.4,9,RAPAT,.RAD0)
|
---|
106 | .. S $P(^RABTCH(74.4,RAD0,0),"^",9)=""
|
---|
107 | .. Q
|
---|
108 | . I RASSN]"" D
|
---|
109 | .. D ENKILL^RAXREF(74.4,10,RASSN,.RAD0)
|
---|
110 | .. S $P(^RABTCH(74.4,RAD0,0),"^",10)=""
|
---|
111 | .. Q
|
---|
112 | . S RACNT=+$G(RACNT)+1
|
---|
113 | . W:'(RACNT#500)&('$D(ZTQUEUED)) "."
|
---|
114 | . S RA1=+$$UPCP^XPDUTL("PST33",RAD0)
|
---|
115 | . Q
|
---|
116 | ; delete the fields one at a time.
|
---|
117 | S DIK="^DD(74.4,",DA(1)=74.4,DA=5 D ^DIK K %,DA,DIC,DIK
|
---|
118 | S DIK="^DD(74.4,",DA(1)=74.4,DA=7 D ^DIK K %,DA,DIC,DIK
|
---|
119 | S DIK="^DD(74.4,",DA(1)=74.4,DA=9 D ^DIK K %,DA,DIC,DIK
|
---|
120 | S DIK="^DD(74.4,",DA(1)=74.4,DA=10 D ^DIK K %,DA,DIC,DIK
|
---|
121 | Q
|
---|
122 | TIMOUT ; This subroutine will delete the '*Timeout After How
|
---|
123 | ; Many Second' field from the Imaging Type (79.2) file.
|
---|
124 | ; All data associated with this field will be deleted.
|
---|
125 | Q:'($D(^DD(79.2,2,0))#2) ; Done in the past
|
---|
126 | N %,DA,DIC,DIK,RAD0,RASEC,RATXT,X,Y S RATXT(1)=" "
|
---|
127 | S RATXT(2)="Deleting obsolete *TIMEOUT AFTER HOW MANY SECOND field and data from"
|
---|
128 | S RATXT(3)="the Imaging Type file."
|
---|
129 | D MES^XPDUTL(.RATXT) S RAD0=0
|
---|
130 | F S RAD0=$O(^RA(79.2,RAD0)) Q:RAD0'>0 D
|
---|
131 | . S RASEC=$P($G(^RA(79.2,RAD0,0)),"^",2)
|
---|
132 | . D:RASEC]"" ENKILL^RAXREF(79.2,2,RASEC,.RAD0)
|
---|
133 | . S:RASEC]"" $P(^RA(79.2,RAD0,0),"^",2)=""
|
---|
134 | . Q
|
---|
135 | S DIK="^DD(79.2,",DA(1)=79.2,DA=2 D ^DIK K %,DA,DIC,DIK ; remove field
|
---|
136 | Q
|
---|
137 | AOXREF ; This subroutine will delete corrupted "AO" cross-
|
---|
138 | ; reference data from the Rad/Nuc Med Patient file.
|
---|
139 | ; Only the "AO" cross-reference will be deleted. Data
|
---|
140 | ; in the Rad/Nuc Med Patient file and the Rad/Nuc Med
|
---|
141 | ; Orders file will remain intact.
|
---|
142 | ;
|
---|
143 | ; Hmm, how do we know if we've done this in the past???
|
---|
144 | ;
|
---|
145 | N RA1,RACNI,RADFN,RADTI,RAORD,RATXT S RATXT(1)=" "
|
---|
146 | S RAORD=+$$PARCP^XPDUTL("PST35")
|
---|
147 | S RATXT(2)="Delete corrupted ""AO"" cross-reference data from the"
|
---|
148 | S RATXT(3)="Rad/Nuc Med Patient file. Only the ""AO"" cross-reference"
|
---|
149 | S RATXT(4)="will be deleted. Data in the Rad/Nuc Med Patient file"
|
---|
150 | S RATXT(5)="and the Rad/Nuc Med Orders file will remain intact."
|
---|
151 | D MES^XPDUTL(.RATXT)
|
---|
152 | F S RAORD=$O(^RADPT("AO",RAORD)) Q:RAORD'>0 D
|
---|
153 | . S RADFN=0
|
---|
154 | . F S RADFN=$O(^RADPT("AO",RAORD,RADFN)) Q:RADFN'>0 D
|
---|
155 | .. S RADTI=0
|
---|
156 | .. F S RADTI=$O(^RADPT("AO",RAORD,RADFN,RADTI)) Q:RADTI'>0 D
|
---|
157 | ... S RACNI=0
|
---|
158 | ... F S RACNI=$O(^RADPT("AO",RAORD,RADFN,RADTI,RACNI)) Q:RACNI'>0 D
|
---|
159 | .... K:'$D(^RADPT(RADFN,"DT",RADTI,"P",RACNI,0)) ^RADPT("AO",RAORD,RADFN,RADTI,RACNI) ; if an exam is deleted, the "AO" xref for that exam should also be deleted
|
---|
160 | .... K:'$D(^RAO(75.1,"B",RADFN,RAORD)) ^RADPT("AO",RAORD,RADFN) ; if an order is deleted, the "AO" xref for that order should also be deleted
|
---|
161 | .... Q
|
---|
162 | ... Q
|
---|
163 | .. Q
|
---|
164 | . S RA1=+$$UPCP^XPDUTL("PST35",RAORD)
|
---|
165 | . Q
|
---|
166 | Q
|
---|