[613] | 1 | RAXREF ;HISC/DAD-EXECUTE SET AND KILL XREF'S ;8/22/96 15:02
|
---|
| 2 | ;;5.0;Radiology/Nuclear Medicine;;Mar 16, 1998
|
---|
| 3 | ; REQUIRED VARIABLES
|
---|
| 4 | ; RADICT = DATA DICTIONARY NUMBER
|
---|
| 5 | ; RAFLD = FIELD NUMBER IN THE ABOVE DD
|
---|
| 6 | ; RAX = FIELD VALUE TO BE CROSS REFERENCED
|
---|
| 7 | ; DA = DA or DA array
|
---|
| 8 | ENKILL(RADICT,RAFLD,RAX,DA) ;
|
---|
| 9 | ; *** Execute a field's cross reference kill logic
|
---|
| 10 | D CHECK I RAEXIT D EXIT Q
|
---|
| 11 | S RAXSAV=RAX
|
---|
| 12 | F RAXREF=0:0 S RAXREF=$O(^DD(RADICT,RAFLD,1,RAXREF)) Q:RAXREF'>0 S X=RAXSAV X:$D(^DD(RADICT,RAFLD,1,RAXREF,2))#2 ^(2)
|
---|
| 13 | D EXIT
|
---|
| 14 | Q
|
---|
| 15 | ENSET(RADICT,RAFLD,RAX,DA) ;
|
---|
| 16 | ; *** Execute a field's cross reference set logic
|
---|
| 17 | D CHECK I RAEXIT D EXIT Q
|
---|
| 18 | S RAXSAV=RAX
|
---|
| 19 | F RAXREF=0:0 S RAXREF=$O(^DD(RADICT,RAFLD,1,RAXREF)) Q:RAXREF'>0 S X=RAXSAV X:$D(^DD(RADICT,RAFLD,1,RAXREF,1))#2 ^(1)
|
---|
| 20 | D EXIT
|
---|
| 21 | Q
|
---|
| 22 | EXIT ; Kill and quit
|
---|
| 23 | K RAEXIT,RAXREF,RAXSAV
|
---|
| 24 | Q
|
---|
| 25 | CHECK ; Check if parameters are valid
|
---|
| 26 | S RAEXIT=$S($D(DA)[0:1,$D(RAX)[0:1,$D(RADICT)[0:1,$D(RAFLD)[0:1,RAX="":1,RADICT'>0:1,RAFLD'>0:1,1:0)
|
---|
| 27 | Q
|
---|