Skip to main content

An easy way to calculate CCBHC measurements.

Project description

CCBHC Measurements

Table of Contents

Purpose

This package is designed to simplify CCBHC reporting by automating the measurement process. It accepts all relevant clinical —such as PHQ-9s, AUDITs, and SDOH screenings— and insurance data and returns a labeled DataFrame indicating whether each patient meets the criteria for the chosen CCBHC measurements. The package is designed to be comprehensive in that you can give it ALL your historical data and it will output EVERY patient labeled in EVERY Measurement Year for a given Measurement. Take a look at this DEP-REM-6 example:

simple example of how the package works

Click here for the more detailed DEP-REM-6 example pdf

1. Data Processing

Our code is simple:

  1. Import the Measurement you want to calculate.
  2. Give it the required data (downloaded excel reports from your EHR, query data from SQL, or whatever)
  3. Run get_all_submeasures(). Under the hood, get_all_submeasures() determines which data meets the Measurments criteria and which does not.
  4. Export your data to your preferred tool for analysis. If you want to keep it in pandas, you already have it. If you want to use Excel, or Power BI, you can export it there as well!

2. Dashboard Display

We've also created a base Power BI file as a foundation for a dashboard. Check out the dashboard folder here.

Dashboard Picture

Currently Supported Measurements

The definition for these Measurements can be found at https://www.samhsa.gov/sites/default/files/ccbhc-quality-measures-technical-specifications-manual.pdf

IMPORTANT We unsure if we will be implementing the I-SERV Measurement and its SubMeasures. We would like to hear your thoughts on the matter, feel free to email us and let us know what you think.

Moving forward, our focus will shift from the SAMHSA-required measurements to those mandated by New York State.

Code Demonstration

This is a basic demonstration for the Dep-Rem-6 Measurement, see here for more in depth demonstrations

import pandas as pd
import ccbhc_measurements as ccbhc

- Step 1: Load in the data into Pandas Dataframes

all_inclusive_excel_file = r"../file/path/to/Dep Rem Data.xlsx"
phq_data = pd.read_xlsx(all_inclusive_excel_file, sheet_name = "phq9")
diagnosis_data = pd.read_xlsx(all_inclusive_excel_file, sheet_name = "diagnosis")
demographic_data = pd.read_xlsx(all_inclusive_excel_file, sheet_name = "demographic")
insurance_data = pd.read_xlsx(all_inclusive_excel_file, sheet_name = "insurance")

- Step 2: Ensure that the dataframes follows the correct schema

Dep Rem 6 Required Data Input and Output Diagram

phq_data = phq_data[["patient_id","patient_DOB","encounter_id","encounter_datetime","total_score"]].copy()
diagnosis_data = diagnosis_data[["patient_id","encounter_datetime","diagnosis"]].copy()
demographic_data = demographic_data[["patient_id","race","ethnicity"]].copy()
insurance_data = insurance_data[["patient_id","insurance","start_datetime","end_datetime"]].copy()

- Step 3: Calculate Dep-Rem

submeasure_data = [phq_data,diagnosis_data,demographic_data,insurance_data]
measure = ccbhc.Dep_Rem(submeasure_data)
results = measure.get_all_submeasures()
for name, data in results.items():
    data.to_excel(name+".xlsx", index=False)
Example Data Output:
patient_id patient_measurement_year_id encounter_id age medicaid numerator numerator_reason
1 1-2024 1 18+ FALSE TRUE Has Remission
2 1-2025 3 18+ FALSE FALSE Remission Period not Reached
3 3-2024 4 18+ FALSE FALSE No PHQ-9 Follow Up
4 4-2024 5 18+ FALSE FALSE No Remission

- Step 4: Create a Dashboard in Power BI (Optional)

We've created an example dashboard in Power BI for easy implementation but feel free to use the analysis tool of your choice. Feel free to download it from the dashboard folder.

De-panda-cies

License

CC BY-NC-SA 4.0

Installation

Binary installers for the latest released version are available at the Python Package Index (PyPI)

# PyPI
pip install ccbhc_measurements

Contributors

  • Alex Gursky - Data Engineer
  • Max Friedman - Data Engineer
  • Yisroel Len - Director of Data Analytics & CCBHC Project Evaluator

Contributions and Discussions

Feel free to add and create you own Measurements. All Measurements should follow this uml and you can use this guide to show you how to do it!

Send us your recomendations, bugs, questions or feedback at agursky@pesachtikvah.com


Back to Top

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ccbhc_measurements-2026.6.26.tar.gz (41.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ccbhc_measurements-2026.6.26-py3-none-any.whl (56.5 kB view details)

Uploaded Python 3

File details

Details for the file ccbhc_measurements-2026.6.26.tar.gz.

File metadata

  • Download URL: ccbhc_measurements-2026.6.26.tar.gz
  • Upload date:
  • Size: 41.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for ccbhc_measurements-2026.6.26.tar.gz
Algorithm Hash digest
SHA256 3358e23d5ff209f3923c4fedebff316e025ac8d8ef0f976b8fccd11224f5f831
MD5 63fa304e34028b787d7c0837ca96ff97
BLAKE2b-256 d098f4ce4d41638de7318341c8bb9c2dd67ae5f6ee4e201f0e65c6830eeaf4f7

See more details on using hashes here.

File details

Details for the file ccbhc_measurements-2026.6.26-py3-none-any.whl.

File metadata

File hashes

Hashes for ccbhc_measurements-2026.6.26-py3-none-any.whl
Algorithm Hash digest
SHA256 41043494eb8ba4a8adc43fcca6e67c679a235154f098a3ecebf9bdcfb9212799
MD5 a828b45676eb395ba47ba51cd14cb372
BLAKE2b-256 67d3ddff7406cb62176e85aa42490d88a6389065bcb3a2f1878ec6efd4f6271b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page