# Shared ## Domain Types ### API Key Reference - `class APIKeyReference: …` A reference to an API key with basic identifying information - `api_key_id: str` Unique API key identifier (UUIDv4 format) - `description: str` Human-readable description of the API key - `is_viewer_enabled: Optional[bool]` Whether this API key has access to the Viewer product ### Assignable User Level - `Literal["admin", "member"]` User access level assignable via the API. 'admin' can manage users/settings, 'member' has standard access. 'owner' is dashboard-only and cannot be assigned via the API. - `"admin"` - `"member"` ### Clinic Role - `Literal["Doctor", "Physician", "Surgeon", 58 more]` A user's clinical or organizational role within the clinic. - `"Doctor"` - `"Physician"` - `"Surgeon"` - `"Radiologist"` - `"Cardiologist"` - `"Neurologist"` - `"Urologist"` - `"Gynecologist"` - `"Endocrinologist"` - `"Oncologist"` - `"Radiation Oncologist"` - `"Hematologist"` - `"Gastroenterologist"` - `"Pulmonologist"` - `"Nephrologist"` - `"Rheumatologist"` - `"Dermatologist"` - `"Ophthalmologist"` - `"Otolaryngologist"` - `"Pediatrician"` - `"Obstetrician"` - `"Psychiatrist"` - `"Anesthesiologist"` - `"Emergency Medicine Physician"` - `"Family Medicine Physician"` - `"Internal Medicine Physician"` - `"Pathologist"` - `"Nuclear Medicine Physician"` - `"Pain Management Specialist"` - `"Infectious Disease Specialist"` - `"Immunologist"` - `"Physician Assistant"` - `"Nurse Practitioner"` - `"Certified Registered Nurse Anesthetist"` - `"Psychologist"` - `"Medical Assistant"` - `"Scribe"` - `"Registered Nurse"` - `"Nurse Manager"` - `"Patient Care Coordinator"` - `"Imaging Technologist"` - `"Laboratory Technician"` - `"Medical Laboratory Scientist"` - `"Pathologists' Assistant"` - `"Phlebotomist"` - `"Pharmacist"` - `"Pharmacy Technician"` - `"Physical Therapist"` - `"Occupational Therapist"` - `"Speech-Language Pathologist"` - `"Respiratory Therapist"` - `"Nutritionist"` - `"Front Desk Operator"` - `"Revenue Cycle Manager"` - `"Administrative Director"` - `"Administrative Assistant"` - `"Legal Administrator"` - `"IT Administrator"` - `"IT Support"` - `"Software Engineer"` - `"Other"` ### Express Customer Reference - `class ExpressCustomerReference: …` A reference to an Express customer with basic identifying information - `express_customer_id: str` Unique Express customer identifier. Format: cus_{32-hex-chars} - `express_customer_name: str` Name of the Express customer ### Invitation Expired Filter - `Literal["all", "expired", "not-expired"]` Filter by expiration status - `"all"` - `"expired"` - `"not-expired"` ### Invitation Status - `Literal["sent", "accepted", "rejected", "revoked"]` Lifecycle status of an invitation: 'sent', 'accepted', 'rejected', or 'revoked'. - `"sent"` - `"accepted"` - `"rejected"` - `"revoked"` ### Invited Source - `Literal["dashboard", "api"]` How a user/invitation was created - via the dashboard UI ('dashboard') or the API ('api'). - `"dashboard"` - `"api"` ### Severity - `Literal["normal", "high", "stat"]` Priority level of a study. 'normal' for routine, 'high' for urgent, 'stat' for immediate attention. - `"normal"` - `"high"` - `"stat"` ### User Level - `Literal["owner", "admin", "member"]` User access level. 'owner' has full control (dashboard-only, not assignable via API), 'admin' can manage users/settings, 'member' has standard access. - `"owner"` - `"admin"` - `"member"` ### User Reference - `class UserReference: …` A reference to a user with basic identifying information - `email: str` User's email address - `user_id: str` Unique user identifier. Format: usr_{32-hex-chars} - `first_name: Optional[str]` User's first name - `last_name: Optional[str]` User's last name - `middle_name: Optional[str]` User's middle name - `suffix1: Optional[str]` Name suffix (e.g., 'MD', 'Jr.') - `suffix2: Optional[str]` Additional name suffix