Skip to content

State Corrections and Supervision Schema

Joshua Essex edited this page Mar 10, 2021 · 4 revisions

State Corrections and Supervision Schema Description

Overview

This describes the current definition for our state corrections and supervision schema. Though this conceptual schema is consistent across all stages of the platform and all steps of the ingest pipeline, it passes through different concrete implementations as it progresses from raw incoming data (in some arbitrary structure) to fully normalized information (in our schematic structure).

Value format notes:

  • As raw incoming data, all data fields are optional. When normalized, a minority of fields become required (these values tend to be inferred when absent). Fields that become required after normalization are marked below.
  • As raw incoming data, all data fields can be provided as strings. The provided strings will be converted to the appropriate data types during the ingest progress, with errors surfaced if a value is provided that cannot be appropriately converted.
  • Certain fields are coded as enumerated types: coding is based on a global mapping of strings to enums and jurisdiction-specific override maps thereof.
    • Many common ways of representing a value can be converted into the valid values listed below (e.g., ‘F’, ‘Fem’, and ‘Female’ will each result in a value of ‘Female’ for gender)
    • Uncommon/jurisdiction-specific representations can also be converted with an override mapping that takes precedence over the global mapping (e.g. some jurisdictions may use, for example, integer values, to represent different genders).
  • Values are case insensitive.

Person

Each Person holds details about the individual, as well as lists of several child entities. Some of these child entities are extensions of individual details, e.g. Race is its own entity as opposed to a single field, to allow for the inclusion/tracking of multiple such entities or sources of such information.

Field Name Description

full_name

A person’s name.

Only use this when names are in a single field. Use surname and given_names when they are separate.

surname

A person’s surname.

Only use this when surname and given names are in separate fields. Use full_name when they are in a single field.

given_names

A person’s given names, separated by whitespace.

Only use this when surname and given names are in separate fields. Use full_name when they are in a single field

middle_names

A person’s middle name(s) or initial.

Only use this when a middle names or initials are given in a separate field. Use full_name when they are in a single field

name_suffix

A person’s name suffix(s).

Only use this when a suffix is given in a separate field. Use full_name when they are in a single field

birthdate

Date the person was born.

Use this when it is known. When a person’s age but not birthdate is reported, use age instead.

gender

A person’s gender.

Valid values:

  • Female
  • Male
  • Trans Female / Trans Woman
  • Trans Male / Trans Man
  • Other

age

A person’s age. From this age, a “birthdate” is inferred as the 1st of January of the year indicated by the age.

Use this when age is known but birthdate is not. When a birthdate is reported, use birthdate instead. Age is ignored if birthdate is set.

residency_status

A person's reported residency status.

Valid values:

  • Homeless
  • Permanent
  • Transient
external_ids

A list of external ids for this person.

aliases

A list of aliases for this person.

races

A list of races for this person (a person may be multi-racial, or different data sources may report different races)

ethnicities

A list of races for this person (a person may be multi-ethnic, or different data sources may report different ethnicities)

assessments

A list of assessment objects for this person

sentence_groups

A list of sentence group objects for this person

program_assignments

A list of program assignment objects for this person

Person External Id

Each Person External Id holds a single "external id" provided by the source data system being ingested. An external id is a unique identifier for an individual, unique within the scope of the source data system. We include information denoting the source of the id to make this into a globally unique identifier.

Field Name Description

external_id

The identifier from the source data system.

id_type

The type of id provided by the system. For example, in a state with multiple data systems that we ingest, this may be the name of the system from the id emanates.

state_code

The code of the state providing the id.

Person Alias

Each Person Alias holds the naming information for an alias for a particular person. Because a given name is an alias of sorts, we copy over the name fields provided on the Person object into a child Alias object. An alias is structured similarly to a name, with various different fields, and not a raw string -- systems storing aliases are raw strings should provide those in the full_name field below.

Field Name Description

alias_id

Unique identifier for an alias. If not specified, one will be generated.

state_code

The code of the state providing the object.

full_name

A person’s name.

Only use this when names are in a single field. Use surname and given_names when they are separate.

surname

A person’s surname.

Only use this when surname and given names are in separate fields. Use full_name when they are in a single field.

given_names

A person’s given names, separated by whitespace.

Only use this when surname and given names are in separate fields. Use full_name when they are in a single field

middle_names

A person’s middle name(s) or initial.

Only use this when a middle names or initials are given in a separate field. Use full_name when they are in a single field

name_suffix

A person’s name suffix(s).

Only use this when a suffix is given in a separate field. Use full_name when they are in a single field

Person Race

Each Person Race holds a single reported race for a single person. A Person may have multiple Person Race objects because they may be multi-racial, or because different data sources may report different races.

Field Name Description

race_id

Unique identifier for a race. If not specified, one will be generated.

race

A person’s reported race.

Valid values:

  • American Indian / Alaskan Native
  • Asian
  • Black
  • Native Hawaiian / Pacific Islander
  • White
  • Other
state_code

The code of the state providing the object.

Person Ethnicity

Each Person Ethnicity holds a single reported ethnicity for a single person. A Person may have multiple Person Ethnicity objects because they may be multi-ethnic, or because different data sources may report different ethnicities.

Field Name Description

ethnicity_id

Unique identifier for an ethnicity. If not specified, one will be generated.

ethnicity

A person’s reported ethnicity.

Valid values:

  • Hispanic
  • Not Hispanic
state_code

The code of the state providing the object.

Assessment

The Assessment object represents information about an assessment conducted for some person. Assessments are used in various stages of the justice system to assess a person's risk, or a person's needs, or to determine what course of action to take, such as pretrial sentencing or program reference. An Assessment is always about a particular person, but it may also be optionally linked to a particular Incarceration Period or Supervision Period.

Field Name Description

assessment_id

Unique identifier for an assessment. If not specified, one will be generated.

assessment_class

The classification of assessment that was conducted.

Valid values:

  • Mental Health
  • Risk
  • Security Classification
  • Substance Abuse

assessment_type

The specific type of assessment that was conducted. Where assessment classifications are abstract, assessment types are a specific, concrete assessment in practice.

Valid values (this is consistently expanding):

  • ASI
  • LSIR
  • ORAS
  • PSA
  • SORAC

assessment_date

The date the assessment was conducted.

assessment_score

The final score output by the assessment, if applicable.

assessment_level

The final level output by the assessment, if applicable.

Valid values:

  • Low
  • Low Medium
  • Medium
  • Medium High
  • Moderate
  • High
  • Not Applicable

assessment_metadata

This includes whichever fields and values are relevant to a fine understanding of a particular assessment. It can be provided in any format, but will be transformed into JSON prior to persistence.

state_code

The code of the state under whose jurisdiction the assessment was conducted.

conducting_agent

An Agent object representing the person who conducted the assessment.

Sentence Group

The Sentence Group object represents information about a single "sentencing" into the criminal justice system, i.e. the result of a brand new offense by a person who was at liberty. This does not include information about the execution of that sentence, such as periods of incarceration -- only information about the sentence itself and its imposition. A sentence group includes one to many sentences of varying kinds, which contain more detailed information about the sentence.

For example, if a person has never been involved in the criminal justice system before and is sentenced for a felony to prison, this will create a new sentence group. If that person is incarcerated and eventually released to parole, and while on parole commits a violation or a new offense that leads to them being revoked, that will not create a new sentence group -- instead, it will create new sentence and/or period entities within the existing group. If the person is eventually released to parole again and then their parole is terminated, such that they are now at liberty, a new offense that leads to charges and a sentence will create a brand new sentence group.

Field Name Description

sentence_group_id

Unique identifier for a sentence group. If not specified, one will be generated automatically.

status

The current status of this sentence group.

Valid values:

  • Commuted
  • Completed
  • Serving
  • Suspended

date_imposed

The date the sentences herein were first imposed.

min_length

Minimum duration of the sentence (across all sentences in the group).

max_length

Maximum duration of the sentence (across all sentences in the group).

is_life

Whether or not this includes a life sentence.

state_code The code of the state under whose jurisdiction the sentence was imposed.

county_code

The code of the county under whose jurisdiction the sentence was imposed.

fines A list of Fines objects included in this group.
supervision_sentences A list of Supervision Sentence objects included in this group.
incarceration_sentences A list of Incarceration Sentence objects included in this group.

Fine

The Fine object represents information about a single fine imposed as part of a group of related sentences. Multiple distinct fines should ideally be reported as separate fine records, but if they have been pre-aggregated then they will be recorded as a single Fine object.

Field Name Description

fine_id

Unique identifier for a fine. If not specified, one will be generated.

status

The current status of this fine.

Valid values:

  • Paid
  • Unpaid

date_paid

The date the fine was paid, if it has been paid.

fine_dollars

The amount of the fine, in U.S. Dollars.

state_code

The code of the state under whose jurisdiction the fine was imposed.

county_code

The code of the county under whose jurisdiction the fine was imposed.

charges

A list of Charge objects representing the set of charges for which this fine was imposed.

Incarceration Sentence

The Incarceration Sentence object represents information about a single sentence to a period of incarceration imposed as part of a group of related sentences. Multiple distinct, related sentences to incarceration should be captured as separate incarceration sentence objects within the same group. These sentences may, for example, be concurrent or consecutive to one another. Like the sentence group above, the incarceration sentence represents only the imposition of some sentence terms, not an actual period of incarceration experienced by the person.

An Incarceration Sentence can reference many charges, and each charge can reference many sentences -- the relationship is many:many.

An Incarceration Sentence can have multiple child Incarceration Periods. It can also have child Supervision Periods since a sentence to incarceration may result in a person being paroled, for example. In some jurisdictions, this would be modeled as distinct sentences of incarceration and supervision, but this is not universal.

Field Name Description

incarceration_sentence_id

Unique identifier for a sentence. If not specified, one will be generated.

status

The current status of this sentence.

Valid values:

  • Commuted
  • Completed
  • Serving
  • Suspended

incarceration_type

The type of incarceration the person is being sentenced to.

Valid values:

  • County Jail
  • State Prison

date_imposed

The date this sentence was imposed.

projected_min_release_date

The earliest projected date the person may be released from incarceration due to this sentence.

projected_max_release_date

The latest projected date the person may be released from incarceration due to this sentence.

parole_eligibility_date

The first date under which the person becomes eligible for parole under the terms of this sentence.

min_length

Minimum duration of this sentence.

max_length

Maximum duration of this sentence.

is_life

Whether or not this is a life sentence.

parole_possible

Whether or not the person may be released to parole under the terms of this sentence.

initial_time_served

The amount of any time already served, to possibly be credited against the overall sentence duration.

good_time

Any good time the person has credited against this sentence due to good conduct, a.k.a. "time off for good behavior," if applicable.

earned_time

Any earned time the person has credited against this sentence due to participation in programming designed to reduce the likelihood of re-offense, if applicable.

state_code The code of the state under whose jurisdiction the sentence was imposed.

county_code

The code of the county under whose jurisdiction the sentence was imposed.

charges A list of Charge objects representing the set of charges for which this sentence was imposed.
incarceration_periods A list of Incarceration Period objects representing the distinct periods of incarceration the person has undergone in accordance with this sentence.
supervision_periods A list of Supervision Period objects representing the distinct periods of supervision the person has undergone in accordance with this sentence.

Supervision Sentence

The Supervision Sentence object represents information about a single sentence to a period of supervision imposed as part of a group of related sentences. Multiple distinct, related sentences to supervision should be captured as separate supervision sentence objects within the same group. These sentences may, for example, be concurrent or consecutive to one another. Like the sentence group above, the supervision sentence represents only the imposition of some sentence terms, not an actual period of supervision experienced by the person.

A Supervision Sentence can reference many charges, and each charge can reference many sentences -- the relationship is many:many.

A Supervision Sentence can have multiple child Supervision Periods. It can also have child Incarceration Periods since a sentence to supervision may result in a person's parole being revoked and the person being re-incarcerated, for example. In some jurisdictions, this would be modeled as distinct sentences of supervision and incarceration, but this is not universal.

Field Name Description

supervision_sentence_id

Unique identifier for a sentence. If not specified, one will be generated.

status

The current status of this sentence.

Valid values:

  • Commuted
  • Completed
  • Serving
  • Suspended

supervision_type

The type of supervision the person is being sentenced to.

Valid values:

  • Civil Commitment
  • Halfway House
  • Parole
  • Post Confinement
  • Pre Confinement
  • Probation

date_imposed

The date this sentence was imposed.

projected_completion_date

The earliest projected date the person may have completed their supervision.

completion_date

The date the person actually did complete their supervision.

min_length

Minimum duration of this sentence.

max_length

Maximum duration of this sentence.

state_code The code of the state under whose jurisdiction the sentence was imposed.

county_code

The code of the county under whose jurisdiction the sentence was imposed.

charges A list of Charge objects representing the set of charges for which this sentence was imposed.
incarceration_periods A list of Incarceration Period objects representing the distinct periods of incarceration the person has undergone in accordance with this sentence.
supervision_periods A list of Supervision Period objects representing the distinct periods of supervision the person has undergone in accordance with this sentence.

Charge

The Charge object holds information on a single charge that a person has been accused of. A single Charge can reference multiple Sentences (e.g. multiple concurrent sentences served due to an overlapping set of charges) and a multiple charges can reference a single Sentence (e.g. one sentence resulting from multiple charges). Thus, the relationship between Charge and each distinct Sentence type is many:many.

Each Charge is brought to trial as part of a no more than a single Court Case.

Field Name Description

charge_id

Unique identifier for a charge. If not specified, one will be generated automatically.

offense_date

The date of the alleged offense that led to this charge.

date_charged

The date the person was charged with the alleged offense.

ncic_code

The standardized NCIC code for the charged offense.

statute

The identifier of the charge in the state or federal code.

description

A text description of the charge.

attempted

Whether this charge was an attempt or not (e.g. attempted murder).

classification_type

Charge classification.

Valid values (this expands semi-regularly):

  • Civil
  • Felony
  • Infraction
  • Misdemeanor
  • Other
  • Parole Violation
  • Probation Violation
  • Supervision Violation for Sex Offense

classification_subtype

The sub-classification of the charge, such as a degree (e.g. 1st Degree, 2nd Degree, etc.) or a class (e.g. Class A, Class B, etc.). This is untyped at present, i.e. a simple string, but may become typed in the future.

counts

The number of counts of this charge which are being brought against the person.

charge_notes

Free text containing other information about a charge.

is_controlling

Whether or not this is the "controlling" charge in a set of related charges. A controlling charge is the one which is responsible for the longest possible sentence duration in the set.

charging_entity

The entity that brought this charge (e.g., Boston Police Department, Southern District of New York).

state_code The code of the state under whose jurisdiction the charge was brought.

county_code

The code of the county under whose jurisdiction the charge was brought.

court_case A link to the Court Case object associated with this charge.
bond A link to the Bond object associated with this charge.

Court Case

The Court Case object holds information on a single court case that a person stands trial at. This represents the case itself, not the charges brought in the case, or any sentences imposed as a result of the case.

Field Name Description

case_id

Unique identifier for a case. If not specified, one will be generated automatically.

status

The current status of the case.

court_type

The type of court this charge will be / was heard in.

date_convicted

The date the person was convicted, if applicable.

next_court_date

Date of the next scheduled court appearance for this case.

court_fee_dollars

The amount of any court fees due for this case, in U.S. Dollars.

state_code The code of the state under whose jurisdiction the case was tried.

county_code

The code of the county under whose jurisdiction the case was tried.

judge_name An Agent object representing the judge who tried the case.

Bond

The Bond object holds information on about a bond, i.e. money a person must be to get/stay out of jail. A bond can be per charge (each charge will have one bond object associated with it), apply to multiple charges (multiple charges point to the same bond), or be a total bond across the entire sentence group (just means all the charges for the sentence group are associated with the same bond).

Field Name Description

bond_id

Unique identifier for a bond.

status

The status of this bond.

Valid values:

  • Pending
  • Posted
  • Revoked
  • Set

amount

The amount of the bond, in U.S. Dollars.

bond_type

The type of bond.

Valid values:

  • Bond Denied
  • Cash
  • Partial Cash
  • No Bond
  • Secured
  • Unsecured
state_code The code of the state under whose jurisdiction the bond was issued.
county_code The code of the county under whose jurisdiction the bond was issued.

Incarceration Period

The Incarceration Period object represents information about a single period of incarceration, defined as a contiguous stay by a particular person in a particular facility. As a person transfers from facility to facility, these are modeled as multiple abutting incarceration periods. This also extends to temporary transfers to, say, hospitals or court appearances. The sequence of incarceration periods can be squashed into longer conceptual periods (e.g. from the first admission to the final release for a particular sentence) for analytical purposes, such as measuring recidivism and revocation -- this is done with a fine-grained examination of the admission dates, admission reasons, release dates, and release reasons of consecutive incarceration periods.

Handling of incarceration periods is a crucial aspect of our platform and involves work in jurisdictional ingest mappings, entity matching, and calculation. Fortunately, this means that we have practice working with varied representations of this information.

Incarceration Periods can be children of either Incarceration Sentences or Supervision Sentences, for reasons established in the descriptions of those objects.

Incarceration Periods have zero to many Incarceration Incidents as children, and zero to many Parole Decisions. They also may have Assessments or Program Assignments as children, if any of those objects are explicitly related to this particular period of incarceration.

Incarceration Periods also optionally have a child source_supervision_violation_response, which is a Supervision Violation Response of type REVOCATION that corresponds to the revocation that caused the re-incarceration leading back to this particular incarceration period. This connection is established during entity matching, unless that link can be explicitly provided in the source data.

Field Name Description

incarceration_period_id

Unique identifier for a period. If not specified, one will be generated.

status

The current status of this period.

Valid values:

  • In Custody
  • Not In Custody

incarceration_type

The type of incarceration the person is serving.

Valid values:

  • County Jail
  • State Prison

admission_date

The date the person was admitted to this particular period of incarceration.

release_date

The date the person was released from this particular period of incarceration.

admission_reason

The reason the person was admitted to this particular period of incarceration.

Valid values:

  • Admitted In Error
  • New Admission
  • Parole Revocation
  • Probation Revocation
  • Return From Erroneous Release
  • Return From Escape
  • Temporary Custody
  • Transfer

projected_release_reason

The reason the person would be released on the current projected date for their earliest possible release. Valid values same as release_reason below.

release_reason

The reason the person was released from this particular period of incarceration.

Valid values:

  • Commuted
  • Compassionate Release
  • Conditional Release
  • Court Order
  • Death
  • Escape
  • Released from Temporary Custody
  • Released In Error
  • Sentence Served
  • Transfer

facility

The facility in which the person is currently incarcerated.

housing_unit

The housing unit within the facility in which the person currently resides.

state_code The code of the state where the person is currently incarcerated.

county_code

The code of the county where the person is currently incarcerated.

incarceration_incidents A list of Incarceration Incident objects representing individual behavioral incidents recorded against the person during this period of incarceration.
parole_decisions A list of Parole Decision objects representing the parole hearings debating releasing the person from this period of incarceration to parole, and their outcomes.
assessments A list of Assessment objects representing assessments conducted for the person, explicitly within the context of this incarceration period (some assessments point only to a person and not an incarceration period).
program_assignments A list of Program Assignment objects representing assignments of the person to rehabilitative programming, explicitly within the context of this incarceration period (some program assignments point only to a person and not an incarceration period).
source_supervision_violation_response An optional Supervision Violation Response object indicating a revocation due to a supervision violation that directly led to this period of incarceration.

Incarceration Incident

The Incarceration Incident object represents any behavioral incidents recorded against a person during a period of incarceration, such as a fight with another incarcerated individual or the possession of contraband. An Incarceration Incident has zero to many Incarceration Incident Outcome children, indicating any official outcomes, e.g. disciplinary responses, due to the incident.

Field Name Description

incarceration_incident_id

Unique identifier for an incident. If not specified, one will be generated.

incident_type

The type of incident.

Valid values:

  • Contraband
  • Disorderly Conduct
  • Escape
  • Minor Offense
  • Positive Report
  • Negative Report
  • Violence

incident_date

The date on which the incident took place.

incident_details

Descriptive notes describing the incident.

facility

The facility in which the incident took place.

location_within_facility

The more specific location where the incident took place.

state_code

The code of the state where the incident took place.

responding_officer

An Agent object representing the officer who responded to the incident.

incarceration_incident_outcomes

A list of Incarceration Incident Outcome objects representing any outcomes in response to the incident.

Incarceration Incident Outcome

The Incarceration Incident Outcome object represents the outcomes in response to a particular Incarceration Incident. These can be positive, neutral, or negative, but they should never be "empty" or "null" -- an incident that has no outcomes should simply have no Incarceration Incident Outcome children objects.

Field Name Description

incarceration_incident_outcome_id

Unique identifier for an outcome. If not specified, one will be generated.

outcome_type

The type of outcome.

Valid values:

  • Disciplinary Labor
  • Dismissed
  • External Prosecution
  • Financial Penalty
  • Good Time Loss
  • Miscellaneous
  • Not Guilty
  • Privilege Loss
  • Solitary
  • Treatment
  • Warning

date_effective

The date on which the outcome takes effect.

outcome_description

Descriptive notes describing the outcome.

punishment_length

The length of any durational, punishment-focused outcome.

state_code The code of the state under whose jurisdiction the outcome is enforced.

Parole Decision

The Parole Decision object represents information about a particular parole hearing deciding whether or not to grant parole to a currently incarcerated person. This includes information about the context of the hearing and also its final decision/outcome.

Field Name Description

parole_decision_id

Unique identifier for a parole decision. If not specified, one will be generated.

decision_date

The date on which the decision was made.

decision_outcome

The outcome of the decision.

Valid values:

  • Parole Denied
  • Parole Granted

decision_reasoning

Descriptive notes describing the reasoning behind the decision.

corrective_action

Any corrective actions that must be taken by the person to ensure their parole is granted, if applicable.

corrective_action_deadline

The date by which any corrective actions must be taken to ensure parole is granted, if applicable.

punishment_length

The length of any durational, punishment-focused outcome.

state_code The code of the state under whose jurisdiction the parole hearing is convened.

county_code

The code of the county under whose jurisdiction the parole hearing is convened.

decision_agents A list of Agent objects representing each member of the parole board who conducted the hearing and made the decision.

Supervision Period

The Supervision Period object represents information about a single period of supervision, defined as a contiguous period of custody for a particular person under a particular jurisdiction. As a person transfers from jurisdiction to jurisdiction, these are modeled as multiple abutting supervision periods. Multiple periods of supervision for a particular person may be overlapping, due to extended periods of supervision that are temporarily interrupted by, say, periods of incarceration, or periods of supervision stemming from charges in different jurisdictions.

Supervision Periods can be children of either Incarceration Sentences or Supervision Sentences, for reasons established in the descriptions of those objects.

Supervision Periods have zero to many Supervision Violations as children. They also may have Assessments or Program Assignments as children, if any of those objects are explicitly related to this particular period of supervision.

Field Name Description

supervision_period_id

Unique identifier for a period. If not specified, one will be generated.

status

The current status of this period.

Valid values:

  • Terminated
  • Under Supervision

supervision_type

The type of supervision the person is serving.

Valid values:

  • Civil Commitment
  • Halfway House
  • Parole
  • Post Confinement
  • Pre Confinement
  • Probation

start_date

The date the person began this period of supervision.

termination_date

The date the period of supervision was terminated, either positively or negatively.

admission_reason

The reason the person was admitted to this particular period of supervision.

Valid values:

  • Conditional Release
  • Court Sentence
  • Return From Absconsion
  • Return From Suspension

termination_reason

The reason the period of supervision was terminated.

Valid values:

  • Absconsion
  • Death
  • Discharge
  • Expiration
  • Revocation
  • Suspension

supervision_level

The level of supervision the person is receiving, i.e. an analog to the security level of incarceration, indicating frequency of contact, strictness of constraints, etc.

Valid values:

  • Minimum
  • Medium
  • Maximum
  • Diversion
  • Interstate Compact

conditions

The conditions of this period of supervision which the person must follow to avoid a disciplinary response.

state_code The code of the state where the person is currently supervised.

county_code

The code of the county where the person is currently supervised.

supervising_officer

An Agent object representing the officer supervising this person.

case_type_entries A list of Supervision Case Type Entry objects representing all case types applicable to this period of supervision.
supervision_contacts A list of Supervision Contact objects representing individual contacts between this person and an agent during this period of supervision.
supervision_violations A list of Supervision Violation objects representing individual violations recorded against the person during this period of supervision.
assessments A list of Assessment objects representing assessments conducted for the person, explicitly within the context of this supervision period (some assessments point only to a person and not a supervision period).
program_assignments A list of Program Assignment objects representing assignments of the person to rehabilitative programming, explicitly within the context of this supervision period (some program assignments point only to a person and not a supervision period).

Supervision Case Type Entry

The Supervision Case Type Entry object represents a particular case type that applies to this period of supervision. A case type implies certain conditions of supervision that may apply, or certain "levels" or "intensity" of supervision, or certain kinds of specialized courts that generated the sentence to supervision, or even that the person being supervised may be supervised by particular kinds of officers with particular types of "caseloads" they are responsible for. A Supervision Period may have zero to many distinct case types.

Field Name Description

supervision_case_type_entry_id

Unique identifier for a case type entry. If not specified, one will be generated.

case_type

The type of case that describes the associated period of supervision.

Valid values:

  • Alcohol / Drug
  • Domestic Violence
  • Drug Court
  • Family Court
  • General
  • Mental Health Court
  • Serious Mental Illness
  • Sex Offense
  • Veterans Court

state_code

The code of the state where the person is currently supervised.

Supervision Contact

The Supervision Contact object represents information about a point of contact between a person under supervision and some agent representing the department, typically a supervising officer. These may include face-to-face meetings, phone calls, emails, or other such media. At these contacts, specific things may occur, such as referral to programming or written warnings or even arrest, but any and all events that happen as part of a single contact are modeled as one supervision contact.

Supervision Periods have zero to many Supervision Contacts as children, and each Supervision Contact has one to many Supervision Periods as parents. This is because a given person may be serving multiple periods of supervision simultaneously in rare cases, and a given point of contact may apply to both.

Field Name Description

supervision_contact_id

Unique identifier for a contact. If not specified, one will be generated.

status

The current status of this contact.

Valid values:

  • Attempted
  • Completed

contact_type

The type of contact which took place.

Valid values:

  • Face-to-Face
  • Telephone
  • Virtual
  • Written Message

contact_date

The date when this contact happened.

contact_reason

The reason why this contact took place.

Valid values:

  • Emergency Contact
  • General Contact
  • Initial Contact

location

Where this contact took place.

Valid values:

  • Court
  • Field
  • Jail
  • Place of Employment
  • Residence
  • Supervision Office
  • Treatment Provider

verified_employment

Whether or not the person's current employment status was verified at this contact.

resulted_in_arrest

Whether or not this contact resulted in the person's arrest.

state_code

The code of the state where the person is currently supervised.

contacted_agent

An Agent object representing the agent who made the contact with the person.

supervision_periods A list of Supervision Period objects representing each distinct period of supervision being served by the person that this contact applies to.

Supervision Violation

The Supervision Violation object represents any violations recorded against a person during a period of supervision, such as technical violation or a new offense. A Supervision Violation has zero to many Supervision Violation Response children, indicating any official response to the violation, e.g. a disciplinary response such as a revocation back to prison or extension of supervision.

Field Name Description

supervision_violation_id

Unique identifier for a violation. If not specified, one will be generated.

violation_date

The date on which the violation took place.

is_violent

Whether or not the violation was violent in nature.

state_code

The code of the state where the violation took place.

supervision_violation_responses

A list of Supervision Violation Response objects representing any official responses to the violation.

supervision_violation_types

A list of Supervision Violation Type Entry objects representing all types of violations recorded by this particular violation.

supervision_violated_conditions

A list of Supervision Violated Condition Entry objects representing all conditions which were violated by this particular violation.

Supervision Violation Type Entry

The Supervision Violation Type Entry object represents each specific violation type that was composed within a single violation. Each supervision violation has zero to many such violation types. For example, a single violation may have been reported for both absconsion and a technical violation. However, it may also be the case that separate violations were recorded for both an absconsion and a technical violation which were related in the real world. The drawing line is how the violation is itself reported in the source data: if a single violation report filed by an agency staff member includes multiple types of violations, then it will be ingested into our schema as a single supervision violation with multiple supervision violation type entries.

Field Name Description

supervision_violation_type_entry_id

Unique identifier for a violation type entry. If not specified, one will be generated.

violation_type

The type of violation.

Valid values:

  • Absconded
  • Escaped
  • Felony
  • Misdemeanor
  • Municipal
  • Technical

state_code

The code of the state under whose supervision the violation is committed.

Supervision Violated Condition Entry

The Supervision Violated Condition Entry object represents a particular condition of supervision which was violated by a particular supervision violation. Each supervision violation has zero to many violated conditions. For example, a violation may be recorded because a brand new charge has been brought against the supervised person.

Field Name Description

supervision_violated_condition_entry_id

Unique identifier for a violation type entry. If not specified, one will be generated.

condition

The specific condition of supervision which was violated.

state_code

The code of the state under whose supervision the violation is committed.

Supervision Violation Response

The Supervision Violation Response object represents the official responses to a particular Supervision Violation. These can be positive, neutral, or negative, but they should never be "empty" or "null" -- a violation that has no responses should simply have no Supervision Violation Response children objects.

As described under Incarceration Period, any Supervision Violation Response which leads to a revocation back to prison should be linked to the subsequent period of incarceration. This can be done implicitly in entity matching, or can be marked explicitly in incoming data, either here or on the incarceration period as the case may be.

Field Name Description

supervision_violation_response_id

Unique identifier for a response. If not specified, one will be generated.

response_type

The type of response to the violation.

Valid values:

  • Citation
  • Violation Report
  • Permanent Decision
  • Municipal
  • Technical

response_date

The date on which the response was made official.

is_draft

Whether or not this is response is still a draft, i.e. is not yet finalized by the deciding body.

state_code

The code of the state under whose jurisdiction the response is enforced.

deciding_body_type

The type of decision-making body who made the decision, such as a supervising officer or a parole board or a judge

decision_agents

A list of Agent objects representing each individual responsible for making the decision in response to the violation.

supervision_violation_response_decisions

A list of Supervision Violation Response Decision Entry objects representing each specific decision made as part of this violation response.

Supervision Violation Response Decision Entry

The Supervision Violation Response Decision Entry object represents each specific decision made in response to a particular supervision violation. Each supervision violation response has zero to many such decisions. Decisions are essentially the final consequences of a violation, actions such as continuance, privileges revoked, or revocation.

Field Name Description

supervision_violation_response_decision_entry_id

Unique identifier for a response decision entry. If not specified, one will be generated.

decision

A specific decision that was made in response, if applicable.

Valid values:

  • Continuance
  • Delayed Action
  • Extension
  • Revocation
  • Privileges Revoked
  • Service Termination
  • Suspension

revocation_type

The specific type of revocation that the person will be subject to, if applicable.

Valid values:

  • Reincarceration
  • Return to Supervision
  • Shock Incarceration
  • Treatment in Prison

state_code

The code of the state under whose jurisdiction the response is enforced.

Program Assignment

The Program Assignment object represents information about the assignment of a person to some form of rehabilitative programming -- and their participation in the program -- intended to address specific needs of the person. People can be assigned to programs while under various forms of custody, principally while incarcerated or under supervision. These programs can be administered by the agency/government, by a quasi-governmental organization, by a private third party, or any other number of service providers.

A Program Assignment is always for a particular person, but it may also be optionally linked to a particular Incarceration Period or Supervision Period if the program is explicitly within the bounds of that period of custody.

The programming-related portion of our schema is still being constructed and will be added to in the near future.

Field Name Description

progam_assignment_id

Unique identifier for a program assignment. If not specified, one will be generated.

program_id

Unique identifier for a program being assigned to.

participation_status

The status of the person's participation in the program.

Valid values:

  • Denied
  • Discharged
  • In Progress
  • Pending

referral_date

The date the person was referred to the program, if applicable.

start_date

The date the person started the program, if applicable.

discharge_date

The date the person was discharged from the program, if applicable.

discharge_reason

The reason the person was discharged from the program, if applicable.

Valid values:

  • Absconded
  • Adverse Termination
  • Completed
  • Moved
  • Opted Out
  • Program Transfer
  • Reincarcerated

program_location

Where the program takes place.

referral_metadata

This includes whichever fields and values are relevant to a fine understanding of a particular referral. It can be provided in any format, but will be transformed into JSON prior to persistence.

state_code

The code of the state under where the program is being provided.

referring_agent An Agent object representing the person who referred the person to the program.

Agent

The Agent object represents some agent operating on behalf of the criminal justice system, usually referenced in the context of taking some action related to a person moving through that system. This includes references such as the judges trying cases, the officers supervising people on parole, the individuals who make a decision at a parole hearing, and so on. We entity match across Agents where possible so that we can see the full scope of actions taken by a particular agent to understand patterns in their behavior.

Field Name Description

agent_id

Unique identifier for an agent. If not specified, one will be generated.

full_name

The full name of the agent.

agent_type

The type of agent.

Valid values (expands as we expand into new portions of the justice system):

  • Correctional Officer
  • Judge
  • Parole Board Member
  • Supervision Officer
  • Unit Supervisor
state_code The code of the state under where the agent works.
Clone this wiki locally