Avara Express
Learn how to set up Avara Express to sell AutoScribe or Viewer as a service to your customers. Perfect for PACS, EHR, and RIS companies looking to monetize radiology workflows.
Introduction
Section titled “Introduction”Avara Express is a platform account model that enables companies to sell AutoScribe or Viewer as a service to their customers. Similar to Stripe Express for payments, Avara Express handles multi-tenant complexity, allowing you to host multiple customers under one platform account with robust study access permissions scoping based on customer membership.
This PACS-first design makes it easy to integrate Avara Viewer or AutoScribe into your platform to maximize revenue while providing your customers with best-in-class radiology tools.
What is Avara Express?
Section titled “What is Avara Express?”Avara Express allows you to:
- Act as a platform account — Host all of your customers’ users with one Avara account
- Sell as a service — Offer AutoScribe or Viewer to your customers as a white-labeled or branded solution
- Manage multiple customers — Each customer gets their own customer ID with strong isolation
- Control access — Users can only see studies from customers they belong to
- Scale easily — Add new customers in seconds via dashboard or SDK
Key Concepts
Section titled “Key Concepts”Express Customers
Section titled “Express Customers”Each customer you serve gets an Express Customer ID (cus_{32-hex-chars}). This ID is used to:
- Group users into customers
- Scope study access permissions
- Track usage and billing per customer
User-Customer Relationships
Section titled “User-Customer Relationships”Users can be added to one or more Express customers. This enables:
- Strong isolation — Users can only see studies associated with their customer(s)
- Multi-customer support — Users can belong to multiple customers if there’s overlap
- Flexible access — Perfect for scenarios where radiologists work across multiple facilities
Study Access Control
Section titled “Study Access Control”Each study must have an expressCustomerId attached to it. This determines visibility:
- Customer members — Can see studies for customers they belong to
- Platform admins — Can view all studies across all customers (intended for hosting company staff only)
- Unattached studies — Only visible to platform admins
Platform Admins
Section titled “Platform Admins”Platform admins are special users with elevated permissions:
- Full visibility — Can view all studies across all Express customers
- Customer management — Can create, update, and manage Express customers
- User management — Can add users to any customer
Important: Platform admins are meant for the hosting company only, not for end customers.
Enabling Avara Express
Section titled “Enabling Avara Express”Dashboard Setup
Section titled “Dashboard Setup”- Navigate to Settings in the sidebar
- Find the Avara Express section
- Click Enable Avara Express
- Confirm the action
⚠️ Important: Once Avara Express is enabled, it cannot be disabled. This is a permanent account-level setting.
What Happens After Enabling
Section titled “What Happens After Enabling”Once enabled:
- A new Express Customers tab appears in the sidebar
- You can create and manage Express customers via the dashboard
- Full SDK support becomes available for programmatic customer management
- Study creation endpoints accept
expressCustomerIdparameters
Creating Express Customers
Section titled “Creating Express Customers”Via Dashboard
Section titled “Via Dashboard”- Click the Express Customers tab in the sidebar
- Click Create Customer
- Enter the customer name
- Optionally add metadata (key-value pairs for custom tracking)
- Click Create
The customer is created instantly with a unique Express Customer ID.
Via SDK
Section titled “Via SDK”Express customers can be created programmatically using the Express API:
TypeScript
Section titled “TypeScript”import Avara from '@avara/sdk';
const avara = new Avara({ apiKey: process.env.AVARA_API_KEY });
const expressCustomer = await avara.express.create({ expressCustomerName: 'City Medical Center', metadata: { department: 'radiology', region: 'northeast', },});
console.log(expressCustomer.expressCustomerId); // cus_1234567890abcdef...Python
Section titled “Python”from avara import Avara
avara = Avara(api_key=os.environ['AVARA_API_KEY'])
express_customer = avara.express.create( express_customer_name='City Medical Center', metadata={ 'department': 'radiology', 'region': 'northeast', })
print(express_customer.express_customer_id) # cus_1234567890abcdef...import com.avara.Avara;import com.avara.models.express.*;
Avara avara = new Avara.Builder() .apiKey(System.getenv("AVARA_API_KEY")) .build();
ExpressCustomerCreateRequest request = ExpressCustomerCreateRequest.builder() .expressCustomerName("City Medical Center") .metadata(Map.of( "department", "radiology", "region", "northeast" )) .build();
ExpressCustomer expressCustomer = avara.express().create(request);System.out.println(expressCustomer.getExpressCustomerId()); // cus_1234567890abcdef...Managing Users
Section titled “Managing Users”Adding Users to Customers
Section titled “Adding Users to Customers”Users must first be invited and accept their invitation before they can be added to Express customers.
Via Dashboard
Section titled “Via Dashboard”- Go to the Express Customers tab
- Click on a customer
- Click Add User
- Select a user from the list (users must have accepted their invitation)
- Click Add
The user can now see studies associated with that Express customer.
Via SDK
Section titled “Via SDK”Users can be added to Express customers programmatically:
TypeScript
Section titled “TypeScript”await avara.express.addUser(expressCustomerId, { userId: 'usr_1234567890abcdef1234567890abcdef',});Python
Section titled “Python”avara.express.add_user( express_customer_id='cus_1234567890abcdef1234567890abcdef', user_id='usr_1234567890abcdef1234567890abcdef')ExpressCustomerAddUserRequest request = ExpressCustomerAddUserRequest.builder() .userId("usr_1234567890abcdef1234567890abcdef") .build();
avara.express().addUser(expressCustomerId, request);Multi-Customer Users
Section titled “Multi-Customer Users”Users can belong to multiple Express customers. This is useful when:
- A radiologist works at multiple facilities
- Practices share staff across locations
When a user belongs to multiple customers, they can see studies from all customers they’re associated with.
Creating Studies with Express Customers
Section titled “Creating Studies with Express Customers”When creating studies, you must attach an expressCustomerId to make them visible to customer members.
AutoScribe Studies
Section titled “AutoScribe Studies”TypeScript
Section titled “TypeScript”const study = await avara.autoScribe.studies.create({ studyInstanceUid: '1.2.840.113619.2.55.3.604688119.868.1234567890.123', studyDescription: 'Brain MRI with Contrast', severity: 'normal', expressCustomerId: 'cus_1234567890abcdef1234567890abcdef', // Required for Express reportMetadata: { scanDate: '2024-03-15', scanType: 'MRI Brain with Contrast', patientName: 'Jane Doe', facilityName: 'City Medical Center', sex: 'female', dateOfBirth: '1985-07-20', mrn: 'MRN-2024-001234', },});Python
Section titled “Python”study = avara.auto_scribe.studies.create( study_instance_uid='1.2.840.113619.2.55.3.604688119.868.1234567890.123', study_description='Brain MRI with Contrast', severity='normal', express_customer_id='cus_1234567890abcdef1234567890abcdef', # Required for Express report_metadata={ 'scan_date': '2024-03-15', 'scan_type': 'MRI Brain with Contrast', 'patient_name': 'Jane Doe', 'facility_name': 'City Medical Center', 'sex': 'female', 'date_of_birth': '1985-07-20', 'mrn': 'MRN-2024-001234', })AutoScribeStudyCreateRequest request = AutoScribeStudyCreateRequest.builder() .studyInstanceUid("1.2.840.113619.2.55.3.604688119.868.1234567890.123") .studyDescription("Brain MRI with Contrast") .severity(Severity.NORMAL) .expressCustomerId("cus_1234567890abcdef1234567890abcdef") // Required for Express .reportMetadata(StudyReportMetadata.builder() .scanDate("2024-03-15") .scanType("MRI Brain with Contrast") .patientName("Jane Doe") .facilityName("City Medical Center") .sex(Sex.FEMALE) .dateOfBirth("1985-07-20") .mrn("MRN-2024-001234") .build()) .build();
AutoScribeStudy study = avara.autoScribe().studies().create(request);Viewer Studies
Section titled “Viewer Studies”TypeScript
Section titled “TypeScript”const study = await avara.viewer.studies.create({ studyInstanceUid: '1.2.840.113619.2.55.3.604688119.868.1234567890.123', studyDescription: 'CT Chest/Abdomen/Pelvis', severity: 'high', expressCustomerId: 'cus_1234567890abcdef1234567890abcdef', // Required for Express});Python
Section titled “Python”study = avara.viewer.studies.create( study_instance_uid='1.2.840.113619.2.55.3.604688119.868.1234567890.123', study_description='CT Chest/Abdomen/Pelvis', severity='high', express_customer_id='cus_1234567890abcdef1234567890abcdef', # Required for Express)ViewerStudyCreateRequest request = ViewerStudyCreateRequest.builder() .studyInstanceUid("1.2.840.113619.2.55.3.604688119.868.1234567890.123") .studyDescription("CT Chest/Abdomen/Pelvis") .severity(Severity.HIGH) .expressCustomerId("cus_1234567890abcdef1234567890abcdef") // Required for Express .build();
ViewerStudy study = avara.viewer().studies().create(request);Access Control Behavior
Section titled “Access Control Behavior”For Customer Members
Section titled “For Customer Members”Users who belong to an Express customer can:
- ✅ See studies with that customer’s
expressCustomerId - ✅ Create reports (AutoScribe) or view studies (Viewer) for their customer
- ❌ See studies from other customers they don’t belong to
For Platform Admins
Section titled “For Platform Admins”Platform admins (hosting company staff) can:
- ✅ View all studies across all Express customers
- ✅ Create and manage Express customers
- ✅ Add users to any customer
- ✅ Access all platform features
Note: Platform admins are intended for your company’s staff only, not for end customers.
For Studies Without Express Customer ID
Section titled “For Studies Without Express Customer ID”Studies created without an expressCustomerId:
- ❌ Are not visible to customer members
- ✅ Are only visible to platform admins
Always attach an expressCustomerId when creating studies for Express customers.
Managing Express Customers
Section titled “Managing Express Customers”Listing Customers
Section titled “Listing Customers”TypeScript
Section titled “TypeScript”const response = await avara.express.list({ limit: 20,});
for (const customer of response.expressCustomers) { console.log(`${customer.expressCustomerName}: ${customer.expressCustomerId}`); console.log(`Active: ${customer.isActive}, Users: ${customer.userCount}`);}Python
Section titled “Python”response = avara.express.list(limit=20)
for customer in response.express_customers: print(f"{customer.express_customer_name}: {customer.express_customer_id}") print(f"Active: {customer.is_active}, Users: {customer.user_count}")ExpressCustomerListResponse response = avara.express().list( ExpressCustomerListParams.builder() .limit(20) .build());
for (ExpressCustomer customer : response.getExpressCustomers()) { System.out.println(customer.getExpressCustomerName() + ": " + customer.getExpressCustomerId()); System.out.println("Active: " + customer.getIsActive() + ", Users: " + customer.getUserCount());}Updating Customers
Section titled “Updating Customers”TypeScript
Section titled “TypeScript”const updated = await avara.express.update(expressCustomerId, { expressCustomerName: 'City Medical Center - Updated', metadata: { department: 'radiology', region: 'northeast', wing: 'Building A', },});Python
Section titled “Python”updated = avara.express.update( express_customer_id='cus_1234567890abcdef1234567890abcdef', express_customer_name='City Medical Center - Updated', metadata={ 'department': 'radiology', 'region': 'northeast', 'wing': 'Building A', })ExpressCustomerUpdateRequest request = ExpressCustomerUpdateRequest.builder() .expressCustomerName("City Medical Center - Updated") .metadata(Map.of( "department", "radiology", "region", "northeast", "wing", "Building A" )) .build();
ExpressCustomer updated = avara.express().update(expressCustomerId, request);Removing Users from Customers
Section titled “Removing Users from Customers”TypeScript
Section titled “TypeScript”await avara.express.removeUser(expressCustomerId, { userId: 'usr_1234567890abcdef1234567890abcdef',});Python
Section titled “Python”avara.express.remove_user( express_customer_id='cus_1234567890abcdef1234567890abcdef', user_id='usr_1234567890abcdef1234567890abcdef')ExpressCustomerRemoveUserRequest request = ExpressCustomerRemoveUserRequest.builder() .userId("usr_1234567890abcdef1234567890abcdef") .build();
avara.express().removeUser(expressCustomerId, request);Deactivating Customers
Section titled “Deactivating Customers”TypeScript
Section titled “TypeScript”const deactivated = await avara.express.deactivate(expressCustomerId);Python
Section titled “Python”deactivated = avara.express.deactivate('cus_1234567890abcdef1234567890abcdef')ExpressCustomer deactivated = avara.express().deactivate(expressCustomerId);Reactivating Customers
Section titled “Reactivating Customers”TypeScript
Section titled “TypeScript”const reactivated = await avara.express.reactivate(expressCustomerId);Python
Section titled “Python”reactivated = avara.express.reactivate('cus_1234567890abcdef1234567890abcdef')ExpressCustomer reactivated = avara.express().reactivate(expressCustomerId);Best Practices
Section titled “Best Practices”1. Always Attach Express Customer ID
Section titled “1. Always Attach Express Customer ID”When creating studies for Express customers, always include the expressCustomerId. Studies without this ID are only visible to platform admins.
2. Use Platform Admins Sparingly
Section titled “2. Use Platform Admins Sparingly”Platform admins have access to all studies across all customers. Only grant admin access to your company’s staff, not to end customers.
3. Organize Users by Customer
Section titled “3. Organize Users by Customer”Add users to the appropriate Express customers immediately after they accept their invitations. This ensures they can access the correct studies from day one.
4. Track Customer Usage
Section titled “4. Track Customer Usage”Use Express customer metadata to track custom information:
- Department or facility name
- Region or location
- Billing codes
- Custom identifiers
5. Handle Multi-Customer Users
Section titled “5. Handle Multi-Customer Users”If users work across multiple facilities, add them to all relevant Express customers. They’ll be able to see studies from all customers they belong to.
Use Cases
Section titled “Use Cases”PACS Companies
Section titled “PACS Companies”PACS companies can use Avara Express to:
- Offer AutoScribe dictation as a native feature
- Provide Viewer access to their customers
- Generate new revenue streams from existing customers
- Differentiate from competitors with integrated workflows
EHR/RIS Companies
Section titled “EHR/RIS Companies”EHR and RIS companies can:
- Embed radiology workflows into their platforms
- Offer white-labeled dictation and viewing solutions
- Provide seamless integration without separate logins
- Scale to serve multiple healthcare facilities
Summary
Section titled “Summary”Avara Express enables you to:
- ✅ Host multiple customers with one platform account
- ✅ Provide strong isolation between customers
- ✅ Add new customers in seconds via dashboard or SDK
- ✅ Control study access based on customer membership
- ✅ Scale your business by selling AutoScribe or Viewer as a service
Once enabled, Avara Express cannot be disabled, so ensure this model fits your business needs before enabling. For questions or assistance with setup, contact our sales team.