1 | RAMAINU1 ;HISC/GJC-Radiology Utility File Maintenance (utility)
|
---|
2 | ;;5.0;Radiology/Nuclear Medicine;**45**;Mar 16, 1998
|
---|
3 | ;Note: new routine with the release of RA*5*45
|
---|
4 | ;
|
---|
5 | FILEAU(RAD0,RATRKCMB) ;File the 'when, where, and who' data when the contrast
|
---|
6 | ;media definitions for our Rad/Nuc Med Procedure change via an edit.
|
---|
7 | ;input: RADA=IEN of the Rad/Nuc Med Procedure record
|
---|
8 | ; RATRKCMB=the before contrast media definition
|
---|
9 | S RAD1=$O(^RAMIS(71,RAD0,"AUD",$C(32)),-1)+1
|
---|
10 | ;It is important to know when the user purges cm associations
|
---|
11 | ;related to a procedure. In this case, we want to audit file to
|
---|
12 | ;track subsequent cm purge events ignoring the case when the user
|
---|
13 | ;initially associates cm with a procedure.
|
---|
14 | I RAD1=1,RATRKCMB="" K RAD1 Q
|
---|
15 | S RASFM(71.06,"+"_RAD1_","_RAD0_",",.01)=+$E($$NOW^XLFDT(),1,12)
|
---|
16 | S RASFM(71.06,"+"_RAD1_","_RAD0_",",2)=RATRKCMB
|
---|
17 | S RASFM(71.06,"+"_RAD1_","_RAD0_",",3)=$G(DUZ)
|
---|
18 | D UPDATE^DIE("","RASFM","RAD1") K RAD1,RASFM
|
---|
19 | Q
|
---|
20 | ;
|
---|
21 | AUD70(RADFN,RADTI,RACNI,RATRKCMB) ;File the 'when, where, and who' data
|
---|
22 | ;when the contrast media definitions for our Rad/Nuc Med exam change
|
---|
23 | ;via an edit.
|
---|
24 | ;input: RADFN=DFN of the Rad/Nuc Med patient (file 2)
|
---|
25 | ; RADTI=exam date/time (inverse)
|
---|
26 | ; RACNI=ien of exam record (examinations sub-file 70.03)
|
---|
27 | ; RATRKCMB=the before contrast media definition
|
---|
28 | S RAD3=$O(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"AUD",$C(32)),-1)+1
|
---|
29 | ;It is important to know when the user purges cm associations related
|
---|
30 | ;to an exam. In this case, we want to audit file to track subsequent
|
---|
31 | ;cm purge events ignoring the case when the user initially associates
|
---|
32 | ;cm with an exam.
|
---|
33 | I RAD3=1,RATRKCMB="" K RAD3 Q
|
---|
34 | S RAIENS="+"_RAD3_","_RACNI_","_RADTI_","_RADFN_","
|
---|
35 | S RASFM(70.16,RAIENS,.01)=+$E($$NOW^XLFDT(),1,12)
|
---|
36 | S RASFM(70.16,RAIENS,2)=RATRKCMB
|
---|
37 | S RASFM(70.16,RAIENS,3)=$G(DUZ)
|
---|
38 | D UPDATE^DIE("","RASFM","RAD3") K RAD3,RAIENS,RASFM
|
---|
39 | Q
|
---|
40 | ;
|
---|
41 | UPPCM(DA,X) ;Check that if contrast media data is associated with this
|
---|
42 | ;procedure that the 'CONTRAST MEDIA USED' (#20) field is set
|
---|
43 | ;to 'Yes'. If contrast media data is not associated with this
|
---|
44 | ;procedure check that the 'CONTRAST MEDIA USED' field is set
|
---|
45 | ;to 'No'. Called immediately after exiting the 'RA PROCEDURE EDIT'
|
---|
46 | ;input template in RAMAIN2.
|
---|
47 | ;
|
---|
48 | ;input: DA=IEN of the record in file 71
|
---|
49 | ; X=the internal value; 'N' - No, 'Y' - Yes, or '@' - delete
|
---|
50 | ;
|
---|
51 | K RASFM S RASFM(71,DA_",",20)=X
|
---|
52 | D UPDATE^DIE("","RASFM") K RASFM
|
---|
53 | Q
|
---|
54 | ;
|
---|
55 | CMINTEG(DA,X) ;ensure data consistency between the 'CONTRAST MEDIA USED' &
|
---|
56 | ;'CONTRAST MEDIA' fields for file 71.
|
---|
57 | ;
|
---|
58 | ;input: DA=ien of the record in file 71
|
---|
59 | ; X=zero node of RAD/NUC MED PROCEDURE record
|
---|
60 | S RACM471=$O(^RAMIS(71,DA,"CM",0))
|
---|
61 | I RACM471,$P(X,U,20)'="Y" D ;cm assoc, contrast media used 'no'
|
---|
62 | .W !!?3,"'"_$E($P(X,U),1,45)_"' has contrast media associations:"
|
---|
63 | .S RAI=0 F S RAI=$O(^RAMIS(71,DA,"CM",RAI)) Q:'RAI D ;display CM
|
---|
64 | ..S RAI(0)=$G(^RAMIS(71,DA,"CM",RAI,0))
|
---|
65 | ..W !?5,$$EXTERNAL^DILFD(71.0125,.01,"",$P(RAI(0),U))
|
---|
66 | ..Q
|
---|
67 | .W !?3,"Updating the 'CONTRAST MEDIA USED' field to 'Yes'."
|
---|
68 | .D UPPCM(DA,"Y") K RAI
|
---|
69 | .Q
|
---|
70 | I 'RACM471,$P(X,U,20)="Y" D ;no cm assoc, contrast media used 'yes'
|
---|
71 | .W !!?3,"'"_$E($P(X,U),1,45)_"' doesn't have contrast media associations;"
|
---|
72 | .W !?3,"updating the 'CONTRAST MEDIA USED' field to 'No'."
|
---|
73 | .D UPPCM(DA,"N")
|
---|
74 | .Q
|
---|
75 | K RACM471 Q
|
---|
76 | ;
|
---|
77 | XCMINTEG(DA) ;ensure data consistency between the 'CONTRAST MEDIA USED' &
|
---|
78 | ;'CONTRAST MEDIA' fields for file 70.
|
---|
79 | ;
|
---|
80 | ;input: DA=ien of the record in file 70 array; DA, DA(1), & DA(2)
|
---|
81 | ;
|
---|
82 | S RAXCM0=$G(^RADPT(DA(2),"DT",DA(1),"P",DA,0))
|
---|
83 | S RAXCMP=$P(RAXCM0,U,2),RAXCMP=$$EXTERNAL^DILFD(70.03,2,"",RAXCMP)
|
---|
84 | S RACM470=$O(^RADPT(DA(2),"DT",DA(1),"P",DA,"CM",0))
|
---|
85 | I RACM470,$P(RAXCM0,U,10)'="Y" D ;cm assoc, contrast media used 'no'
|
---|
86 | .W !!?3,"'"_$E(RAXCMP,1,45)_"' has contrast media associations:"
|
---|
87 | .S RAI=0
|
---|
88 | .F S RAI=$O(^RADPT(DA(2),"DT",DA(1),"P",DA,"CM",RAI)) Q:'RAI D ;display CM
|
---|
89 | ..S RAI(0)=$G(^RADPT(DA(2),"DT",DA(1),"P",DA,"CM",RAI,0))
|
---|
90 | ..W !?5,$$EXTERNAL^DILFD(70.3225,.01,"",$P(RAI(0),U))
|
---|
91 | ..Q
|
---|
92 | .W !?3,"Updating the 'CONTRAST MEDIA USED' field to 'Yes'."
|
---|
93 | .D UPXCM^RAMAINU(.DA,"Y") K RAI
|
---|
94 | .Q
|
---|
95 | I 'RACM470,$P(RAXCM0,U,10)="Y" D ;no cm assoc, contrast media used 'yes'
|
---|
96 | .W !!?3,"'"_$E(RAXCMP,1,45)_"' doesn't have contrast media associations;"
|
---|
97 | .W !?3,"updating the 'CONTRAST MEDIA USED' field to 'No'."
|
---|
98 | .D UPXCM^RAMAINU(.DA,"N")
|
---|
99 | .Q
|
---|
100 | K RACM470,RAXCM0,RAXCMP Q
|
---|
101 | ;
|
---|