Capabilities
Capabilities | Supported |
Connector Capabilities | |
Read | Yes |
Backfill | Yes |
Bidirectional Capabilities | |
Incident Create | No |
Incident Update | No |
Narrative Update | No |
Customers of this CAD may be able to use bidirectional capabilities through IntelliComm. See Bidirectional CAD Integrations.
Overview
The Data Agent reads NexGen incident data from a SQL Server database. It runs four stored procedures in the govworx schema: govworx.Incidents, govworx.Notes, govworx.Responders, and govworx.Responders_Status_Changes. Each procedure takes one time value, @last_refresh.
On the first run, the Data Agent looks back the number of hours in the initial lookback setting. Later runs continue from the last position saved. The Data Agent uploads an incident when it has a valid close time. It keeps open incidents on hold and checks them again until they close. A fixed date and time backfill is also available.
To do this we need a user to connect to the database. You should create a read only user.
Source Timezone
The Source procedure timestamps are UTC setting tells the Data Agent which timezone the NexGen procedures use. Turn it on (the default) when the procedures use UTC. Turn it off when they use local time.
When the setting is off, the Data Agent uses the timezone of the computer that runs it. That timezone must match the timezone of the NexGen times. For example, a site in Eastern time needs the Data Agent computer set to Eastern time.
The setting applies to the @last_refresh value the Data Agent sends to all four procedures. It also applies to every incident, note, responder and status change time that the procedures return. A time that includes an offset or a Z keeps that offset.
The Data Agent converts all times to UTC before upload. Keep the UTC Timestamps setting in GovWorx on in both modes.
Before you turn the setting off, confirm which time the procedures compare with @last_refresh. Also confirm which timezone the procedures return.
Daylight saving time: The timezone rules include daylight saving time. When clocks fall back, one hour repeats. A time in that hour without an offset reads as standard time. The Data Agent can hold an incident that closes in that hour until the time passes. That incident can upload up to one hour late. A time in the hour that clocks skip in spring is invalid.
Incident Delivery
The Data Agent uploads an incident when it has a valid close time. An empty close time means the incident is still open. The Data Agent holds the incident and checks it again on later runs. An open incident does not cause an error.
The Data Agent checks a held incident for the number of hours in the held incident retry setting. After that, it stops checking.
Notes and responders upload with their incident, even when some of their optional dates are empty. A malformed optional date becomes empty. The rest of the note or responder still uploads.
An incident with no notes or responders still uploads. If a procedure call fails, the Data Agent tries the run again later.
Each incident uploads once. The Data Agent does not add data to an uploaded incident later.
Recover missed incidents: The saved position and the backfill start and end are always UTC. A change to the timezone setting does not change the saved position. If an earlier setting used the wrong timezone, run a UTC backfill for that time range. An incident that closes after its retry window ends can also need a backfill. Backfill does not change incidents that already uploaded.
SQL Server Configuration Notes
To ensure a successful and secure connection, verify the following:
Firewall Access: Ensure the server hosting the GovWorx Data Agent can reach the SQL Server over the appropriate network and port (typically TCP 1433).
Minimum Permissions: The provided database user must have read-only access to relevant tables, views, or stored procedures. Write access is not required or recommended.
Instance Visibility: If using a named instance, confirm SQL Server Browser service is running, or explicitly provide the port number.
Troubleshooting Tips
Login Failed? Verify the SQL user is enabled and not locked out.
Timeout Errors? Check network routes and firewall rules.
Invalid Database? Ensure the
databasefield in the config matches the actual schema name.
Network Requirements: The server running the Data Agent should be able to connect to the CAD Reporting server over port 1433. This can be tested using PowerShell.
PowerShell Command:
Test-NetConnection -ComputerName {CAD Reporting Server name or IP} -Port 1433
Standard Data Fields
These are the standard data fields the Data Agent reads from NexGen. The tables below show each GovWorx field and the column the NexGen procedure returns for it. Incident fields come from govworx.Incidents, notes from govworx.Notes, and responders from govworx.Responders and govworx.Responders_Status_Changes.
Note: Additional fields are considered enhancement requests.
Incident fields
GovWorx field | NexGen source | Notes |
Incident ID |
| CAD record key. |
Incident Number |
| Uses IncidentNumber when Number is empty. |
Case Number |
| Uses CaseId when CaseNumber is empty. |
Incident Type |
| Uses IncidentTypeActual when IncidentType is empty. |
Initial Incident Type |
| Uses IncidentTypeInitial when InitialIncidentType is empty. |
Initial Location |
| |
Caller Number |
| |
Caller Name |
| |
Agency |
| |
Agency Type |
| |
Incident Date |
| |
Disposition |
| |
Priority |
| |
Location |
| The Data Agent sends each part. GovWorx builds the Location text from the location format set for your organization. |
Latitude |
| |
Longitude |
| |
Call Position |
| |
Call Taker ID |
| |
Call Taker Name |
| |
Call Source |
| |
Call Received Time |
| The earliest CAD note timestamp setting replaces this with the earliest note time. |
Call Pickup Time |
| |
Call Hangup Time |
| |
Closed At |
| The Data Agent uploads an incident only after it has a valid close time. An open incident stays on hold until it closes. |
Dispatch Queue At |
| |
Radio Channel |
| |
Response Area |
| |
Additional Context |
|
Notes
GovWorx field | NexGen source | Notes |
Note ID |
| |
Note Text |
| |
Note By |
| Uses NoteByLastChanged, then NoteByCreated, when NoteBy is empty. |
Note Time |
| Uses NoteAtChanged, then NoteAtCreated, when NoteAt is empty. |
Responders and units
GovWorx field | NexGen source | Notes |
Unit Name |
| A row needs UnitName or PersonnelId. |
Personnel ID |
| |
Dispatched By |
| With a Dispatched status change, LastChangedBy fills this when the status change is the earliest. |
Dispatched At |
| The earliest of the responder row and the Dispatch status change. |
Enroute At |
| The earliest of the responder row and the Enroute status change. |
Arrived At |
| The earliest of the responder row and the Arrive or On Scene status change. |
Cleared At |
| The earliest of the responder row and the Clear status change. |
Data Agent Settings
To prepare for this connection, we need the following details. These are settings in the GovWorx Data Agent configuration for this connector. A toggle is an on/off switch in that configuration.
Setting | Type | Explanation |
| Text | Host of the database |
| Toggle | Toggle will enable the use of a domain service account that is configured to run the agent service as authentication to SQL server |
| Text | Database user |
| Password | Database password |
| Text | Database that holds the govworx stored procedures |
| Number | Hours back to look on the first run. Default: 2. After the first run, the saved position takes precedence. |
| Number | How long the Data Agent keeps checking an open incident for its close time. Default: 48. Maximum: 168. |
| Toggle | Toggle on means the procedures return UTC times. Toggle off means they return the local time of the computer that runs the Data Agent. That computer's timezone must match the NexGen times. Keep the UTC Timestamps setting in GovWorx on in both modes. Default: on. |
| Number | Leave blank for the default of 30 seconds |
| Toggle | Toggle will query a fixed UTC date and time range instead of rolling polling, for backfilling historical data. Turn it off to return to rolling polling. |
| Text | Beginning time of the backfill (yyyy-MM-dd HH:mm, UTC). Shown when the backfill toggle is on. |
| Text | End time of the backfill (yyyy-MM-dd HH:mm, UTC). Shown when the backfill toggle is on. |
| Toggle | Toggle will use the earliest CAD note time as Call Received Time. Use it when the first note marks the start of the call better than the CAD pickup time. Call Pickup Time does not change. When no note has a time, Call Received Time stays as read from CAD. Default: off. This setting is on every CAD connector. |
Note: *: Required. **: Either Integrated Security or (Username and Password) is required.
