I work with a company that sells medical supplies and equipment. As part of this, we retain patient information or Protected Health Information (PHI). What measures have you taken when providing access to this data in a database? Should developers be allowed unfettered access to the entire database, since it is part of their job, or are there measures to be taken to obscure or change data?
-
I'm a bit confused. So you sell directly to patients and retain info about them? And by ''developers'' you mean developers of the internal database, not of the equipment you sell?– nealmcbCommented Jan 7, 2011 at 3:16
-
1@nealmcb, it sounds like he sells to health providers, and as part of that they keep their customer's patients records. He's talking about the developers of the equipment, during the course of development and testing they use real data.– AviD ♦Commented Jan 7, 2011 at 6:36
-
I still can't see the justification of granting access to personal information that for any use case are confidential.– Phoenician-EagleCommented Jan 7, 2011 at 11:51
-
@AviD You are correct on the first count. The developers means the developers of the tools that we use to manage sales and patient information, as we have specific software tools we sell access to.– Ben DauphineeCommented Jan 7, 2011 at 20:16
1 Answer
Short answer: No, developers should not be allowed acces to PHI. But in order to let them work in an environment which correctly mirrors the real world, many do!
One of the options I used to see where the organisation had the capability was to provide developers with a sanitised copy of the live database.
Obviously this takes some resource
- you need a real development environment, not just one with pointers to a live database
- sanitisation is resource heavy and time consuming
- change management around the development and production environments and code promotion becomes critical
Just thought I'd update to give a little more info around sanitisation. For sensitive information this really means removing identifying information. I have seen this done by completing a full replace of names and account numbers by random (but unique) ones, or by carrying out a swap of data, so the names are no longer connected to the addresses and medical details which they started with. This is hard work - especially as you usually have to ensure the age and sex of each individual is appropriate (especially for medical databases) otherwise testing may get tricky (eg trying to track down use cases for a pregnant 90 year old man)
If your dev needs aren't as in depth, you could just provide a small database with made up data - much simpler, but not as close to real world conditions.