/cl/marketplace.
Overview
The Content Marketplace displays all non-deprecated bundles from thecl_marketplace_bundles table, ordered by published_at descending. Bundles are global records with no organization_id — any authenticated user with the cl.marketplace.browse permission can browse them. The catalogue is displayed as a responsive card grid (sm:grid-cols-2, xl:grid-cols-3). A filter sidebar (MarketplaceFilterSidebar) allows narrowing by accreditation tag, clinical area tag, and free-text search. Import status — indicating whether your organization already has a version of a bundle — is surfaced on each MarketplaceBundleCard via the useImportedBundleKeys hook. Selecting a card navigates to the bundle detail page at /cl/marketplace/:bundleId.
Who it’s for
Requires permissioncl.marketplace.browse. The Import button is additionally gated on cl.marketplace.import.
Before you start
You must hold thecl.marketplace.browse permission. The marketplace catalogue is read-only for browse users; importing a bundle requires the separate cl.marketplace.import permission (handled at /cl/marketplace/imports).
Steps
1
Open the Content Marketplace
Navigate to
/cl/marketplace. The catalogue loads all non-deprecated bundles, ordered by most recently published.2
Filter bundles (optional)
Use the filter sidebar on the left to narrow by accreditation tags (Joint Commission, CARF, SAMHSA, NCQA), clinical area tags (SUD, MH, Co-Occurring, Crisis, Residential, Outpatient, IOP/PHP, MAT/MOUD), or enter a search term to match against bundle name and description.
3
Review a bundle card
Each
MarketplaceBundleCard shows the bundle name, description, and accreditation/clinical-area tags. If your organization has already imported a version, the imported version number is shown.4
View bundle details
Click a card to navigate to
/cl/marketplace/:bundleId for the full bundle detail, including its items list.5
Clear filters
If no bundles match the current filters, an empty state appears with a “Clear filters” action that resets all filters to
{}.Key concepts
Bundle key and version
Bundle key and version
Each bundle has a
bundle_key (stable identifier) and an integer version. Subsequent bundle versions reuse the same bundle_key with a higher version number. The catalogue displays only the non-deprecated entries.Import status
Import status
The
useImportedBundleKeys hook returns a Map of bundle_key to the currently imported record for your organization. A badge on the card reflects the imported version so you can tell if a newer version is available.Empty and error states
Empty and error states
If the bundles query or the imported-keys query errors, an “Error Loading Marketplace” empty state appears with a Retry action. If filters match nothing, a “No bundles match these filters” state appears with a Clear filters action.
Viewing a bundle
The Bundle Details page displays the detail of a single marketplace bundle at route/cl/marketplace/:bundleId (permission: cl.marketplace.browse). The Import button requires cl.marketplace.import.
The page loads a marketplace bundle from cl_marketplace_bundles by bundleId and its items from cl_marketplace_bundle_items via separate hooks. The page header shows the bundle name, optional description, accreditation_tags (outline badges), clinical_area_tags (secondary badges), version number, and published timestamp. If a prior version of this bundle has already been imported (tracked by bundle_key in cl_marketplace_imports), and the catalogue version is higher, an UpdateBanner is shown prompting the user to view the update. Clicking Import or View Update opens the ImportPreviewSheet, which shows the bundle contents and confirms the import via useImportMarketplaceBundle. A BundleItemList below the header lists all items with their count.
- Navigate from
/cl/marketplaceand select a bundle, or follow a direct link to/cl/marketplace/:bundleId. The page loads bundle metadata and items. - Inspect the bundle name, description, accreditation tags, clinical area tags, version, and published date.
- The Bundle Contents section lists all items via
BundleItemList, showing the total item count. - If an
UpdateBannerappears, a newer version of this bundle is available compared to the version already imported. Click View Update to preview changes. - Click Import (requires
cl.marketplace.import) to open theImportPreviewSheet. Review items and confirm the import. On success, the sheet closes and the import is recorded incl_marketplace_importsfor the organization.
Bundle item types
Bundle item types
Bundles can contain items of the following types:
assessment_template, note_template, cds_rule, pathway_definition, treatment_plan_template, goal_bank_entry, order_set, locus_instrument, group_curriculum, screening_instrument.Update detection
Update detection
The page compares the imported version (from
useImportedBundleKeys) against the current catalogue version. If bundle.version > importedVersion, the UpdateBanner is shown.Not-found and error states
Not-found and error states
A bundle load error renders “Error Loading Bundle” with a sanitized message and a back button. A missing bundle renders “Bundle not found.” with a back button.
Related
Clinical
Overview of the Clinical core.
Governance & parity
Documentation coverage and governance.
This page documents shipped product behavior. It is not medical, legal, or
billing advice. Verify against your organization’s policies and applicable
regulations before using it for clinical, compliance, or billing decisions.
Protected health information (PHI) shown in the product is governed by your
tenant’s access controls and is never exposed in this documentation.
Documentation sources
Documentation sources
- src/routes/cl.tsx
- src/cores/cl/pages/MarketplaceCataloguePage.tsx
- src/cores/cl/hooks/useMarketplaceBundles.ts
- src/cores/cl/types/marketplace.ts
- src/cores/cl/pages/MarketplaceBundleDetailPage.tsx
- src/cores/cl/hooks/useMarketplaceBundleItems.ts
- src/cores/cl/hooks/useMarketplaceImports.ts