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.