| 1 | LRBLDRR3 ;DALISC/CYM   DONOR AUDIT TRAIL ; 2/26/96  14:30
 | 
|---|
| 2 |  ;;5.2;LAB SERVICE;**90,247**;Sep 27, 1994
 | 
|---|
| 3 |  ;Per VHA Directive 97-033 this routine should not be modified.  Medical Device # BK970021
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 |  ; Routine called by file 65.5 input template LRBLDCP
 | 
|---|
| 6 |  ; Multiple field arrays are built and totaled before and after
 | 
|---|
| 7 |  ; editing LRBLDCP to be used for comparison.  If total after
 | 
|---|
| 8 |  ; editing is less than before editing, then the appropriate
 | 
|---|
| 9 |  ; fields contained in the deleted node are put onto the
 | 
|---|
| 10 |  ; audit trail for Blood Bank
 | 
|---|
| 11 |  ;
 | 
|---|
| 12 | BEG ; Counts all donation dates for a patient before editing and puts 
 | 
|---|
| 13 |  ; into an array.  Then counts total to be used for comparison later.
 | 
|---|
| 14 |  S (LRDATE,BEGDATE)=0
 | 
|---|
| 15 |  F  S LRDATE=$O(^LRE(LRDONOR,5,LRDATE)) Q:LRDATE'>0  S BEGDATE=BEGDATE+1,BEG(LRDATE)=^LRE(LRDONOR,5,LRDATE,0)
 | 
|---|
| 16 |  Q
 | 
|---|
| 17 | DEL ; Counts all donation dates for a patient after editing.  If the
 | 
|---|
| 18 |  ; total after editing is less than the total before editing,
 | 
|---|
| 19 |  ; the original deleted data is put into the audit trail.
 | 
|---|
| 20 |  S (LRDATE,AFTDATE)=0
 | 
|---|
| 21 |  F  S LRDATE=$O(^LRE(LRDONOR,5,LRDATE)) Q:LRDATE'>0  S AFTDATE=AFTDATE+1
 | 
|---|
| 22 |  I AFTDATE<BEGDATE D
 | 
|---|
| 23 |  . Q:'$D(NODE)
 | 
|---|
| 24 |  . S O=$P(NODE,U),Z="65.54,.01" D AUDIT
 | 
|---|
| 25 |  . S O=$P(NODE,U,2),Z="65.54,1" D AUDIT
 | 
|---|
| 26 |  . S O=$P(NODE,U,3),Z="65.54,3" D AUDIT
 | 
|---|
| 27 |  . S O=$P(NODE,U,4),Z="65.54,4" D AUDIT
 | 
|---|
| 28 |  . S O=$P(NODE,U,5),Z="65.54,5" D AUDIT
 | 
|---|
| 29 |  . S O=$P(NODE,U,6),Z="65.54,.02" D AUDIT
 | 
|---|
| 30 |  . S O=$P(NODE,U,7),Z="65.54,.03" D AUDIT
 | 
|---|
| 31 |  . S O=$P(NODE,U,8),Z="65.54,.011" D AUDIT
 | 
|---|
| 32 |  . S O=$P(NODE,U,9),Z="65.54,6" D AUDIT
 | 
|---|
| 33 |  . S O=$P(NODE,U,10),Z="65.54,6.1" D AUDIT
 | 
|---|
| 34 |  . S O=$P(NODE,U,11),Z="65.54,1.1" D AUDIT
 | 
|---|
| 35 |  . S O=$P(NODE,U,12),Z="65.54,1.2" D AUDIT
 | 
|---|
| 36 |  . Q:'$D(NODE1)
 | 
|---|
| 37 |  . S O=$P(NODE1,U),Z="65.54,4.1" D AUDIT
 | 
|---|
| 38 |  . S O=$P(NODE1,U,2),Z="65.54,4.2" D AUDIT
 | 
|---|
| 39 |  . S O=$P(NODE1,U,3),Z="65.54,4.3" D AUDIT
 | 
|---|
| 40 |  . S O=$P(NODE1,U,4),Z="65.54,4.4" D AUDIT
 | 
|---|
| 41 |  . S O=$P(NODE1,U,5),Z="65.54,4.5" D AUDIT
 | 
|---|
| 42 |  . S O=$P(NODE1,U,6),Z="65.54,4.6" D AUDIT
 | 
|---|
| 43 |  . S O=$P(NODE1,U,7),Z="65.54,4.7" D AUDIT
 | 
|---|
| 44 |  . S O=$P(NODE1,U,8),Z="65.54,4.8" D AUDIT
 | 
|---|
| 45 |  . S O=$P(NODE1,U,9),Z="65.54,4.11" D AUDIT
 | 
|---|
| 46 |  . S O=$P(NODE1,U,10),Z="65.54,4.15" D AUDIT
 | 
|---|
| 47 |  Q
 | 
|---|
| 48 |  ;
 | 
|---|
| 49 | AUDIT I O]"" S X="Deleted" D EN^LRUD
 | 
|---|
| 50 |  Q
 | 
|---|