Skip to content
This repository has been archived by the owner on Jan 19, 2024. It is now read-only.

mark43/nibrs

Repository files navigation

NIBRS Toolkit Repository

This repository contains source code artifacts for SEARCH's open source National Incident-Based Reporting System (NIBRS) toolkit. The purpose of this toolkit is to support cost-effective participation in the NIBRS program through the use of open source components that implement key phases of the NIBRS reporting lifecycle. These phases (and the associated) components include:

  • Source code for the NIBRS Pre-Certification Tool (PCT) web application, hosted at http://nibrs.search.org/nibrs-web
  • Components of the PCT that are reusable in any Java application (see nibrs-* packages under https://github.com/SEARCH-NCJIS/nibrs/tree/master/tools):
    • NIBRS object model that represents the NIBRS submission data structure as Java objects
    • NIBRS "legacy" flatfile parser that consumes NIBRS submission files and creates an object model graph
    • Validation API that implements each of the 400+ NIBRS edit rules
    • Relational database persistence API that saves object model graphs to a relational database that conforms to the toolkit's database model
  • An R package that processes historical NIBRS extracts in the ICPSR NIBRS Repository and loads data into a relational database that conforms to the toolkit's database model
  • A Mondrian schema that enables an olap4j interface, via the Mondrian API, in front of the toolkit's standard database model
  • Docker image for the PCT
  • Docker images for a basic Mondrian OLAP demonstration application using Saiku; image definitions are here: Saiku application, MySQL DB

The toolkit team welcomes involvement from the community. Feel free to fork the repo and submit PRs. We also welcome questions or suggestions via email.