I'd really like to implement Google Analytics at my work on web software that is required to be HIPAA compliant. But I'm wondering if it's against the rules. Does anyone know how I can find out? I've searched Google, but there isn't much there on the subject. In the mean time I'm going to be reading up on HIPAA Privacy.
Our system is used to manage healthcare documents and PDFs. There's no specific patient information, but there is information relating to certain plans to a specific client/company might have. All we would like to do with Analytics is determine the browsers using our system, what documents are most frequently used and what times of the day we're the busiest. We have no intention of collecting any other information.
We would probably end up using custom event reporting as well.
Update: I'm going to do some more research, but wanted to post this link which was extremely helpful: http://www.hipaa.com/2009/09/hipaa-protected-health-information-what-does-phi-include/
My Solution:
Since I only need to track custom events and basic user activity/browser data. What I ended up doing is embedding an iframe on the page
<iframe id="analyticsFrame" name="analyticsFrame" src="/analytics.htm" border="0" height="0" width="0"></iframe>
Source of analytics.htm:
<script type="text/javascript">
//keep analytics going gaining access to the top window
var top = null,
parent = null;
</script>
<script type="text/javascript" async="" src="https://ssl.google-analytics.com/ga.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-xxxxxxxx-xx']);
_gaq.push(['_setDomainName', 'domain.com']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[1]; s.parentNode.insertBefore(ga, s);
})();
</script>
Then I used a custom event recording function...
// see http://code.google.com/apis/analytics/docs/tracking/eventTrackerGuide.html for documentation
function trackEvent (eventType, action, label) {
if (document.getElementById('analyticsFrame')) {
self.frames['analyticsFrame']._gaq.push(['_trackEvent', eventType, action, label]);
}
}
The whole idea is to try to lock GA out of the main window, limiting it to within the iframe so it can still gather data on users, but nothing related to the content. Then I record whatever events I want to record.