Oregon’s Unvaccinated Children

2014 Oregon Health Authority Immunization Program
Data found here

Y Axis Adjusted Enrollment Count
X Axis Nonmedical Exemption Rate %

OregonImmunizationProgram

Now let’s add some School Names to the tail ends of the chart above.
(Click on images for higher resolution)

Over 1,000 Enrolled and Nonmedical Exemption Rate % Greater than 3
School Names with over 3% percent of unvaccinated and have over one thousand students..
ImmunizedOver1000Over3percent

Nonmedical Exemption Rate Greater than 30 Percent
School Names with largest percentage of unvaccinated.
OregonOver30PercentNonimmune__

Ruby Example:
parsingOregon

Affordable Healthcare Act Compliance System Example

mantascode promo

Random Empoloyees were created.
Random work hours for each month of 2014 were generated.
Random designations employment type attributed.
Random Measurement (start dates) associated.
6 Month look-back period.

ASP.net winforms was used to pull data from SQL Server.
C# was used to glue together an HTML table.
CSS was used to emphasize transitional employee types.

West Side Chicago Narcotics Enforcement Migrations

In this post I look into Chicago Police Department’s enforcement of two particular narcotics report types: Heroin and Crack Cocaine. I was curious to see yearly migrations of CPD’s activity from 2003 to 2014 in the west side region of Chicago.

heroin and crack molecule

The Data is from City of Chicago Data Portal

Links to youtube video animated heatmaps (some mobile devices don’t support embedded videos on my site):
http://www.youtube.com/watch?v=2qGPhlBGWxQ
http://www.youtube.com/watch?v=uh22pGBLgYo
http://www.youtube.com/watch?v=czoofaWOAps

Monthly

Yearly


Ruby was used to parse the data and convert into JSON.
Google Heatmaps API was used to generate the maps.
Camtasia Studio 8 was used to annotate and export the videos.

Ruby written to create monthly maps

RubyToCreateMonthlyMaps

Chicago, Cook County – Defense Department’s 1033 program charts.

The data was found on github here:
Military Surplus Gear

The charts below cover Chicago, IL, Cook County
gunart

 This chart displays Rifles and Pistols received by year.
riflespistols1033cookcounty

This graph shows most popular equipment items received from 2006 through May 2014.
AllEquipment

 

Ruby code used to parse and format the data.  Google charts was used to display it.
Ruby to Parse all equipment in cook county

 

Chicago Gov-Job Average Salary Bubble Charts.

According to this data : Current Employee Names, Salaries, and Position Titles on City Of Chicago Data Portal https://data.cityofchicago.org/;

The Chicago government employees 32,160 employees, and pays approximately $2,429,980,941.36 in annual salaries.

Google Charts API was used.

CLICK ON Pictures FOR Focus. (temporary courtesy of imgur)

All Employees.

image1

Let’s remove distinct Position-Titles with Less Then 10 Employees, and the position title of Police Officer from the data.

image2

(20 or more), and, (200 or less); employee counts within a position title.

image3

(10 or more), and,( 50 or less); employee counts within a position title.

FINALBIGCHART

C#

int counter = 0;
string line;
Dictionary<string, int> dCount = new Dictionary<string, int>();
Dictionary<string, decimal> dSalTotal = new Dictionary<string, decimal>();
Dictionary<string, LinkedList> dDeps = new Dictionary<string, LinkedList>();
System.IO.StreamReader file =
    new System.IO.StreamReader("C:\\AAAChicagoEmployees\\Current_Employee_Names__Salaries__and_Position_Titles (1).csv");
while ((line = file.ReadLine()) != null)
{
    string[] parts = line.Split(',');
    try
    {
        string name = parts[2];
        name = Regex.Replace(name, "'", "");
        string dep = parts[3];
        decimal sal = decimal.Parse(parts[4].TrimStart('$')   );
        if ( dCount.ContainsKey(name  ) )
        {
            int a = dCount[name];
            a += 1;
            dCount[name] = a;
            decimal b = dSalTotal[name];
            b += sal;
            dSalTotal[name] = b;
            LinkedList c = dDeps[name];
            c.AddLast(dep);
            dDeps[name] = c;
        }
        else
        {
            dCount.Add(name, 1);
            dSalTotal.Add(name, sal);
            LinkedList newDepList = new LinkedList();
            newDepList.AddLast(dep);
            dDeps.Add(name, newDepList);
        }
    }
    catch (Exception x)
    {
        //header line
    }
    counter++;
}
file.Close();
Dictionary<string, decimal> dAveOrder = new Dictionary<string, decimal>();
foreach (KeyValuePair<string, int> item in dCount.OrderBy(key => key.Value))
{
    if (item.Value >= 10 && item.Value <= 50)
    {
        decimal aveSal = dSalTotal[item.Key] / item.Value;
        dAveOrder.Add(item.Key, aveSal);
    }
}
string json = "";
foreach (KeyValuePair<string, decimal> item in dAveOrder.OrderBy(key => key.Value))
{
    Hashtable frequencyHash = new Hashtable();
    LinkedList uniqueList = new LinkedList();
    foreach (var element in dDeps[item.Key])
    {
        if (uniqueList.Contains(element))
        {
            int elementCount = int.Parse(frequencyHash[element].ToString());
            elementCount++;
            frequencyHash[element] = elementCount;
        }
        else
        {
            uniqueList.AddLast(element);
            frequencyHash.Add(element, 1);
        }
    }
    int max = 0;
    string sMaxDep = "";
    foreach (string element in frequencyHash.Keys)
    {
        int iDep = int.Parse(frequencyHash[element].ToString());
        if (iDep > max)
        {
            max = iDep;
            sMaxDep = element;
        }
    }
    if (item.Key == "POLICE OFFICER")
    { }
    else
    {
        json += "[ '" + item.Key + "', " + dCount[item.Key] + "  , " + item.Value + " ,'" + Regex.Replace(sMaxDep, "'", "") + "' , " + item.Value + " ],\r\n";
    }
}
System.IO.StreamWriter fileWrite = new System.IO.StreamWriter("c:\\AAAChicagoEmployees\\data.txt");
fileWrite.WriteLine(json);
fileWrite.Close();

Chicago West Side Narcotics Arrest Heat Maps 1/1/2013 – 5/8/2014

A look into the West Side of Chicago’s Narcotics related Arrests.

westSide Chicago

The data is from City of Chicago Data Portal. Time Range used from 1-1-13 through 5-8-14. Data was exported and saved as CSV. Ruby code was written to parse out and format the coordinates. Google Heatmaps Javascript API v3 was used to generate the heatmaps.

Heroin
POSS: HEROIN(WHITE), MANU/DELIVER: HEROIN (WHITE), POSS: HEROIN(BRN/TAN), POSS: HEROIN(BLACK TAR), MANU/DELIVER: HEROIN(BRN/TAN), MANU/DELIVER:HEROIN(BLACK TAR)
heroin_crop

Cocaine
POSS: COCAINE, MANU/DELIVER:COCAINE
cocaine_crop

Crack
MANU/DELIVER:CRACK, POSS: CRACK
crack_crop

PCP
POSS: PCP, MANU/DELIVER:PCP
pcp_crop

Marijuana
POSSESSION: SYNTHETIC MARIJUANA, MANU/POSS. W/INTENT TO DELIVER: SYNTHETIC MARIJUANA, POSS: CANNABIS 30GMS OR LESS, MANU/DEL:CANNABIS OVER 10 GMS, POSS: CANNABIS MORE THAN 30GMS, MANU/DEL:CANNABIS 10GM OR LESS, DELIVER CANNABIS TO PERSON <18, CANNABIS PLANT, ATTEMPT POSSESSION CANNABIS
marijuana_crop

Hallucinogen
POSS: HALLUCINOGENS, MANU/DELIVER: HALLUCINOGEN
hallucinagen_crop