Healthcare runs on admin. Every appointment booked, every insurance claim filed, every referral sent, every compliance form filled. It all produces data that has to live somewhere. For most small practices, that "somewhere" is a patchwork of paper files, shared inboxes, and disconnected software tools that cost more than they should.
A full EMR system runs $30,000 to $70,000 per year for a small clinic. That includes licensing, implementation, training, and the inevitable customization fees. For a 5-person practice doing $800K in annual revenue, that's a brutal line item.
Here's what most practice managers don't realize: Google Workspace is HIPAA-eligible. And Google Sheets, set up correctly inside that environment, handles the vast majority of operational data management that small healthcare teams actually need.
Google Workspace and HIPAA: What the BAA Covers
Google offers a Business Associate Agreement (BAA) for Google Workspace Enterprise, Business, and Education editions. When you sign the BAA, Google contractually commits to handling your data in accordance with HIPAA requirements. The BAA covers Gmail, Google Drive, Google Sheets, Docs, Calendar, and Meet.
A signed BAA doesn't automatically make your practice HIPAA-compliant. It means Google's infrastructure meets the technical safeguard requirements. Your organization is still responsible for administrative safeguards: access controls, workforce training, policies, and procedures.
Google handles encryption at rest and in transit, physical data center security, and infrastructure reliability. You handle who gets access, what they can see, and how your team uses the tools.
The practical takeaway: Google Sheets inside a BAA-covered Google Workspace account is a legitimate platform for managing protected health information (PHI), provided you implement proper access controls.
What You Can Build
Patient Scheduling and Appointment Management
A structured scheduling sheet with data validation, conditional formatting for appointment types, and automatic conflict detection. Staff see the full week at a glance. Apps Script sends confirmation and reminder emails automatically.
function sendAppointmentReminders() {
const sheet = SpreadsheetApp.getActiveSpreadsheet()
.getSheetByName("Appointments");
const data = sheet.getDataRange().getValues();
const tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);
data.forEach((row, i) => {
if (i === 0) return; // skip header
const apptDate = new Date(row[2]);
if (sameDay(apptDate, tomorrow) && row[5] !== "Cancelled") {
GmailApp.sendEmail(row[3],
"Appointment Reminder",
`Hi ${row[1]}, this is a reminder of your `
+ `appointment tomorrow at ${row[4]}.`
);
sheet.getRange(i + 1, 7).setValue("Reminder Sent");
}
});
}
Billing and Invoice Tracking
Track patient balances, insurance claims, payment status, and aging receivables in a single workbook. Auto-generate invoices as PDFs. Flag overdue accounts with conditional formatting.
=QUERY(Invoices!A:G,
"SELECT B, C, D, F, G
WHERE G = 'Unpaid'
AND DATEDIFF(TODAY(), D) > 30
ORDER BY D ASC", 1)
Referral Management
Track inbound and outbound referrals, referral sources, follow-up status, and conversion rates. Know which referring physicians send the most patients. Automate follow-up emails when a referral hasn't been scheduled within 48 hours.
Compliance and Audit Reporting
Maintain logs for OSHA compliance, staff certifications, equipment maintenance, and incident reporting. Auto-generate quarterly compliance summaries. Flag expiring certifications 60 days in advance.
The Data Sovereignty Argument
When you use a SaaS EMR, your patient data sits on their servers. You're trusting their security posture, their uptime, their business continuity. If that company gets acquired, shuts down, or gets breached, your patient data is along for the ride.
With Google Sheets inside your own Google Workspace:
- Your data lives in your Google Drive. You control it. You own it.
- You choose who has access at the file, folder, and organizational unit level.
- You can export everything to CSV, Excel, or PDF at any time. No vendor lock-in.
- Google's infrastructure has SOC 2, SOC 3, ISO 27001, ISO 27017, and ISO 27018 certifications. Most healthcare SaaS startups can't match that.
Security Features You Must Use
- 2-Step Verification (mandatory): enforce for all users, no exceptions
- Sharing restrictions: disable external sharing by default. Whitelist specific domains for referral partners.
- Data Loss Prevention (DLP): set rules to detect and block sharing of files containing SSNs or PHI identifiers outside your org
- Audit logging: Workspace admin console logs every file access, share, download, and edit
- Mobile device management: enforce screen locks, remote wipe, and encryption on any device accessing Workspace
- Session timeouts: unattended workstations shouldn't stay logged in indefinitely
These aren't suggestions. If you're handling PHI, these are the minimum.
When Google Sheets Is Not Enough
Honest assessment. There are things Sheets should not handle in healthcare:
- Clinical documentation: actual medical records, physician notes, clinical decision support need a proper EHR with structured clinical data models
- e-Prescribing: federal EPCS regulations require certified systems for electronic prescriptions
- Insurance claims submission: EDI requires specific 837/835 file formats that integrate with clearinghouses
- Lab integrations: HL7/FHIR interfaces for receiving lab results require dedicated healthcare integration engines
The line is clear: clinical workflows need clinical software. Operational workflows need operational tools. Google Sheets dominates the operational side: scheduling, billing tracking, inventory, staffing, compliance logging, reporting. These eat 60% of a practice manager's day.
Many practices run a lightweight EMR for clinical documentation alongside Google Sheets for everything else. That's not a compromise. It's smart architecture.
function generateWeeklyReport() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const certs = ss.getSheetByName("Certifications");
const data = certs.getDataRange().getValues();
const expiringSoon = data.filter((row, i) => {
if (i === 0) return false;
const expiry = new Date(row[3]);
const daysLeft = (expiry - new Date()) / 86400000;
return daysLeft > 0 && daysLeft <= 60;
});
if (expiringSoon.length > 0) {
const report = expiringSoon
.map(r => `${r[0]}: ${r[1]} expires ${r[3]}`)
.join("\n");
GmailApp.sendEmail("manager@yourclinic.com",
"Weekly Compliance Alert",
`${expiringSoon.length} certifications expiring `
+ `within 60 days:\n\n${report}`
);
}
}
Healthcare teams don't need more software. They need the software they already have to work harder.