Skip to main content

CAD Connector - Mark43

GovWorx integration guide for the Mark43 CAD system.

Written by Kevin Biegert

Capabilities

Capabilities

SQL

API

Connector Capabilities

Read

Yes

Yes

Backfill

No

No

Bidirectional Capabilities

Incident Create

No

No

Incident Update

No

No

Narrative Update

No

No

Customers of this CAD may be able to use bidirectional capabilities through IntelliComm. See Bidirectional CAD Integrations.

Overview

SQL Data Mart

The Mark43 Data Agent Connector is a secure middleware solution designed to access and transport data from a SQL data mart. Using a SQL reader account, the agent connects to the data mart to perform read-only operations. The retrieved data is encrypted using advanced encryption standards, ensuring data security during transit. Once encrypted, the data is securely transported to AWS GovCloud, maintaining compliance with strict regulatory requirements for handling sensitive information.

No CAD data is stored on the local server running the data agent.

API

The Data Agent connects directly to the Mark43 CAD API. It signs in with HTTP Basic authentication and makes only read requests.

Standard Data Fields

These are the standard data fields the Data Agent reads from Mark43. The tables below show each GovWorx field and the source it comes from.

Note: Additional fields are considered enhancement requests.

SQL: Incident fields

Source names are columns of the analytics_cad views and cad tables in the data mart. The Data Agent reads incidents by the date of the last event clearing.

GovWorx field

Mark43 source

Notes

Incident ID

vw_agency_events.agency_event_id

Incident Number

vw_agency_events.agency_event_number

Incident Type

vw_agency_events.call_for_service_type

With the Code - Description setting on, vw_agency_events.call_for_service_code comes first.

Caller Number

vw_agency_event_reporting_parties.phone_number

Caller Name

vw_agency_event_reporting_parties.full_name

Agency

vw_agency_events.agency

Agency Type

vw_agency_events.agency_type

Incident Date

vw_agency_events.event_created_date

Disposition

rms.attributes.display_value

The primary disposition of the most recently updated event clearing.

Location

vw_agency_events.location_full_address

Priority

vw_agency_events.priority

Latitude

vw_agency_events.location_latitude

Longitude

vw_agency_events.location_longitude

Call Position

call_taker_stations.display_value

The station linked to the call taker.

Call Taker ID

vw_user_profiles.badge_number

The user who created the event.

Call Taker Name

vw_user_profiles.full_name

Call Source

vw_agency_events.call_origin

Call Received Time

agency_events.initiated_date_time_utc

Converted to the department time zone.

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

Closed At

vw_agency_events.last_event_clearing_date

The Data Agent reads incidents by this date.

SQL: Notes

GovWorx field

Mark43 source

Notes

Note ID

agency_events.id

The event narrative. Additional information notes use additional_infos.id.

Note Text

agency_events.narrative

Additional information notes use additional_infos.text.

Note By

vw_user_profiles.badge_number

The user who created the event. Additional information notes use the badge number of the author.

Note Time

agency_events.created_date_utc

Converted to the department time zone. Additional information notes use additional_infos.created_date_utc.

SQL: Responders and units

Source names are columns of the cad tables in the data mart.

GovWorx field

Mark43 source

Notes

Unit Name

units.call_sign

Personnel ID

user_profiles.badge_number

The person linked to the unit in the status history.

Dispatched At

history_unit_statuses.history_created_date_utc

The status entry whose unit_states.display_abbreviation matches the dispatched status setting.

Enroute At

history_unit_statuses.history_created_date_utc

Matches the en route status setting.

Arrived At

history_unit_statuses.history_created_date_utc

Matches the arrived status setting.

Cleared At

history_unit_statuses.history_created_date_utc

Matches the cleared status setting.

API: Incident fields

Source names are fields of each event the Mark43 API returns. The Data Agent uploads an event once it closes, once all its units clear, or once it is older than the Settle Deadline setting.

GovWorx field

Mark43 API source

Notes

Incident ID

mark43Id

Uses cadCommonEventId when mark43Id is empty. The Data Agent skips events with neither.

Incident Number

cadAgencyEventNumber

Incident Type

eventType

With the Code - Description setting on, callForServiceCode comes first.

Priority

eventPriority

Caller Number

callerPhoneNumber

Caller Name

callerName

Agency

agencyCode

Call Source

communicationType

Call Position

callTakerStationId

Call Taker ID

callTaker.badgeNumber

Call Taker Name

callTaker.firstName, callTaker.lastName

Incident Date

eventStartDateUtc

Call Received Time

eventReceivedDateUtc

Uses callDateUtc when empty.

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

Disposition

disposition

Uses dispositionAbbreviation when empty.

Radio Channel

radioChannels

Joined with commas.

Related Incident ID

relatedCadAgencyEventNumbers

The first value.

Location

externalLocation.fullAddress

Built from the street number, street name, apartment, city, state, and zip when empty.

Location Name

externalLocation.placeName

Street Number

externalLocation.streetNumber

Street Name

externalLocation.streetName

Apartment

externalLocation.apartmentNumber

Uses externalLocation.subPremise when empty.

City

externalLocation.city

State

externalLocation.state

Zip

externalLocation.zip

County

externalLocation.county

Cross Street 1

externalLocation.crossStreet1

Cross Street 2

externalLocation.crossStreet2

Latitude

externalLocation.latitude

Longitude

externalLocation.longitude

Closed At

eventClosedDateUtc

Uses the latest unit Cleared At when empty.

API: Notes

GovWorx field

Mark43 API source

Notes

Note Text

narrative

One note for the event narrative, with no author or time.

Note ID

additionalInfos[].externalId

Note Text

additionalInfos[].text

One note for each entry.

Note By

additionalInfos[].author.badgeNumber

Note Time

additionalInfos[].createdDateUtc

API: Responders and units

One responder for each unit. The Data Agent skips status entries that Mark43 marks as not related to the event.

GovWorx field

Mark43 API source

Notes

Unit Name

involvedUnits[].unitCallSign

Personnel ID

involvedUnits[].users[].badgeNumber

The first user on the unit.

Dispatched At

involvedUnits[].unitStatuses[].unitStatusDateUtc

The status whose unitStateCode matches the dispatched status setting. Uses firstUnitDispatchDateUtc for the first unit when empty.

Enroute At

involvedUnits[].unitStatuses[].unitStatusDateUtc

Matches the en route status setting. Uses firstUnitEnrouteDateUtc for the first unit when empty.

Arrived At

involvedUnits[].unitStatuses[].unitStatusDateUtc

Matches the arrived status setting. Uses firstUnitArrivalDateUtc for the first unit when empty.

Cleared At

involvedUnits[].unitStatuses[].unitStatusDateUtc

Matches the cleared status setting.

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 Data Mart

Setting

Type

Explanation

Host*

Text

Host/URL of the reporting database

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

Username*

Text

Database user

Password*

Password

Database password

Database*

Text

Database Schema to read from

Unit dispatched status (unit_states.display_abbreviation, e.g. DP)

Text

Comma Separated list of unit statuses programmed in CAD for "DISPATCHED" Status. Default: DP.

Unit en route status (unit_states.display_abbreviation, e.g. ER)

Text

Comma Separated list of unit statuses programmed in CAD for "EN ROUTE" Status. Default: ER.

Unit arrived status (unit_states.display_abbreviation, e.g. OS)

Text

Comma Separated list of unit statuses programmed in CAD for "ARRIVED/ON SCENE" Status. Default: OS.

Unit cleared status (unit_states.display_abbreviation, e.g. AV)

Text

Comma Separated list of unit statuses programmed in CAD for "CLEARED" Status. Default: AV.

Call for service type NOT IN

Text

Comma separated list of call for service types. The Data Agent skips incidents with these types.

Format Incident Type as Code - Description (e.g. '211 - Burglary')

Toggle

Toggle will format Incident Type as the call for service code, a hyphen, and the type. Incidents with no code keep the type alone.

First-run lookback in hours used only when no last-run cursor exists yet (default: 1)

Number

How far back the first run looks, when the Data Agent has no earlier run to continue from. Default: 1.

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.

*: Required

API

Setting

Type

Explanation

Base URL* (e.g. https://<dept>.mark43.com/partnerships/api)

Text

The base URL of the Mark43 API. The Data Agent builds every request URL from it.

API Basic Auth Username

Text

Username for HTTP Basic authentication.

API Basic Auth Token (password)*

Password

Token for HTTP Basic authentication.

Page Size (1-25)

Number

Number of events the Data Agent requests at a time. Mark43 allows 1 to 25. Default: 25.

Initial Lookback (hours)

Number

How far back each run looks for events. Default: 24. Values below 2 become 2.

Settle Deadline (hours)

Number

The Data Agent holds back an open incident until it closes, until all its units clear, or until it is older than this many hours. Default: 4. This value must be lower than Initial Lookback. The Data Agent lowers it when it is not.

Unit dispatched status codes (unitStateCode, e.g. DP)

Text

Comma separated list of unit status codes for the dispatched time. Default: DP.

Unit en route status codes (unitStateCode, e.g. ER)

Text

Comma separated list of unit status codes for the en route time. Default: ER.

Unit arrived status codes (unitStateCode, e.g. OS)

Text

Comma separated list of unit status codes for the arrived time. Default: OS.

Unit cleared status codes (unitStateCode, e.g. AV)

Text

Comma separated list of unit status codes for the cleared time. Default: AV.

Call for service type NOT IN (comma-separated eventType values to skip)

Text

Comma separated list of eventType values. The Data Agent skips events with these types.

Format Incident Type as Code - Description (e.g. '211 - Burglary')

Toggle

Toggle will format Incident Type as the call for service code, a hyphen, and the type. Events with no code keep the type alone.

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.

*: Required

Did this answer your question?