Giter Site home page Giter Site logo

code4sac.github.io's Introduction

Sacramento Homeless Services Dashboard

A project to provide an interactive dashboard with data from Sacramento County's Homeless Management Information System

Readme contents:

  • Context
  • Tools Used
  • Assumptions Used to Produce Charts
  • Execution Instructions

top_of_dash

Context

This dashboard was developed to help the community visualize the volume of homeless-related services, how many people find permanent housing through these programs, and the demographics of those who use the services. The data comes from Sacramento's Homeless Management Information System (HMIS), which is used by local homeless service providers within Sacramento County to coordinate care, manage their operations, and better serve those in need of homeless services (referred to in this dashboard as clients). As of early 2020, the most recent public data is through August 2019. The dashboard includes interactive charts that allows users to explore homeless services program volumes, outcomes, and participant demographics by year and program type. An explanation of assumptions made for chart plotting is included at the bottom of this readme.

mid_dash

Tools Used

  • Initial ETL, exploration, and database build was via a Python Jupyter Notebook.
  • Python app now used to clean and load data into database.
  • Python modules used include SQLAlchemy, Numpy, and Pandas.
  • Development and production database is PostgreSQL.
  • A flask API serves the data from the database.
  • Web page design uses HTML5, CSS3, and JavaScript, including Highcarts library.
  • Web page hosted on Heroku app.

bottom_dash

Assumptions Used for Producing Charts

Data included for those receiving homeless services from January 1, 2015 through August 31, 2019

  • While there is some data in the dataset after August 2019, it appears to be incomplete and is not included.

Volume/Program Participation

  • Total distinct clients and total program enrollments differ because of clients enrolling in multiple programs during a given time period. Distinct clients are meant to represent how many individuals receive services per year, and total program enrollment is meant to capture the overall load on the homeless services system. Total clients/ enrollments count clients who enrolled a program either during or before the given year and exited any time during or after the given year. For example, both a client who enrolled on January 1st, 2016 and exited in February 1st, 2016, and a client who enrolled in July 1st, 2015 and exited July 1st, 2017 would be counted in "Total Clients/Enrollments" for 2016; however, the latter client would be counted as active in 2015, 2016 and 2017.
  • New clients/enrollments and clients/enrollments ended are straightforward counts of activity within the time period.

Outcomes/Program enrollees with permanent housing upon program exit

  • For those who exited a program in the period, percent is calculated as the number of clients who exited to permanent housing divided by the total number of exits. Permanent housing is defined as Category 1 as defined in “Variables included in County Data” spreadsheet’s “Exit Destination” worksheet, and includes rapid rehousing and permanent supportive housing.
  • Clients are only counted once. If a client happens to have an exit to permanent housing and an exit in the same period to something other than permanent housing, they are counted as an exit to permanent housing.

Outcomes/Average time to permanent housing

  • Time is calculated for those who started from street outreach, transitional housing, or day/emergency shelter and exited to permanent housing Category 1 (rapid rehousing and permanent supportive housing).

Demographics

  • Unknown categories are grouped together. For example, in Race chart, unknown includes categories ‘Client Refused', 'Data Not Collected', 'Client doesn't Know', and ‘NULL’.
  • Counts show the total number of distinct clients per year, using the same method as described in Volume/ Program Participation above.

Execution Instructions for Local Development

  1. Create a local PostgreSQL database named "sac_hmis_db".
  2. Create a local .env file with your PostgreSQL username and password. See sample-env.txt file for format.
  3. Use a terminal to navigate to the main folder and run set-up.py.
  4. Run app.py.
  5. Open your browser and go to the url http://localhost:5000/.

Project Leads

Graham Penrose & Scott Clark

code4sac.github.io's People

Contributors

haileypate avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

namesmith

code4sac.github.io's Issues

List projects under new "Causes" tab

‌• Climate Change
‌• Transportation
‌• Open Data
‌• Hunger
◦  Eat Sacramento
‌• Digital Community
◦  Sacramento Hash Tag Project
‌• Gov. Trandparency
◦ Portal Utilities
◦  Open Budget 

need a plan for capturing photos for new site

Beautiful, colorful photos will be a big part of the new Code4Sac website! We need help gathering images and/or creating new ones!

Check out the website plans to get a better idea of what's needed -- https://drive.google.com/file/d/0ByH6oExoXJ0KSnNGSFRFUVdRQW8/edit?usp=sharing

For example, the plans include a large front page image, headshots for all Code4Sac volunteers (who want to be included -- it's totally voluntary!) and project thumbnails.

Please add any images you think we should use to this google drive folder:
https://drive.google.com/folderview?id=0B46VQQnI_SeuUWpFNGlTSjVBN00&usp=sharing

And please comment here with your ideas!

create the "cause" layout

so... it turns out that in order to get jekyll to list multiple projects on a single "cause" page, jekyll needs to treat the project files as posts instead of pages.

  • the project files that are currently located in the projects folder need to be moved to the _posts folder. they also have to undergo a name change, because jekyll's rule is that all posts must begin with a date format.
  • we can create a file for each cause, then we can tell jekyll to list the appropriate projects on each cause page.
  • each cause page can be stored in the causes folder

just a workaround that will get things done until somebody fantastic wants to show us a better way.. or until the wizards come out with jekyll 2.0 =):

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.