Data Models
CBO
Represents a community benefits organization (CBO) offering a GLP-1 weight-loss program.
Relationships:
- zip_codes → array of ZipCode objects (one CBO serves multiple ZIPs).
- pharmacies → array of Pharmacy objects (one CBO may partner with multiple pharmacies).
- cbo_drugs → array of CboDrug objects (list of drug offerings per CBO).
- Credentialed providers are tracked separately via CredentialedPrescriberNPI.
| Field | Type | Notes |
|---|---|---|
cboID |
integer | Primary key |
name |
string | Organization name |
isActive |
boolean | true = currently offering programs |
createdDate |
ISO-8601 string | Creation timestamp |
updatedDate |
ISO-8601 string | Last update timestamp |
createdBy |
string | null | User ID or null |
updatedBy |
string | null | User ID or null |
zip_codes |
array | Service areas |
ZipCode
Represents a ZIP code served by one or more CBOs. Each CBO has multiple zip codes that represent that service area in which their GLP-1 weight-loss programs are available.
Relationships:
- Each ZipCode appears in one or more CBOs’
zip_codesarrays.
| Field | Type | Notes |
|---|---|---|
id |
integer | Primary key |
code |
string | 5-digit ZIP |
city |
string | null | City name (optional) |
state |
string | null | State (optional) |
isActive |
boolean | true = currently served |
createdDate |
ISO-8601 string | Creation timestamp |
updatedDate |
ISO-8601 string | Last update timestamp |
createdBy |
string | null | User ID or null |
updatedBy |
string | null | User ID or null |
Pharmacy
Represents a pharmacy location associated with a CBO. The pharmacy represents the dispensing location that a patient can chose from when enrolling in a CBOs GLP-1 weight loss program.
Relationships:
- A Pharmacy may only appear in CBOs
pharmaciesarrays.
| Field | Type | Notes |
|---|---|---|
pharmacyID |
integer | Unique identifier for the pharmacy. |
pharmacyName |
string | Display name of the pharmacy location. |
CboDrug
Represents a drug offering by a CBO. CBOs select an amount to subsidize from the out-of-pocket cost of the drug along with the manufacturer subsidy that is also included. By enrolling in the CBOs program, a patient is able to qualify for any of these drugs at a subsidized cost, assuming that they are prescribed the drug by a credentialed provider.
Relationships:
- Each CboDrug references its parent CBO via
cboID.
| Field | Type | Notes |
|---|---|---|
cboDrugID |
integer | Unique identifier for the CBO–drug relationship. |
cboID |
integer | ID of the CBO offering this drug. |
drugID |
integer | Internal drug identifier (e.g., NDC or catalog ID). |
drugName |
string | Human-readable drug name (e.g., “Metformin (Glucophage)”). |
description |
string | Brief description or indication for use. |
cost |
number | Out-of-pocket cost to the patient (in USD). |
cboSubsidy |
number | Amount the CBO subsidizes (in USD). |
manufacturerSubsidy |
number | Amount the manufacturer subsidizes (in USD). |
status |
string | Lifecycle state of this drug offering (e.g., "active" | "inactive" | "paused"). |
Patient
Represents an enrolled or disenrolled patient in a CBO program.
Relationships:
- Each Patient references exactly one CBO via
cboID. - May include a
cboPatientIDonce the patient is registered in the CBO’s system. - Lists credentialed prescribers via CredentialedPrescriberNPI.
| Field | Type | Notes |
|---|---|---|
patientID |
integer | Primary key |
thcoPatientID |
string | Tele-health platform ID |
thcoID |
integer | Tele-health organization ID |
cboID |
integer | References CBO |
cboPatientID |
integer | null | ID assigned by CBO after enrollment |
status |
string | e.g., ENROLLED, DISENROLLED |
isActive |
boolean | true = record active |
createdDate |
ISO-8601 string | Creation timestamp |
updatedDate |
ISO-8601 string | Last update timestamp |
createdBy |
string | null | User ID or null |
updatedBy |
string | null | User ID or null |
dob |
ISO-8601 date | null | Optional date of birth |
firstName |
string | null | Optional first name |
middleName |
string | null | Optional middle name |
lastName |
string | null | Optional last name |
insuranceType |
string | null | "Commercial" | "Government" |
zipCode |
string | null | 5-digit ZIP |
state |
string | null | State abbreviation |
reason |
string | null | Reason for failure or disenrollment |
shippingAddress |
string | null | If provided |
CredentialedPrescriberNPI
Tracks prescribers credentialed to write prescriptions to a patient that is enrolled in a CBOs weight loss program. Used by the POST /verifyProviderCBOCredentialing request and any future endpoints that list credentialed providers.
Relationships
- Each CredentialedPrescriberNPI is linked to a specific CBO (via endpoints) but is surfaced independently in responses.
| Field | Type | Notes |
|---|---|---|
prescriberID |
integer | Internal ID in the Bridge Health system |
NPI |
string | National Provider Identifier |
name |
string | Provider’s display name |