| 1 | VAQUTL3 ;ALB/JRP - UTILITY ROUTINES;30-APR-93
|
---|
| 2 | ;;1.5;PATIENT DATA EXCHANGE;;NOV 17, 1993
|
---|
| 3 | TRANENC(TRAN,RET) ;DETERMINE IF ENCRYPTION FOR A TRANSACTION IS TURNED ON
|
---|
| 4 | ;INPUT : TRAN - Pointer to VAQ - TRANSACTION file
|
---|
| 5 | ; RET - Flag indicating what to return
|
---|
| 6 | ; 0 = Return 1 if encryption is on (default flag)
|
---|
| 7 | ; Return 0 if encryption is off
|
---|
| 8 | ; 1 = Return pointer to VAQ - ENCRYPTION METHOD file
|
---|
| 9 | ; Return 0 if encryption is off
|
---|
| 10 | ; 2 = Return encryption method
|
---|
| 11 | ; Return NULL if encryption is off
|
---|
| 12 | ; 3 = Return type of encryption
|
---|
| 13 | ; Return NULL if encryption is off
|
---|
| 14 | ;OUTPUT : See definition of RET
|
---|
| 15 | ;NOTES : Existance of VAQIGNC will be checked. If it exists and is
|
---|
| 16 | ; set to 1 encryption will be ignored for this transaction.
|
---|
| 17 | ; : If encryption is on and the transaction does not include
|
---|
| 18 | ; an encryption method, the default encryption method will
|
---|
| 19 | ; be used.
|
---|
| 20 | ; : Encryption off will be returned on error.
|
---|
| 21 | ;
|
---|
| 22 | ;CHECK INPUT
|
---|
| 23 | S RET=+$G(RET)
|
---|
| 24 | Q:('(+$G(TRAN))) $S((RET>1):"",1:0)
|
---|
| 25 | Q:('$D(^VAT(394.61,TRAN))) $S((RET>1):"",1:0)
|
---|
| 26 | ;CHECK VAQIGNC
|
---|
| 27 | Q:($G(VAQIGNC)) $S((RET>1):"",1:0)
|
---|
| 28 | ;DECLARE VARIABLES
|
---|
| 29 | N TMP,MTHD
|
---|
| 30 | ;CHECK ENCRYPTION FIELD
|
---|
| 31 | S TMP=$G(^VAT(394.61,TRAN,"NCRPT"))
|
---|
| 32 | S MTHD=+$P(TMP,"^",2)
|
---|
| 33 | S TMP=+TMP
|
---|
| 34 | ;ENCRYPTION OFF
|
---|
| 35 | Q:('TMP) $S((RET>1):"",1:0)
|
---|
| 36 | ;RETURN ENCRYPTION ON
|
---|
| 37 | Q:('RET) 1
|
---|
| 38 | ;ENCRYPTION METHOD NOT THERE
|
---|
| 39 | I ('MTHD) D Q MTHD
|
---|
| 40 | .S TMP=$S((RET=2):0,1:1)
|
---|
| 41 | .S MTHD=$$DEFENC^VAQUTL2(0,TMP)
|
---|
| 42 | .Q:(RET'=3)
|
---|
| 43 | .I ('MTHD) S MTHD="" Q
|
---|
| 44 | .S MTHD=$P($G(^VAT(394.72,MTHD,0)),"^",1)
|
---|
| 45 | ;RETURN POINTER
|
---|
| 46 | Q:(RET=1) MTHD
|
---|
| 47 | ;RETURN METHOD
|
---|
| 48 | Q:(RET=2) $$ENCMTHD^VAQUTL2(MTHD,0)
|
---|
| 49 | ;RETURN TYPE
|
---|
| 50 | Q:(RET=3) $P($G(^VAT(394.72,MTHD,0)),"^",1)
|
---|
| 51 | ;
|
---|
| 52 | DUZKEY(USER,PRIME) ;DETERMINE PRIMARY/SECONDARY KEY VALUES
|
---|
| 53 | ;INPUT : USER - Pointer to NEW PERSON file (defaults to DUZ)
|
---|
| 54 | ; PRIME - Indicates which key to return
|
---|
| 55 | ; If 1, returns primary key
|
---|
| 56 | ; If 0, returns secondary key (default)
|
---|
| 57 | ;OUTPUT : The primary/secondary key value
|
---|
| 58 | ; NULL - Error
|
---|
| 59 | ;
|
---|
| 60 | ;CHECK INPUT
|
---|
| 61 | S:('(+$G(USER))) USER=+$G(DUZ)
|
---|
| 62 | S PRIME=+$G(PRIME)
|
---|
| 63 | ;DECLARE VARIABLES
|
---|
| 64 | N X,Y
|
---|
| 65 | ;DETERMINE KEYS
|
---|
| 66 | S X=$P($G(^VA(200,USER,0)),"^",1)
|
---|
| 67 | Q:(X="") ""
|
---|
| 68 | S:((USER=.5)!(X="POSTMASTER")) X="PDX Server"
|
---|
| 69 | D:('PRIME) HASH^XUSHSHP
|
---|
| 70 | X ^%ZOSF("LPC")
|
---|
| 71 | Q Y
|
---|
| 72 | ;
|
---|
| 73 | NAMEKEY(USER,PRIME) ;DETERMINE PRIMARY/SECONDARY KEY VALUES
|
---|
| 74 | ;INPUT : USER - Name of user (defaults to current user)
|
---|
| 75 | ; PRIME - Indicates which key to return
|
---|
| 76 | ; If 1, returns primary key
|
---|
| 77 | ; If 0, returns secondary key (default)
|
---|
| 78 | ;OUTPUT : The primary/secondary key value
|
---|
| 79 | ; NULL - Error
|
---|
| 80 | ;
|
---|
| 81 | ;CHECK INPUT
|
---|
| 82 | I ($G(USER)="") S USER=+$G(DUZ) Q:(USER="") S USER=$P($G(^VA(200,USER,0)),"^",1)
|
---|
| 83 | Q:(USER="") ""
|
---|
| 84 | S PRIME=+$G(PRIME)
|
---|
| 85 | ;DECLARE VARIABLES
|
---|
| 86 | N X,Y
|
---|
| 87 | ;DETERMINE KEYS
|
---|
| 88 | S X=USER
|
---|
| 89 | S:(X="POSTMASTER") X="PDX Server"
|
---|
| 90 | Q:(X="") ""
|
---|
| 91 | D:('PRIME) HASH^XUSHSHP
|
---|
| 92 | X ^%ZOSF("LPC")
|
---|
| 93 | Q Y
|
---|