Version: v2026.1.0 (10/22/2026) |
Maintainer: HSH Data Analytics and Evaluation | Contact: data@hsh.lacounty.gov
This is a living document. Definitions and calculation methods may be revised and methodology in this document may differ from prior publications.
This document defines the metrics and business rules behind the Best Practices for Standardization of Care (BPSC) Systemwide Dashboard. The dashboard shows performance across every Street Outreach, Interim Housing, and Permanent Supportive Housing program recorded in the source systems, regardless of whichever agency funds or administers that program. See Appendix B for the program areas and project types included.
Section 3.C of the Measure A ordinance states that “the Executive Committee, with input from the Leadership Table, shall develop best practices for standardization of care… These best practices should include guidance and key performance indicators for contractors and Funding Recipients.” To do this, the Executive Committee for Regional Homeless Alignment (ECRHA) created the BPSC Committee on March 14, 2025. The committee’s final recommendations, approved by ECRHA in December, 2025, set out performance measures for permanent supportive housing, interim housing, and street outreach. Where data was currently available, measures not tied to contracts were to be reported in “an interactive public dashboard the Department of Homeless Services and Housing (HSH) would lead development and launch of by October 2026, with a goal to update at least quarterly.” That dashboard is the one described here.
This section gives a general, non-technical overview of the data infrastructure behind the dashboard: where the data comes from, how it is cleaned and combined, and the tables the metrics are calculated from.
The dashboard draws on program data from the main homeless services information systems used in Los Angeles County, so that performance can be reported across agencies and administrators. All of the data is stored and processed in the Countywide InfoHub (CWIH), a HIPAA-compliant Databricks environment managed by the County’s Chief Information Office (CIO), which is part of the County’s single HIPAA Health Care Component.
Within the InfoHub, the data is organized in a medallion architecture: raw data is landed first (bronze), standardized and cleaned next (silver), and then combined into analytics-ready tables (gold) from which the metrics are calculated. See here for additional information on medallion architecture. This process is implemented in a mix of Python, SQL, and Apache Spark.
flowchart TB
subgraph sources["Source Systems"]
direction LR
HMIS["<b>HMIS</b><br/>HUD CSVs + Looker data"]
CHAMP["<b>CHAMP</b><br/>HSH and DHS Data"]
DMH["<b>DMH HD</b><br/>DMH Housing Division data"]
end
MDM["<b>CWMDM</b><br/>Cross-system client match and deduplication"]
REF["<b>Reference lists</b><br/>Exit destination crosswalk,<br/>project details"]
BRZ["<b>Bronze</b><br/>Raw data extracts, minimal modifications"]
SLV["<b>Silver</b><br/>Standardized and cleaned system-agnostic data"]
GLD["<b>Gold</b><br/>Analytics-ready tables"]
MET["<b>Metrics</b><br/>Aggregated for dashboard consumption"]
HMIS & CHAMP & DMH --> BRZ
HMIS & CHAMP & DMH --> MDM
BRZ --> SLV
MDM -. "identity matching" ..-> SLV
REF -. "crosswalks" ..-> SLV
SLV --> GLD --> MET
The bronze layer holds the data as it arrives from each source system, with minimal modification. Nothing is merged or corrected at this stage.
The Homeless Management Information System for the Los Angeles Continuum of Care, is administered by the Los Angeles Homeless Services Authority (LAHSA) on Bitfocus’s Clarity platform. HMIS is the primary system used to collect and store information on people experiencing homelessness or at risk of becoming homeless.
Data from HMIS is received through two channels:
The Comprehensive Health Accompaniment & Management Platform (CHAMP), a case management system administered by the LA County Department of Homeless Services and Housing (HSH). While HMIS covers the broad LA CoC landscape, CHAMP is the operational home to many HSH, Department of Health Services (DHS), and other County-administered programs not otherwise tracked in HMIS. Data is received directly from a replicated version of CHAMP’s database.
The LA County Department of Mental Health (DMH) operates permanent and interim housing programs that serve clients who are also part of the homeless system of care. DMH maintains its own data systems for collecting and storing. At least quarterly, DMH manually uploads this data to the CWIH.
For the purpose of matching and deduplicating client records, the metrics on this dashboard also use the County-wide Master Data Management (CWMDM) system. The CWMDM uses fuzzy-matching algorithms on individuals’ identifiers (name, date of birth, etc.) to identify when the same person is present in multiple source systems. It assigns individuals a unique identifier across source systems, called the Enterprise ID. Through assignment of a single Enterprise ID across source systems, the same person can be recognized and deduplicated across them. Each person is then counted once on the dashboard. This system, the individual identifiers used to create the Enterprise ID, and the crosswalk across source systems, are maintained by and only visible to the Chief Information Office within LA County’s Chief Executive Office (CEO-CIO). Identifiers are stripped from the silver, bronze, and gold tables and only the anonymized Enterprise ID is shared.
Matching is not perfect, so a small number of people may still be counted more than once where not enough data has been provided to confidently identify them across multiple systems.
Several reference lists maintained by program staff supplement the source systems. In particular, we use a crosswalk that maps each exit destination in the source systems to a specific category reported on the dashboard (Appendix A).
The silver layer transforms raw source data into a standardized data model. Its primary contribution is reconciling the differences between source systems (different field names, different data structures, etc.) into a single consistent set of tables that can be used to produce metrics, regardless of which system the data is sourced from.
| Table | Each row is |
|---|---|
| Enrollment | One person’s participation in one project |
| Client | One person, after matching across systems |
| Housing | One interim or permanent housing placement, with move-in and move-out dates |
| Project | One project in a source system |
| Services | One service provided to a person |
| Assessments | One assessment completed with a person |
| Documents | One document on file for a person |
| Current living situation | One recorded contact with a person and where they were staying |
Some CHAMP projects are also copied into HMIS as part of compliance with California Assembly Bill 977 (AB 977), which requires certain programs to report in HMIS in addition to whatever source systems those programs use. To avoid counting the same enrollment twice, enrollments in the HMIS copies of these projects are excluded, and the CHAMP record is used as the system of record.
The gold layer combines the silver tables into the tables the metrics are calculated from. It has four parts:
The gold layer does not remove records. The rules for which enrollments count in a period are applied when the metrics are calculated, as described under Metrics.
The integrated enrollment table has one row per enrollment. It starts with every enrollment from the silver enrollment table and adds, to each row, additional information from the other core silver tables.
flowchart LR
ENR["<b>Enrollment</b>"]
ENR ---|client_id| CLI["Client"]
ENR ---|project_id| PRJ["Project"]
ENR ---|enrollment_id| HSG["Housing"]
ENR ---|enrollment_id| SVC["Services"]
ENR ---|client_id| ASM["Assessments"]
ENR ---|client_id| DOC["Documents"]
ENR ---|exit_destination_id| XWK["Exit destination crosswalk"]
ENR ---|enrollment_id| EPI["Episodes"]
Each line shows what is attached to an enrollment, and the field used to match them:
People often move between projects or sites within the same program area: from one interim housing site to another, or between permanent supportive housing units. Counting each exit and re-entry would overstate exits and new entries. Instead, back-to-back enrollments for the same person are linked into one episode, and a move between them is a transfer. Episodes are built for all Interim Housing and Permanent Supportive Housing enrollments, systemwide, whichever agency administers the program.
Episodes do not apply to Street Outreach. Outreach enrollments are not linked, so each Street Outreach enrollment is treated as an episode of one: it is always both the first and the last enrollment in its episode. Street Outreach new participants and exits therefore follow each enrollment’s own entry and exit dates, and there are no outreach transfers.
For both Interim Housing and Permanent Supportive Housing, an enrollment joins the episode of the person’s previous enrollment when it starts within 14 days of the previous exit, or when the two enrollments overlap by any amount. Each enrollment is compared only with the one immediately before it, and enrollments are not linked across program areas: i.e., an Interim Housing enrollment would not be linked into a single episode with a Permanent Supportive Housing enrollment via this transfer logic.
An episode starts at the entry date of its first enrollment and ends at the exit date of its last enrollment. An enrollment that is not part of any episode, including every Street Outreach enrollment, is treated as an episode of one.
Example. A person leaves Project A on March 10 and enters Project B on March 15. The 5-day gap is within 14 days, so the two stays form one episode and the March 10 exit is not counted as an exit. If the person had entered Project B on March 30, the 20-day gap would be too long, so the March 10 exit would count, and the stay at Project B would start a new episode.
The homeless signal events table is used primarily for the returns to homelessness metric. It is built using the same set of rules designed to produce estimates of baselines and progress toward Measure A goals for the Measure A Progress Tracker. More details to follow.
The calendar table defines the reporting periods (such as fiscal quarters) by their start and end dates, both inclusive.
Reporting periods. The dashboard shows each completed fiscal quarter of the current fiscal year and a fiscal-year-to-date figure. LA County’s fiscal year runs July 1 through June 30, and fiscal quarters begin July 1, October 1, January 1, and April 1. Every period is calculated on its own. Because most metrics count distinct people, quarterly figures do not add up to the fiscal-year figure. A person active in all four quarters is counted once in each quarter and once for the year.
Small-number suppression. To protect privacy, any count of people or episodes between 1 and 9 is shown as “Suppressed.” When any group is suppressed, we also suppress the next-smallest groups so the hidden counts can’t be worked out from the total. Starting with the smallest group, we suppress groups in order of size until the combined count of the suppressed groups is more than 10. For example, if a breakdown has groups of 2, 3, 12 and 40 people, the groups of 2 and 3 are suppressed (combined: 5), so the group of 12 is suppressed too (combined: 17), and the group of 40 is shown.
Using the four gold tables, every metric is calculated separately for each reporting period and each program area. Metric calculation follows a consistent two-step pattern:
Flags are true or false on every enrollment and are recalculated for
each reporting period. In the definitions below, COUNT(...)
always means this distinct count, so a person with two flagged
enrollments counts once.
COUNT(flags) = COUNT(DISTINCT client_id) over enrollments WHERE flags is true
rate = COUNT(numerator flags) / COUNT(denominator flags)
Example:
client_id enrollment is_active is_engaged
A 1 true true
A 2 true false
B 3 true false
COUNT(is_active) = 2 (A and B; A's two enrollments count once)
COUNT(is_active AND is_engaged) = 1 (A)
engagement_rate = 1 / 2 = 50%
Note that the numerator for engagement_rate counted
client A as 1, even though is_engaged was true
for one enrollment and false for another. That is because
the COUNT() function looks for any instance where
the condition is true a unique client_id – the
false value does not negate the true one. This
is what is sometimes referred to as a “greedy” logic, and the engagement
rate can therefore be interpreted as answering the question “of all
unique clients, what proportion were engaged at least once?”.
Fields are values attached to each enrollment in the gold tables. Every field is system-agnostic: it has the same meaning regardless of what source system the enrollment came from.
| Field | Gold table | What it is |
|---|---|---|
start_date, end_date |
Reporting periods | First and last date of the reporting period, both inclusive. |
client_id |
Integrated enrollment | The Enterprise ID: a unique, system-agnostic client identifier produced after records are matched and deduplicated across systems. |
enrollment_id |
Integrated enrollment | One person’s participation in one project. A person who exits and later returns has two enrollments. |
enrollment_date, exit_date |
Integrated enrollment | Start and end of the project enrollment. exit_date is
empty (null) while the enrollment is open. |
program_area |
Integrated enrollment | The program area of the enrollment’s project (Appendix B). |
move_in_date, move_out_date |
Integrated enrollment | Dates the household moved into and out of permanent housing. |
exit_destination_id |
Integrated enrollment | Where the person went at exit, as a HUD destination code. |
exit_category |
Integrated enrollment | The reconciled exit category: Permanent, Temporary, Other Systems of Care, Return to Homelessness, or Other (Appendix A). |
date_of_engagement |
Integrated enrollment | The date a Street Outreach participant became engaged in project
services. A date earlier than enrollment_date is treated as
enrollment_date. |
first_lss_date |
Integrated enrollment | Earliest date of a life-sustaining service (Appendix C). |
last_ih_referral_attained_date |
Integrated enrollment | Date of the most recent interim housing referral marked as attained. |
first_id_date |
Integrated enrollment | Earliest date a government-issued ID was uploaded (Appendix C). |
first_ssc_date |
Integrated enrollment | Earliest date a Social Security card was uploaded (Appendix C). |
first_ces_date |
Integrated enrollment | Earliest date of a qualifying Coordinated Entry System assessment (Appendix C). |
race_*, gender_*,
age_group |
Integrated enrollment | Race, ethnicity, and gender indicators, and age group at enrollment start (Demographic breakdowns). |
episode_id |
Episodes | The episode an enrollment belongs to (Episodes (transfers)). Interim Housing and PSH only; Street Outreach enrollments have no episode. |
episode_move_in_date |
Episodes | Earliest move_in_date in the episode. |
is_first_enrollment_in_episode |
Episodes | The enrollment is the first in its episode: there was no earlier enrollment within the 14-day window. An enrollment with no episode, including every Street Outreach enrollment, counts as first. |
is_last_enrollment_in_episode |
Episodes | The enrollment is the last in its episode: there was no later enrollment within the 14-day window. An enrollment with no episode, including every Street Outreach enrollment, counts as last. |
Flags are built from the fields above for each reporting period.
| Flag | Definition |
|---|---|
is_active |
enrollment_date <= end_date AND (exit_date IS NULL OR exit_date >= start_date).
The enrollment was open at any point in the period. |
is_new |
enrollment_date BETWEEN start_date AND end_date AND is_first_enrollment_in_episode.
The first enrollment of an episode starts in the period. Not necessarily
a first-ever enrollment. For Street Outreach, any enrollment that starts
in the period. |
is_exited |
exit_date BETWEEN start_date AND end_date AND is_last_enrollment_in_episode.
The last enrollment of an episode ended in the period. Transfers within
an episode are not exits. For Street Outreach, any enrollment that ends
in the period. |
is_exit_included |
false for exit destinations removed from outcome rates
(deceased, and hospital or other non-psychiatric medical facility: HUD
codes 24 and 206) and for exits with no mapped destination; otherwise
true. |
is_perm_exit, is_temp_exit,
is_other_systems_exit, is_rth_exit,
is_other_exit |
exit_category is Permanent, Temporary, Other Systems of
Care, Return to Homelessness, or Other. |
| Flag | Definition |
|---|---|
doc_cutoff_date |
exit_date if the enrollment ended before
end_date, otherwise end_date. Documents and
assessments count only if they were on file while the person was
enrolled. |
has_id |
first_id_date IS NOT NULL AND first_id_date <= doc_cutoff_date |
has_ssc |
first_ssc_date IS NOT NULL AND first_ssc_date <= doc_cutoff_date |
is_doc_ready |
has_id AND has_ssc |
has_ces |
first_ces_date IS NOT NULL AND first_ces_date <= doc_cutoff_date |
| Flag | Definition |
|---|---|
is_engaged |
date_of_engagement IS NOT NULL AND date_of_engagement <= end_date |
is_newly_engaged |
date_of_engagement BETWEEN start_date AND end_date |
days_to_engagement |
date_of_engagement - enrollment_date |
days_to_engagement_bin |
Less than 30 days (0 to 29), 30 to 90 days, 91 days to 6 months (91 to 180), 6 months to 1 year (181 to 365), more than 1 year (366 or more). |
has_lss |
first_lss_date IS NOT NULL AND first_lss_date <= end_date |
has_ih_placement |
last_ih_referral_attained_date BETWEEN start_date AND end_date
OR
(exit_date BETWEEN start_date AND end_date AND exit_destination_id = 101,
emergency shelter). |
has_ph_placement |
move_in_date BETWEEN start_date AND end_date OR
(exit_date BETWEEN start_date AND end_date AND is_perm_exit). |
| Flag | Definition |
|---|---|
length_of_stay |
For active enrollments, days from enrollment_date to
the earlier of exit_date and end_date. Empty
for enrollments not active in the period. |
length_of_stay_bin |
0-7 days, 8-30 days, 31-60 days, 61-90 days, 91-180 days, 181-365 days, more than 1 year and less than 2 years (366 to 730), 2 years or more (731 or more). |
| Flag | Definition |
|---|---|
is_housed |
is_active AND episode_move_in_date <= end_date AND (move_out_date IS NULL OR move_out_date >= start_date) |
is_newly_housed |
is_active AND episode_move_in_date BETWEEN start_date AND end_date |
is_retention_eligible_Nd |
See below. N is 365 (one year) or 730 (two years). |
is_retained_Nd |
See below. |
Our estimates of retention are based on following a specific cohort of people over a one- and two-year period to see what their outcomes are at the end of it.
We define retention over episodes, rather than clients. This is based
on defining an anniversary: that is, the date that falls
one or two years after the episode begins.
This leads to defining episodes in three ways:
anniversary = episode_move_in_date + N days
is_retention_eligible_Nd =
is_last_enrollment_in_episode
AND episode_move_in_date IS NOT NULL
AND anniversary BETWEEN start_date AND end_date
AND (exit_date IS NULL OR exit_date >= episode_move_in_date)
AND NOT (move_out_date < anniversary AND NOT is_exit_included)
is_retained_Nd =
is_retention_eligible_Nd
AND NOT (exit_date < anniversary AND move_out_date IS NULL)
AND (
move_out_date IS NULL
OR move_out_date >= anniversary
OR is_perm_exit
)
Many metrics depend on a count of distinct clients within a program
area, including in the numerator and denominator for rates. For greater
detail on how the distinct count works, see How metrics are built. Data elements
used in the calculation column are boolean flags (True or
False), constructed using the rules described in Flags.
| Metric | Program area | Type | Definition | Calculation |
|---|---|---|---|---|
| All program areas | ||||
| Active participants | All | Count | People with an enrollment open at any point in the period. For Street Outreach these are people contacted, engaged or not. | COUNT(is_active) |
| New participants | All | Count | People whose enrollment began in the period. “New” means a new enrollment, not a first-ever contact. For Interim Housing and PSH, only the first enrollment of an episode counts: transfers are not counted as new (see: The Episodes (transfers) table). | COUNT(is_new) |
| Exited participants | All | Count | People whose enrollment (Street Outreach) or episode (Interim Housing, PSH) ended in the period, for any reason or destination. For Interim Housing and PSH, moves between projects within an episode are transfers and do not count (see: The Episodes (transfers) table). | COUNT(is_exited) |
| Exit destination breakdown | All | Count and percentage | Exits in each of the five destination categories, as a share of all exits. | For each category X: COUNT(is_exited AND is_X_exit) /
COUNT(is_exited) |
| Street Outreach | ||||
| Engaged participants | Street Outreach | Count | Active participants engaged on or before the end of the period: connected or re-connected to ongoing services. | COUNT(is_active AND is_engaged) |
| Newly engaged participants | Street Outreach | Count | Active participants whose engagement date falls in the period. | COUNT(is_active AND is_newly_engaged) |
| Engagement rate | Street Outreach | Rate | Engaged participants divided by active participants. Note: the rate can fall even as the number engaged rises, if new contacts grow faster. | COUNT(is_active AND is_engaged) /
COUNT(is_active) |
| Average days to engagement | Street Outreach | Average | Average days from enrollment (first contact) to engagement. Averaged over enrollments, so a person with two engaged enrollments contributes two values. | AVG(days_to_engagement) where
is_active AND is_engaged |
| Time to engagement | Street Outreach | Percentage | Share of engaged participants in each of five time bins. Covers everyone engaged and still active, not only people engaged in the period, so long-enrolled participants accumulate in bins grouping long engagements. | For each bin X:
COUNT(is_active AND is_engaged AND days_to_engagement_bin = X)
/ COUNT(is_active AND is_engaged) |
| Interim housing placements | Street Outreach | Count and rate | Active participants who had an interim housing referral attained or exited outreach to emergency shelter in the period. The count is not limited to engaged participants, so the rate is a ratio rather than a strict share. | COUNT(is_active AND has_ih_placement) /
COUNT(is_active AND is_engaged) |
| Permanent housing placements | Street Outreach | Count and rate | Active participants who moved into permanent housing, or exited outreach to a permanent destination, in the period. Same denominator note as interim housing placements. | COUNT(is_active AND has_ph_placement) /
COUNT(is_active AND is_engaged) |
| Receiving life-sustaining services | Street Outreach | Count and rate | Active participants with at least one life-sustaining service on or before the end of the period. Divides by all active participants, not only engaged. | COUNT(is_active AND has_lss) /
COUNT(is_active) |
| Permanent Supportive Housing | ||||
| Housed participants | PSH | Count | People who had moved in by the end of the period and had not moved out before it began. Used instead of active participants, which also counts people enrolled but not yet housed. | COUNT(is_housed) |
| Newly housed participants | PSH | Count | People whose episode move-in date falls in the period. | COUNT(is_newly_housed) |
| One-year and two-year retention | PSH | Count and rate (episodes) | Of episodes reaching their one- or two-year move-in anniversary in the period, those still housed or moved out to a permanent destination. Each period covers a different cohort of individuals, so retention rates can be sensitive to the period selection, especially for small cohorts. See Flags: Permanent Supportive Housing. | COUNT(DISTINCT episode_id) where
is_retained_Nd / where
is_retention_eligible_Nd |
| One-year and two-year returns to homelessness | PSH | Count and rate | In development. Will use the homeless signal events table, aligned with Measure A. | To follow |
Departures from BPSC wording
Most metrics can be broken down by race and ethnicity, gender, or age group. Selecting a breakdown recalculates the metric within each group: counts become the number of people in that group, and rates use that group’s own numerator and denominator.
Note: Demographic breakdowns should not be summed to obtain totals. As explained below, demographic groups are not exclusive and individuals are counted multiple times across them, leading to totals that sum to more than 100 percent of the deduplicated total. The demographic breakdowns should be used to understand relative group performance. For overall metrics, remove the demographic filters.
Defining race, ethnicity, and gender labels follows the HUD HMIS Data Standards, but the dashboard shows them under shorter, standardized names. This gives each category one name regardless of small wording differences between source systems, keeps labels short enough to display, and groups the missing-response options into a single Unknown category.
| HUD response (HMIS Data Standards) | Shown on the dashboard as |
|---|---|
| American Indian, Alaska Native, or Indigenous | American Indian/Alaska Native |
| Asian or Asian American | Asian |
| Black, African American, or African | Black/African American |
| Hispanic/Latina/e/o | Hispanic/Latina/Latino |
| Middle Eastern or North African | Middle Eastern/North African |
| Native Hawaiian or Pacific Islander | Native Hawaiian/Pacific Islander |
| White | White |
| Client doesn’t know | Race Unknown |
| Client prefers not to answer | Race Unknown |
| Data not collected | Race Unknown |
Race and ethnicity are recorded in the source systems for the dashboard using a multi-select question, following current HUD data standards. Hispanic/Latina/o is one of the options rather than a separate question. Together, this means people can choose more than one category. In the dashboard, a person who selects more than one category is counted in every category they selected. For example, a person who identifies as Black, African American, or African and Hispanic/Latina/o is counted in both groups. There is no separate “multiracial” group. Race and ethnicity groups therefore add to more than the total and more than 100 percent.
| HUD response (HMIS Data Standards) | Shown on the dashboard as |
|---|---|
| Woman (Girl, if child) | Woman |
| Man (Boy, if child) | Man |
| Transgender | Transgender |
| Culturally Specific Identity (e.g., Two-Spirit) | Other Gender |
| Non-Binary | Other Gender |
| Questioning | Other Gender |
| Different Identity | Other Gender |
| Client doesn’t know | Gender Unknown |
| Client prefers not to answer | Gender Unknown |
| Data not collected | Gender Unknown |
Gender is also multi-select in HMIS. A person who selects more than one response is counted in each matching category. For example, a transgender woman who selects both Transgender and Woman appears in both groups. In HMIS records, a response of “Questioning” currently counts in both Other Gender and Gender Unknown. Gender groups can therefore add to more than the total and more than 100 percent.
| Category | Ages |
|---|---|
| 0-17 | Under 18 |
| 18-24 | 18 to 24 |
| 25-34 | 25 to 34 |
| 35-44 | 35 to 44 |
| 45-54 | 45 to 54 |
| 55-64 | 55 to 64 |
| 65-74 | 65 to 74 |
| 75-84 | 75 to 84 |
| 85+ | 85 and older |
| Unknown | No date of birth recorded |
Age is calculated as of the enrollment start date, not the reporting period. Each enrollment falls in exactly one age group. If a person has two enrollments in the period with different ages, for example one enrollment before and one after a birthday that crosses a group boundary, they can be counted in both age groups. Age groups can therefore add to more than the total and more than 100 percent.
Several public dashboards report on homeless services in Los Angeles County. Their numbers often look similar but answer different questions using different data, so they should not be expected to match.
| BPSC Systemwide Dashboard | HSH Key Performance Indicator Dashboard | Measure A Progress Tracker | LAHSA's System Key Performance Indicator Dashboard | |
|---|---|---|---|---|
| Question it answers | How are outreach, interim housing, and PSH programs performing against the BPSC-defined measures? | How are programs administered by the Department of Homeless Services and Housing (HSH) performing? | Is the County making progress toward its five Measure A goals? | How are participants moving through the homeless services system? |
| Data sources included | HMIS, CHAMP, and DMH-sourced data | HMIS and CHAMP | HMIS, CHAMP, the Point-in-Time Count, and other County service data | HMIS and RMS |
| Programs and clients included | Enrollments in Street Outreach, Interim Housing, and Permanent Supportive Housing | The same program areas, limited to enrollments in programs administered by HSH | People with a recorded homeless event anywhere in the system, whether or not they were enrolled in a program on the dashboard. Unsheltered totals come from the Point-in-Time Count. | Enrollments in Street Outreach, Interim Housing, and Time-Limited Subsidies. |
| Programs and clients not included | Time-limited subsidies (including rapid re-housing), homelessness prevention, Enriched Residential Care, and other project types listed in Appendix B. | Programs administered by any other agency. People who were never enrolled in an HSH-administered program. | People with no recorded homeless event in CHAMP or HMIS. | Any projects not recorded in HMIS (e.g., CHAMP- or DMH-only). Permanent Supportive Housing clients without a prior HMIS enrollment. |
The table below shows, for each HUD destination as recorded in HMIS, the CHAMP and DMH values that map to it. A blank cell means that system has no value mapping to that destination.
| HUD code | HMIS destination | CHAMP destination | DMH destination | Category |
|---|---|---|---|---|
| 410 | Rental by client, no ongoing housing subsidy | Rental by Client, No Ongoing Housing Subsidy | Non-Subsidized Apartment, Shared/Collaborative Housing | Permanent |
| 411 | Owned by client, no ongoing housing subsidy | Owned by Client, No Ongoing Housing Subsidy | Permanent | |
| 419 | Rental by client, with VASH subsidy | Rental by Client, with VASH Housing Subsidy | Permanent | |
| 420 | Rental by client, with other ongoing housing subsidy | Rental by Client, with Other Ongoing Housing Subsidy | Rental by client, other (non-VASH) ongoing housing subsidy (DMH PSH; also stands for 436-440, all Permanent) | Permanent |
| 421 | Owned by client, with ongoing housing subsidy | Owned by Client, with Ongoing Housing Subsidy | Permanent | |
| 422 | Staying or living with family, permanent tenure | Staying or Living with Family, Permanent Tenure | Family/Spouse/Friends | Permanent |
| 423 | Staying or living with friends, permanent tenure | Permanent | ||
| 426 | Moved from one HOPWA-funded project to HOPWA permanent housing | Moved from One HOPWA Funded Project to HOPWA PH | Permanent | |
| 428 | Rental by client, with GPD TIP subsidy | Rental by Client, with GPD TIP Housing Subsidy | Permanent | |
| 431 | Rental by client, with RRH or equivalent subsidy | Rental by Client, with RRH or Equivalent Subsidy | Housed with a Flexible Housing Subsidy Pool Voucher | Permanent |
| 433 | Rental by client, with HCV voucher | Rental by Client, with HCV Voucher (Tenant or Project Based) | Federally Subsidized Tenant-Based Housing | Permanent |
| 434 | Rental by client, in a public housing unit | Rental by Client in a Public Housing Unit | Permanent | |
| 436 | Rental by client, with Housing Stability Voucher | Permanent | ||
| 437 | Rental by client, with FUP voucher | Permanent | ||
| 438 | Rental by client, with FYI subsidy | Permanent | ||
| 439 | Rental by client, in PSH | Federally Subsidized Project-Based Housing | Permanent | |
| 440 | Rental by client, in other permanent housing for formerly homeless persons | Permanent Housing (Other than RRH) for Formerly Homeless Persons | Permanent | |
| 215 | Foster care home or foster care group home | Foster Care Home or Foster Care Group Home | Permanent | |
| 225 | Long-term care facility or nursing home | Nursing or Long Term Medical Care Facility | Adult Residential Care Facility, Skilled Nursing/Assisted Living | Permanent |
| n/a | Residential Care Facility | Permanent | ||
| 101 | Emergency shelter, including hotel or motel paid for with an emergency shelter voucher, or Host Home shelter | Interim Housing, Including Hotel/Motel Paid for with Emergency Shelter Voucher | Hotel/Motel Not Paid for by ClientTransferred to another DMH interim housing siteTransferred to non-DMH interim housing | Temporary |
| 118 | Safe Haven | Safe Haven | Temporary | |
| 302 | Transitional housing for homeless persons (including homeless youth) | Transitional Housing for Homeless Persons (Including Homeless Youth) | Sober Living Home (classified Permanent for DMH, per DMH decision, September 2, 2026) | Temporary |
| 312 | Staying or living with family, temporary tenure | Staying or Living with Family, Temporary Tenure (e.g. Room, Apartment or House) | Temporary | |
| 313 | Staying or living with friends, temporary tenure | Temporary | ||
| 314 | Hotel or motel paid for without an emergency shelter voucher | Hotel or Motel Paid for without Emergency Shelter Voucher | Hotel/Motel Paid for by Client | Temporary |
| 327 | Moved from one HOPWA-funded project to HOPWA transitional housing | Moved from One HOPWA Funded Project to HOPWA TH | Temporary | |
| 329 | Residential project or halfway house with no homeless criteria | Residential Project or Halfway House with No Homeless Criteria | Temporary | |
| 332 | Host Home (non-crisis) | Host Home (Non-Crisis) | Temporary | |
| 204 | Psychiatric hospital or other psychiatric facility | Psychiatric Hospital or Other Psychiatric Facility | Other Systems of Care | |
| 205 | Substance use treatment facility or detox center | Substance Abuse Treatment Facility or Detox Center | Drug Treatment Facility | Other Systems of Care |
| 206 | Hospital or other residential non-psychiatric medical facility | Hospital or Other Residential Non-Psychiatric Medical Facility | Hospital | Other Systems of Care |
| 116 | Place not meant for habitation (for example, a vehicle, abandoned building, transit station, or anywhere outside) | Place Not Meant for Habitation (e.g., Vehicle, Anywhere Outside, Etc.) | HomelessCar/RVUnknown (whereabouts unknown) | Return to Homelessness |
| 207 | Jail, prison, or juvenile detention facility | Jail, Prison or Juvenile Detention Facility | Jail | Other |
| 8 | Client doesn’t know | Client Doesn’t Know | Other | |
| 9 | Client prefers not to answer | Client Refused | Other | |
| 17 | Other | Other | Pending Outcome Report | Other |
| 24 | Deceased | Deceased (or exit reason of deceased) | DeceasedTermination reason “Death” (DMH PSH) | Other |
| 30 | No exit interview completed | No Exit Interview Completed | Other | |
| 99 | Data not collected | No destination recorded | Other |
The BPSC dashboard covers three program areas: Street Outreach, Interim Housing, and Permanent Supportive Housing. Projects are assigned to, at most, one of these areas based on its service model and project type. Projects with project types that fall outside these program areas are not included on the dashboard.
| BPSC program area | HMIS project types | CHAMP project types | DMH project types | On the dashboard? |
|---|---|---|---|---|
| Interim Housing | Emergency Shelter, Entry/Exit (0)Emergency Shelter, Night-by-Night (1)Transitional Housing (2)Safe Haven (8) | Interim Housing (Recuperative, Stabilization, Safe Landing; triage included for participant counts only) | All DMH Interim Housing | Yes |
| Street Outreach | Street Outreach (4) | n/a | n/a | Yes |
| Permanent Housing | Permanent Supportive Housing (3) | Permanent Housing (Project-Based, Scattered-Site) | All DMH Permanent Supportive Housing | Yes |
| None | Services Only (6)Other (7)PH: Housing Only (9)PH: Housing with Services (10)Day Shelter (11)Homelessness Prevention (12)PH: Rapid Re-Housing (13)Coordinated Entry (14) | Time Limited SubsidiesHomeless Prevention UnitHigher Level of Care (ERC) | n/a | No |
Qualifying LSS service types include any of the following strings in either the service or service item name.