[613] | 1 | PPPFMX1 ;ALB/JP - XREF CODES FOR PPP;01-DEC-92
|
---|
| 2 | ;;V1.0;PHARMACY PRESCRIPTION PRACTICE;;APR 7,1995
|
---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | AC(IFN,SET,FNUM,OLDX) ;AC* XREF FOR FFX file (#1020.2)
|
---|
| 5 | ;INPUT : IFN - Internal file number of record
|
---|
| 6 | ; SET - If 1, set cross reference
|
---|
| 7 | ; If 0, kill cross reference (DEFAULT)
|
---|
| 8 | ; FNUM - Only valid for KILLS
|
---|
| 9 | ; The field number that was changed
|
---|
| 10 | ; OLDX - Only valid for KILLS
|
---|
| 11 | ; The previous value
|
---|
| 12 | ;OUTPUT : 0 - Cross reference was set/killed
|
---|
| 13 | ; -1 - Cross reference not set/killed
|
---|
| 14 | ; -2 - Bad input
|
---|
| 15 | ;
|
---|
| 16 | ; -- CHECK INPUT & RECORD EXISTANCE
|
---|
| 17 | Q:($G(IFN)="") -2
|
---|
| 18 | S SET=+$G(SET)
|
---|
| 19 | Q:('$D(^PPP(1020.2,IFN))) -2
|
---|
| 20 | Q:(('SET)&('$D(FNUM))&('$D(OLDX))) -2
|
---|
| 21 | ; -- DECLARE VARIABLES
|
---|
| 22 | N PATPTR,DOMAIN,ZERO,ONE
|
---|
| 23 | ; -- GET INFO FOR XREF & QUIT IF ANY PART IS NULL
|
---|
| 24 | S ZERO=$G(^PPP(1020.2,IFN,0))
|
---|
| 25 | Q:(ZERO="") -1
|
---|
| 26 | ;
|
---|
| 27 | S ONE=$G(^PPP(1020.2,IFN,1))
|
---|
| 28 | Q:(ONE="") -1
|
---|
| 29 | ;
|
---|
| 30 | S PATPTR=$P(ZERO,"^",1)
|
---|
| 31 | I ('SET) S:(FNUM=.01) PATPTR=OLDX
|
---|
| 32 | Q:(PATPTR="") -1
|
---|
| 33 | ;
|
---|
| 34 | S DOMAIN=$P(ONE,"^",5)
|
---|
| 35 | I ('SET) S:(FNUM=1.5) DOMAIN=OLDX
|
---|
| 36 | Q:(DOMAIN="") -1
|
---|
| 37 | ;
|
---|
| 38 | ; -- SET XREF
|
---|
| 39 | S:(SET) ^PPP(1020.2,"AC",PATPTR,DOMAIN,IFN)=""
|
---|
| 40 | ; -- KILL X-REF
|
---|
| 41 | K:('SET) ^PPP(1020.2,"AC",PATPTR,DOMAIN,IFN)
|
---|
| 42 | Q 0
|
---|
| 43 | ;
|
---|