source: FOIAVistA/trunk/r/PATIENT_DATA_EXCHANGE-VAQ/VAQUTL2.m@ 812

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

initial load of FOIAVistA 6/30/08 version

File size: 3.5 KB
Line 
1VAQUTL2 ;ALB/JRP - UTILITY ROUTINES;30-APR-93
2 ;;1.5;PATIENT DATA EXCHANGE;**5**;NOV 17, 1993
3NCRYPTON(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 ;
39NCRPFLD(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 ;
59ENCMTHD(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 ;
76DEFENC(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)
Note: See TracBrowser for help on using the repository browser.