Documentation ¶
Index ¶
- Constants
- Variables
- func IsCodeSectionInComment(offenseDescription string) bool
- func IsFelonyFilter(conviction *DOJRow) bool
- func IsNotFelonyFilter(conviction *DOJRow) bool
- func IsPC290(codeSection string) bool
- func IsSuperstrike(codeSection string) bool
- type AdditionalRelief
- type BaselineEligibility
- type ConfigurableEligibilityFlow
- func (ef ConfigurableEligibilityFlow) ChecksRelatedCharges() bool
- func (ef ConfigurableEligibilityFlow) EvaluateEligibility(info *EligibilityInfo, row *DOJRow, subject *Subject)
- func (ef ConfigurableEligibilityFlow) ProcessSubject(subject *Subject, comparisonTime time.Time, flowCounty string) map[int]*EligibilityInfo
- type DOJInformation
- func (i *DOJInformation) CountIndividualsNoLongerHaveConviction(eligibilities map[int]*EligibilityInfo) int
- func (i *DOJInformation) CountIndividualsNoLongerHaveConvictionInLast7Years(eligibilities map[int]*EligibilityInfo) int
- func (i *DOJInformation) CountIndividualsNoLongerHaveFelony(eligibilities map[int]*EligibilityInfo) int
- func (i *DOJInformation) CountIndividualsWithProp64ConvictionInCounty(county string) int
- func (i *DOJInformation) CountIndividualsWithSomeRelief(eligibilities map[int]*EligibilityInfo) int
- func (i *DOJInformation) DetermineEligibility(county string, eligibilityFlow EligibilityFlow) map[int]*EligibilityInfo
- func (i *DOJInformation) EarliestProp64ConvictionDateInThisCounty(county string) time.Time
- func (i *DOJInformation) Prop64ConvictionsInThisCountyByCodeSection(county string) map[string]int
- func (i *DOJInformation) Prop64ConvictionsInThisCountyByEligibilityByReason(county string, eligibilities map[int]*EligibilityInfo) map[string]map[string]int
- func (i *DOJInformation) TotalConvictions() int
- func (i *DOJInformation) TotalConvictionsInCountyFiltered(county string, convictionFilter func(conviction *DOJRow) bool, ...) int
- func (i *DOJInformation) TotalRows() int
- type DOJRow
- type EligibilityFlow
- type EligibilityInfo
- func (info *EligibilityInfo) SetEligibleForDismissal(reason string)
- func (info *EligibilityInfo) SetEligibleForReduction(reason string)
- func (info *EligibilityInfo) SetHandReview(reason string)
- func (info *EligibilityInfo) SetMaybeEligible(reason string)
- func (info *EligibilityInfo) SetNotEligible(reason string)
- type EligibilityOptions
- type Subject
- func (subject *Subject) MostRecentConvictionDate() time.Time
- func (subject *Subject) NumberOfConvictionsInCounty(county string) int
- func (subject *Subject) NumberOfConvictionsInLast7Years() int
- func (subject *Subject) NumberOfFelonies() int
- func (subject *Subject) PC290CodeSections() []string
- func (subject *Subject) Prop64ConvictionsBySection() (int, int, int, int, int)
- func (subject *Subject) PushRow(row DOJRow, eligibilityFlow EligibilityFlow)
- func (subject *Subject) SuperstrikeCodeSections() []string
- type TimeSlice
Constants ¶
View Source
const ( RECORD_ID = iota SUBJECT_STATUS SUBJECT_ID REQ_SEG_SEP REQ_CII_NUMBER REQ_NAME REQ_GENDER REQ_DOB REQ_CDL REQ_SSN PII_SEG_SEP CII_NUMBER PRI_NAME GENDER PRI_DOB PRI_SSN PRI_CDL PRI_IDN PRI_INN FBI_NUMBER PDR_SEG_SEP RACE_CODE RACE_DESCR EYE_COLOR_CODE EYE_COLOR_DESCR HAIR_COLOR_CODE HAIR_COLOR_DESCR HEIGHT WEIGHT SINGLE_SOURCE MULTI_SOURCE POB_CODE POB_NAME POB_TYPE CITIZENSHIP_LIST CYC_SEG_SEP CYC_ORDER CYC_DATE STP_SEG_SEP STP_ORDER STP_EVENT_DATE STP_TYPE_CODE STP_TYPE_DESCR STP_ORI_TYPE STP_ORI_TYPE_DESCR STP_ORI_CODE STP_ORI_DESCR STP_ORI_CNTY_CODE STP_ORI_CNTY_NAME CNT_SEG_SEP CNT_ORDER DISP_DATE OFN OFFENSE_CODE OFFENSE_DESCR OFFENSE_TOC OFFENSE_QUAL_LST DISP_OFFENSE_CODE DISP_OFFENSE_DESCR DISP_OFFENSE_TOC DISP_OFFENSE_QUAL_LST CONV_OFFENSE_ORDER CONV_OFFENSE_CODE CONV_OFFENSE_DESCR CONV_OFFENSE_TOC CONV_OFFENSE_QUAL_LST FE_NUM_ORDER FE_NUM_ARR_AGY FE_NUM_BNCH_WARR FE_NUM_CITE FE_NUM_DOCKET FE_NUM_INCIDENT FE_NUM_BOOKING FE_NUM_NUMBER FE_NUM_REMAND FE_NUM_OOS_INN FE_NUM_CRT_CASE FE_NUM_WARRANT DISP_ORDER DISP_CODE DISP_DESCR CONV_STAT_CODE CONV_STAT_DESCR SENT_SEG_SEP SENT_ORDER SENT_LOC_CODE SENT_LOC_DESCR SENT_LENGTH SENT_TIME_CODE SENT_TIME_DESCR CYC_AGE CII_TYPE CII_TYPE_ALPHA COMMENT_TEXT END_OF_REC )
Variables ¶
View Source
var EligibilityFlows = map[string]EligibilityFlow{
"DISMISS ALL PROP 64": dismissAllProp64EligibilityFlow{},
"DISMISS ALL PROP 64 AND RELATED": dismissAllProp64AndRelatedEligibilityFlow{},
}
Functions ¶
func IsCodeSectionInComment ¶
func IsFelonyFilter ¶
func IsNotFelonyFilter ¶
func IsSuperstrike ¶
Types ¶
type AdditionalRelief ¶
type AdditionalRelief struct { SubjectUnder21AtConviction bool `json:"subjectUnder21AtConviction"` SubjectHasOnlyProp64Charges bool `json:"subjectHasOnlyProp64Charges"` SubjectIsDeceased bool `json:"subjectIsDeceased"` SubjectAgeThreshold int `json:"subjectAgeThreshold"` YearsSinceConvictionThreshold int `json:"yearsSinceConvictionThreshold"` YearsCrimeFreeThreshold int `json:"yearsCrimeFreeThreshold"` }
type BaselineEligibility ¶
type ConfigurableEligibilityFlow ¶
type ConfigurableEligibilityFlow struct { DismissSections []string ReduceSections []string // contains filtered or unexported fields }
func NewConfigurableEligibilityFlow ¶
func NewConfigurableEligibilityFlow(options EligibilityOptions, county string) (ConfigurableEligibilityFlow, error)
func (ConfigurableEligibilityFlow) ChecksRelatedCharges ¶
func (ef ConfigurableEligibilityFlow) ChecksRelatedCharges() bool
func (ConfigurableEligibilityFlow) EvaluateEligibility ¶
func (ef ConfigurableEligibilityFlow) EvaluateEligibility(info *EligibilityInfo, row *DOJRow, subject *Subject)
func (ConfigurableEligibilityFlow) ProcessSubject ¶
func (ef ConfigurableEligibilityFlow) ProcessSubject(subject *Subject, comparisonTime time.Time, flowCounty string) map[int]*EligibilityInfo
type DOJInformation ¶
type DOJInformation struct { Rows [][]string Subjects map[string]*Subject // contains filtered or unexported fields }
func NewDOJInformation ¶
func NewDOJInformation(dojFileName string, comparisonTime time.Time, eligibilityFlow EligibilityFlow) (*DOJInformation, utilities.GogenError)
func (*DOJInformation) CountIndividualsNoLongerHaveConviction ¶
func (i *DOJInformation) CountIndividualsNoLongerHaveConviction(eligibilities map[int]*EligibilityInfo) int
func (*DOJInformation) CountIndividualsNoLongerHaveConvictionInLast7Years ¶
func (i *DOJInformation) CountIndividualsNoLongerHaveConvictionInLast7Years(eligibilities map[int]*EligibilityInfo) int
func (*DOJInformation) CountIndividualsNoLongerHaveFelony ¶
func (i *DOJInformation) CountIndividualsNoLongerHaveFelony(eligibilities map[int]*EligibilityInfo) int
func (*DOJInformation) CountIndividualsWithProp64ConvictionInCounty ¶
func (i *DOJInformation) CountIndividualsWithProp64ConvictionInCounty(county string) int
func (*DOJInformation) CountIndividualsWithSomeRelief ¶
func (i *DOJInformation) CountIndividualsWithSomeRelief(eligibilities map[int]*EligibilityInfo) int
func (*DOJInformation) DetermineEligibility ¶
func (i *DOJInformation) DetermineEligibility(county string, eligibilityFlow EligibilityFlow) map[int]*EligibilityInfo
func (*DOJInformation) EarliestProp64ConvictionDateInThisCounty ¶
func (i *DOJInformation) EarliestProp64ConvictionDateInThisCounty(county string) time.Time
func (*DOJInformation) Prop64ConvictionsInThisCountyByCodeSection ¶
func (i *DOJInformation) Prop64ConvictionsInThisCountyByCodeSection(county string) map[string]int
func (*DOJInformation) Prop64ConvictionsInThisCountyByEligibilityByReason ¶
func (i *DOJInformation) Prop64ConvictionsInThisCountyByEligibilityByReason(county string, eligibilities map[int]*EligibilityInfo) map[string]map[string]int
func (*DOJInformation) TotalConvictions ¶
func (i *DOJInformation) TotalConvictions() int
func (*DOJInformation) TotalConvictionsInCountyFiltered ¶
func (*DOJInformation) TotalRows ¶
func (i *DOJInformation) TotalRows() int
type DOJRow ¶
type DOJRow struct { SubjectID string DOB time.Time Name string WasConvicted bool CodeSection string DispositionDate time.Time OFN string Type string IsPC290Registration bool County string IsFelony bool NumCrtCase string CourtNoParts []string CountOrder string Index int SentenceEndDate time.Time SentencePartDuration time.Duration HasProp64ChargeInCycle bool }
func (*DOJRow) OccurredInLast7Years ¶
type EligibilityFlow ¶
type EligibilityInfo ¶
type EligibilityInfo struct { NumberOfConvictionsOnRecord int DateOfConviction time.Time YearsSinceThisConviction float64 YearsSinceMostRecentConviction float64 NumberOfProp64Convictions int NumberOf11357Convictions int NumberOf11358Convictions int NumberOf11359Convictions int NumberOf11360Convictions int OccurredAfterEffectiveDate string Superstrikes string PC290CodeSections string PC290Registration string EligibilityDetermination string EligibilityReason string CaseNumber string Deceased string // contains filtered or unexported fields }
func NewEligibilityInfo ¶
func (*EligibilityInfo) SetEligibleForDismissal ¶
func (info *EligibilityInfo) SetEligibleForDismissal(reason string)
func (*EligibilityInfo) SetEligibleForReduction ¶
func (info *EligibilityInfo) SetEligibleForReduction(reason string)
func (*EligibilityInfo) SetHandReview ¶
func (info *EligibilityInfo) SetHandReview(reason string)
func (*EligibilityInfo) SetMaybeEligible ¶
func (info *EligibilityInfo) SetMaybeEligible(reason string)
func (*EligibilityInfo) SetNotEligible ¶
func (info *EligibilityInfo) SetNotEligible(reason string)
type EligibilityOptions ¶
type EligibilityOptions struct { BaselineEligibility BaselineEligibility `json:"baselineEligibility"` AdditionalRelief AdditionalRelief `json:"additionalRelief"` }
type Subject ¶
type Subject struct { ID string Name string DOB time.Time Convictions []*DOJRow PC290Registration bool CyclesWithProp64Charges map[string]bool CaseNumbers map[string][]string IsDeceased bool // contains filtered or unexported fields }
func (*Subject) MostRecentConvictionDate ¶
func (*Subject) NumberOfConvictionsInCounty ¶
func (*Subject) NumberOfConvictionsInLast7Years ¶
func (*Subject) NumberOfFelonies ¶
func (*Subject) PC290CodeSections ¶
func (*Subject) Prop64ConvictionsBySection ¶
func (*Subject) PushRow ¶
func (subject *Subject) PushRow(row DOJRow, eligibilityFlow EligibilityFlow)
func (*Subject) SuperstrikeCodeSections ¶
Click to show internal directories.
Click to hide internal directories.