source: FOIAVistA/trunk/r/PATIENT_DATA_EXCHANGE-VAQ/VAQUTL3.m@ 1800

Last change on this file since 1800 was 628, checked in by George Lilly, 15 years ago

initial load of FOIAVistA 6/30/08 version

File size: 2.9 KB
Line 
1VAQUTL3 ;ALB/JRP - UTILITY ROUTINES;30-APR-93
2 ;;1.5;PATIENT DATA EXCHANGE;;NOV 17, 1993
3TRANENC(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 ;
52DUZKEY(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 ;
73NAMEKEY(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
Note: See TracBrowser for help on using the repository browser.