PracticeHub
Sync patients, appointments, invoices, and packages with PracticeHub
Connect your PracticeHub practice management system with RevKeen to automatically sync patient data, invoices, and payments. This integration enables seamless payment collection for healthcare providers, wellness clinics, and fitness studios.
Add-On App -- PracticeHub integration is available as a premium add-on to your RevKeen subscription. Contact sales@revkeen.com for pricing.
Overview
The PracticeHub integration creates a bi-directional sync between your practice management system and RevKeen's payment platform:
- Inbound: Patients, invoices, and packages sync from PracticeHub to RevKeen
- Outbound: Completed payments push from RevKeen to PracticeHub
This allows your patients to pay invoices online while keeping your PracticeHub records automatically updated.
Features
- Patient Sync -- Import patients from PracticeHub as RevKeen customers with email matching
- Invoice Sync -- Sync unpaid invoices (sent, partial, overdue) for online payment collection
- Automatic Payment Push -- Push completed payments back to PracticeHub with full transaction details
- Package Sync -- Sync service packages as RevKeen products for upselling and subscriptions
Prerequisites
Before connecting PracticeHub, you will need:
- A PracticeHub account with API access enabled
- Your PracticeHub API Key
- Your PracticeHub Base URL (e.g.,
https://yourclinic.practicehub.io)
Contact PracticeHub support to enable API access for your account if you don't have an API key.
Setup Instructions
Step 1: Get Your API Credentials
- Log in to your PracticeHub admin panel
- Navigate to Settings > API Access
- Generate or copy your API Key
- Note your Base URL (the URL you use to access PracticeHub)
Step 2: Connect in RevKeen
- Go to your RevKeen Dashboard
- Navigate to Settings > Integrations
- Find PracticeHub and click Connect
- Enter your credentials:
| Field | Description | Example |
|---|---|---|
| Base URL | Your PracticeHub instance URL | https://yourclinic.practicehub.io |
| API Key | Your PracticeHub API key | pk_live_xxxxx |
| App Name | Optional identifier | RevKeen |
| Sync Enabled | Enable automatic syncing | true |
- Click Save & Validate
RevKeen will validate your credentials before saving. If validation fails, double-check your API key and Base URL.
Step 3: Configure Sync Settings
After connecting, you can configure what data syncs:
- Patients to Customers -- Import patient records (email, name only -- no PHI)
- Invoices -- Sync unpaid invoices for payment collection
- Packages to Products -- Sync service packages as products
- Payment Methods -- Map PracticeHub payment types to RevKeen
Data Sync Details
What Syncs
| PracticeHub | RevKeen | Direction | Sync Trigger |
|---|---|---|---|
| Patients | Customers | PracticeHub to RevKeen | Updated timestamp |
| Invoices (unpaid) | Invoices | PracticeHub to RevKeen | Updated timestamp |
| Packages | Products | PracticeHub to RevKeen | Updated timestamp |
| Payment Methods | Payment Method Mappings | PracticeHub to RevKeen | Initial sync |
| -- | Payments | RevKeen to PracticeHub | Payment completion |
Patient to Customer Mapping
When a patient syncs from PracticeHub:
| PracticeHub Field | RevKeen Field | Notes |
|---|---|---|
id | external_id | Used for matching |
email | email | Required -- patients without email are skipped |
first_name | first_name | Direct mapping |
last_name | last_name | Direct mapping |
phone | phone | Direct mapping |
patient_number | customer_number | Used for display |
What Does NOT Sync (PHI Compliance)
RevKeen never syncs Protected Health Information (PHI) to maintain HIPAA compliance.
The following fields are blocked and never imported:
- Date of birth
- Medical history
- Diagnosis/symptoms
- Treatment plans
- Clinical notes
- Staff notes
- Appointment details (beyond basic scheduling)
- Social Security numbers
- Insurance information
Only billing-safe fields are synced:
- Email address
- First name, Last name
- Patient/customer number
- Invoice amounts and due dates
- Product/service names and prices
How Payment Push Works
When a customer pays an invoice through RevKeen, the payment is automatically recorded in PracticeHub.
Payment Flow:
- Patient pays invoice online via RevKeen
- RevKeen processes card payment via the payment gateway
- Gateway confirms payment
- RevKeen POSTs payment to PracticeHub API
- PracticeHub marks invoice as paid and updates balance
What Gets Pushed
When a payment is completed, RevKeen sends the following to PracticeHub:
| Field | Description | Example |
|---|---|---|
amount | Payment amount in cents | 5000 (= $50.00) |
patient_id | PracticeHub patient ID | 12345 |
payment_type_id | Mapped payment method | 7 (Card) |
service | Source system identifier | revkeen |
service_id | RevKeen transaction ID | nmi_txn_abc123 |
note | Payment details | Card - NMI Gateway | Last4: 4242 |
Sync Architecture
Incremental Sync Strategy
RevKeen tracks the last sync timestamp and only fetches records updated since then:
GET /api/patients?updated=gte:2024-11-30T10:00:00Z
GET /api/invoices?updated=gte:2024-11-30T10:00:00Z&status=in:sent,partial,overdue
GET /api/packages?updated=gte:2024-11-30T10:00:00ZThis ensures:
- Minimal API calls -- Only changed records are fetched
- Fast sync -- Updates complete in seconds, not minutes
- Respect rate limits -- Won't overwhelm PracticeHub API
Polling Schedule
| Resource | Frequency | Notes |
|---|---|---|
| Patients | 1-30 seconds | More frequent when changes detected |
| Invoices | 1-30 seconds | Focuses on unpaid invoices only |
| Packages | 10-30 seconds | Less frequent (packages rarely change) |
Payment Method Mapping
RevKeen automatically maps payment methods between systems:
| RevKeen Type | PracticeHub Match |
|---|---|
card | "Card", "Credit Card", "Debit Card" |
bank_transfer | "Bank Transfer", "ACH", "EFT" |
cash | "Cash" |
cheque | "Cheque", "Check" |
Payment method mappings are created automatically when you first sync. You can customize them in Settings > Integrations > PracticeHub > Payment Methods.
Webhook Events
RevKeen emits webhook events for PracticeHub sync activity:
| Event | Description |
|---|---|
practicehub.customer.synced | Customer created/updated from patient |
practicehub.invoice.synced | Invoice created/updated from PracticeHub |
practicehub.payment.pushed | Payment successfully pushed to PracticeHub |
practicehub.payment.failed | Payment push failed (will retry) |
practicehub.sync.error | Sync encountered an error |
Error Handling and Retries
RevKeen automatically handles common errors:
| Error Type | Action | Max Retries |
|---|---|---|
| Rate limit (429) | Exponential backoff | 5 |
| Server error (5xx) | Retry with delay | 3 |
| Network timeout | Retry | 3 |
| Authentication error (401) | Disable sync, notify admin | 0 |
| Not found (404) | Skip record, log warning | 0 |
If sync errors persist, check Settings > Integrations > PracticeHub > Logs for detailed error messages.
Troubleshooting
Connection Failed
Invalid API Key
- Verify your API key is correct (no extra spaces)
- Check if the API key has expired
- Ensure API access is enabled in PracticeHub
Invalid Base URL
- Use the full URL including
https:// - Don't include trailing slashes
- Example:
https://yourclinic.practicehub.io
Network Timeout
- Check if PracticeHub is accessible
- Verify your firewall allows outbound connections
- Try again in a few minutes
Sync Issues
Patients Not Syncing
- Check if patients have email addresses (required)
- Verify sync is enabled in settings
- Check the Sync Status in your dashboard
Payments Not Pushing
- Verify the customer is linked to a PracticeHub patient
- Check payment method mappings are configured
- Review error logs in Settings > Integrations
Missing Invoices
- Only unpaid invoices sync to RevKeen
- Paid invoices are skipped (already settled)
- Check the invoice status in PracticeHub
Frequently Asked Questions
How quickly do payments appear in PracticeHub?
Payments are pushed to PracticeHub within 1-5 seconds of being processed. The patient balance updates immediately once PracticeHub confirms receipt.
What happens if PracticeHub is down when a payment is made?
RevKeen queues the payment push and retries automatically. Payments are guaranteed to be delivered to PracticeHub once it's back online. You can see queued payments in your dashboard.
Can I sync specific patients only?
Currently, RevKeen syncs all active patients with email addresses. Contact support if you need filtering by patient groups or locations.
Do partial payments sync correctly?
Yes. When a patient makes a partial payment, RevKeen pushes the exact amount to PracticeHub. The invoice status updates to "partial" in both systems.
What about refunds?
Refunds processed in RevKeen are logged but not automatically pushed to PracticeHub. You will need to manually adjust the patient balance in PracticeHub for refunds.
Is my data secure?
Yes. All API communication uses HTTPS/TLS encryption. API keys are stored encrypted using industry-standard vault technology. RevKeen is SOC 2 compliant.
Support
Need help with your PracticeHub integration?
- Email: support@revkeen.com
- Documentation: docs.revkeen.com
- Status: status.revkeen.com
- Sales: sales@revkeen.com (for pricing inquiries)