62 min readContent generation

Implementation Guide: Generate treatment plan documents, psychoeducation materials, and progress reports

Step-by-step implementation guide for deploying AI to generate treatment plan documents, psychoeducation materials, and progress reports for Allied & Mental Health clients.

Hardware Procurement

Business Laptop - Clinician Workstation

DellDell Latitude 5550 (Intel Ultra 5 125U, 16GB DDR5, 512GB SSD, Win 11 Pro)Qty: 5

$1,059 per unit MSP cost / $1,299 suggested resale per unit

Primary clinician workstation for accessing AI documentation tools, EHR, and telehealth. TPM 2.0 chip enables BitLocker full-disk encryption required for HIPAA compliance. Windows 11 Pro required for Intune MDM enrollment and group policy management. 16GB RAM handles concurrent browser tabs for EHR, AI tool, and telehealth without performance issues.

USB-C Bluetooth Speakerphone

JabraJabra Speak2 75 (2775-419)Qty: 5

$199 per unit MSP cost / $249 suggested resale per unit

In-office session audio capture for AI transcription and note generation. Features 4 noise-cancelling microphones optimized for capturing both clinician and client speech in therapy room settings. 360-degree pickup pattern supports standard therapy room layouts. USB-C and Bluetooth dual connectivity. Certified for Microsoft Teams for telehealth integration.

Wireless Headset for Telehealth

JabraJabra Evolve2 55 UC (25599-989-899)Qty: 3

$159 per unit MSP cost / $199 suggested resale per unit

Individual clinician headset for telehealth sessions where speakerphone is not appropriate (shared office spaces, confidential remote sessions). Active noise cancellation ensures clean audio input for AI transcription. Required for clinicians who conduct telehealth from non-private spaces.

Tablet for Field/Mobile Clinicians

AppleiPad Pro 13-inch M4 Wi-Fi 256GB with Apple Business Manager enrollmentQty: 2

$1,099 per unit MSP cost / $1,349 suggested resale per unit

For clinicians providing in-home therapy, school-based services, or other field-based allied health work. Apple Business Manager enables zero-touch MDM enrollment and remote wipe. Supports browser-based AI documentation tools and EHR access. Pair with Apple Pencil Pro for handwritten note capture if preferred.

Encrypted External Backup Drive

ApricornApricorn Aegis Padlock DT FIPS (ADT-3PL256F-4000) 4TBQty: 1

$329 per unit MSP cost / $429 suggested resale per unit

FIPS 140-2 Level 2 validated hardware-encrypted external drive for local backup of exported treatment plans, progress reports, and psychoeducation documents. Provides air-gapped backup independent of cloud services. PIN-authenticated access prevents unauthorized data exposure if physically stolen.

Software Procurement

$49/month per clinician (Premium tier - 300 notes/mo) or $99/month per clinician (Ultimate tier - unlimited). MSP bulk pricing available on request.

Primary AI documentation engine for generating progress notes (SOAP, DAP, BIRP formats), treatment plans, and session summaries. Integrates with major EHRs via browser extension. Supports audio session capture with real-time transcription and AI-generated clinical documentation. Selected for balance of features, pricing, and broad EHR compatibility.

$39.99–$69.99/month per clinician depending on tier. Group practice discounts available.

Alternative primary AI documentation platform if practice requires modality-specific templates (CBT, DBT, EMDR, trauma-informed). Generates SMART goals for treatment plans, tracks progress automatically, and supports supervisor collaboration. SOC 2 Type II certified. Preferred for practices with specialized therapeutic modalities.

$0.40 per 1M input tokens / $1.60 per 1M output tokens. Estimated $15–$50/month for a 5-clinician practice generating psychoeducation materials. Azure subscription required (Pay-As-You-Go).

Powers the custom psychoeducation content generator component. GPT-4.1-mini provides excellent quality-to-cost ratio for generating patient-facing educational materials on topics like anxiety management, grief coping strategies, CBT worksheets, and mindfulness exercises. Azure OpenAI chosen over direct OpenAI API for Microsoft HIPAA BAA coverage and integration with existing Microsoft 365 infrastructure.

Microsoft 365 Business Premium

MicrosoftSaaS per-seat monthly (CSP resale)

$22/user/month retail. MSP CSP cost ~$17.60/user/month (~20% margin).

Foundation identity and endpoint management platform. Provides Entra ID for SSO/MFA across all AI tools and EHR, Microsoft Intune for MDM (BitLocker enforcement, remote wipe, compliance policies), Exchange Online for HIPAA-compliant email, and Microsoft Defender for endpoint protection. Required for HIPAA-grade identity management.

$7.99/TB/month with no egress fees. Estimated $8–$16/month for document backup. BAA available at no additional cost.

HIPAA-compliant cloud backup for exported treatment plans, progress reports, and psychoeducation materials. Supplements EHR vendor backup with independent document archive. S3-compatible API enables automated backup scripts. No egress fees make restore operations cost-predictable.

Doxy.me Telehealth Platform

Doxy.meSaaS per-provider monthly

Free tier available. Professional at $35/month per provider for HD video and waiting room customization. Clinic tier at $50/month per provider.

HIPAA-compliant telehealth platform for remote therapy sessions. BAA included. Browser-based (no client software installation needed). Integrates with AI documentation tools that capture session audio from telehealth calls. Only needed if practice does not already have telehealth built into their EHR.

JotForm HIPAA

JotFormBronze HIPAAQty: Up to 25 forms and 500 submissions

$34/month

Creates digital patient consent forms for AI-assisted documentation, including specific consent for session recording/transcription and AI processing of clinical data. Submissions encrypted and stored in HIPAA-compliant environment. Integrates with practice intake workflows. BAA included.

Prerequisites

  • Active EHR/Practice Management subscription (SimplePractice, TherapyNotes, Jane App, TheraNest, or equivalent) with admin-level access for integration configuration
  • Reliable internet connection: minimum 25 Mbps download / 10 Mbps upload per concurrent clinician, with latency under 100ms to US cloud regions
  • Google Chrome browser (latest stable version) installed on all clinician workstations — required for browser extension-based EHR integrations
  • Microsoft 365 Business Premium tenant configured with all clinician user accounts, MFA enforced, and Intune enrolled devices (or equivalent MDM solution)
  • Executed Business Associate Agreements (BAAs) with: AI documentation vendor (AutoNotes or Mentalyc), Azure/Microsoft (for OpenAI API and M365), cloud backup provider (Wasabi), telehealth vendor, and any other sub-processors handling PHI
  • Updated HIPAA Risk Assessment that includes AI documentation tools as information systems processing ePHI — must be completed before go-live per HHS 2025 proposed regulation
  • Patient consent form for AI-assisted documentation approved by practice's legal counsel, covering: session recording consent, AI transcription disclosure, data storage and retention policies, and patient right to opt out
  • Wi-Fi network secured with WPA2-AES minimum (WPA3 Enterprise recommended), with separate guest/patient network SSID isolated from clinical network
  • Practice administrator or clinical champion identified who will serve as internal point of contact, template customizer, and first-line trainer for clinical staff
  • State-specific recording consent law compliance verified: confirm whether practice operates in a one-party or two-party consent state, and adjust consent procedures accordingly
  • Firewall configured to allow outbound HTTPS (port 443) to AI vendor domains, Azure endpoints, and EHR cloud services — no special inbound port requirements
  • Current HIPAA policies and procedures manual available for update, including Notice of Privacy Practices that will need amendment to disclose AI-assisted documentation

Installation Steps

...

Step 1: Execute Business Associate Agreements and Update Compliance Documentation

Before any technical work begins, ensure all BAAs are executed with every vendor that will process PHI. This is a legal prerequisite for HIPAA compliance. Contact each vendor's compliance team to initiate the BAA process. Simultaneously, update the practice's HIPAA Risk Assessment to include the new AI documentation systems as information assets, and amend the Notice of Privacy Practices to disclose AI-assisted documentation to patients.

Note

BAA execution can take 1–5 business days depending on vendor. AutoNotes and Mentalyc provide self-serve BAA signing during account creation. Azure BAA is accepted through the Microsoft Trust Center within the Azure portal. Do NOT proceed with any PHI-touching configuration until all BAAs are fully executed. Keep signed BAA copies in the practice's HIPAA compliance file.

Step 2: Configure Microsoft 365 Business Premium and Entra ID

Set up the Microsoft 365 tenant as the identity foundation. Create user accounts for all clinicians and administrative staff. Configure Entra ID (formerly Azure AD) with Conditional Access policies requiring MFA for all cloud application access. Create a Security Group called 'AI-Documentation-Users' for managing access to AI tools. Enable Intune auto-enrollment for Windows and iOS devices.

powershell
# PowerShell - Connect to Microsoft Graph
Connect-MgGraph -Scopes 'User.ReadWrite.All','Group.ReadWrite.All','Policy.ReadWrite.ConditionalAccess'
# Create Security Group for AI Documentation Users
New-MgGroup -DisplayName 'AI-Documentation-Users' -MailEnabled:$false -SecurityEnabled:$true -MailNickname 'ai-doc-users' -Description 'Clinicians authorized to use AI documentation tools'
# Add clinician users to group (repeat for each user)
$userId = (Get-MgUser -Filter "userPrincipalName eq 'clinician1@practicedomain.com'").Id
New-MgGroupMember -GroupId $groupId -DirectoryObjectId $userId
# Enable MFA via Conditional Access (verify in Entra Portal > Security > Conditional Access)
# Create policy: 'Require MFA for AI Documentation Apps'
# Assignments: AI-Documentation-Users group
# Target: All cloud apps (or specific app registrations)
# Grant: Require multifactor authentication
Note

If the practice already has Microsoft 365, skip tenant creation but audit existing security settings. Ensure MFA is enforced for ALL users, not just AI tool users — this is a HIPAA Security Rule requirement. If the practice uses Google Workspace instead of M365, adapt identity management accordingly but ensure equivalent MFA and device management capabilities.

Step 3: Provision and Configure Clinician Workstations

Unbox and configure Dell Latitude 5550 laptops (or existing client hardware meeting specs). Enable BitLocker full-disk encryption, enroll in Intune MDM, install Google Chrome, and apply baseline security policies. Each workstation should be labeled with an asset tag and recorded in the MSP's RMM tool.

Enable BitLocker, install Chrome, and verify Intune enrollment
powershell
# Enable BitLocker via PowerShell (run as Administrator)
Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -RecoveryPasswordProtector
# Verify BitLocker status
Get-BitLockerVolume -MountPoint "C:"
# Install Google Chrome via winget
winget install Google.Chrome --accept-package-agreements --accept-source-agreements
# Set Chrome as default browser for EHR extension compatibility
# Configure via Intune Configuration Profile > Device Restrictions > Default Browser
# Join device to Entra ID (Settings > Accounts > Access work or school > Connect)
# This triggers Intune auto-enrollment if configured in Step 2
# Verify Intune enrollment
dsregcmd /status
# Look for: AzureAdJoined: YES, MdmUrl: https://enrollment.manage.microsoft.com
Note

BitLocker recovery keys are automatically escrowed to Entra ID when device is Entra-joined. Verify this in the Entra Portal under Devices > BitLocker Keys. For iPads: enroll via Apple Business Manager > assign to Intune MDM profile > push managed browser (Chrome or Edge) and require device passcode + Face ID. For existing client hardware, verify TPM 2.0 presence before BitLocker enablement: Get-Tpm | Select-Object TpmPresent,TpmReady

Step 4: Set Up AI Documentation Platform Accounts (AutoNotes)

Create the practice's AutoNotes organization account. Provision individual clinician accounts under the organization. Configure SSO via Entra ID if available, or enforce strong unique passwords with MFA. Accept the BAA during account setup. Configure default note formats based on practice preferences (SOAP, DAP, BIRP, or custom). Set data retention policies according to practice policy and state law.

1
Navigate to https://app.autonotes.ai/signup
2
Select 'Group Practice' account type
3
Enter practice details and admin email
4
Accept BAA during onboarding flow (download signed copy)
5
Navigate to Settings > Team Management > Invite Clinicians
6
Enter each clinician email address
7
Set default note type: Settings > Note Preferences > Select SOAP/DAP/BIRP
8
Configure treatment plan template: Settings > Templates > Treatment Plans
9
Enable audio recording feature: Settings > Session Capture > Enable
10
Set data retention: Settings > Privacy > Retention Period > per state law
Note

If using Mentalyc instead: navigate to https://app.mentalyc.com, follow similar org setup, and configure modality-specific templates (CBT, DBT, EMDR, etc.) under Settings > Clinical Templates. Mentalyc requires selecting the therapeutic modality per clinician profile for optimal AI output. Ensure the admin account uses a practice administrator email, NOT a personal clinician email, for proper organizational control.

Step 5: Install Browser Extensions and Configure EHR Integration

Install the AI documentation tool's Chrome browser extension on each clinician workstation. This extension bridges the AI tool and the EHR, enabling one-click note transfer. Configure the extension to connect to the practice's EHR instance. Test the connection by creating a sample note and transferring it to a test client record in the EHR.

  • Option A: Manual per-device — Open Chrome > Navigate to Chrome Web Store > Search 'AutoNotes' or navigate to the direct extension URL > Click 'Add to Chrome' > Confirm installation > Sign in to AutoNotes via extension popup > Grant necessary permissions (page access for EHR domain)
  • Option B: Push via Intune (recommended for managed deployment) — In Intune Admin Center: Devices > Configuration profiles > Create profile > Platform: Windows 10 and later > Profile type: Settings catalog > Search: 'Configure the list of force-installed apps and extensions' > Add AutoNotes extension ID from Chrome Web Store > Assign to 'AI-Documentation-Users' device group
  • Configure EHR connection: Open EHR in Chrome (e.g., SimplePractice, TherapyNotes) > Click AutoNotes extension icon in toolbar > Select 'Connect to EHR' > Choose EHR platform > Follow authorization flow to grant read/write access > Verify connection status shows 'Connected'
Note

Browser extension force-installation via Intune ensures consistent deployment and prevents clinicians from accidentally removing the extension. If the EHR does not support direct browser extension integration, configure for copy/paste workflow: AI tool generates note in its own interface, clinician reviews and copies into EHR manually. This is still significantly faster than writing from scratch. For Jane App specifically: use the Chrome extension to populate charting template fields.

Step 6: Deploy Azure OpenAI Service for Custom Psychoeducation Generator

Set up Azure OpenAI Service to power the custom psychoeducation content generator. This component creates patient-facing educational materials on mental health topics that clinicians can personalize and distribute. Create an Azure subscription (or use existing), deploy a GPT-4.1-mini model instance, configure networking restrictions, and verify HIPAA BAA coverage.

  • Step 6a: Accept Azure HIPAA BAA — Azure Portal > Search 'Regulatory Compliance', or: Subscriptions > [subscription] > Properties > Manage BAA. Review and accept the Microsoft HIPAA BAA.
Step 6b: Create Azure OpenAI resource via Azure CLI
bash
# Step 6b: Create Azure OpenAI resource via Azure CLI
az login
az group create --name rg-mentalhealth-ai --location eastus2
az cognitiveservices account create \
  --name oai-mentalhealth-prod \
  --resource-group rg-mentalhealth-ai \
  --kind OpenAI \
  --sku S0 \
  --location eastus2 \
  --custom-domain oai-mentalhealth-prod
Step 6c: Deploy GPT-4.1-mini model
bash
# Step 6c: Deploy GPT-4.1-mini model
az cognitiveservices account deployment create \
  --name oai-mentalhealth-prod \
  --resource-group rg-mentalhealth-ai \
  --deployment-name gpt-41-mini \
  --model-name gpt-4.1-mini \
  --model-version '2025-04-14' \
  --model-format OpenAI \
  --sku-capacity 30 \
  --sku-name Standard
Step 6d: Retrieve API key and endpoint
bash
# Step 6d: Retrieve API key and endpoint
az cognitiveservices account keys list \
  --name oai-mentalhealth-prod \
  --resource-group rg-mentalhealth-ai

az cognitiveservices account show \
  --name oai-mentalhealth-prod \
  --resource-group rg-mentalhealth-ai \
  --query properties.endpoint
Step 6e: Configure network restrictions
bash
# Step 6e: Configure network restrictions (recommended)
az cognitiveservices account network-rule add \
  --name oai-mentalhealth-prod \
  --resource-group rg-mentalhealth-ai \
  --ip-address <PRACTICE_PUBLIC_IP>
Step 6f: Enable diagnostic logging
bash
# Step 6f: Enable diagnostic logging
az monitor diagnostic-settings create \
  --name oai-diagnostics \
  --resource /subscriptions/<SUB_ID>/resourceGroups/rg-mentalhealth-ai/providers/Microsoft.CognitiveServices/accounts/oai-mentalhealth-prod \
  --logs '[{"category":"Audit","enabled":true},{"category":"RequestResponse","enabled":true}]' \
  --workspace /subscriptions/<SUB_ID>/resourceGroups/rg-mentalhealth-ai/providers/Microsoft.OperationalInsights/workspaces/<WORKSPACE_NAME>
Note

Azure OpenAI Service requires an application for access — apply at https://aka.ms/oai/access and specify healthcare use case. Approval typically takes 1–5 business days. The GPT-4.1-mini model provides the optimal balance of quality and cost for psychoeducation content. Network restrictions limit API access to the practice's IP addresses only. Diagnostic logging creates an audit trail of all API calls required for HIPAA compliance. If Azure OpenAI access is delayed, use OpenAI API directly with BAA (contact baa@openai.com) as a temporary measure.

Step 7: Deploy Custom Psychoeducation Content Generator Web Application

Deploy the custom psychoeducation content generator as a lightweight web application that clinicians access via browser. This application uses the Azure OpenAI API to generate personalized patient education materials based on clinician-selected topics, reading level, and therapeutic modality. Deploy as an Azure App Service with Entra ID authentication.

bash
# Create Azure App Service for the psychoeducation generator
az appservice plan create \
  --name asp-psychoed-prod \
  --resource-group rg-mentalhealth-ai \
  --sku B1 \
  --is-linux

az webapp create \
  --name app-psychoed-prod \
  --resource-group rg-mentalhealth-ai \
  --plan asp-psychoed-prod \
  --runtime 'PYTHON:3.12'

# Configure environment variables (API keys, endpoints)
az webapp config appsettings set \
  --name app-psychoed-prod \
  --resource-group rg-mentalhealth-ai \
  --settings \
    AZURE_OPENAI_ENDPOINT='https://oai-mentalhealth-prod.openai.azure.com/' \
    AZURE_OPENAI_DEPLOYMENT='gpt-41-mini' \
    AZURE_OPENAI_API_VERSION='2025-04-01-preview'

# Store API key in Azure Key Vault (never in app settings directly)
az keyvault create \
  --name kv-psychoed-prod \
  --resource-group rg-mentalhealth-ai \
  --location eastus2

az keyvault secret set \
  --vault-name kv-psychoed-prod \
  --name azure-openai-key \
  --value '<YOUR_API_KEY>'

# Enable managed identity for the web app to access Key Vault
az webapp identity assign \
  --name app-psychoed-prod \
  --resource-group rg-mentalhealth-ai

# Grant Key Vault access to web app managed identity
az keyvault set-policy \
  --name kv-psychoed-prod \
  --object-id <MANAGED_IDENTITY_OBJECT_ID> \
  --secret-permissions get

# Enable Entra ID authentication
az webapp auth update \
  --name app-psychoed-prod \
  --resource-group rg-mentalhealth-ai \
  --enabled true \
  --action LoginWithAzureActiveDirectory

# Enforce HTTPS only
az webapp update \
  --name app-psychoed-prod \
  --resource-group rg-mentalhealth-ai \
  --https-only true

# Deploy application code (see custom_ai_components for full source)
az webapp deployment source config-local-git \
  --name app-psychoed-prod \
  --resource-group rg-mentalhealth-ai

# Push code to Azure
git remote add azure <DEPLOYMENT_URL_FROM_ABOVE>
git push azure main
Note

The Azure App Service B1 tier costs approximately $13.14/month and is sufficient for a small practice. Scale to B2 or S1 if concurrent usage exceeds 5 clinicians. Entra ID authentication ensures only authorized practice staff can access the generator — no separate login required. All API keys are stored in Azure Key Vault, never in application configuration directly. The application does NOT store any PHI — it generates generic psychoeducation content based on topic selection, not patient-specific data. This is an important architectural decision that simplifies HIPAA compliance.

Step 8: Configure Audio Capture Hardware for AI Session Documentation

Set up Jabra Speak2 75 speakerphones and Evolve2 55 headsets at each clinician workstation. Install Jabra Direct software for firmware management and audio optimization. Configure audio routing so that the AI documentation tool captures session audio through the correct input device. Test audio quality in a simulated therapy session.

Install Jabra Direct and configure audio device settings
shell
# Install Jabra Direct via winget
winget install Jabra.Direct --accept-package-agreements

# After installation, open Jabra Direct
# 1. Connect Jabra Speak2 75 via USB-C
# 2. Jabra Direct will detect device and check for firmware updates
# 3. Apply any available firmware updates
# 4. Under Settings > Audio, verify:
#    - Noise cancellation: Enabled
#    - Microphone mode: 360-degree pickup
#    - Sidetone: Medium (so clinician can hear their own voice)

# Set Jabra as default audio device for Chrome
# Windows: Settings > System > Sound > Input > Select 'Jabra Speak2 75'
# Or configure per-app in Chrome:
# chrome://settings/content/microphone > Select Jabra device

# Verify audio levels in AI documentation tool:
# Open AutoNotes > Settings > Audio > Microphone Test
# Speak at normal conversation volume from 3-4 feet away
# Verify waveform shows clear audio without clipping

# For telehealth sessions with AI capture:
# Ensure telehealth platform (Doxy.me/Zoom) AND AI tool both
# have access to the same audio input
# Some tools capture system audio; verify per vendor documentation
Note

The Jabra Speak2 75 is optimized for rooms up to 10x10 feet, which covers most therapy offices. For larger group therapy rooms, consider the Jabra Speak2 75+ or adding a second unit in daisy-chain configuration. Bluetooth pairing is also available for clinicians who prefer wireless setup, but USB-C provides more reliable audio for transcription. Important: test audio quality BEFORE the first client session — poor audio input is the #1 cause of inaccurate AI transcription.

Build digital consent forms that patients must sign before AI-assisted documentation is used in their sessions. The consent form must clearly explain what AI does, how session data is processed, and the patient's right to opt out. Deploy via JotForm HIPAA for digital collection during intake, and create printable PDF versions for in-office signing.

1
Navigate to https://www.jotform.com/hipaa/
2
Sign up for Bronze HIPAA plan ($34/month)
3
Accept BAA during signup
4
Create New Form > 'AI Documentation Consent Form'
5
Add the following form fields: Patient Full Name (required), Date of Birth (required), Clinician Name (dropdown, pre-populated), Consent paragraphs (see custom_ai_components for full text), Checkbox: 'I consent to audio recording of sessions for AI documentation', Checkbox: 'I understand I may withdraw consent at any time', Checkbox: 'I have read and understand the AI documentation privacy notice', E-Signature field (required), Date field (auto-populated)
6
Configure form to require all checkboxes before submission
7
Enable email notifications to practice admin on submission
8
Set form to generate PDF copy emailed to patient
9
Embed form link in EHR intake workflow or practice website
10
Export JotForm as PDF template for in-office use
11
Store blank copies at front desk and in each therapy room
Note

Consent form language should be reviewed by the practice's legal counsel before deployment. The consent must be specific to AI documentation — a general HIPAA consent is NOT sufficient. In two-party consent states (California, Florida, Illinois, Maryland, Massachusetts, etc.), explicit written consent for audio recording is legally required before any session recording occurs. Build a clear opt-out workflow: if a patient declines AI consent, the clinician must be able to easily disable recording for that session and document manually. Illinois has enacted Public Act 104-0054 specifically governing AI in mental health — review and incorporate requirements if practice operates in Illinois.

Step 10: Customize Clinical Templates and Prompt Libraries

Work with the practice's clinical champion to customize AI-generated document templates for treatment plans, progress notes, and psychoeducation materials. Configure templates to match the practice's documentation standards, insurance requirements, and therapeutic modalities. Load custom prompt templates into both the SaaS documentation tool and the custom psychoeducation generator.

  • AutoNotes Template Customization (Web UI): Login to AutoNotes as Practice Admin
  • Navigate to Settings > Templates > Treatment Plans
  • Create template: 'Standard Treatment Plan' — Sections: Presenting Problem, Diagnosis (DSM-5-TR), Treatment Goals (SMART format), Interventions, Frequency/Duration, Measurable Objectives, Discharge Criteria, Client Strengths, Barriers to Treatment, Safety Plan (if applicable)
  • Create template: 'Progress Note - SOAP' — Sections: Subjective, Objective, Assessment, Plan
  • Create template: 'Progress Note - DAP' — Sections: Data, Assessment, Plan
  • Create template: 'Progress Note - BIRP' — Sections: Behavior, Intervention, Response, Plan
  • Set default template per clinician based on preference
  • Configure terminology preferences: Use person-first language, avoid pathologizing terms per practice policy, include required insurance documentation elements
  • Mentalyc Modality Configuration (if using Mentalyc): Navigate to Settings > Clinical Profile > Select Modalities
  • Configure per clinician: CBT, DBT, EMDR, ACT, MI, etc.
  • Enable SMART goal generation for treatment plans
  • Configure supervisor access for trainee clinicians
Note

Template customization is the most clinically-sensitive part of the implementation. The MSP provides technical execution, but the clinical champion must approve all template content and output formatting. Schedule a 2-hour working session with the clinical champion to finalize templates. Insurance companies (especially Medicare/Medicaid) have specific documentation requirements for treatment plans — ensure templates include all required elements for the practice's most common payers. Save template configurations as documentation in the MSP's client knowledge base for future reference.

Step 11: Configure HIPAA-Compliant Backup and Audit Logging

Set up automated backup of exported clinical documents to Wasabi HIPAA-compliant cloud storage. Configure audit logging across all components to maintain a complete trail of who accessed what PHI, when, and what actions were taken. This satisfies HIPAA Security Rule requirements for audit controls and backup/disaster recovery.

Configure Wasabi HIPAA-compliant backup, bucket versioning and encryption, weekly backup script, Task Scheduler setup, and Azure OpenAI audit log verification
shell
# Configure Wasabi HIPAA backup
# 1. Create Wasabi account at https://wasabi.com
# 2. Execute BAA (available in account settings)
# 3. Create bucket with versioning and encryption
aws configure --profile wasabi
# Enter Wasabi access key and secret
# Region: us-east-2 (or appropriate)
# Endpoint: https://s3.us-east-2.wasabisys.com

aws s3api create-bucket \
  --bucket mentalhealth-practice-backup \
  --profile wasabi \
  --endpoint-url https://s3.us-east-2.wasabisys.com

aws s3api put-bucket-versioning \
  --bucket mentalhealth-practice-backup \
  --versioning-configuration Status=Enabled \
  --profile wasabi \
  --endpoint-url https://s3.us-east-2.wasabisys.com

aws s3api put-bucket-encryption \
  --bucket mentalhealth-practice-backup \
  --server-side-encryption-configuration '{"Rules":[{"ApplyServerSideEncryptionByDefault":{"SSEAlgorithm":"AES256"}}]}' \
  --profile wasabi \
  --endpoint-url https://s3.us-east-2.wasabisys.com

# Create weekly backup script (PowerShell)
# Save as C:\Scripts\backup-clinical-docs.ps1
$date = Get-Date -Format 'yyyy-MM-dd'
$exportPath = "C:\ClinicalExports\$date"
# Export documents from AI tool (varies by vendor)
# Sync to Wasabi
aws s3 sync $exportPath s3://mentalhealth-practice-backup/$date/ --profile wasabi --endpoint-url https://s3.us-east-2.wasabisys.com --sse AES256

# Schedule via Task Scheduler
schtasks /create /tn "ClinicalDocBackup" /tr "powershell.exe -File C:\Scripts\backup-clinical-docs.ps1" /sc weekly /d SUN /st 02:00 /ru SYSTEM

# Azure OpenAI audit logging was configured in Step 6f
# Verify logs are flowing:
az monitor log-analytics query \
  --workspace <WORKSPACE_ID> \
  --analytics-query 'AzureDiagnostics | where ResourceProvider == "MICROSOFT.COGNITIVESERVICES" | take 10'
Note

Wasabi's S3-compatible API means standard AWS CLI tools work directly. Ensure the backup script runs under a service account, not a clinician's user profile. Retention policy should match state law requirements for clinical records (typically 7 years for adults, until age 21 for minors, but varies by state — verify with practice's legal counsel). Test restore procedures quarterly to verify backup integrity. The Apricorn encrypted drive (from hardware procurement) provides an additional air-gapped backup layer for the most critical documents.

Step 12: Conduct Pilot Testing with Clinical Champion

Before rolling out to all clinicians, conduct a 1–2 week pilot with the designated clinical champion using test/sample cases (NOT real patient data initially, then transitioning to live sessions with consented patients). Validate AI output quality, template accuracy, EHR integration workflow, and audio capture reliability. Document any issues and adjust configuration before full rollout.

Note

The pilot phase is critical for clinical buy-in. Do NOT skip or rush this phase. Clinical professionals are rightfully cautious about AI-generated documentation — they need to see the output quality firsthand and confirm it meets their professional standards. Common pilot findings that require adjustment: AI using overly clinical language that doesn't match the clinician's voice, missing specific insurance documentation requirements, audio capture issues in rooms with poor acoustics. Document all pilot findings in a shared document for the clinical champion to review and approve before full rollout.

Step 13: Full Rollout: Onboard All Clinicians

After successful pilot, expand deployment to all clinicians. Conduct group training sessions, distribute quick-reference guides, and provide 2 weeks of elevated support. Monitor adoption metrics and address individual clinician concerns promptly.

  • Day 1: Group Training Session (90 minutes) — Demonstrate AI note generation workflow (live demo), walk through treatment plan generation, show psychoeducation content generator, practice EHR integration workflow, review consent form process, Q&A session
  • Day 1-3: Individual Workstation Setup — For each clinician workstation: (1) Verify Chrome extension installed and connected, (2) Verify audio device configured and tested, (3) Verify AI tool account active with correct template, (4) Verify EHR integration functional, (5) Have clinician generate their first AI note with MSP present
  • Day 3-5: Supervised First Live Sessions — Clinical champion available for real-time support, MSP tech on standby for technical issues, each clinician uses AI for at least 3 live sessions
  • Week 2: Independent Use with Check-ins — Daily check-in email from MSP: 'Any technical issues?', clinical champion holds brief huddle to share tips, MSP monitors usage dashboards for adoption tracking
  • Week 3: Transition to Standard Support — Move to standard MSP support SLA, schedule 30-day review meeting
Note

Expect 10-20% of clinicians to be resistant to AI documentation initially. The clinical champion is essential for peer-to-peer encouragement. Frame AI as a 'first draft generator' that the clinician always reviews and edits — this addresses the #1 concern (loss of clinical control). Provide a printed quick-reference card for each therapy room with the 5-step workflow: (1) Get consent, (2) Start recording, (3) End session, (4) Review AI draft, (5) Approve and transfer to EHR.

Custom AI Components

Psychoeducation Content Generator

Type: agent A web-based application that generates personalized psychoeducation materials for patients using Azure OpenAI GPT-4.1-mini. Clinicians select a mental health topic, therapeutic modality, reading level, and output format. The system generates evidence-based educational content that clinicians can review, edit, and distribute to patients as handouts, homework assignments, or digital resources. Critically, this component does NOT process PHI — it generates generic educational content based on topic parameters, simplifying HIPAA compliance.

Implementation

Psychoeducation Content Generator
python
# Full Implementation (app.py)

# Psychoeducation Content Generator - Full Implementation
# Stack: Python 3.12 + Flask + Azure OpenAI SDK + Bootstrap 5
# File: app.py

import os
from flask import Flask, render_template, request, jsonify, session
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential
from azure.keyvault.secrets import SecretClient
import logging

app = Flask(__name__)
app.secret_key = os.environ.get('FLASK_SECRET_KEY', os.urandom(32))

# Configure logging for audit trail
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger('psychoed_generator')

# Retrieve API key from Azure Key Vault
def get_api_key():
    try:
        credential = DefaultAzureCredential()
        kv_url = os.environ.get('AZURE_KEY_VAULT_URL', 'https://kv-psychoed-prod.vault.azure.net/')
        client = SecretClient(vault_url=kv_url, credential=credential)
        return client.get_secret('azure-openai-key').value
    except Exception as e:
        logger.error(f'Key Vault access failed: {e}')
        return os.environ.get('AZURE_OPENAI_API_KEY')  # Fallback for local dev

# Initialize Azure OpenAI client
client = AzureOpenAI(
    api_key=get_api_key(),
    api_version=os.environ.get('AZURE_OPENAI_API_VERSION', '2025-04-01-preview'),
    azure_endpoint=os.environ.get('AZURE_OPENAI_ENDPOINT', 'https://oai-mentalhealth-prod.openai.azure.com/')
)

DEPLOYMENT_NAME = os.environ.get('AZURE_OPENAI_DEPLOYMENT', 'gpt-41-mini')

# Topic library with evidence-based content guidance
TOPICS = {
    'anxiety_management': {
        'name': 'Anxiety Management',
        'subtopics': ['Understanding Anxiety', 'Breathing Techniques', 'Grounding Exercises', 'Cognitive Restructuring', 'Exposure Hierarchy', 'Worry Time Technique', 'Progressive Muscle Relaxation']
    },
    'depression_coping': {
        'name': 'Depression & Mood Management',
        'subtopics': ['Understanding Depression', 'Behavioral Activation', 'Activity Scheduling', 'Thought Records', 'Sleep Hygiene', 'Social Connection Strategies', 'Self-Compassion Exercises']
    },
    'trauma_recovery': {
        'name': 'Trauma & PTSD Recovery',
        'subtopics': ['Understanding Trauma Responses', 'Window of Tolerance', 'Grounding for Flashbacks', 'Safety Planning', 'Self-Care After Trauma', 'Understanding Triggers', 'Building Resilience']
    },
    'grief_loss': {
        'name': 'Grief & Loss',
        'subtopics': ['Understanding Grief', 'Stages and Tasks of Grief', 'Coping with Anniversaries', 'Continuing Bonds', 'Self-Care During Grief', 'Supporting Grieving Children', 'Complicated Grief']
    },
    'relationship_skills': {
        'name': 'Relationship & Communication Skills',
        'subtopics': ['Active Listening', 'I-Statements', 'Boundary Setting', 'Conflict Resolution', 'Attachment Styles', 'Emotional Validation', 'Assertiveness Training']
    },
    'stress_management': {
        'name': 'Stress Management',
        'subtopics': ['Understanding Stress', 'Time Management', 'Mindfulness Basics', 'Work-Life Balance', 'Burnout Prevention', 'Relaxation Techniques', 'Problem-Solving Skills']
    },
    'substance_use': {
        'name': 'Substance Use Education',
        'subtopics': ['Understanding Addiction', 'Stages of Change', 'Trigger Identification', 'Coping Skills', 'Relapse Prevention', 'Harm Reduction', 'Building a Recovery Network']
    },
    'child_adolescent': {
        'name': 'Child & Adolescent Mental Health',
        'subtopics': ['Emotional Regulation for Kids', 'Understanding Big Feelings', 'Coping Skills for Teens', 'Screen Time & Mental Health', 'Bullying Coping', 'Parent-Child Communication', 'School Anxiety']
    },
    'dbt_skills': {
        'name': 'DBT Skills',
        'subtopics': ['Distress Tolerance', 'Emotion Regulation', 'Interpersonal Effectiveness', 'Mindfulness', 'TIPP Skills', 'DEAR MAN', 'Radical Acceptance']
    },
    'self_esteem': {
        'name': 'Self-Esteem & Identity',
        'subtopics': ['Core Beliefs', 'Positive Self-Talk', 'Values Exploration', 'Strengths Identification', 'Body Image', 'Self-Worth vs Performance', 'Overcoming Perfectionism']
    }
}

MODALITIES = ['CBT', 'DBT', 'ACT', 'Psychodynamic', 'Person-Centered', 'Solution-Focused', 'Motivational Interviewing', 'Trauma-Informed', 'Mindfulness-Based', 'General/Integrative']
READING_LEVELS = ['5th Grade', '8th Grade', 'High School', 'College', 'Professional']
FORMATS = ['Patient Handout', 'Worksheet with Exercises', 'Informational Brochure', 'Homework Assignment', 'Guided Self-Reflection', 'Psychoeducation Lesson Plan']
LANGUAGES = ['English', 'Spanish', 'French', 'Mandarin Chinese', 'Vietnamese', 'Korean', 'Arabic', 'Tagalog', 'Portuguese', 'Haitian Creole']

@app.route('/')
def index():
    return render_template('index.html', topics=TOPICS, modalities=MODALITIES, 
                         reading_levels=READING_LEVELS, formats=FORMATS, languages=LANGUAGES)

@app.route('/generate', methods=['POST'])
def generate():
    data = request.json
    topic_key = data.get('topic')
    subtopic = data.get('subtopic')
    modality = data.get('modality', 'General/Integrative')
    reading_level = data.get('reading_level', '8th Grade')
    output_format = data.get('format', 'Patient Handout')
    language = data.get('language', 'English')
    custom_instructions = data.get('custom_instructions', '')
    
    topic_name = TOPICS.get(topic_key, {}).get('name', topic_key)
    
    logger.info(f'Generating content: topic={topic_name}, subtopic={subtopic}, modality={modality}, level={reading_level}, format={output_format}, language={language}')
    
    try:
        response = client.chat.completions.create(
            model=DEPLOYMENT_NAME,
            messages=[
                {'role': 'system', 'content': SYSTEM_PROMPT},
                {'role': 'user', 'content': user_prompt}
            ],
            max_tokens=3000,
            temperature=0.7,
            top_p=0.9
        )
        
        content = response.choices[0].message.content
        usage = response.usage
        
        logger.info(f'Generation complete: {usage.prompt_tokens} input tokens, {usage.completion_tokens} output tokens')
        
        return jsonify({
            'success': True,
            'content': content,
            'tokens_used': {
                'input': usage.prompt_tokens,
                'output': usage.completion_tokens,
                'estimated_cost': round((usage.prompt_tokens / 1_000_000 * 0.40) + (usage.completion_tokens / 1_000_000 * 1.60), 4)
            }
        })
    except Exception as e:
        logger.error(f'Generation failed: {str(e)}')
        return jsonify({'success': False, 'error': str(e)}), 500

@app.route('/topics', methods=['GET'])
def get_topics():
    return jsonify(TOPICS)

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8000)

Psychoeducation Content Generator — System Prompt

You are a clinical psychoeducation content specialist working in a mental health practice. Your role is to generate evidence-based, clinically accurate psychoeducation materials for patients. IMPORTANT GUIDELINES: 1. All content must be evidence-based and aligned with current clinical best practices. 2. Use person-first, destigmatizing language throughout. 3. Never provide specific medical advice or suggest medication changes. 4. Include a disclaimer that the material is educational and not a substitute for professional treatment. 5. Adapt language complexity to the specified reading level. 6. When a therapeutic modality is specified, frame concepts through that modality's lens. 7. Include practical exercises, examples, or reflection questions where appropriate. 8. Use inclusive language regarding gender, culture, and family structure. 9. For worksheets, include clear instructions and adequate space indicators for written responses. 10. Always end with encouragement and a reminder to discuss the material with their therapist. 11. Do NOT include any patient-specific information — generate generic educational content only. 12. Format output in clean Markdown suitable for printing.
Sonnet 4.6

Psychoeducation Content Generator — User Prompt Template

Generate a {output_format} on the following topic: TOPIC: {topic_name} SUBTOPIC: {subtopic} THERAPEUTIC MODALITY: {modality} READING LEVEL: {reading_level} LANGUAGE: {language} {'ADDITIONAL CLINICIAN INSTRUCTIONS: ' + custom_instructions if custom_instructions else ''} Please generate comprehensive, well-structured content appropriate for the specified reading level and format. Include practical examples, exercises, or reflection questions as appropriate for the format.
Sonnet 4.6
requirements.txt
text
flask==3.1.0
openai==1.76.0
azure-identity==1.19.0
azure-keyvault-secrets==4.9.0
gunicorn==23.0.0
  • templates/index.html: Bootstrap 5 SPA with topic/subtopic selectors, modality dropdown, reading level selector, format selector, language dropdown, custom instructions textarea, generate button, and a rendered Markdown output area with copy/print buttons.
  • Use marked.js for Markdown rendering and a print stylesheet for clean printing.

Treatment Plan Generator Prompt Template

Type: prompt A structured prompt template used within the AI documentation platform (AutoNotes or Mentalyc) or as a standalone Azure OpenAI API call to generate comprehensive, insurance-compliant treatment plans from clinician-provided session data. The template enforces SMART goal formatting, DSM-5-TR diagnostic alignment, and includes all elements typically required by commercial insurance and Medicaid for treatment plan approval.

Implementation:

Note

Use in AutoNotes custom template or Azure OpenAI API call. Temperature: 0.4 (lower for clinical accuracy). Max tokens: 4000.

Treatment Plan Generator - System Prompt

You are a licensed clinical documentation specialist generating a comprehensive treatment plan for a mental health practice. Generate a treatment plan that meets insurance documentation standards and clinical best practices. OUTPUT STRUCTURE (follow exactly): # TREATMENT PLAN ## Client Information - Client ID: [Leave blank - clinician fills in] - Date of Plan: [Current date] - Plan Review Date: [90 days from current date] - Clinician: [Leave blank - clinician fills in] - Clinician Credentials: [Leave blank - clinician fills in] ## Presenting Problem(s) [Summarize the client's presenting concerns in clinical language, based on the session data provided. Use objective, behavioral terms. 2-4 sentences.] ## Diagnostic Impression - Primary Diagnosis: [DSM-5-TR code and name] - Secondary Diagnosis (if applicable): [DSM-5-TR code and name] - Rule-Out Diagnoses: [List any being considered] - Medical Conditions Affecting Treatment: [Note if provided] ## Risk Assessment Summary - Suicidal Ideation: [None/Passive/Active with/without plan] - Homicidal Ideation: [None/Present] - Self-Harm: [None/Historical/Current] - Substance Use: [None/Historical/Current - specify] - Overall Risk Level: [Low/Moderate/High] - Safety Plan: [In place / Needs development / N/A] ## Client Strengths & Resources [List 4-6 specific strengths, protective factors, and available resources identified during assessment. Use bullet points.] ## Barriers to Treatment [List 2-4 specific barriers such as transportation, finances, motivation, co-occurring conditions, family dynamics, etc.] ## Treatment Goals & Objectives ### Goal 1: [Broad treatment goal in client's language] **Target Date:** [Estimated date] **Baseline:** [Current functioning level] - **Objective 1.1:** [SMART objective - Specific, Measurable, Achievable, Relevant, Time-bound] - Intervention: [Specific clinical intervention, e.g., 'Clinician will use cognitive restructuring techniques (CBT) to help client identify and challenge negative automatic thoughts'] - Frequency: [How often this intervention will occur] - Responsible Party: [Clinician / Client / Both] - Measurement: [How progress will be measured, e.g., PHQ-9 score, behavioral frequency count, client self-report scale 1-10] - **Objective 1.2:** [Second SMART objective under this goal] - Intervention: [Specific clinical intervention] - Frequency: [How often] - Responsible Party: [Who] - Measurement: [How measured] ### Goal 2: [Second broad treatment goal] [Same structure as Goal 1 with 2-3 objectives] ### Goal 3 (if applicable): [Third broad treatment goal] [Same structure] ## Recommended Treatment Modality - Primary Modality: [e.g., Individual CBT, DBT Skills Group, EMDR, etc.] - Adjunctive Services: [e.g., Group therapy, Psychiatric consultation, Case management] - Session Frequency: [e.g., Weekly 50-minute individual sessions] - Estimated Duration of Treatment: [e.g., 12-16 sessions, ongoing, etc.] ## Discharge Criteria [List 3-5 specific, measurable criteria that indicate readiness for discharge or step-down. These should directly correspond to the treatment goals above.] ## Client Participation & Consent - Client was involved in treatment plan development: [Yes/No] - Client agrees with treatment goals: [Yes/No] - Client provided informed consent for treatment: [Yes/No] - Client signature: ______________________ Date: ______ - Clinician signature: ______________________ Date: ______ IMPORTANT RULES: 1. All objectives MUST be in SMART format. 2. Use person-first language throughout (e.g., 'client experiencing depression' not 'depressed client'). 3. Goals should be stated in positive terms (what client WILL do, not what they will stop doing). 4. Include at least 2 and no more than 4 major goals. 5. Each goal must have at least 2 measurable objectives. 6. Interventions must name specific, evidence-based techniques. 7. DSM-5-TR codes must be current and accurate. 8. Measurement methods must be specific (name the assessment tool or behavioral metric). 9. Discharge criteria must be observable and measurable. 10. Leave signature lines and client ID blank for the clinician to complete.
Sonnet 4.6

Treatment Plan Generator - User Prompt Template

Generate a treatment plan based on the following clinical information: PRESENTING CONCERNS: {presenting_concerns} RELEVANT HISTORY: {relevant_history} CURRENT SYMPTOMS: {current_symptoms} DIAGNOSTIC CONSIDERATIONS: {diagnostic_considerations} CLIENT GOALS (in their words): {client_goals} RISK FACTORS: {risk_factors} STRENGTHS/RESOURCES: {strengths} PREFERRED MODALITY: {modality} INSURANCE/PAYER: {payer} ADDITIONAL CLINICIAN NOTES: {additional_notes}
Sonnet 4.6

Progress Report Generator Prompt Template

Type: prompt A structured prompt template for generating clinical progress reports that summarize treatment progress over a defined period. These reports are typically required for insurance reauthorization, referral sources, school systems (for child/adolescent clients), and court-ordered treatment documentation. The template produces narrative reports with quantitative progress metrics.

Implementation:

Progress Report Generator - Configuration
python
# Progress Report Generator - System Prompt
# Temperature: 0.4
# Max tokens: 3000

SYSTEM_PROMPT = """

Progress Report Generator - System Prompt

You are a clinical documentation specialist generating a formal progress report for a mental health client. This report summarizes treatment progress over a specified period and may be shared with insurance companies, referral sources, schools, or courts. Maintain professional clinical language while being clear and accessible to non-clinical readers. OUTPUT STRUCTURE: # PROGRESS REPORT ## Report Information - Client ID: [Leave blank] - Reporting Period: [Start date] to [End date] - Report Date: [Current date] - Clinician: [Leave blank] - Credentials: [Leave blank] - Report Purpose: [Insurance reauthorization / Referral source update / School accommodation / Court-ordered / Other] ## Treatment Summary - Sessions Attended: [X of Y scheduled] - Session Frequency: [e.g., Weekly 50-minute individual therapy] - Attendance Rate: [Percentage] - Treatment Modality: [e.g., CBT, DBT, EMDR] - Cancellations/No-Shows: [Number and pattern notes] ## Diagnosis - Current Diagnosis: [DSM-5-TR code(s) and name(s)] - Changes to Diagnosis: [Any modifications since last report] ## Current Medications (if known) [List current psychiatric medications, dosages, and prescriber if provided by client] ## Progress Toward Treatment Goals ### Goal 1: [State goal from treatment plan] **Status:** [Met / Partially Met / Not Yet Met / Revised] **Progress Rating:** [1-10 scale with anchor descriptions] - Objective 1.1: [State objective] - Baseline: [Where client started] - Current: [Where client is now] - Evidence: [Specific examples, assessment scores, behavioral data] - Objective 1.2: [State objective] - Baseline: [Starting point] - Current: [Current status] - Evidence: [Specific examples] ### Goal 2: [Repeat structure] ## Clinical Observations [2-3 paragraphs describing overall clinical presentation changes, engagement level, therapeutic alliance quality, and notable session themes. Use specific behavioral observations rather than subjective impressions.] ## Standardized Assessment Results [If administered, include pre/post scores for tools like PHQ-9, GAD-7, PCL-5, BDI-II, etc. with interpretation.] ## Risk Assessment - Current Risk Level: [Low/Moderate/High] - Changes from Previous Assessment: [Improved/Stable/Elevated] - Safety Plan Status: [Active/Updated/N/A] ## Barriers & Challenges [List any barriers encountered during the reporting period and how they were addressed.] ## Treatment Plan Updates - Modifications Made: [Any changes to goals, modality, or frequency] - Rationale: [Why changes were made] ## Recommendations - Continue Treatment: [Yes/No] - Recommended Frequency: [Same/Increase/Decrease] - Recommended Duration: [Additional sessions/time estimate] - Referrals Needed: [Psychiatric, group therapy, case management, etc.] - Discharge Planning: [If approaching discharge, outline transition plan] ## Prognosis [Brief prognosis statement based on progress, engagement, and clinical factors. Use terms: Good/Fair/Guarded/Poor with brief justification.] --- Clinician Signature: ______________________ Date: ______ Credentials: ______________________ RULES: 1. Be objective and use behavioral evidence for all claims. 2. Quantify progress wherever possible (scores, frequencies, percentages). 3. Use person-first, destigmatizing language. 4. Do not include information the clinician has not provided. 5. Clearly distinguish between client self-report and clinician observation. 6. For court-ordered reports, use especially precise and neutral language. 7. Include both strengths and areas needing continued work. 8. Leave all identifying fields blank for clinician to complete.
Sonnet 4.6

Progress Report Generator - User Prompt Template

Generate a progress report based on the following information: REPORTING PERIOD: {start_date} to {end_date} REPORT PURPOSE: {purpose} SESSIONS ATTENDED: {sessions_attended} of {sessions_scheduled} CURRENT DIAGNOSIS: {diagnosis} TREATMENT MODALITY: {modality} TREATMENT GOALS FROM PLAN: {treatment_goals} SESSION SUMMARIES/THEMES: {session_summaries} ASSESSMENT SCORES (if available): {assessment_scores} CLINICIAN OBSERVATIONS: {clinician_observations} BARRIERS ENCOUNTERED: {barriers} RISK ASSESSMENT NOTES: {risk_notes} RECOMMENDATIONS: {recommendations}
Sonnet 4.6

Type: prompt A complete patient consent form template specifically for AI-assisted clinical documentation in mental health settings. This form addresses session recording, AI transcription, data processing, storage, and the patient's right to opt out. Designed to satisfy HIPAA informed consent requirements and state-specific recording consent laws. To be deployed via JotForm HIPAA or printed for in-office use. Implementation:

AI-Assisted Documentation Consent Form

# AI-Assisted Documentation Consent Form # Deploy via JotForm HIPAA or print as PDF # Review with practice legal counsel before deployment --- # CONSENT FOR AI-ASSISTED CLINICAL DOCUMENTATION **Practice Name:** [Practice Name] **Practice Address:** [Address] **Practice Phone:** [Phone] --- ## Purpose of This Form Our practice uses artificial intelligence (AI) technology to assist with clinical documentation. This technology helps your clinician create more accurate and timely records of your treatment while allowing them to focus more fully on your care during sessions. This form explains how this technology works and asks for your informed consent before it is used in your treatment. ## What AI-Assisted Documentation Means With your consent, the following may occur during your therapy sessions: 1. **Audio Recording:** Your therapy sessions may be audio recorded using a secure device in the therapy room or through our telehealth platform. 2. **AI Transcription:** The audio recording is processed by an AI system that converts speech to text. This creates a written transcript of the session. 3. **AI-Generated Documentation:** The AI system uses the transcript to draft clinical documents such as: - Session progress notes - Treatment plan updates - Progress reports 4. **Clinician Review:** Your clinician ALWAYS reviews, edits, and approves all AI-generated documentation before it becomes part of your clinical record. AI-generated content is never entered into your record without clinician review. 5. **Psychoeducation Materials:** AI may also be used to generate educational materials about mental health topics relevant to your treatment. These materials are general in nature and do not contain your personal information. ## How Your Information Is Protected - All audio recordings and transcriptions are processed using **HIPAA-compliant** systems with signed Business Associate Agreements. - Data is **encrypted** during transmission and storage using industry-standard encryption (AES-256). - Audio recordings are **automatically deleted** after transcription is complete (typically within [24-72] hours — confirm with vendor). - AI-generated drafts are stored within our secure electronic health record system. - The AI vendor **does not use your session data** to train or improve their AI models. - Access to your records is limited to authorized clinical staff only. ## Your Rights - **You may decline this consent** and still receive treatment. Your clinician will document sessions manually if you choose not to consent. - **You may withdraw consent at any time** by notifying your clinician verbally or in writing. Withdrawal applies to future sessions only; documentation from prior consented sessions remains in your record. - **You may request a session without recording** at any time, even after giving general consent, by telling your clinician at the start of any session. - **You may request a copy** of any AI-assisted documentation in your record. - **You may request corrections** to any documentation you believe is inaccurate. ## Limitations - AI technology is a tool that assists your clinician. It does **not** make clinical decisions, diagnoses, or treatment recommendations. - AI-generated content may occasionally contain errors, which is why your clinician always reviews and edits all documentation. - While we use industry-leading security measures, no technology system can guarantee 100% security against all possible threats. ## For Substance Use Disorder Treatment If you are receiving treatment for substance use disorders, your records are additionally protected under **42 CFR Part 2** (federal regulations governing confidentiality of substance use disorder patient records). AI-assisted documentation of substance use disorder treatment follows all additional protections required by these regulations. --- ## Consent Statement I, _________________________ (printed name), have read and understand this consent form. I have had the opportunity to ask questions about AI-assisted documentation in my treatment. **Please check each box to indicate your understanding and consent:** ☐ I understand that my therapy sessions may be audio recorded for AI-assisted documentation purposes. ☐ I understand that an AI system will process the recording to help create clinical documentation. ☐ I understand that my clinician will always review and approve AI-generated documentation before it enters my record. ☐ I understand that I may withdraw this consent at any time without affecting my treatment. ☐ I understand that I may request any individual session not be recorded. ☐ I have received a copy of this consent form for my records. **I consent to AI-assisted documentation in my treatment:** ☐ YES, I consent to AI-assisted documentation as described above. ☐ NO, I do not consent. I understand my clinician will document sessions manually. --- **Client Signature:** ______________________________ **Date:** ______________ **Printed Name:** ______________________________ **Parent/Guardian Signature (if client is a minor):** ______________________________ **Date:** ______________ **Clinician Signature:** ______________________________ **Date:** ______________ **Clinician Name & Credentials:** ______________________________ --- *This consent form was last updated on [DATE]. A copy has been provided to the client.* *This consent will be reviewed at least annually or when significant changes are made to AI documentation practices.*
Sonnet 4.6

EHR Integration Workflow Automation

Type: workflow A defined workflow automation that orchestrates the end-to-end process from session recording through AI note generation, clinician review, and EHR submission. This workflow includes decision points for consent verification, quality review, and error handling. Designed to be implemented within the AI documentation platform's native workflow engine or as a supplementary checklist automated via Microsoft Power Automate. Implementation:

EHR Integration Workflow - Power Automate Flow Definition
yaml
# EHR Integration Workflow - Power Automate Flow Definition
# Trigger: Manual (clinician initiates post-session)
# Or: Automated when AI tool marks note as 'Ready for Review'

## Workflow Steps (Implement in Power Automate or as practice SOP)

### WORKFLOW: Post-Session AI Documentation

workflow:
  name: AI-Assisted Session Documentation
  trigger: session_end
  
  steps:
    - id: check_consent
      type: decision
      description: Verify patient has active AI documentation consent on file
      condition: consent_status == 'active'
      on_true: proceed_to_recording_check
      on_false: manual_documentation_required
      
    - id: manual_documentation_required
      type: notification
      description: Alert clinician that patient has not consented to AI documentation
      action: Display banner 'AI documentation not available - manual documentation required'
      next: end
      
    - id: proceed_to_recording_check
      type: decision
      description: Check if session was recorded successfully
      condition: recording_file_exists AND audio_quality_score > 0.7
      on_true: transcription
      on_false: manual_input_fallback
      
    - id: manual_input_fallback
      type: user_input
      description: Clinician provides written session summary for AI processing
      prompt: 'No usable recording available. Please type a brief session summary for AI note generation.'
      next: generate_note
      
    - id: transcription
      type: ai_process
      description: AI transcribes session audio to text
      service: ai_documentation_platform
      timeout: 300 seconds
      on_success: generate_note
      on_failure: manual_input_fallback
      
    - id: generate_note
      type: ai_process
      description: AI generates clinical note from transcript or manual input
      template: selected_note_format (SOAP|DAP|BIRP)
      parameters:
        - clinician_style_profile: loaded from clinician settings
        - note_template: loaded from practice template library
        - diagnosis_context: pulled from client's active treatment plan
      on_success: clinician_review
      on_failure: retry_once_then_alert
      
    - id: clinician_review
      type: human_review
      description: Clinician reviews, edits, and approves AI-generated note
      interface: side-by-side view (AI draft | editable final version)
      required_actions:
        - review_clinical_accuracy: true
        - verify_no_hallucinated_content: true
        - check_correct_client: true
        - edit_as_needed: true
        - digital_signature: required
      timeout: 48 hours
      escalation: practice_admin_notification
      on_approve: transfer_to_ehr
      on_reject: regenerate_or_manual
      
    - id: transfer_to_ehr
      type: integration
      description: Transfer approved note to EHR
      method: browser_extension_injection | api_push | manual_copy
      ehr_field_mapping:
        - subjective: ehr.note.subjective
        - objective: ehr.note.objective
        - assessment: ehr.note.assessment
        - plan: ehr.note.plan
        - session_date: ehr.note.date
        - cpt_code: ehr.billing.cpt (suggested by AI, verified by clinician)
      on_success: confirm_and_log
      on_failure: alert_clinician_manual_transfer
      
    - id: confirm_and_log
      type: logging
      description: Log successful note creation for audit trail
      log_fields:
        - timestamp
        - clinician_id
        - client_id (anonymized in log)
        - note_type
        - ai_model_used
        - generation_time
        - edit_percentage (how much clinician changed AI output)
        - transfer_method
      next: delete_recording
      
    - id: delete_recording
      type: cleanup
      description: Delete audio recording after note is finalized
      condition: note_status == 'signed_and_transferred'
      action: secure_delete(recording_file)
      verification: confirm_deletion
      next: end
      
    - id: end
      type: complete
      description: Workflow complete

Key Decision Points

1
Consent Gate: No AI processing without verified consent
2
Audio Quality Gate: Falls back to manual input if audio is poor
3
Clinician Review Gate: AI output NEVER enters EHR without human approval
4
Recording Deletion: Audio always deleted after note finalization

Metrics to Track

  • Average time from session end to signed note
  • AI draft acceptance rate (% approved without major edits)
  • Average edit percentage per clinician
  • Notes per clinician per day
  • Failed transcription rate

HIPAA Audit Log Monitor

Type: integration A monitoring integration that aggregates audit logs from all AI documentation components (SaaS platform, Azure OpenAI API, EHR access logs) into a centralized dashboard for HIPAA compliance reporting. Provides alerts for anomalous access patterns and generates monthly compliance reports.

Implementation:

Option A: Azure Log Analytics
kql
-- Query 1: All Azure OpenAI API calls with user attribution

AzureDiagnostics
| where ResourceProvider == 'MICROSOFT.COGNITIVESERVICES'
| where Category == 'RequestResponse'
| project TimeGenerated, CallerIPAddress, 
          OperationName, ResultType, 
          DurationMs, 
          Properties = parse_json(properties_s)
| order by TimeGenerated desc
Option A: Azure Log Analytics
kql
-- Query 2: Failed authentication attempts (anomaly detection)

SigninLogs
| where AppDisplayName contains 'psychoed' or AppDisplayName contains 'OpenAI'
| where ResultType != '0'
| summarize FailedAttempts = count() by UserPrincipalName, IPAddress, bin(TimeGenerated, 1h)
| where FailedAttempts > 5
| order by FailedAttempts desc
Option A: Azure Log Analytics
kql
-- Query 3: After-hours access patterns

SigninLogs
| where AppDisplayName contains 'psychoed' or AppDisplayName contains 'AutoNotes'
| extend HourOfDay = datetime_part('hour', TimeGenerated)
| where HourOfDay < 6 or HourOfDay > 22
| project TimeGenerated, UserPrincipalName, AppDisplayName, IPAddress, Location
| order by TimeGenerated desc
Option A: Azure Log Analytics
kql
-- Query 4: Monthly compliance summary

AzureDiagnostics
| where ResourceProvider == 'MICROSOFT.COGNITIVESERVICES'
| where TimeGenerated > ago(30d)
| summarize TotalCalls = count(), 
            AvgDurationMs = avg(DurationMs),
            UniqueCallers = dcount(CallerIPAddress),
            FailedCalls = countif(ResultType != 'Success')
| extend ReportMonth = format_datetime(now(), 'yyyy-MM')
Option B: Lightweight Python Audit Script (audit_monitor.py) — for MSPs without full Azure monitoring. Run as scheduled task weekly.
python
import json
import smtplib
from datetime import datetime, timedelta
from email.mime.text import MIMEText

def generate_weekly_audit_report():
    report = {
        'report_date': datetime.now().isoformat(),
        'period': f'{(datetime.now() - timedelta(days=7)).strftime("%Y-%m-%d")} to {datetime.now().strftime("%Y-%m-%d")}',
        'checks': []
    }
    
    # Check 1: Verify BAAs are current
    baa_expiry_dates = {
        'AutoNotes': '2026-01-15',
        'Azure/Microsoft': '2026-03-01',
        'Wasabi': '2026-02-28',
        'JotForm': '2026-01-01'
    }
    for vendor, expiry in baa_expiry_dates.items():
        days_until = (datetime.strptime(expiry, '%Y-%m-%d') - datetime.now()).days
        status = 'OK' if days_until > 90 else 'WARNING' if days_until > 30 else 'CRITICAL'
        report['checks'].append({
            'check': f'BAA Status - {vendor}',
            'status': status,
            'detail': f'Expires in {days_until} days ({expiry})'
        })
    
    # Check 2: Verify encryption status on managed devices
    # (Integrate with RMM tool API - example with NinjaRMM)
    report['checks'].append({
        'check': 'BitLocker Encryption Status',
        'status': 'CHECK_RMM',
        'detail': 'Verify all managed endpoints report BitLocker enabled via RMM dashboard'
    })
    
    # Check 3: MFA enforcement verification
    report['checks'].append({
        'check': 'MFA Enforcement',
        'status': 'CHECK_ENTRA',
        'detail': 'Verify Conditional Access policy requiring MFA is active and no exclusions added'
    })
    
    # Check 4: AI tool user access review
    report['checks'].append({
        'check': 'User Access Review',
        'status': 'MANUAL_REVIEW',
        'detail': 'Verify all AI tool user accounts match current active clinician roster. Disable accounts for departed staff.'
    })
    
    # Generate and send report
    report_text = json.dumps(report, indent=2)
    
    # Email report to MSP and practice admin
    msg = MIMEText(report_text)
    msg['Subject'] = f'Weekly HIPAA AI Audit Report - {report["period"]}'
    msg['From'] = 'msp-monitoring@mspdomain.com'
    msg['To'] = 'compliance@mspdomain.com, admin@practicedomain.com'
    
    # Send via configured SMTP (use practice's M365 SMTP or MSP relay)
    # smtp_server.send_message(msg)
    
    return report

if __name__ == '__main__':
    generate_weekly_audit_report()
  • BAA expiration within 90 days → Email warning to MSP
  • BAA expiration within 30 days → Urgent alert to MSP + practice admin
  • Failed login attempts > 5 in 1 hour → Immediate alert
  • After-hours access from unknown IP → Alert within 15 minutes
  • New user added to AI-Documentation-Users group → Confirmation alert
  • AI API error rate > 10% → Technical alert to MSP

Testing & Validation

  • TEST 1 - Audio Capture Quality: In each therapy room, conduct a 5-minute simulated conversation at normal therapy voice levels (both speakers 3-6 feet from Jabra Speak2 75). Record and transcribe. Verify transcription accuracy is >90% word accuracy rate. Test with door closed and ambient HVAC noise active to simulate real conditions.
  • TEST 2 - AI Progress Note Generation (SOAP): Input a standardized sample session summary describing a client with GAD discussing cognitive distortions. Generate a SOAP note. Verify: (a) Subjective section captures client's reported experience, (b) Objective section includes behavioral observations, (c) Assessment section aligns with GAD diagnostic criteria, (d) Plan section includes specific next-session interventions. Have clinical champion rate output on 1-5 clinical accuracy scale — must score ≥4.
  • TEST 3 - AI Treatment Plan Generation: Input a sample case of a 35-year-old presenting with Major Depressive Disorder, moderate severity. Generate treatment plan. Verify: (a) DSM-5-TR code F33.1 is correctly identified, (b) At least 2 SMART goals are generated, (c) Each goal has ≥2 measurable objectives, (d) Interventions name specific evidence-based techniques, (e) Discharge criteria are measurable. Have clinical champion review for insurance documentation completeness.
  • TEST 4 - EHR Browser Extension Integration: Generate a progress note in the AI tool, then transfer to EHR via browser extension. Verify: (a) All note sections populate in correct EHR fields, (b) No data loss or truncation during transfer, (c) Formatting (headers, bullet points) renders correctly in EHR, (d) Session date and client record match. Test with SimplePractice, TherapyNotes, or the practice's specific EHR.
  • TEST 5 - Psychoeducation Content Generator: Generate materials for 5 different topics (anxiety, depression, grief, DBT skills, child emotional regulation) at 8th-grade reading level. Verify: (a) Content is clinically accurate (reviewed by clinical champion), (b) Reading level is appropriate (run through Flesch-Kincaid readability tool — target grade 7-9), (c) No hallucinated research citations or statistics, (d) Disclaimer is present, (e) Content is actionable with exercises/worksheets.
  • TEST 6 - Psychoeducation Generator in Spanish: Generate an anxiety management handout in Spanish. Have a Spanish-speaking staff member or professional translator verify: (a) Translation quality is natural/fluent, (b) Clinical terminology is correctly translated, (c) Cultural sensitivity is appropriate.
  • TEST 7 - Consent Workflow: Complete the AI documentation consent form via JotForm HIPAA as a test patient. Verify: (a) All required fields are enforced, (b) E-signature captures correctly, (c) PDF copy is generated and emailed to test patient email, (d) Submission appears in JotForm admin dashboard, (e) Submission is linked to correct clinician.
  • TEST 8 - Opt-Out Workflow: Simulate a patient declining AI consent. Verify: (a) Clinician can easily disable recording for that session in the AI tool, (b) No audio is captured or transmitted, (c) Clinician can still access manual note-writing functionality, (d) Client's preference is recorded for future sessions.
  • TEST 9 - HIPAA Access Controls: Attempt to access the AI documentation platform and psychoeducation generator without MFA. Verify access is denied. Attempt to access from an IP address outside the practice's allowed range (for Azure OpenAI). Verify access is denied. Attempt to access with a deactivated user account. Verify access is denied.
  • TEST 10 - BitLocker and Device Compliance: On each configured laptop, verify: (a) BitLocker is active and encrypting the OS drive (Get-BitLockerVolume shows 'FullyEncrypted'), (b) Recovery key is escrowed in Entra ID, (c) Intune compliance policy shows device as 'Compliant', (d) Windows Defender is active and definitions updated within 24 hours.
  • TEST 11 - Backup and Recovery: Run the Wasabi backup script manually. Verify: (a) Files are uploaded to the correct bucket with AES-256 server-side encryption, (b) File integrity check passes (compare checksums), (c) Test restore: download a backed-up file and verify it opens correctly, (d) Verify the Apricorn encrypted drive accepts PIN and allows file copy.
  • TEST 12 - Audit Logging: Generate 3 AI notes and 1 psychoeducation document. Check Azure diagnostic logs to verify: (a) All 4 API calls appear in the log, (b) Timestamp, caller IP, and operation type are recorded, (c) Entra ID sign-in logs show corresponding authentication events, (d) Weekly audit report script generates correctly and would send email notification.
  • TEST 13 - End-to-End Workflow: Conduct a complete simulated therapy session (15 minutes) with clinical champion role-playing as clinician. Execute the full workflow: (1) Verify consent on file, (2) Start audio recording, (3) Conduct session, (4) Stop recording, (5) Wait for AI transcription and note generation, (6) Review and edit AI-generated SOAP note, (7) Transfer to EHR, (8) Verify note appears correctly in client record, (9) Generate treatment plan from session data, (10) Verify audit log captured all events. Time the entire workflow — target is under 10 minutes post-session for completed documentation.

Client Handoff

Client Handoff Deliverables and Training Plan

Training Sessions (Schedule 3 sessions)

Session 1: Practice Administrator Training (90 minutes)

  • AI documentation platform admin panel walkthrough (user management, template configuration, billing)
  • JotForm consent form management (accessing submissions, adding new forms, managing responses)
  • HIPAA compliance responsibilities overview (BAA tracking, risk assessment updates, breach notification procedures)
  • Wasabi backup verification procedures
  • How to add/remove clinician accounts when staff changes occur
  • Audit log review process and monthly compliance report interpretation

Session 2: Clinician Group Training (90 minutes)

  • Live demonstration of complete AI documentation workflow (record → transcribe → generate → review → transfer)
  • Treatment plan generation walkthrough with hands-on practice
  • Psychoeducation content generator demonstration and practice
  • Patient consent form process and opt-out workflow
  • Common issues and troubleshooting (poor audio, incorrect template, EHR transfer failures)
  • Clinical responsibility: reviewing AI output, catching errors, maintaining professional documentation standards
  • Q&A session addressing clinical and ethical concerns

Session 3: Individual Clinician Setup Sessions (30 minutes each)

  • Personalize each clinician's template preferences (SOAP vs DAP vs BIRP)
  • Configure audio device at their specific workstation
  • First supervised AI note generation with feedback
  • Bookmark psychoeducation generator and verify access

Documentation to Leave Behind

1
Quick Reference Card (laminated, one per therapy room): 5-step AI documentation workflow with screenshots
2
AI Documentation Policy Manual (digital + printed): Practice-specific policies for AI use, consent procedures, opt-out handling, and emergency manual documentation procedures
3
HIPAA Compliance Binder Update: Updated risk assessment, vendor BAA copies, updated Notice of Privacy Practices, AI-specific policies
4
Template Reference Guide: All configured note templates with field descriptions and examples of high-quality AI output
5
Troubleshooting Guide: Common issues (audio not detected, browser extension disconnected, EHR transfer failed, AI output quality poor) with step-by-step resolution
6
MSP Contact Card: Support phone number, email, portal URL, escalation procedures, SLA summary
7
Vendor Contact Information: Direct support contacts for AutoNotes/Mentalyc, EHR vendor, and telehealth platform

Success Criteria to Review Together at Handoff

Maintenance

Ongoing Maintenance Responsibilities

Weekly Tasks (MSP Automated + Manual Review)

  • Audit Log Review: Run weekly HIPAA audit script and review output for anomalies (failed logins, after-hours access, new user additions). Estimated time: 15 minutes/week.
  • Backup Verification: Confirm weekly Wasabi backup completed successfully by checking S3 bucket for new timestamped folder. Verify file count matches expected export. Estimated time: 10 minutes/week.
  • Device Compliance Check: Review Intune compliance dashboard — all devices should show 'Compliant' status with BitLocker active, Defender updated, and OS patches current. Estimated time: 10 minutes/week.

Monthly Tasks

  • AI Platform Usage Review: Log into AI documentation admin panel, review usage metrics (notes generated per clinician, adoption rates, error rates). Share summary with practice administrator. Identify clinicians with low adoption for targeted follow-up. Estimated time: 30 minutes/month.
  • Azure OpenAI Cost Review: Check Azure billing for OpenAI consumption. For a 5-clinician practice, monthly API cost should be $15–$50. Investigate if costs spike unexpectedly (may indicate misconfiguration or unauthorized use). Estimated time: 15 minutes/month.
  • Software Update Check: Verify AI documentation platform, browser extensions, and psychoeducation generator are running latest versions. Apply updates during low-usage hours (weekends or evenings). Estimated time: 30 minutes/month.
  • HIPAA Compliance Report: Generate and archive monthly compliance report summarizing: user access review, encryption status, backup status, incident log, and any policy changes. Deliver to practice administrator. Estimated time: 45 minutes/month.

Quarterly Tasks

  • BAA Inventory Review: Verify all vendor BAAs are current and not approaching expiration. Renew any BAAs expiring within 90 days. Estimated time: 30 minutes/quarter.
  • Backup Restore Test: Perform a test restore of one week's backup from Wasabi to a secure test location. Verify document integrity. Document test results. Estimated time: 45 minutes/quarter.
  • Template Effectiveness Review: Meet with clinical champion to review AI output quality trends. Adjust prompt templates or AI settings if note quality has degraded or clinical needs have changed. Estimated time: 60 minutes/quarter.
  • Security Assessment: Run vulnerability scan on practice network, verify firewall rules, check for unauthorized devices on network, review Conditional Access policies for drift. Estimated time: 2 hours/quarter.

Annual Tasks

  • HIPAA Risk Assessment Update: Conduct full risk assessment including all AI documentation systems. Update risk register and mitigation plans. Coordinate with compliance consultant if needed. Estimated time: 4–8 hours/year.
  • Vendor Re-evaluation: Assess whether current AI documentation platform still meets practice needs. Compare pricing, features, and compliance posture against market alternatives. Present findings and recommendation to practice. Estimated time: 2–4 hours/year.
  • Patient Consent Form Review: Review consent form language with practice legal counsel to ensure compliance with any new state or federal regulations. Update and redeploy if needed. Estimated time: 1–2 hours/year.
  • Disaster Recovery Test: Simulate loss of primary AI documentation platform (vendor outage). Verify clinicians can fall back to manual documentation. Test backup EHR access procedures. Estimated time: 2 hours/year.

SLA Considerations

  • Response Time: Critical issues (system down, potential data breach) — 1 hour response, 4 hour resolution target. Standard issues (feature not working, quality concern) — 4 hour response, next business day resolution. Low priority (template adjustment, training request) — next business day response, 5 business day resolution.
  • Escalation Path: Tier 1 (MSP help desk) → Tier 2 (MSP project engineer) → Tier 3 (AI vendor support) → Vendor escalation manager. For HIPAA incidents: MSP immediately + practice privacy officer + compliance consultant within 1 hour.
  • AI Model Updates: When AI vendors update their underlying models (e.g., AutoNotes upgrades from GPT-4 to GPT-4.1), schedule a 1-hour validation session with the clinical champion to verify output quality has not degraded. Do this within 1 week of any announced model change.
  • Uptime Target: AI documentation platform SLA is dependent on vendor (typically 99.5–99.9%). MSP-managed components (Azure OpenAI endpoint, psychoeducation generator) target 99.5% uptime during business hours (M–F 7am–9pm).

Cost Monitoring Triggers

  • Azure OpenAI monthly cost exceeds $100 for a 5-clinician practice → Investigate usage patterns
  • AI documentation platform per-clinician cost increases by >20% → Evaluate alternative vendors
  • Total monthly managed service cost exceeds client's approved budget → Schedule budget review meeting

Alternatives

Blueprint Free EHR + Pay-Per-Session AI

Replace both the existing EHR and AI documentation tool with Blueprint's combined offering. Blueprint provides a free EHR platform with AI documentation charged at $0.49–$0.99 per session. This eliminates the need for a separate AI documentation subscription and potentially reduces or replaces the existing EHR cost.

SimplePractice with Native AI Note Taker Add-On

For practices already using SimplePractice (250K+ practitioners), add the native AI Note Taker add-on ($35/month per provider) instead of deploying a third-party AI tool. This provides the tightest possible EHR integration since both the EHR and AI are from the same vendor. Supplement with the custom Azure OpenAI psychoeducation generator for patient materials.

Mentalyc for Modality-Specific Practices

Replace AutoNotes with Mentalyc as the primary AI documentation platform for practices that heavily specialize in specific therapeutic modalities (EMDR, DBT, trauma-informed, somatic experiencing). Mentalyc offers modality-specific note templates and SMART goal generation calibrated to specific therapeutic frameworks.

Fully Custom Azure OpenAI Build (White-Label)

Instead of using a third-party AI documentation SaaS, build a complete custom documentation solution using Azure OpenAI API (GPT-4.1-mini). The MSP creates a branded web application that handles session transcription (via Azure Speech Services), note generation, treatment plan creation, and psychoeducation materials — all integrated directly with the practice's EHR via FHIR API.

Note

RECOMMEND WHEN: MSP has development capability and plans to serve 10+ mental health practices, making the investment in a reusable platform worthwhile.

Open-Source Self-Hosted LLM (Maximum Data Control)

Deploy an open-source LLM (Meta LLaMA 3 70B or Mistral 8x22B) on dedicated GPU hardware either on-premises or in a private cloud instance. All data processing occurs within the practice's controlled environment with zero data leaving the perimeter. Pair with Whisper (open-source) for speech-to-text transcription.

Want early access to the full toolkit?