Understanding Diabetes
Diabetes is a chronic condition that affects how your body...
--- name: fullstory-healthcare version: v2 description: Industry-specific guide for implementing Fullstory in healthcare applications while maintaining HIPAA compliance. Covers PHI protection, patient portal UX, telehealth flows, appointment scheduling, and EHR integrations. Emphasizes that most healthcare data requires exclusion, not just masking, with detailed examples for compliant implementations. related_skills: - fullstory-privacy-controls - fullstory-privacy-strategy - fullstory-user-consent - fullstory-identify-users - fullstory-capture-control --- # Fullstory for Healthcare > ⚠️ **LEGAL DISCLAIMER**: This guidance is for educational purposes only and does not constitute legal, compliance, or regulatory advice. Healthcare regulations (HIPAA, HITECH, state privacy laws) are complex, jurisdiction-specific, and subject to change. Always consult with your legal, compliance, privacy officer, and security teams before implementing any data capture solution. Your organization is responsible for ensuring compliance with all applicable regulations. ## Industry Overview Healthcare has the most stringent requirements for session analytics due to: - **HIPAA compliance**: Protected Health Information (PHI) requires strict handling - **Patient trust**: Breach of medical data is particularly harmful - **Regulated entities**: Covered entities and business associates have legal obligations - **BAA requirement**: Business Associate Agreement required with Fullstory ### Critical Understanding > **In healthcare, the default should be EXCLUDE, not mask or unmask.** > > Even seemingly innocuous data can become PHI when combined with other information. Err on the side of caution. ### Highly Recommended: Private by Default Mode For healthcare applications, **Fullstory's Private by Default mode is essential**: ``` ┌─────────────────────────────────────────────────────────────────┐ │ HEALTHCARE: Enable Private by Default │ │ │ │ • All text masked by default - no accidental PHI capture │ │ • Selectively unmask ONLY navigation and generic UI │ │ • Combined with fs-exclude for regulated areas │ │ • Contact Fullstory Support to enable │ └─────────────────────────────────────────────────────────────────┘ ``` > **Reference**: [Fullstory Private by Default](https://help.fullstory.com/hc/en-us/articles/360044349073-Fullstory-Private-by-Default) ### Key Goals for Healthcare Implementations 1. **Improve patient portal UX** without capturing PHI 2. **Optimize appointment scheduling** flows 3. **Reduce friction** in telehealth experiences 4. **Understand navigation patterns** for health content 5. **Never compromise** patient privacy --- ## HIPAA Framework ### What Constitutes PHI? PHI (Protected Health Information) includes any health information that can be linked to an individual: | PHI Category | Examples | Fullstory Handling | |--------------|----------|-------------------| | **Names** | Patient, provider, family | fs-exclude (not mask!) | | **Geographic data** | Address, city, ZIP | fs-exclude | | **Dates** | DOB, admission, discharge, appointment | fs-exclude | | **Contact info** | Phone, fax, email | fs-exclude | | **Identifiers** | SSN, MRN, insurance ID | fs-exclude | | **Health conditions** | Diagnoses, symptoms | fs-exclude | | **Treatments** | Medications, procedures | fs-exclude | | **Providers** | Doctor names, specialties | fs-exclude | | **Test results** | Lab values, imaging | fs-exclude | | **Images** | Photos, scans, ID documents | fs-exclude | | **Biometrics** | Height, weight, vitals | fs-exclude | | **Insurance** | Plan, member ID, claims | fs-exclude | ### HIPAA De-Identification Standards HIPAA provides two methods for de-identification. Understanding these helps clarify what Fullstory can/cannot capture: | Method | Approach | Fullstory Implication | |--------|----------|----------------------| | **Safe Harbor** | Remove 18 specific identifiers | Cannot rely on this—FS captures too much visual data | | **Expert Determination** | Statistical/scientific analysis | Requires formal expert certification; impractical for session replay | **Key Point**: Neither de-identification method is practical for session replay. This is why **exclusion (not just masking)** is required for healthcare. ``` The 18 Safe Harbor Identifiers (all require EXCLUSION): ├── Names ├── Geographic data (smaller than state) ├── Dates (except year) - birth, admission, discharge, death ├── Phone numbers ├── Fax numbers ├── Email addresses ├── Social Security numbers ├── Medical record numbers ├── Health plan beneficiary numbers ├── Account numbers ├── Certificate/license numbers ├── Vehicle identifiers ├── Device identifiers ├── Web URLs ├── IP addresses ├── Biometric identifiers ├── Full-face photographs └── Any other unique identifying characteristic ``` ### HIPAA Minimum Necessary Standard Only capture what is absolutely necessary for UX analysis: ``` ┌─────────────────────────────────────────────────────────────────┐ │ WHAT YOU CAN CAPTURE (Limited) │ ├─────────────────────────────────────────────────────────────────┤ │ ✓ Navigation patterns (which pages visited) │ │ ✓ Error occurrences (not error details) │ │ ✓ Form completion rates (not form contents) │ │ ✓ Button clicks (which buttons, not data submitted) │ │ ✓ Page load times │ │ ✓ Device/browser information │ │ ✓ Session duration (generic) │ ├─────────────────────────────────────────────────────────────────┤ │ WHAT YOU CANNOT CAPTURE │ ├─────────────────────────────────────────────────────────────────┤ │ ✗ Any patient information │ │ ✗ Any provider information │ │ ✗ Any health/medical content │ │ ✗ Appointment details │ │ ✗ Insurance information │ │ ✗ Messages between patient and provider │ │ ✗ Test results, diagnoses, medications │ │ ✗ Images of any kind (could show PHI) │ └─────────────────────────────────────────────────────────────────┘ ``` --- ## Implementation Architecture ### Privacy Zones for Healthcare ``` ┌─────────────────────────────────────────────────────────────────┐ │ HEALTHCARE APPLICATION │ ├─────────────────────────────────────────────────────────────────┤ │ LIMITED VISIBLE (fs-unmask) - Be very careful │ │ • Main navigation menu │ │ • Generic page titles ("My Appointments" not appointment list) │ │ • Action buttons (text only, not data) │ │ • Generic UI elements │ │ • Public health information pages │ ├─────────────────────────────────────────────────────────────────┤ │ NEVER USE MASK IN HEALTHCARE │ │ • Masking is NOT sufficient for HIPAA │ │ • Even masked text structure could reveal PHI │ │ • Example: Masked 3-word name = still identifiable │ ├─────────────────────────────────────────────────────────────────┤ │ MUST EXCLUDE (fs-exclude) - Default for healthcare │ │ • ALL patient information │ │ • ALL provider information │ │ • ALL appointment details │ │ • ALL medical content │ │ • ALL messaging │ │ • ALL forms with health data │ │ • ALL test results │ │ • ALL images │ │ • ALL search queries (could contain symptoms) │ └─────────────────────────────────────────────────────────────────┘ ``` ### Recommended Approach: Default Exclude ```javascript // Healthcare: Consider using Private by Default mode // Then selectively unmask ONLY navigation elements // If not using Private by Default, add fs-exclude to almost everything ``` ### User Identification Pattern ```javascript // Healthcare: Use session-only identification // DO NOT link sessions to patient identity // Option 1: Don't identify at all (safest) // Just use anonymous Fullstory sessions // Option 2: Session-only identifier FS('setIdentity', { uid: generateSessionId() // Random per session, no linking }); // Option 3: Hashed, non-reversible ID (consult legal first) // Only if you have explicit patient consent FS('setIdentity', { uid: sha256(patient.mrn + salt) // Irreversible hash }); // MINIMAL properties - no PHI FS('setProperties', { type: 'user', properties: { // Only non-PHI operational data portal_type: 'patient', // or "provider", "admin" access_method: 'direct', // or "sso", "mobile_app" // NOTHING about the patient: // No demographics, no conditions, no providers, no appointments } }); ``` --- ## Page-Specific Implementations ### Public Health Information Pages ```html
Diabetes is a chronic condition that affects how your body...
Dec 15, 2024 at 2:00 PM
Dr. Sarah Johnson
Annual Physical
Main Campus, Room 302
Internal Medicine
Accepting new patients
Your provider will be with you shortly.
Appointment with Dr. Johnson
Mental Health Follow-up
Date: Nov 15, 2024
Ordered by: Dr. Johnson
| WBC | 7.5 | Normal |
| RBC | 4.8 | Normal |
| Hemoglobin | 14.2 | Normal |
Nov 10, 2024 - Dr. Johnson
Diagnosis: Type 2 Diabetes
Treatment Plan: Diet modification, Metformin 500mg
Current Balance: $250.00
Insurance Pending: $500.00
Nov 15, 2024
Service: Laboratory Services
Provider: Dr. Johnson
Amount: $150.00
Insurance: Pending