Data Methodology
How MCFRLive collects, processes, and presents Martin County Fire Rescue dispatch data.
Data Source
MCFRLive reads from the Martin County Fire Rescue public computer-aided dispatch (CAD) feed. This is the same data source available to any member of the public through the official Martin County website.
The CAD feed provides a snapshot of currently active incidents and their assigned units. It does not include patient information, detailed incident narratives, or post-incident reports.
Collection Process
- 1.
Polling — MCFRLive polls the public CAD feed approximately every 30 seconds. Each poll captures a complete snapshot of all active incidents and their current unit assignments.
- 2.
Parsing — The raw feed data is parsed to extract incident identifiers, call types, locations, assigned units, and unit statuses. Call types are normalized to consistent labels for display and categorization.
- 3.
Diffing — Each poll is compared against the previous snapshot. New incidents are created, existing incidents are updated with new unit statuses, and incidents no longer present in the feed are marked as closed.
- 4.
Enrichment — Incidents are enriched with geographic zone classification, approximate coordinates via geocoding, street normalization, and weather conditions at the time of dispatch from the National Weather Service.
- 5.
Storage — All incidents and unit status events are stored in a PostgreSQL database. This creates a permanent, searchable archive of dispatch activity over time.
Unit Status Tracking
Each unit assigned to an incident moves through a series of status codes: Dispatched (DP), Enroute (ER), Arrived (AR), Transporting (TR), and Transport Arrive (TA). MCFRLive records every status change as a timestamped event, building a complete unit timeline for each incident.
See the dispatch glossary for a full explanation of all status codes and apparatus types.
Zone Classification
Incidents are assigned to one of nine geographic zones within Martin County based on the dispatch zone provided in the CAD feed: Stuart, Palm City, Jensen Beach, Hobe Sound, Indiantown, Jupiter Island, Sewall's Point, Port Salerno, and Hutchinson Island. Zone assignments allow users to filter activity by area and subscribe to location-based alerts.
Update Frequency
The server polls the CAD feed every 30 seconds. The browser refreshes the live feed display at the same interval. This means there is typically a 30- to 60-second delay between a real-world dispatch event and its appearance on MCFRLive.
Limitations and Accuracy
Delay. Data is near-real-time, not instantaneous. Updates depend on the CAD feed refresh cycle and network conditions.
Completeness. If the CAD feed is temporarily unavailable, incidents occurring during that window may not be captured. MCFRLive monitors for feed gaps and logs them on the dispatch records page.
Location accuracy. Incident addresses are geocoded for map display. Coordinates are approximate and may not reflect the exact incident location.
Call type changes. Dispatch call types are assigned based on initial information and may change as responders gather more details. MCFRLive records the call type as it appears in the CAD feed at the time of capture.
No patient data. MCFRLive does not collect, store, or display any patient information, medical details, or personally identifiable information.
MCFRLive is an independent community project. It is not affiliated with, endorsed by, or operated by Martin County Fire Rescue, Martin County government, or any official emergency service. The data presented is for informational purposes only. For emergencies, always call 911.