Provider & DSO Guide ready 14 min guide

Operate a DSO or multi-practice workspace

Operate one DSO organization across multiple canonical practices, understand organization-wide and practice-scoped views, route records safely, coordinate shared teams, compare like-for-like results, and archive locations without crossing tenant boundaries.

A DentalXpand DSO is one organization tenant containing multiple canonical practice or location records. Internal organization-scoped teams can coordinate approved work across that tenant, while external practice-scoped users receive only their assigned locations. Every practice-aware operational record also carries a practice context. This lesson explains how to operate that model without confusing an organization-wide total, a default practice, a provider relationship, or an external user’s assignment.

1 / Operating model

Keep organization, practice, user, relationship, and record scope separate

DentalXpand DSO operating model showing one organization, three practices, organization-wide leadership, practice-scoped external users, shared services, practice-aware records, and tenant enforcement
Figure 1. One DSO tenant can coordinate shared services while every location, external assignment, provider relationship, and practice-aware record keeps its own canonical context.
Organization

The tenant boundary for the DSO, subscription, shared branding, settings, internal membership, and organization-wide authorization.

Practice / location

A canonical same-organization record with its own ID, code, legal details, NPI, tax ID, contact, address, status, and default marker.

Organization scope

Internal roles can reach tenant practices when their page and action permissions allow. It is broader than a selected location.

Practice scope

Provider, Client, and External memberships receive only approved practices through membership access records.

Practice-aware record

Tasks, files, meetings, messages, VOB, credentialing, providers, and other protected tables carry tenant_practice_id.

Provider relationship

Canonical provider-to-practice links remain separate from the external login’s practice assignments.

Complete Manage practices, locations, and assignments and Control provider and practice access before operating production DSO data.

2 / Readiness

Define the approved operating map before creating location work

Confirm Approved source Stop when
DSO organization Exact active organization name, code, type, subscription, owner, and operating purpose. The request combines unrelated companies, products, or Guardian Connect data.
Location roster Executed onboarding list or authorized corporate directory with legal name, NPI, tax ID, contact, and address. A location is duplicated, informal, closed, or cannot be matched to an approved entity.
Default practice The intentional catchment location used when a practice-aware workflow supplies no explicit location. The default is still an unexplained Unassigned placeholder or an inactive location.
Shared team model Named internal owners, managers, centralized teams, exact permissions, and required external assignments. A shared account or broad Admin role is proposed instead of named access.
Record ownership Which location owns each workflow, provider, case, file, task, message, VOB, or report row. The owning practice cannot be stated before Save.
Comparison rules Metric definition, date range, status set, source, timezone, currency, and excluded records. Organization totals and filtered practice results are being compared as if equivalent.

3 / Organization overview

Read Dashboard totals as the authorized tenant view, not a location leaderboard

DentalXpand DSO Dashboard showing organization identity, aggregate tasks, meetings, unread messages, leave requests, expenses, revenue, shared workspace modules, and a warning that totals are not a native practice comparison
Figure 2. The administrator Dashboard aggregates rows visible to the signed-in account through tenant and practice policies; it does not provide a universal per-practice drilldown.
  1. Open Dashboard and confirm the organization identity.Use the expected DSO name and your named account. Do not continue from a stale platform support or another tenant session.
  2. Read cards as current authorized totals.Tasks, HR, finance, providers, credentialing, documents, support, users, and recent activity are calculated from rows returned to the current account.
  3. Separate role behavior.Administrators receive the broad business overview, external provider-like roles receive the focused client dashboard, and employees receive personal work views.
  4. Refresh before an operational decision.Use the Refresh action and record the time, date range, and status definition. Realtime subscriptions and periodic refresh do not replace reconciliation.
  5. Do not label organization totals as one practice.An internal organization-scoped result can include all accessible tenant locations. A default practice does not automatically turn the Dashboard into a default-location report.
  6. Move to the owning module for detail.Open Tasks, Reports, Providers, Credentialing, Finance, or another module and use only the practice context and filters that page actually exposes.

4 / Practice roster

Maintain one canonical active record for every approved location

DentalXpand Practices and Locations page showing organization code, active location count, plan capacity, default practice, active and archived records, canonical codes, NPI, tax ID, and an add practice readiness panel
Figure 3. DSO navigation uses Practices / Locations, counts non-archived records against plan capacity, and omits archived locations from normal tenant context.
Roster field Current behavior Operating rule
Name and legal name Display and legal identity remain separate fields. Use approved legal records; avoid abbreviations that create a duplicate.
Practice code New records receive an organization-prefixed sequential code. Use the generated code for reconciliation; do not invent another ID.
NPI and tax ID Stored on the canonical location record. Verify through an approved source and restrict unnecessary display or export.
Status Active and archived states control normal availability; archive is not historical deletion. Complete handoff before archive and never recreate the same location to make it visible.
Default marker Database default selection prefers the active default practice for organization-scoped work. Keep exactly one intentional operational default and review it after roster changes.
Plan capacity Active, non-archived practices count against the subscription or override limit. Resolve capacity through the approved plan process; do not reuse an unrelated practice row.

Use Practices / Locations as the canonical roster. Provider free text, a report label, a folder name, or a task title is not a practice record.

5 / Practice context

Determine whether the page is organization-wide, explicitly scoped, or using the default

DentalXpand practice-context decision guide showing no universal practice switch, organization-scoped internal access, assigned-practice external access, explicit workflow practice selection, and default practice fallback
Figure 4. The current interface has no universal practice switch; effective context comes from membership scope, the owning workflow, or the database default.
Situation Context source Required action
Internal owner, admin, manager, or employee Organization membership can reach tenant practices when exact permissions allow. Assume organization-wide visibility unless the module shows an explicit practice field or filter.
Provider, Client, or External Tenant context returns only practices in membership practice access. Confirm the complete assignment set in User Management and refresh the user’s session.
Workflow shows a practice selector The selected canonical practice can be submitted with the record. Confirm name, code, and ownership before Save; re-open the row afterward.
Workflow has no practice selector Practice-aware tables can use current_default_practice_id(). Know the active default before creating work and verify the saved record through an approved view.
Practice-scoped user with multiple assignments Database default uses the first membership practice access row when no explicit context is supplied. Do not assume the visually first location is a durable user choice; use an explicit workflow when location matters.
Typed URL, guessed ID, or direct request Backend validation, composite organization keys, and RLS remain authoritative. Never use this as a switching method. Stop at unexpected data or denial.

6 / Shared teams

Use named internal membership for shared services and minimum external scope

DentalXpand DSO team access map showing organization-scoped owner, administrator and manager, practice-scoped providers and clients, assigned locations, exact pages, and expected denials
Figure 5. Internal scope supports centralized teams, while external memberships keep the minimum approved location set and page permissions.
  1. Use one named account per person.Do not share a regional manager, front desk, billing, credentialing, or practice account.
  2. Choose role from job responsibility.Owner and Admin are high-impact; Manager and Employee remain organization scoped; external roles remain practice scoped.
  3. Grant exact pages and actions.Organization scope does not mean every module. Use Roles and per-user permissions for the minimum required work.
  4. Assign external practices as a complete set.User Management replaces the saved list, so retain every approved location and remove only authorized access.
  5. Keep team membership and practice access conceptually separate.A centralized team or department explains who coordinates work; it does not replace a record’s practice owner or an external membership assignment.
  6. Review access after location changes.New, renamed, archived, or transferred locations require a review of users, providers, tasks, files, agreements, and open cases.

Open User Management for membership scope and Teams for operational team structure.

7 / Record routing

Make the owning practice explicit before creating or transferring work

DentalXpand record-routing board showing practice context for tasks, files, meetings, messages, providers, credentialing, VOB, and time tracking with explicit selector, relationship-derived context, and default fallback
Figure 6. Protected operational tables carry a practice key; the source may be an explicit workflow selection, a canonical relationship, or the current default.
  1. Name the owning practice in the work request.Use canonical practice name and code, not only a provider name, client nickname, team, folder, or free-text note.
  2. Open the owning module and inspect its context controls.If the page exposes a practice selector or filter, choose and verify it. If not, apply the documented default-practice rule.
  3. Confirm canonical relationships first.Provider primary practice, practice_providers, credentialing canonical practice, and membership assignments can influence what records are available; none should be inferred from matching text.
  4. Save through the supported workflow.Backend and database checks require matching organization and practice keys plus the correct action permission.
  5. Re-open and reconcile.Confirm organization, practice, owner, provider, date, status, and next action. Use a sample or properly authorized record for testing.
  6. Transfer through an approved owner.When the wrong practice is stored, stop downstream work and use the owning module’s supported correction or DentalXpand Support. Do not patch IDs directly.

For daily work, open Tasks only after the practice owner is known.

8 / Practice comparison

Compare identical definitions and label every organization-wide total

DentalXpand DSO comparison and lifecycle board showing a controlled location worksheet, consistent metric definitions, add and archive handoff, and allowed or denied tenant-boundary verification
Figure 7. The comparison uses approved practice-filtered evidence with one metric definition; the organization Dashboard remains a separate aggregate.
Comparison control Required method Do not do
Scope Use the exact canonical practice ID or a workflow filter that clearly names the location. Compare one filtered practice to an unlabeled organization total.
Time Use the same timezone, start, end, refresh time, and reporting period. Mix today’s live count with a closed monthly export.
Status Define pending, active, completed, denied, archived, paid, or received identically. Assume labels mean the same thing across modules.
Source Use one approved module, export, or reviewed report for all locations. Merge screenshots, copied text, and manual estimates without lineage.
Denominator Document visits, claims, tasks, providers, employees, working days, or another base. Rank locations by raw totals when volume differs.
Privacy Use minimum necessary operational totals and authorized recipients. Include patient details, passwords, payer credentials, or another tenant.

9 / Provider and client relationships

Keep directory, login, practice, and operational ownership aligned

Relationship Purpose DSO verification
Provider directory record Stores the provider’s operational and professional details. Confirm same organization, named identity, active status, and approved metadata.
Provider primary practice Provides a canonical main location and can align the provider’s tenant practice key. Confirm the primary marker reflects the approved operating home.
practice_providers Allows one provider to relate to multiple canonical locations. Review every active relationship; do not rely on free-text Practice Name.
External membership practices Controls which locations the provider or client login can receive. Match the approved login need, which may be narrower than directory relationships.
Client agreements Connect approved commercial and compliance documents to the intended client context. Verify organization, client, practice, signatory, effective date, status, and file owner.
Practice-scoped work Owns the actual task, file, meeting, case, VOB, message, or credentialing row. Reconcile to the intended canonical practice after Save.

Use Providers / Clients and the provider directory guide before changing relationships across locations.

10 / Location lifecycle

Add, change, and archive without breaking active work or historical links

  1. Approve the lifecycle event.Record business owner, legal effective date, location identity, subscription capacity, data owner, and required reviewers.
  2. Add only after duplicate and capacity checks.Create through Practices / Locations, use generated code, complete legal and contact fields, and verify the roster after refresh.
  3. Configure relationships and access separately.Review providers, external memberships, internal permissions, teams, agreements, and every workflow that will create practice-aware records.
  4. Run a controlled readiness test.Use sample data to create, reopen, filter, export, and deny access where appropriate. Confirm no unrelated tenant or product appears.
  5. Plan archive handoff.Complete or transfer open tasks, cases, claims, VOB, credentialing, files, messages, time tracking, agreements, provider links, and external access.
  6. Archive instead of deleting history.The archived location leaves normal tenant context but historical foreign-key relationships remain. Do not create a replacement duplicate to hide unfinished handoff.
  7. Review the default after archive.If the archived record was the default, confirm another active canonical location is intentionally used before new work begins.
  8. Verify expected results.Reload roster, access, reports, and affected modules; confirm archived location is unavailable for new normal work and authorized history remains controlled.

11 / Security and verification

Verify organization isolation, practice enforcement, and safe denial

Control Repository-backed behavior Expected result
Tenant context Returns the active organization, membership, role permissions, subscription, branding, and non-archived accessible practices. User starts inside one expected tenant boundary.
Internal scope can_access_organization authorizes tenant practices for active organization-scoped membership. Authorized internal work can coordinate across the DSO.
External scope Practice access requires an active membership access row for the requested location. External users receive only assigned locations.
Record keys Practice-aware tables carry organization and tenant_practice_id with same-tenant foreign keys. An unrelated practice key cannot become a valid relationship.
Write checks Practice access and exact table action permission must both pass. Visible data does not imply create, update, export, or delete authority.
RLS Protected tables use organization or practice predicates for authenticated reads and writes. A typed route or direct client query does not widen scope.
Isolation tests Repository tests verify assigned-practice visibility and cross-organization rejection. Approved staging and deployment tests pass after policy changes.

12 / Troubleshooting and completion

Resolve the failed context without changing tenant keys or widening a role

What you see Likely cause Correct first response
No practice switch in navigation The current release has no universal selector. Identify whether the module is organization-wide, explicitly filtered, or default-practice based.
New record saved to the default practice The workflow supplied no explicit practice context. Stop downstream work, verify the default and owning module, then use an approved correction path.
External user sees only one location Practice-scoped membership has one assignment. Compare the complete approved set in User Management; do not change to an internal role.
Internal user sees all tenant locations Organization scope is active and permissions allow the page. Use module filters or minimum permissions; do not call the current page one selected practice.
Practice limit reached Active non-archived count meets the plan or override. Review roster and subscription with an authorized owner; never repurpose another location.
Archived practice missing Normal context intentionally excludes archived records. Review approved history or lifecycle evidence; reactivate only with authorization.
Practice totals do not reconcile Scope, time, status, source, denominator, or refresh time differs. Rebuild a like-for-like comparison and keep organization totals separate.
Wrong tenant, product, or Guardian data appears Session, context, query, cache, deployment, integration, or policy isolation failure. Stop immediately and report without reproducing exposed data.

Completion checklist

  • I can separate the DSO organization, canonical practices, organization scope, practice scope, provider relationships, and practice-aware records.
  • I verify the organization, roster, active default, plan capacity, shared-team model, record owner, and comparison rules before production work.
  • I read Dashboard cards as authorized organization totals and never label them as a native practice comparison.
  • I maintain one canonical non-duplicate record per approved location and understand archive is not deletion.
  • I know there is no universal practice switch and determine context from membership, the owning workflow, or the documented default.
  • I use named organization-scoped internal users for shared services and minimum practice-scoped access for external users.
  • I confirm the owning practice before Save, re-open the record afterward, and never edit tenant practice IDs directly.
  • I compare locations only with the same scope, period, status, source, denominator, refresh time, and privacy controls.
  • I align provider directory links, provider-practice relationships, login assignments, agreements, and operational record ownership separately.
  • I complete handoff before archive and verify the new active default when the prior default changes.
  • I verify allowed work and safe expected denial through tenant context, backend checks, same-tenant keys, permissions, and RLS.
  • I stop immediately at cross-practice, cross-tenant, cross-product, or Guardian Connect exposure.

Open Dashboard, Practices / Locations, review the previous Provider & DSO lesson, continue to Create client BAA and service agreements, adjust approved organization settings through Settings, or return to all learning resources.

Need workflow support?

Bring the question and the exact step where you are blocked.

Explore how this guide connects to provider operations and recruitment.

Contact support

Ask about this guide

Tell us where the workflow needs more clarity.

Share the guide, step, or expected result you are reviewing. Product, sales, and support inquiries are routed to the appropriate DentalXpand inbox.

Keep patient information out of this form.

Do not include patient names, dates of birth, member IDs, clinical details, or any other protected health information.

Required fields are marked with an asterisk.