2 Replies Latest reply on May 29, 2014 10:18 AM by GiulioDidiodato

    Security settings with extended privileges

    GiulioDidiodato

      Title

      Security settings with extended privileges

      Post

           Hello

           I have created a database that 5 separate hospitals will use to collect similar patient health data

           I have created a single table for all the patient health data variables

           In the layout where this data is collected, I have created an extended privilege set using 'limited' functionality (for field 'hospital') for each hospital such that each hospital can view its own patient data but not the patient data of any other hospital

           Now i want to create a layout where the anonymized and aggregated patient data can be searched by the patient data fields by anyone and everyone can view any hospital's data so that they can make inter-hospital comparisons.  So for example, by searching the data fields hospital, gender and age, anyone can see what the aggregated values are for specific outcomes that have been calculated from the initial data entries 

           The problem i am having is that the initial restriction that i created to limit viewing to only your own hospital for data entry of patient-level data seems to carry over into the aggregated patient data layout, and I don't know how to solve this issue

           Would appreciate some guidance on this issue

           Thanks 

        • 1. Re: Security settings with extended privileges
          philmodjunk

               Record Level Access control limits the user's access to specific records and this limit holds for all layouts in your database file.

               There are two possible fixes that I can think of:

               a) Separate the data in this table into two related tables. The data that must be kept private should be kept in the current table and be protected with your current security set up. But the data that can be presented in an "anonymized" fashion would be kept in the related table (linked one to one by PatientID). SInce this is now a different table, you can set different access permissions for this data.

               b) You may be able to modify the "lock" expression to check the contents of a global variable as part of the expression. You can then "unlock" access to the table by setting the global variable to a different value. The OnLayoutEnter trigger could perform a script to modify the value in this variable to "unlock" access to the data and an OnLayoutExit trigger performed script can return the variable to it's original value to lock it back up again.

               The first option is a lot more work to set up, but also offers a much more secure control over access to the data.

          • 2. Re: Security settings with extended privileges
            GiulioDidiodato

                 Thanks for your suggestions

                  

                 I used your 2 related tables approach and the solution works perfectly

                  

                 Much appreciated