Skip to main content

CAD Connector - Central Square OneSolution

GovWorx integration guide for the Central Square OneSolution CAD system.

Written by Kevin Biegert

Capabilities

Capabilities

SQL

XML

Connector Capabilities

Read

Yes

Yes

Backfill

Yes

No

Bidirectional Capabilities

Incident Create

No

No

Incident Update

No

No

Narrative Update

No

No

Overview

SQL Connection

The GovWorx Data Agent connects to the Central Square OneSolution Reporting Database using a direct SQL connection. A dedicated read-only database user is required to ensure security and data integrity.

XML Export

The Data Agent reads XML files from a local or shared directory.

⚠️ OneSolution Generic XMLs do not contain CAD positional data

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 database field 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 Central Square OneSolution. The tables below show each GovWorx incident field and the OneSolution source it comes from. The Data Agent reads closed incidents.

Note: Additional fields are considered enhancement requests.

SQL: Incident fields

Source names are columns of the inmain table unless the row says otherwise.

GovWorx field

Central Square OneSolution source

Notes

Incident ID

inmain.inci_id

CAD record key.

Incident Number

inmain.inci_id

Incident Type

inmain.nature

Leading and trailing spaces are removed.

Caller Number

inmain.callerph

Caller Name

inmain.callernm

Agency

inmain.agency

Agency Type

inmain.service

Incident Date

inmain.calltime

Disposition

inmain.closecode

Case Number

inmain.case_id

Location

inmain.streetno, streetonly, apt

The street column setting uses inmain.street.

Initial Location

incilog.comments

Only with the Initial Location setting on. The first address entered, or the earlier side of the first address change.

Priority

inmain.priority

Latitude

inmain.latitude

Numeric values only.

Longitude

inmain.longitude

Numeric values only.

Call Position

inmain.console

Call Taker ID

inmain.calltaker

Call Taker Name

system1.username

Looked up from the call taker ID.

Call Source

inmain.callsource

Call Received Time

incilog.timestamp

The log entry with transaction type TR.

The earliest CAD note timestamp setting replaces this with the earliest note time.

Closed At

inmain.timeclose

The Data Agent reads incidents by close time.

Dispatch Queue At

inmain.timeroute

Response Area

inmain column of your choice

Only with the Response Area setting.

Additional Context

inmain.alerts_cnt, hotsp_cnt, prem_cnt; incilog

Only with the additional context setting on.

SQL: Notes

GovWorx field

Central Square OneSolution source

Notes

Note ID

incinotes.id

Note Text

incinotes.notes

Note By

system1.username

Looked up from incinotes.userid.

Note Time

incinotes.datetime

Medical protocol note

incilog (transaction type MPS)

Only with the MPS setting on. The note text is Med. Pri Started (MPS).

SQL: Responders and units

GovWorx field

Central Square OneSolution source

Notes

Unit Name

incilog.unitcode

Personnel ID

emmain.emfname, emlname

The person assigned to the unit.

Dispatched By

incilog.userid

From the D log entry.

Dispatched At

incilog.timestamp

The log entry with status D.

Enroute At

incilog.timestamp

The log entry with status E.

Arrived At

incilog.timestamp

The log entry with status A.

Cleared At

incilog.timestamp

The log entry with status C.

External agency units

incilog.unitcode

Only with the external agency setting on. Enroute At is not set.

XML: Incident fields

Source names are elements in the EventDetails section of the XML file.

GovWorx field

XML element

Notes

Incident ID

CadInciNumber

The Data Agent skips files without it.

Incident Number

CadInciNumber

Incident Type

NatureDescription

Caller Number

CallerNumber

Caller Name

CallerName

Agency

AgencyCode

Incident Date

EventStartTime

The Data Agent skips files without it.

Disposition

EventDispositionCode

Location

StreetNumber, StreetDirection, StreetName, StreetType, StreetPostDirection, ApartmentSuite

With a cross street and no street number, the format is Street / CrossStreet (XStreetName).

Priority

EventPriorityCode

Latitude

EventLatitude

Longitude

EventLongitude

Call Position

DispatcherUserId

The CAD workstation operator.

Call Taker ID

CallTakerUserId

Call Taker Name

CallTakerName

Call Source

CallSource

Call Received Time

EventStartTime

The earliest CAD note timestamp setting replaces this with the earliest note time.

Closed At

EventCompletedTime

Uses LastUnitClearTime when empty. OneSolution writes files as unit statuses change, so a file can arrive before the incident closes.

Dispatch Queue At

FirstDispatchTime

XML: Notes

GovWorx field

XML element

Notes

Notes

CadNotes

Each entry that starts with a time and user in brackets becomes a note with that author and time. Text without a bracket becomes a note by the call taker.

XML: Responders and units

Source names are elements in the EventUnits section of the XML file.

GovWorx field

XML element

Notes

Unit Name

Unit.UnitCode

Personnel ID

Person.FullName

One responder for each person on the unit. A unit with no people is one responder.

Dispatched At

Unit.DispatchTime

Enroute At

Unit.EnRouteTime

Arrived At

Unit.ArriveTime

Cleared At

Unit.ClearTime

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.

SQL Connection

Setting

Type

Explanation

host*

Text

The hostname or IP address of the SQL Server. For named instances, use the format HOSTNAME\INSTANCE or specify a custom port.

Use Integrated Security

Toggle

Toggle will enable the use of a domain service account that is configured to run the agent service as authentication to SQL server

user*

Text

A SQL Server-authenticated user with read-only permissions on the required database objects.

password*

Password

The corresponding password for the SQL Server user account.

database*

Text

The name of the target database schema from which the Data Agent will read data (e.g., OneSolutionReporting).

Connect to availability group reader

Toggle

Toggle will connect with multi-subnet failover on and a read-only application intent, so the connection goes to a readable secondary in an availability group.

Use explicit table collations on join conditions

Toggle

Toggle will apply the collation type below to the join conditions between tables.

Collation type to use (e.g. SQL_Latin1_General_CP1_CI_AS)

Text

The collation applied to the join conditions. Used with the toggle above.

Decompose query (may mitigate timeouts)

Toggle

Toggle will run several smaller queries in place of one large query.

Local database is replicated from cloud

Toggle

If the local database is replicated from the cloud, the query must be altered to reflect a table that isn't available locally. The Call Taker Name field of each incident and the Note By field of each note will not be populated.

Additional context: Include Premise/Alerts/Hotspot information

Toggle

Toggle will add the count of premise, alert, and hotspot notifications shown, and which of them the call taker selected, to additional context.

Time back to query (hh:mm, default 01:00, 1 hour)

Text

How far back each run looks for closed incidents.

Query over a fixed time interval instead of time back

Toggle

Toggle will query over a fixed time interval instead of time back, for backfilling historical data.

Fixed time interval: Beginning time (yyyy-MM-dd HH:mm)

Text

Beginning time of the fixed interval.

Fixed time interval: End time

Text

End time of the fixed interval.

Split main query into intervals no longer than (hh:mm)

Text

Splits the query into chunks. Blank disables splitting.

Allow overriding tables with views

Toggle

Toggle will read from the views named below in place of the matching tables.

Name of view overriding inmain

Text

View to read in place of the inmain table.

Name of view overriding incilog

Text

View to read in place of the incilog table.

Name of view overriding unitper

Text

View to read in place of the unitper table.

Name of view overriding emmain

Text

View to read in place of the emmain table.

Name of view overriding system1

Text

View to read in place of the system1 table.

Name of view overriding incinotes

Text

View to read in place of the incinotes table.

Use 'street' column for location (instead of building from streetno/streetonly/apt)

Toggle

Toggle will use the street column as the location.

Include the address the call taker first entered (from INCILOG), distinct from the final location

Toggle

Toggle will fill Initial Location with the first address entered, when it differs from the final location.

Include "Med. Pri Started" (MPS) timestamp in the Notes

Toggle

Toggle will add a note with the time the call taker started medical protocols.

Column in inmain to map to ResponseArea (e.g. statbeat; blank disables)

Text

Name of the inmain column to read as Response Area. Blank turns this off.

Include external-agency MCT responders

Toggle

Toggle will include responders from external agencies that use mobile units.

External agency unit codes to include (comma-separated, e.g. ALAM,LCAM)

Text

Unit codes of the external agencies to include. Shown when the toggle above is on.

Maximum lookback in hours

Number

Caps how far back a stale cursor can reach so an idle or reconnected connector does not issue an oversized catch-up query. Default: 8.

Use earliest CAD note timestamp for Received At

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: Fields marked with an asterisk (*) are required.

XML Export

*: Required

**: Either Integrated Security or (Username and Password) is required.

Setting

Type

Explanation

UNC Share / Directory*

Text

Either a local path or a UNC share path. Recognized as a UNC path if it begins with two backslashes ("\\").

Use Integrated Security**

Toggle

Whether to use gMSA or explicit credentials

Username**

Text

Provide if using explicit credentials

Password**

Password

Provide if using explicit credentials

Delete files after being processed

Toggle

Whether to delete each XML file after processing it.

Hours back to look for files (default: 2)

Text

Look for files from up to this many hours back.

Use earliest CAD note timestamp for Received At

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.

Need Help?

For questions about setting up the connection, or if you require assistance, please contact GovWorx Support at [email protected].

Did this answer your question?