1 | VAQUTL2 ;ALB/JRP - UTILITY ROUTINES;30-APR-93
|
---|
2 | ;;1.5;PATIENT DATA EXCHANGE;**5**;NOV 17, 1993
|
---|
3 | NCRYPTON(RETMTHD) ;DETERMINE IF ENCRYPTION HAS BEEN TURNED ON
|
---|
4 | ;INPUT : RETMTHD - Flag indicating what to return
|
---|
5 | ; 0 = Return pointer to default encryption (default)
|
---|
6 | ; Return 0 if encryption is off
|
---|
7 | ; 1 = Return default encryption method
|
---|
8 | ; Return NULL if encryption is off
|
---|
9 | ; 2 = Return default encryption type
|
---|
10 | ; Return NULL if encryption is off
|
---|
11 | ;OUTPUT : See definition of RETMTHD
|
---|
12 | ;NOTES : Existance of VAQIGNC will be checked. If it exists and is
|
---|
13 | ; set to 1 encryption rules will be ignored.
|
---|
14 | ; : Encryption off will be returned on error
|
---|
15 | ;
|
---|
16 | ;CHECK INPUT
|
---|
17 | S RETMTHD=+$G(RETMTHD)
|
---|
18 | ;IGNORE FLAG TURNED ON
|
---|
19 | I (+$G(VAQIGNC)) Q $S(RETMTHD:"",1:0)
|
---|
20 | ;DECLARE VARIABLES
|
---|
21 | N X,Y
|
---|
22 | ;GET ENTRY IN PARAMETER FILE
|
---|
23 | S X=$O(^VAT(394.81,0))
|
---|
24 | ;COULDN'T FIND ENTRY IN PARAMETER - ASSUME ENCRYPTION IS OFF
|
---|
25 | Q:('X) $S(RETMTHD:"",1:0)
|
---|
26 | ;CHECK ENCRYPTION FLAG
|
---|
27 | S Y=$G(^VAT(394.81,X,"ECR"))
|
---|
28 | ;COULDN'T FIND ENCRYPTION FLAG - ASSUME ENCRYPTION IS OFF
|
---|
29 | Q:('Y) $S(RETMTHD:"",1:0)
|
---|
30 | ;ENCRYPTION TURNED ON
|
---|
31 | S X=+$P(Y,"^",2)
|
---|
32 | ;RETURN POINTER
|
---|
33 | Q:('RETMTHD) X
|
---|
34 | ;RETURN METHOD
|
---|
35 | Q:(RETMTHD=1) $$ENCMTHD(X,0)
|
---|
36 | ;RETURN TYPE
|
---|
37 | Q $P($G(^VAT(394.72,X,0)),"^",1)
|
---|
38 | ;
|
---|
39 | NCRPFLD(FILE,FIELD) ;DETERMINE IF A FILE/FIELD IS MARKED FOR ENCRYPTION
|
---|
40 | ;INPUT : FILE - File number
|
---|
41 | ; FIELD - Field number
|
---|
42 | ; VAQIGNC - Indicates if encryption rules should be ignored
|
---|
43 | ; If 1, ignore encryption rules (never encrypt)
|
---|
44 | ; If 0 or doesn't exist, obey encryption rules (default)
|
---|
45 | ;OUTPUT : 1 - File/field is marked for encryption
|
---|
46 | ; 0 - File/field not marked for encryption
|
---|
47 | ;
|
---|
48 | ;CHECK INPUT (ASSUME NOT MARKED ON ERROR)
|
---|
49 | S FILE=+$G(FILE)
|
---|
50 | S FIELD=+$G(FIELD)
|
---|
51 | Q:(('FILE)!('FIELD)) 0
|
---|
52 | ;IGNORE FLAG TURNED ON
|
---|
53 | Q:(+$G(VAQIGNC)) 0
|
---|
54 | ;NOT MARKED FOR ENCRYPTION
|
---|
55 | Q:('$D(^VAT(394.73,"A-NCRYPT",FILE,FIELD))) 0
|
---|
56 | ;MARKED
|
---|
57 | Q 1
|
---|
58 | ;
|
---|
59 | ENCMTHD(ENCPTR,DCRYPT) ;RETURN ENCRYPTION/DECRYPTION METHOD
|
---|
60 | ;INPUT : ENCPTR - Pointer to VAQ - ENCRYPTION METHOD file
|
---|
61 | ; DCRYPT - Indicates which method to return
|
---|
62 | ; If 0, return encryption method (default)
|
---|
63 | ; If 1, return decryption method
|
---|
64 | ;OUTPUT : The encryption/decryption method
|
---|
65 | ; NULL - Error
|
---|
66 | ;
|
---|
67 | ;CHECK INPUT
|
---|
68 | S ENCPTR=+$G(ENCPTR)
|
---|
69 | Q:('ENCPTR) ""
|
---|
70 | S DCRYPT=+$G(DCRYPT)
|
---|
71 | ;RETURN DECRYPTION METHOD
|
---|
72 | Q:(DCRYPT) $G(^VAT(394.72,ENCPTR,"DCR"))
|
---|
73 | ;RETURN ENCRYPTION METHOD
|
---|
74 | Q $G(^VAT(394.72,ENCPTR,"ECR"))
|
---|
75 | ;
|
---|
76 | DEFENC(DCRYPT,POINT) ;RETURN DEFAULT ENCRYPTION/DECRYPTION METHOD
|
---|
77 | ;INPUT : DCRYPT - Indicates which method to return
|
---|
78 | ; If 0, return encryption method (default)
|
---|
79 | ; If 1, return decryption method
|
---|
80 | ; POINT - Indicates if a pointer to VAQ - ENCRYPTION METHOD
|
---|
81 | ; file should be returned
|
---|
82 | ; If 0, return method (default)
|
---|
83 | ; If 1, return pointer to method
|
---|
84 | ;OUTPUT : If method is requested
|
---|
85 | ; The default encryption/decryption method
|
---|
86 | ; NULL - Error
|
---|
87 | ; If pointer is requested
|
---|
88 | ; Pointer to VAQ - ENCRYPTION METHOD
|
---|
89 | ; 0 - Error
|
---|
90 | ;
|
---|
91 | ;CHECK INPUT
|
---|
92 | S DCRYPT=+$G(DCRYPT)
|
---|
93 | S POINT=+$G(POINT)
|
---|
94 | ;DECLARE VARIABLES
|
---|
95 | N X,Y
|
---|
96 | ;GET ENTRY IN PARAMTER FILE
|
---|
97 | S X=$O(^VAT(394.81,0))
|
---|
98 | ;COULDN'T FIND ENTRY IN PARAMETER
|
---|
99 | Q:('X) ""
|
---|
100 | ;GET POINTER TO METHOD
|
---|
101 | S Y=$G(^VAT(394.81,X,"ECR"))
|
---|
102 | S Y=+$P(Y,"^",2)
|
---|
103 | ;POINTER TO METHOD DIDN'T EXIST
|
---|
104 | Q:('Y) $S(POINT:0,1:"")
|
---|
105 | ;RETURN POINTER
|
---|
106 | Q:(POINT) Y
|
---|
107 | ;RETURN METHOD
|
---|
108 | Q $$ENCMTHD(Y,DCRYPT)
|
---|