Auto Save

The app auto saves periodically and auto saves when the form is closed so no more worries about losing data.  How often auto save runs can be set in the config file.

Barcode Scanning

Barcodes such as driver's licenses, VIN number, and vehicle registration cards can be scanned and the data will be placed into the appropriate fields of the form.  Use camera on mobile devices or bluetooth scanner on all devices.

Coauthor Forms

Forms can be coauthored by more than one officer.  Data can be collected by multiple officers at the section level, i.e person, vehicle, etc.  and then sent to the reporting officer.  It is the reporting officer's responsibility to create the report and merge all the data.

Code Tables

All of the coded fields (dropdown, select, check box, radio button,  etc) values are derived from JSON files.  These files can easily be edited and changed to produce customized code tables for any field.

Customizable Forms

The forms are generated from a formatted text file.  Changes to the form, adding fields, deleting fields, changing labels, add or removing validations and even changing a field’s type are all easily accomplished by a non technical person.

Flutter Code Base

The flutter open source framework for building apps runs on multiple platforms from one code base.  This means the  web app, mobile app and desktop apps are all built from the same code base and all run in the same manner.

Forms

The app comes with two forms, a Field Interview and a NIBRS form.  The NIBRS form comes with a complete set of validations that work to prevent entering invalid data rather that detect invalid data  after it is entered.

Form Server

The Form Server streamlines the process of creating, managing, and distributing digital forms. It can be executed as part of a client build or as a stand alone process.  The server utilizes a postgreSQL database to manage the forms and their data.  The server can be run on any desktop architecture.

Internationalization

Every piece of display text in the app is derived from a YAML or a JSON file.  All of these files have an easy method to add translations to the file and the app will display in the language that the device is set to utilize.

PDF Generation

A PDF of the data can be generated from a formatted text file.  Changes to the PDF, adding fields, deleting fields, changing labels are all easily accomplished by a non technical person.

Reverse Geocoding

Reverse geocoding converts GPS coordinates into an address.  Reverse geocoding works natively with iOS and Android devices with GPS chips. On other devices that provide GPS coordinates the app uses radar.io on the server to convert the GPS coordinates from the device into an address.

Templates

Each user can create template forms.  A template form is just like a normal form except only part of the data (that part that can occur over and over in multiple reports) is entered.  Then when a  report comes up that has these reoccurring element the user can start  the report from the template and thereby speed up the reporting process.

Validations

The NIBRS form has full validations that prevent the user from entering invalid data rather than allow the data to be entered and then force the user to fix the bad data.  Validations can be used on any  field that the user desires.

Workflow

Workflow can have unlimited levels for approval, rejection, etc or there can be no workflow required at all.  Normally NIBRS will have at least supervisor review and often Field Interview will have no review at all.

Zipcode

The app contains the full zip code for the US.   Zip code entry allows the app to get the city, state, county from the zip code file.  If  there  are multiple cities associated with one zip code then the  user can select the correct city.