[2026-01-29 00:04:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-02947.xml
[2026-01-29 00:04:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-02947.xml for user: 68d56363ec1209189
[2026-01-29 00:04:39] [INFO] File size: 1324 bytes
[2026-01-29 00:04:39] [INFO] Created FTPFiles record with ID: 697aa41757e004fa9
[2026-01-29 00:04:39] [INFO] About to extract fields from XML. File size: 1324 bytes
[2026-01-29 00:04:39] [INFO] Number of mappings: 21
[2026-01-29 00:04:39] [INFO] Starting XML parsing. Content length: 1324
[2026-01-29 00:04:39] [INFO] XML parsed successfully. Root element: Incident
[2026-01-29 00:04:39] [INFO] Processing 21 field mappings
[2026-01-29 00:04:39] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-29 00:04:39] [INFO]   -> Found value: 26-02947
[2026-01-29 00:04:39] [INFO]   -> Set field 'dispatchRunNumber' = "26-02947"
[2026-01-29 00:04:39] [INFO]   -> Set field 'cADNumber' = "26-02947"
[2026-01-29 00:04:39] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-29 00:04:39] [INFO]   -> Found value: 201
[2026-01-29 00:04:39] [INFO]   -> Set field 'incidentLocationStreetNumber' = 201
[2026-01-29 00:04:39] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-29 00:04:39] [INFO]   -> Found value: S KINGSHIGHWAY
[2026-01-29 00:04:39] [INFO]   -> Set field 'streetName' = "S KINGSHIGHWAY"
[2026-01-29 00:04:39] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-29 00:04:39] [INFO]   -> No value found (null or empty)
[2026-01-29 00:04:39] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-29 00:04:39] [INFO]   -> Found value: SIKESTON
[2026-01-29 00:04:39] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-29 00:04:39] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-29 00:04:39] [INFO]   -> Found value: SIKESTON DPS
[2026-01-29 00:04:39] [INFO]   -> Set field 'businessName' = "SIKESTON DPS"
[2026-01-29 00:04:39] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-29 00:04:39] [INFO]   -> Found value: MO
[2026-01-29 00:04:39] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-29 00:04:39] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-29 00:04:39] [INFO]   -> Found value: 63801
[2026-01-29 00:04:39] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-01-29 00:04:39] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-29 00:04:39] [INFO]   -> No value found (null or empty)
[2026-01-29 00:04:39] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-29 00:04:39] [INFO]   -> No value found (null or empty)
[2026-01-29 00:04:39] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-29 00:04:39] [INFO]   -> Found value: WED 1800 HR PAGER TEST
[2026-01-29 00:04:39] [INFO]   -> Set field 'incidentTypeValue1' = "WED 1800 HR PAGER TEST"
[2026-01-29 00:04:39] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-29 00:04:39] [INFO]   -> Found value: 01-28-2026 18:00:00|WED EVENING PAGER TEST
[2026-01-29 00:04:39] [INFO]   -> Set field 'dispatchNotes' = "01-28-2026 18:00:00|WED EVENING PAGER TEST"
[2026-01-29 00:04:39] [INFO]   -> Set field 'cADLog' = "01-28-2026 18:00:00|WED EVENING PAGER TEST"
[2026-01-29 00:04:39] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-29 00:04:39] [INFO]   -> Found value: 01-28-2026T18:00:13
[2026-01-29 00:04:39] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T18:00:13
[2026-01-29 00:04:39] [ERROR] Error formatting datetime '2026-28-01T18:00:13': Failed to parse time string (2026-28-01T18:00:13) at position 6 (8): Unexpected character
[2026-01-29 00:04:39] [INFO]   -> Set field 'alarm' = null
[2026-01-29 00:04:39] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T18:00:13
[2026-01-29 00:04:39] [ERROR] Error formatting datetime '2026-28-01T18:00:13': Failed to parse time string (2026-28-01T18:00:13) at position 6 (8): Unexpected character
[2026-01-29 00:04:39] [INFO]   -> Set field 'dispatched' = null
[2026-01-29 00:04:39] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-29 00:04:39] [INFO]   -> No value found (null or empty)
[2026-01-29 00:04:39] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-29 00:04:39] [INFO]   -> No value found (null or empty)
[2026-01-29 00:04:39] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-29 00:04:39] [INFO]   -> Found value: RURAL PAGE
[2026-01-29 00:04:39] [INFO]   -> Set field 'cADVehicleID' = "RURAL PAGE"
[2026-01-29 00:04:39] [INFO]   -> Set field 'name' = "RURAL PAGE"
[2026-01-29 00:04:39] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-29 00:04:39] [INFO]   -> No value found (null or empty)
[2026-01-29 00:04:39] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-29 00:04:39] [INFO]   -> No value found (null or empty)
[2026-01-29 00:04:39] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-29 00:04:39] [INFO]   -> Found value: 01-28-2026T18:04:03
[2026-01-29 00:04:39] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T18:04:03
[2026-01-29 00:04:39] [ERROR] Error formatting datetime '2026-28-01T18:04:03': Failed to parse time string (2026-28-01T18:04:03) at position 6 (8): Unexpected character
[2026-01-29 00:04:39] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-29 00:04:39] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-29 00:04:39] [INFO]   -> Found value: 01-28-2026T18:03:16
[2026-01-29 00:04:39] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T18:03:16
[2026-01-29 00:04:39] [ERROR] Error formatting datetime '2026-28-01T18:03:16': Failed to parse time string (2026-28-01T18:03:16) at position 6 (8): Unexpected character
[2026-01-29 00:04:39] [INFO]   -> Set field 'timedispatch' = null
[2026-01-29 00:04:39] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-29 00:04:39] [INFO]   -> Found value: SCRFD
[2026-01-29 00:04:39] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-01-29 00:04:39] [INFO] Finished extracting fields. Total fields extracted: 18
[2026-01-29 00:04:39] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-02947","cADNumber":"26-02947","incidentLocationStreetNumber":201,"streetName":"S KINGSHIGHWAY","incidentLocationCity":"SIKESTON","businessName":"SIKESTON DPS","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"incidentTypeValue1":"WED 1800 HR PAGER TEST","dispatchNotes":"01-28-2026 18:00:00|WED EVENING PAGER TEST","cADLog":"01-28-2026 18:00:00|WED EVENING PAGER TEST","alarm":null,"dispatched":null,"cADVehicleID":"RURAL PAGE","name":"RURAL PAGE","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SCRFD"}
[2026-01-29 00:04:39] [INFO] Number of extracted fields: 18
[2026-01-29 00:04:39] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-01-29 00:04:39] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SCRFD', Parsed IDs = ["SCRFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-29 00:04:39] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-01-29 00:04:39] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-01-29 00:04:39] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-01-29 00:04:39] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-01-29 00:04:39] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-01-29 00:04:39] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-01-29 00:04:39] [INFO] Found existing IncidentTypeMapping with ID: 693a0a64a7bfdcdfa
[2026-01-29 00:04:40] [INFO] Found existing Dispatch with cADNumber '26-02947', ID: 697aa3c8640a39f9b - will update instead of create
[2026-01-29 00:04:40] [INFO] Updated existing Dispatches record with ID: 697aa3c8640a39f9b
[2026-01-29 00:04:40] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-01-29
[2026-01-29 00:04:40] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-02947.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-01-29/SCRFD_26-02947.xml
[2026-01-29 00:04:40] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-02947.xml
[2026-01-29 00:04:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02947.xml
[2026-01-29 00:04:40] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02947.xml for user: 68d56363ec1209189
[2026-01-29 00:04:40] [INFO] File size: 1327 bytes
[2026-01-29 00:04:40] [INFO] Created FTPFiles record with ID: 697aa418a1ad4eb0d
[2026-01-29 00:04:40] [INFO] About to extract fields from XML. File size: 1327 bytes
[2026-01-29 00:04:40] [INFO] Number of mappings: 21
[2026-01-29 00:04:40] [INFO] Starting XML parsing. Content length: 1327
[2026-01-29 00:04:40] [INFO] XML parsed successfully. Root element: Incident
[2026-01-29 00:04:40] [INFO] Processing 21 field mappings
[2026-01-29 00:04:40] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-29 00:04:40] [INFO]   -> Found value: 26-02947
[2026-01-29 00:04:40] [INFO]   -> Set field 'dispatchRunNumber' = "26-02947"
[2026-01-29 00:04:40] [INFO]   -> Set field 'cADNumber' = "26-02947"
[2026-01-29 00:04:40] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-29 00:04:40] [INFO]   -> Found value: 201
[2026-01-29 00:04:40] [INFO]   -> Set field 'incidentLocationStreetNumber' = 201
[2026-01-29 00:04:40] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-29 00:04:40] [INFO]   -> Found value: S KINGSHIGHWAY
[2026-01-29 00:04:40] [INFO]   -> Set field 'streetName' = "S KINGSHIGHWAY"
[2026-01-29 00:04:40] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-29 00:04:40] [INFO]   -> No value found (null or empty)
[2026-01-29 00:04:40] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-29 00:04:40] [INFO]   -> Found value: SIKESTON
[2026-01-29 00:04:40] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-29 00:04:40] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-29 00:04:40] [INFO]   -> Found value: SIKESTON DPS
[2026-01-29 00:04:40] [INFO]   -> Set field 'businessName' = "SIKESTON DPS"
[2026-01-29 00:04:40] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-29 00:04:40] [INFO]   -> Found value: MO
[2026-01-29 00:04:40] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-29 00:04:40] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-29 00:04:40] [INFO]   -> Found value: 63801
[2026-01-29 00:04:40] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-01-29 00:04:40] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-29 00:04:40] [INFO]   -> No value found (null or empty)
[2026-01-29 00:04:40] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-29 00:04:40] [INFO]   -> No value found (null or empty)
[2026-01-29 00:04:40] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-29 00:04:40] [INFO]   -> Found value: WED 1800 HR PAGER TEST
[2026-01-29 00:04:40] [INFO]   -> Set field 'incidentTypeValue1' = "WED 1800 HR PAGER TEST"
[2026-01-29 00:04:40] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-29 00:04:40] [INFO]   -> Found value: 01-28-2026 18:00:00|WED EVENING PAGER TEST
[2026-01-29 00:04:40] [INFO]   -> Set field 'dispatchNotes' = "01-28-2026 18:00:00|WED EVENING PAGER TEST"
[2026-01-29 00:04:40] [INFO]   -> Set field 'cADLog' = "01-28-2026 18:00:00|WED EVENING PAGER TEST"
[2026-01-29 00:04:40] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-29 00:04:40] [INFO]   -> Found value: 01-28-2026T18:00:13
[2026-01-29 00:04:40] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T18:00:13
[2026-01-29 00:04:40] [ERROR] Error formatting datetime '2026-28-01T18:00:13': Failed to parse time string (2026-28-01T18:00:13) at position 6 (8): Unexpected character
[2026-01-29 00:04:40] [INFO]   -> Set field 'alarm' = null
[2026-01-29 00:04:40] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T18:00:13
[2026-01-29 00:04:40] [ERROR] Error formatting datetime '2026-28-01T18:00:13': Failed to parse time string (2026-28-01T18:00:13) at position 6 (8): Unexpected character
[2026-01-29 00:04:40] [INFO]   -> Set field 'dispatched' = null
[2026-01-29 00:04:40] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-29 00:04:40] [INFO]   -> No value found (null or empty)
[2026-01-29 00:04:40] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-29 00:04:40] [INFO]   -> No value found (null or empty)
[2026-01-29 00:04:40] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-29 00:04:40] [INFO]   -> Found value: SIK ALL PAGE
[2026-01-29 00:04:40] [INFO]   -> Set field 'cADVehicleID' = "SIK ALL PAGE"
[2026-01-29 00:04:40] [INFO]   -> Set field 'name' = "SIK ALL PAGE"
[2026-01-29 00:04:40] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-29 00:04:40] [INFO]   -> No value found (null or empty)
[2026-01-29 00:04:40] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-29 00:04:40] [INFO]   -> No value found (null or empty)
[2026-01-29 00:04:40] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-29 00:04:40] [INFO]   -> Found value: 01-28-2026T18:04:03
[2026-01-29 00:04:40] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T18:04:03
[2026-01-29 00:04:40] [ERROR] Error formatting datetime '2026-28-01T18:04:03': Failed to parse time string (2026-28-01T18:04:03) at position 6 (8): Unexpected character
[2026-01-29 00:04:40] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-29 00:04:40] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-29 00:04:40] [INFO]   -> Found value: 01-28-2026T18:00:13
[2026-01-29 00:04:40] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T18:00:13
[2026-01-29 00:04:40] [ERROR] Error formatting datetime '2026-28-01T18:00:13': Failed to parse time string (2026-28-01T18:00:13) at position 6 (8): Unexpected character
[2026-01-29 00:04:40] [INFO]   -> Set field 'timedispatch' = null
[2026-01-29 00:04:40] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-29 00:04:40] [INFO]   -> Found value: SDPSFD
[2026-01-29 00:04:40] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-01-29 00:04:40] [INFO] Finished extracting fields. Total fields extracted: 18
[2026-01-29 00:04:40] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-02947","cADNumber":"26-02947","incidentLocationStreetNumber":201,"streetName":"S KINGSHIGHWAY","incidentLocationCity":"SIKESTON","businessName":"SIKESTON DPS","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"incidentTypeValue1":"WED 1800 HR PAGER TEST","dispatchNotes":"01-28-2026 18:00:00|WED EVENING PAGER TEST","cADLog":"01-28-2026 18:00:00|WED EVENING PAGER TEST","alarm":null,"dispatched":null,"cADVehicleID":"SIK ALL PAGE","name":"SIK ALL PAGE","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD"}
[2026-01-29 00:04:40] [INFO] Number of extracted fields: 18
[2026-01-29 00:04:40] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-01-29 00:04:40] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-29 00:04:40] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-01-29 00:04:40] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-01-29 00:04:40] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-01-29 00:04:41] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-01-29 00:04:41] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-01-29 00:04:41] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-01-29 00:04:41] [INFO] Found existing IncidentTypeMapping with ID: 691e5c32443e1aa70
[2026-01-29 00:04:42] [INFO] Created new Dispatches record with ID: 697aa4197d9efbc8e
[2026-01-29 00:04:42] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02947.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-01-29/SDPSFD_26-02947.xml
[2026-01-29 00:04:42] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02947.xml
[2026-01-29 00:16:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010459_20260129_001637.XML
[2026-01-29 00:16:37] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010459_20260129_001637.XML for user: 68f1466aed072ad4a
[2026-01-29 00:16:37] [INFO] File size: 4612 bytes
[2026-01-29 00:16:38] [INFO] Created FTPFiles record with ID: 697aa6e610d81e5de
[2026-01-29 00:16:38] [INFO] About to extract fields from XML. File size: 4612 bytes
[2026-01-29 00:16:38] [INFO] Number of mappings: 28
[2026-01-29 00:16:38] [INFO] Starting XML parsing. Content length: 4612
[2026-01-29 00:16:38] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-29 00:16:38] [INFO] Processing 28 field mappings
[2026-01-29 00:16:38] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-29 00:16:38] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-29 00:16:38] [INFO]   -> Found value: PCFD
[2026-01-29 00:16:38] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-01-29 00:16:38] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 00:16:38] [INFO]   -> Found value: 2026000263
[2026-01-29 00:16:38] [INFO]   -> Set field 'incidentInternalId' = "2026000263"
[2026-01-29 00:16:38] [INFO]   -> Set field 'dispatchRunNumber' = "2026000263"
[2026-01-29 00:16:38] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-29 00:16:38] [INFO]   -> Found value: FIRE ALARM
[2026-01-29 00:16:38] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-01-29 00:16:38] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-29 00:16:38] [INFO]   -> Found value: 1965
[2026-01-29 00:16:38] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1965
[2026-01-29 00:16:38] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-29 00:16:38] [INFO]   -> Found value: TN
[2026-01-29 00:16:38] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-29 00:16:38] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-29 00:16:38] [INFO]   -> Found value: 38506
[2026-01-29 00:16:38] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-29 00:16:38] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-29 00:16:38] [INFO]   -> No value found (null or empty)
[2026-01-29 00:16:38] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-29 00:16:38] [INFO]   -> No value found (null or empty)
[2026-01-29 00:16:38] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-29 00:16:38] [INFO]   -> Found value: 36.23990
[2026-01-29 00:16:38] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.23989999999999866986399865709245204925537109375
[2026-01-29 00:16:38] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-29 00:16:38] [INFO]   -> Found value: -85.45443
[2026-01-29 00:16:38] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.454430000000002110027708113193511962890625
[2026-01-29 00:16:38] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-29 00:16:38] [INFO]   -> Found value: 2026-01-28 18:15:51
[2026-01-29 00:16:38] [INFO]   -> Set field 'alarm' = "2026-01-28 18:15:51"
[2026-01-29 00:16:38] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-29 00:16:38] [INFO]   -> Found value: 2026-01-28 18:16:27
[2026-01-29 00:16:38] [INFO]   -> Set field 'dispatched' = "2026-01-28 18:16:27"
[2026-01-29 00:16:38] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-29 00:16:38] [INFO]   -> No value found (null or empty)
[2026-01-29 00:16:38] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-29 00:16:38] [INFO]   -> No value found (null or empty)
[2026-01-29 00:16:38] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-29 00:16:38] [INFO]   -> No value found (null or empty)
[2026-01-29 00:16:38] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-29 00:16:38] [INFO]   -> Found value: BEAR CREEK RD
[2026-01-29 00:16:38] [INFO]   -> Set field 'incidentLocationCross' = "BEAR CREEK RD"
[2026-01-29 00:16:38] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-29 00:16:38] [INFO]   -> Found value: TK12
[2026-01-29 00:16:38] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-01-29 00:16:38] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-29 00:16:38] [INFO]   -> Found value: 2026-01-28 18:16:27
[2026-01-29 00:16:38] [INFO]   -> Set field 'timedispatch' = "2026-01-28 18:16:27"
[2026-01-29 00:16:38] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-29 00:16:38] [INFO]   -> No value found (null or empty)
[2026-01-29 00:16:38] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-29 00:16:38] [INFO]   -> No value found (null or empty)
[2026-01-29 00:16:38] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-29 00:16:38] [INFO]   -> No value found (null or empty)
[2026-01-29 00:16:38] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-29 00:16:38] [INFO]   -> No value found (null or empty)
[2026-01-29 00:16:38] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-29 00:16:38] [INFO]   -> Found value: 20260010459
[2026-01-29 00:16:38] [INFO]   -> Set field 'policeReportNumber' = "20260010459"
[2026-01-29 00:16:38] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-29 00:16:38] [INFO]   -> Found value: LIVING ROOM SMOKE  NO CONTACT  [01/28/26 18:16:23 SVOKOUN2]
[2026-01-29 00:16:38] [INFO]   -> Set field 'dispatchNotes' = "LIVING ROOM SMOKE  NO CONTACT  [01\/28\/26 18:16:23 SVOKOUN2]"
[2026-01-29 00:16:38] [INFO]   -> Set field 'cADLog' = "LIVING ROOM SMOKE  NO CONTACT  [01\/28\/26 18:16:23 SVOKOUN2]"
[2026-01-29 00:16:38] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-29 00:16:38] [INFO]   -> Found value: COOKEVILLE
[2026-01-29 00:16:38] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-29 00:16:38] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-29 00:16:38] [INFO]   -> Found value: BEAR CREEK
[2026-01-29 00:16:38] [INFO]   -> Set field 'streetName' = "BEAR CREEK"
[2026-01-29 00:16:38] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-29 00:16:38] [INFO]   -> Found value: PT
[2026-01-29 00:16:38] [INFO]   -> Set field 'streetType' = "PT"
[2026-01-29 00:16:38] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-29 00:16:38] [INFO]   -> Found value: 1965 BEAR CREEK PT
[2026-01-29 00:16:38] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1965 BEAR CREEK PT"
[2026-01-29 00:16:38] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-29 00:16:38] [INFO] Concatenating street name and type
[2026-01-29 00:16:38] [INFO]   -> Combined street name: BEAR CREEK PT
[2026-01-29 00:16:38] [INFO] Built locationCoordinates from lat/lng: 36.2399,-85.45443
[2026-01-29 00:16:38] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000263","dispatchRunNumber":"2026000263","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":1965,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.23989999999999866986399865709245204925537109375,"nERISIncidentLongitude":-85.454430000000002110027708113193511962890625,"alarm":"2026-01-28 18:15:51","dispatched":"2026-01-28 18:16:27","incidentLocationCross":"BEAR CREEK RD","cADVehicleID":"TK12","timedispatch":"2026-01-28 18:16:27","policeReportNumber":"20260010459","dispatchNotes":"LIVING ROOM SMOKE  NO CONTACT  [01\/28\/26 18:16:23 SVOKOUN2]","cADLog":"LIVING ROOM SMOKE  NO CONTACT  [01\/28\/26 18:16:23 SVOKOUN2]","incidentLocationCity":"COOKEVILLE","streetName":"BEAR CREEK PT","incidentAddressTextVersionStreet":"1965 BEAR CREEK PT","locationCoordinates":"36.2399,-85.45443"}
[2026-01-29 00:16:38] [INFO] Number of extracted fields: 21
[2026-01-29 00:16:38] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-01-29 00:16:38] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-01-29 00:16:38] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-01-29 00:16:38] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-29 00:16:38] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-29 00:16:38] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-29 00:16:38] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-29 00:16:38] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-29 00:16:38] [INFO] Found existing IncidentTypeMapping with ID: 69398a845c349ab26
[2026-01-29 00:16:47] [INFO] Created new Dispatches record with ID: 697aa6e721a9faa2f
[2026-01-29 00:16:47] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-29 00:16:47] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-29 00:16:50] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010459_20260129_001637.XML
[2026-01-29 00:16:50] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-29
[2026-01-29 00:16:50] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010459_20260129_001637.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-29/PCFD_20260010459_20260129_001637.XML
[2026-01-29 00:16:50] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010459_20260129_001637.XML
[2026-01-29 03:20:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010528_20260129_032028.XML
[2026-01-29 03:20:28] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010528_20260129_032028.XML for user: 68f1466aed072ad4a
[2026-01-29 03:20:28] [INFO] File size: 5255 bytes
[2026-01-29 03:20:28] [INFO] Created FTPFiles record with ID: 697ad1fc92df0b6f8
[2026-01-29 03:20:28] [INFO] About to extract fields from XML. File size: 5255 bytes
[2026-01-29 03:20:28] [INFO] Number of mappings: 28
[2026-01-29 03:20:28] [INFO] Starting XML parsing. Content length: 5255
[2026-01-29 03:20:28] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-29 03:20:28] [INFO] Processing 28 field mappings
[2026-01-29 03:20:28] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-29 03:20:28] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-29 03:20:28] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-29 03:20:28] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-29 03:20:28] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-29 03:20:28] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-29 03:20:28] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 03:20:28] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-29 03:20:28] [INFO]   -> Found value: 2026000264
[2026-01-29 03:20:28] [INFO]   -> Set field 'incidentInternalId' = "2026000264"
[2026-01-29 03:20:28] [INFO]   -> Set field 'dispatchRunNumber' = "2026000264"
[2026-01-29 03:20:28] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-29 03:20:28] [INFO]   -> Found value: BACK PAIN
[2026-01-29 03:20:28] [INFO]   -> Set field 'incidentTypeValue1' = "BACK PAIN"
[2026-01-29 03:20:28] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-29 03:20:28] [INFO]   -> Found value: 6824
[2026-01-29 03:20:28] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6824
[2026-01-29 03:20:28] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-29 03:20:28] [INFO]   -> Found value: TN
[2026-01-29 03:20:28] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-29 03:20:28] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-29 03:20:28] [INFO]   -> Found value: 38545
[2026-01-29 03:20:28] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38545
[2026-01-29 03:20:28] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-29 03:20:28] [INFO]   -> No value found (null or empty)
[2026-01-29 03:20:28] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-29 03:20:28] [INFO]   -> No value found (null or empty)
[2026-01-29 03:20:28] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-29 03:20:28] [INFO]   -> Found value: 36.20335
[2026-01-29 03:20:28] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.203350000000000363797880709171295166015625
[2026-01-29 03:20:28] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-29 03:20:28] [INFO]   -> Found value: -85.63479
[2026-01-29 03:20:28] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6347899999999953024598653428256511688232421875
[2026-01-29 03:20:28] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-29 03:20:28] [INFO]   -> Found value: 2026-01-28 21:19:53
[2026-01-29 03:20:28] [INFO]   -> Set field 'alarm' = "2026-01-28 21:19:53"
[2026-01-29 03:20:28] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-29 03:20:28] [INFO]   -> Found value: 2026-01-28 21:20:23
[2026-01-29 03:20:28] [INFO]   -> Set field 'dispatched' = "2026-01-28 21:20:23"
[2026-01-29 03:20:28] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-29 03:20:28] [INFO]   -> No value found (null or empty)
[2026-01-29 03:20:28] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-29 03:20:28] [INFO]   -> No value found (null or empty)
[2026-01-29 03:20:28] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-29 03:20:28] [INFO]   -> No value found (null or empty)
[2026-01-29 03:20:28] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-29 03:20:28] [INFO]   -> Found value: DEBERRY RD/CARRINGTON RD
[2026-01-29 03:20:28] [INFO]   -> Set field 'incidentLocationCross' = "DEBERRY RD\/CARRINGTON RD"
[2026-01-29 03:20:28] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-29 03:20:28] [INFO]   -> Found value: PCFR
[2026-01-29 03:20:28] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-29 03:20:28] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-29 03:20:28] [INFO]   -> Found value: 2026-01-28 21:20:23
[2026-01-29 03:20:28] [INFO]   -> Set field 'timedispatch' = "2026-01-28 21:20:23"
[2026-01-29 03:20:28] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-29 03:20:28] [INFO]   -> No value found (null or empty)
[2026-01-29 03:20:28] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-29 03:20:28] [INFO]   -> No value found (null or empty)
[2026-01-29 03:20:28] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-29 03:20:28] [INFO]   -> No value found (null or empty)
[2026-01-29 03:20:28] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-29 03:20:28] [INFO]   -> No value found (null or empty)
[2026-01-29 03:20:28] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-29 03:20:28] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-29 03:20:28] [INFO]   -> Found value: 20260010528
[2026-01-29 03:20:28] [INFO]   -> Set field 'policeReportNumber' = "20260010528"
[2026-01-29 03:20:28] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-29 03:20:28] [INFO]   -> Found value: [EMS] WENDY HAMMOCK 01/12/1991 SEVER PACK PAIN CANT MOVE  [01/28/26 21:20:16 SVOKOUN2] Event spawned...
[2026-01-29 03:20:28] [INFO]   -> Set field 'dispatchNotes' = "[EMS] WENDY HAMMOCK 01\/12\/1991 SEVER PACK PAIN CANT MOVE  [01\/28\/26 21:20:16 SVOKOUN2] Event spawned from BACK PAIN.  [01\/28\/2026 21:19:53 SVOKOUN2]"
[2026-01-29 03:20:28] [INFO]   -> Set field 'cADLog' = "[EMS] WENDY HAMMOCK 01\/12\/1991 SEVER PACK PAIN CANT MOVE  [01\/28\/26 21:20:16 SVOKOUN2] Event spawned from BACK PAIN.  [01\/28\/2026 21:19:53 SVOKOUN2]"
[2026-01-29 03:20:28] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-29 03:20:28] [INFO]   -> Found value: BLOOMINGTON SPRINGS
[2026-01-29 03:20:28] [INFO]   -> Set field 'incidentLocationCity' = "BLOOMINGTON SPRINGS"
[2026-01-29 03:20:28] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-29 03:20:28] [INFO]   -> Found value: MARTIN CREEK
[2026-01-29 03:20:28] [INFO]   -> Set field 'streetName' = "MARTIN CREEK"
[2026-01-29 03:20:28] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-29 03:20:28] [INFO]   -> Found value: RD
[2026-01-29 03:20:28] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-29 03:20:28] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-29 03:20:28] [INFO]   -> Found value: 6824 MARTIN CREEK RD
[2026-01-29 03:20:28] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6824 MARTIN CREEK RD"
[2026-01-29 03:20:28] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-29 03:20:28] [INFO] Concatenating street name and type
[2026-01-29 03:20:28] [INFO]   -> Combined street name: MARTIN CREEK RD
[2026-01-29 03:20:28] [INFO] Built locationCoordinates from lat/lng: 36.20335,-85.63479
[2026-01-29 03:20:28] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000264","dispatchRunNumber":"2026000264","incidentTypeValue1":"BACK PAIN","incidentLocationStreetNumber":6824,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38545,"nERISIncidentLatitude":36.203350000000000363797880709171295166015625,"nERISIncidentLongitude":-85.6347899999999953024598653428256511688232421875,"alarm":"2026-01-28 21:19:53","dispatched":"2026-01-28 21:20:23","incidentLocationCross":"DEBERRY RD\/CARRINGTON RD","cADVehicleID":"PCFR","timedispatch":"2026-01-28 21:20:23","policeReportNumber":"20260010528","dispatchNotes":"[EMS] WENDY HAMMOCK 01\/12\/1991 SEVER PACK PAIN CANT MOVE  [01\/28\/26 21:20:16 SVOKOUN2] Event spawned from BACK PAIN.  [01\/28\/2026 21:19:53 SVOKOUN2]","cADLog":"[EMS] WENDY HAMMOCK 01\/12\/1991 SEVER PACK PAIN CANT MOVE  [01\/28\/26 21:20:16 SVOKOUN2] Event spawned from BACK PAIN.  [01\/28\/2026 21:19:53 SVOKOUN2]","incidentLocationCity":"BLOOMINGTON SPRINGS","streetName":"MARTIN CREEK RD","incidentAddressTextVersionStreet":"6824 MARTIN CREEK RD","locationCoordinates":"36.20335,-85.63479"}
[2026-01-29 03:20:28] [INFO] Number of extracted fields: 21
[2026-01-29 03:20:28] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-29 03:20:28] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-01-29 03:20:28] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-29 03:20:28] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-29 03:20:28] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-29 03:20:28] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-29 03:20:28] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-29 03:20:28] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-29 03:20:28] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-29 03:20:28] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-29 03:20:28] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-29 03:20:29] [INFO] Found existing IncidentTypeMapping with ID: 6940a7df05db166fe
[2026-01-29 03:20:38] [INFO] Created new Dispatches record with ID: 697ad1fd54c18f02c
[2026-01-29 03:20:38] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-29 03:20:39] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-29 03:20:41] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010528_20260129_032028.XML
[2026-01-29 03:20:41] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010528_20260129_032028.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-29/PCFD_20260010528_20260129_032028.XML
[2026-01-29 03:20:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010528_20260129_032028.XML
[2026-01-29 05:28:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010561_20260129_052837.XML
[2026-01-29 05:28:38] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010561_20260129_052837.XML for user: 68f1466aed072ad4a
[2026-01-29 05:28:38] [INFO] File size: 5110 bytes
[2026-01-29 05:28:38] [INFO] Created FTPFiles record with ID: 697af006634ef89b7
[2026-01-29 05:28:38] [INFO] About to extract fields from XML. File size: 5110 bytes
[2026-01-29 05:28:38] [INFO] Number of mappings: 28
[2026-01-29 05:28:38] [INFO] Starting XML parsing. Content length: 5110
[2026-01-29 05:28:38] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-29 05:28:38] [INFO] Processing 28 field mappings
[2026-01-29 05:28:38] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-29 05:28:38] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-29 05:28:38] [INFO]   -> Found value: PCFD
[2026-01-29 05:28:38] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-01-29 05:28:38] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 05:28:38] [INFO]   -> Found value: 2026000265
[2026-01-29 05:28:38] [INFO]   -> Set field 'incidentInternalId' = "2026000265"
[2026-01-29 05:28:38] [INFO]   -> Set field 'dispatchRunNumber' = "2026000265"
[2026-01-29 05:28:38] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-29 05:28:38] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-01-29 05:28:38] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-01-29 05:28:38] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-29 05:28:38] [INFO]   -> Found value: 2700
[2026-01-29 05:28:38] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2700
[2026-01-29 05:28:38] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-29 05:28:38] [INFO]   -> Found value: TN
[2026-01-29 05:28:38] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-29 05:28:38] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-29 05:28:38] [INFO]   -> Found value: 38501
[2026-01-29 05:28:38] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-01-29 05:28:38] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-29 05:28:38] [INFO]   -> No value found (null or empty)
[2026-01-29 05:28:38] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-29 05:28:38] [INFO]   -> No value found (null or empty)
[2026-01-29 05:28:38] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-29 05:28:38] [INFO]   -> Found value: 36.17366
[2026-01-29 05:28:38] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1736599999999981491782818920910358428955078125
[2026-01-29 05:28:38] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-29 05:28:38] [INFO]   -> Found value: -85.58208
[2026-01-29 05:28:38] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5820800000000048157744458876550197601318359375
[2026-01-29 05:28:38] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-29 05:28:38] [INFO]   -> Found value: 2026-01-28 23:27:17
[2026-01-29 05:28:38] [INFO]   -> Set field 'alarm' = "2026-01-28 23:27:17"
[2026-01-29 05:28:38] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-29 05:28:38] [INFO]   -> Found value: 2026-01-28 23:28:29
[2026-01-29 05:28:38] [INFO]   -> Set field 'dispatched' = "2026-01-28 23:28:29"
[2026-01-29 05:28:38] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-29 05:28:38] [INFO]   -> No value found (null or empty)
[2026-01-29 05:28:38] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-29 05:28:38] [INFO]   -> No value found (null or empty)
[2026-01-29 05:28:38] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-29 05:28:38] [INFO]   -> No value found (null or empty)
[2026-01-29 05:28:38] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-29 05:28:38] [INFO]   -> Found value: N MCBROOM CHAPEL RD/EATON RD
[2026-01-29 05:28:38] [INFO]   -> Set field 'incidentLocationCross' = "N MCBROOM CHAPEL RD\/EATON RD"
[2026-01-29 05:28:38] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-29 05:28:38] [INFO]   -> Found value: EN31
[2026-01-29 05:28:38] [INFO]   -> Set field 'cADVehicleID' = "EN31"
[2026-01-29 05:28:38] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-29 05:28:38] [INFO]   -> Found value: 2026-01-28 23:28:29
[2026-01-29 05:28:38] [INFO]   -> Set field 'timedispatch' = "2026-01-28 23:28:29"
[2026-01-29 05:28:38] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-29 05:28:38] [INFO]   -> No value found (null or empty)
[2026-01-29 05:28:38] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-29 05:28:38] [INFO]   -> No value found (null or empty)
[2026-01-29 05:28:38] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-29 05:28:38] [INFO]   -> No value found (null or empty)
[2026-01-29 05:28:38] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-29 05:28:38] [INFO]   -> No value found (null or empty)
[2026-01-29 05:28:38] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-29 05:28:38] [INFO]   -> Found value: 20260010561
[2026-01-29 05:28:38] [INFO]   -> Set field 'policeReportNumber' = "20260010561"
[2026-01-29 05:28:38] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-29 05:28:38] [INFO]   -> Found value: CALLER GETTING EVERYONE OUT  [01/28/26 23:28:28 SVOKOUN2] NO SMOKE OR FLAMES ANYWHERE  [01/28/26 23:...
[2026-01-29 05:28:38] [INFO]   -> Set field 'dispatchNotes' = "CALLER GETTING EVERYONE OUT  [01\/28\/26 23:28:28 SVOKOUN2] NO SMOKE OR FLAMES ANYWHERE  [01\/28\/26 23:28:20 SVOKOUN2] SMELLS LIKE BURN RUBBER  [01\/28\/26 23:28:07 SVOKOUN2]"
[2026-01-29 05:28:38] [INFO]   -> Set field 'cADLog' = "CALLER GETTING EVERYONE OUT  [01\/28\/26 23:28:28 SVOKOUN2] NO SMOKE OR FLAMES ANYWHERE  [01\/28\/26 23:28:20 SVOKOUN2] SMELLS LIKE BURN RUBBER  [01\/28\/26 23:28:07 SVOKOUN2]"
[2026-01-29 05:28:38] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-29 05:28:38] [INFO]   -> Found value: COOKEVILLE
[2026-01-29 05:28:38] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-29 05:28:38] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-29 05:28:38] [INFO]   -> Found value: BROAD
[2026-01-29 05:28:38] [INFO]   -> Set field 'streetName' = "BROAD"
[2026-01-29 05:28:38] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-29 05:28:38] [INFO]   -> Found value: ST
[2026-01-29 05:28:38] [INFO]   -> Set field 'streetType' = "ST"
[2026-01-29 05:28:38] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-29 05:28:38] [INFO]   -> Found value: 2700 W BROAD ST
[2026-01-29 05:28:38] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2700 W BROAD ST"
[2026-01-29 05:28:38] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-29 05:28:38] [INFO] Concatenating street name and type
[2026-01-29 05:28:38] [INFO]   -> Combined street name: BROAD ST
[2026-01-29 05:28:38] [INFO] Built locationCoordinates from lat/lng: 36.17366,-85.58208
[2026-01-29 05:28:38] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000265","dispatchRunNumber":"2026000265","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":2700,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.1736599999999981491782818920910358428955078125,"nERISIncidentLongitude":-85.5820800000000048157744458876550197601318359375,"alarm":"2026-01-28 23:27:17","dispatched":"2026-01-28 23:28:29","incidentLocationCross":"N MCBROOM CHAPEL RD\/EATON RD","cADVehicleID":"EN31","timedispatch":"2026-01-28 23:28:29","policeReportNumber":"20260010561","dispatchNotes":"CALLER GETTING EVERYONE OUT  [01\/28\/26 23:28:28 SVOKOUN2] NO SMOKE OR FLAMES ANYWHERE  [01\/28\/26 23:28:20 SVOKOUN2] SMELLS LIKE BURN RUBBER  [01\/28\/26 23:28:07 SVOKOUN2]","cADLog":"CALLER GETTING EVERYONE OUT  [01\/28\/26 23:28:28 SVOKOUN2] NO SMOKE OR FLAMES ANYWHERE  [01\/28\/26 23:28:20 SVOKOUN2] SMELLS LIKE BURN RUBBER  [01\/28\/26 23:28:07 SVOKOUN2]","incidentLocationCity":"COOKEVILLE","streetName":"BROAD ST","incidentAddressTextVersionStreet":"2700 W BROAD ST","locationCoordinates":"36.17366,-85.58208"}
[2026-01-29 05:28:38] [INFO] Number of extracted fields: 21
[2026-01-29 05:28:38] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-01-29 05:28:38] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-01-29 05:28:38] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-01-29 05:28:38] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-29 05:28:38] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-29 05:28:38] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-29 05:28:38] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-29 05:28:38] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-29 05:28:38] [INFO] Found existing IncidentTypeMapping with ID: 693fd3603dbcab356
[2026-01-29 05:28:48] [INFO] Created new Dispatches record with ID: 697af0072e1750191
[2026-01-29 05:28:48] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-29 05:28:48] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-29 05:28:52] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010561_20260129_052837.XML
[2026-01-29 05:28:52] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010561_20260129_052837.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-29/PCFD_20260010561_20260129_052837.XML
[2026-01-29 05:28:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010561_20260129_052837.XML
[2026-01-29 06:11:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010574_20260129_061128.XML
[2026-01-29 06:11:28] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010574_20260129_061128.XML for user: 68f1466aed072ad4a
[2026-01-29 06:11:28] [INFO] File size: 5430 bytes
[2026-01-29 06:11:29] [INFO] Created FTPFiles record with ID: 697afa1116396dff6
[2026-01-29 06:11:29] [INFO] About to extract fields from XML. File size: 5430 bytes
[2026-01-29 06:11:29] [INFO] Number of mappings: 28
[2026-01-29 06:11:29] [INFO] Starting XML parsing. Content length: 5430
[2026-01-29 06:11:29] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-29 06:11:29] [INFO] Processing 28 field mappings
[2026-01-29 06:11:29] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-29 06:11:29] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-29 06:11:29] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-29 06:11:29] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-01-29 06:11:29] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-01-29 06:11:29] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-01-29 06:11:29] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 06:11:29] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-01-29 06:11:29] [INFO]   -> Found value: 2026000266
[2026-01-29 06:11:29] [INFO]   -> Set field 'incidentInternalId' = "2026000266"
[2026-01-29 06:11:29] [INFO]   -> Set field 'dispatchRunNumber' = "2026000266"
[2026-01-29 06:11:29] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-29 06:11:29] [INFO]   -> Found value: CHEST PAIN
[2026-01-29 06:11:29] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-01-29 06:11:29] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-29 06:11:29] [INFO]   -> Found value: 3010
[2026-01-29 06:11:29] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3010
[2026-01-29 06:11:29] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-29 06:11:29] [INFO]   -> Found value: TN
[2026-01-29 06:11:29] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-29 06:11:29] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-29 06:11:29] [INFO]   -> Found value: 38506
[2026-01-29 06:11:29] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-29 06:11:29] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-29 06:11:29] [INFO]   -> Found value: ERNIE BURGESS
[2026-01-29 06:11:29] [INFO]   -> Set field 'businessName' = "ERNIE BURGESS"
[2026-01-29 06:11:29] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-29 06:11:29] [INFO]   -> No value found (null or empty)
[2026-01-29 06:11:29] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-29 06:11:29] [INFO]   -> Found value: 36.24147
[2026-01-29 06:11:29] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.24146999999999962938090902753174304962158203125
[2026-01-29 06:11:29] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-29 06:11:29] [INFO]   -> Found value: -85.43627
[2026-01-29 06:11:29] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4362699999999932742866803891956806182861328125
[2026-01-29 06:11:29] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-29 06:11:29] [INFO]   -> Found value: 2026-01-29 00:10:57
[2026-01-29 06:11:29] [INFO]   -> Set field 'alarm' = "2026-01-29 00:10:57"
[2026-01-29 06:11:29] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-29 06:11:29] [INFO]   -> Found value: 2026-01-29 00:11:22
[2026-01-29 06:11:29] [INFO]   -> Set field 'dispatched' = "2026-01-29 00:11:22"
[2026-01-29 06:11:29] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-29 06:11:29] [INFO]   -> No value found (null or empty)
[2026-01-29 06:11:29] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-29 06:11:29] [INFO]   -> No value found (null or empty)
[2026-01-29 06:11:29] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-29 06:11:29] [INFO]   -> No value found (null or empty)
[2026-01-29 06:11:29] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-29 06:11:29] [INFO]   -> Found value: POSTON WHITEAKER RD/PRESLEY LN
[2026-01-29 06:11:29] [INFO]   -> Set field 'incidentLocationCross' = "POSTON WHITEAKER RD\/PRESLEY LN"
[2026-01-29 06:11:29] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-29 06:11:29] [INFO]   -> Found value: PCFR
[2026-01-29 06:11:29] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-29 06:11:29] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-29 06:11:29] [INFO]   -> Found value: 2026-01-29 00:11:22
[2026-01-29 06:11:29] [INFO]   -> Set field 'timedispatch' = "2026-01-29 00:11:22"
[2026-01-29 06:11:29] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-29 06:11:29] [INFO]   -> No value found (null or empty)
[2026-01-29 06:11:29] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-29 06:11:29] [INFO]   -> No value found (null or empty)
[2026-01-29 06:11:29] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-29 06:11:29] [INFO]   -> No value found (null or empty)
[2026-01-29 06:11:29] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-29 06:11:29] [INFO]   -> No value found (null or empty)
[2026-01-29 06:11:29] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-29 06:11:29] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-01-29 06:11:29] [INFO]   -> Found value: 20260010574
[2026-01-29 06:11:29] [INFO]   -> Set field 'policeReportNumber' = "20260010574"
[2026-01-29 06:11:29] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-29 06:11:29] [INFO]   -> Found value: [EMS] DONNIE BURGESS 80YOM AFIB  [01/29/26 00:11:19 SVOKOUN2] Event spawned from CHEST PAIN.  [01/29...
[2026-01-29 06:11:29] [INFO]   -> Set field 'dispatchNotes' = "[EMS] DONNIE BURGESS 80YOM AFIB  [01\/29\/26 00:11:19 SVOKOUN2] Event spawned from CHEST PAIN.  [01\/29\/2026 00:10:57 SVOKOUN2]"
[2026-01-29 06:11:29] [INFO]   -> Set field 'cADLog' = "[EMS] DONNIE BURGESS 80YOM AFIB  [01\/29\/26 00:11:19 SVOKOUN2] Event spawned from CHEST PAIN.  [01\/29\/2026 00:10:57 SVOKOUN2]"
[2026-01-29 06:11:29] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-29 06:11:29] [INFO]   -> Found value: COOKEVILLE
[2026-01-29 06:11:29] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-29 06:11:29] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-29 06:11:29] [INFO]   -> Found value: PARAN
[2026-01-29 06:11:29] [INFO]   -> Set field 'streetName' = "PARAN"
[2026-01-29 06:11:29] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-29 06:11:29] [INFO]   -> Found value: RD
[2026-01-29 06:11:29] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-29 06:11:29] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-29 06:11:29] [INFO]   -> Found value: 3010 PARAN RD
[2026-01-29 06:11:29] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3010 PARAN RD"
[2026-01-29 06:11:29] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-29 06:11:29] [INFO] Concatenating street name and type
[2026-01-29 06:11:29] [INFO]   -> Combined street name: PARAN RD
[2026-01-29 06:11:29] [INFO] Built locationCoordinates from lat/lng: 36.24147,-85.43627
[2026-01-29 06:11:29] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000266","dispatchRunNumber":"2026000266","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":3010,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"ERNIE BURGESS","nERISIncidentLatitude":36.24146999999999962938090902753174304962158203125,"nERISIncidentLongitude":-85.4362699999999932742866803891956806182861328125,"alarm":"2026-01-29 00:10:57","dispatched":"2026-01-29 00:11:22","incidentLocationCross":"POSTON WHITEAKER RD\/PRESLEY LN","cADVehicleID":"PCFR","timedispatch":"2026-01-29 00:11:22","policeReportNumber":"20260010574","dispatchNotes":"[EMS] DONNIE BURGESS 80YOM AFIB  [01\/29\/26 00:11:19 SVOKOUN2] Event spawned from CHEST PAIN.  [01\/29\/2026 00:10:57 SVOKOUN2]","cADLog":"[EMS] DONNIE BURGESS 80YOM AFIB  [01\/29\/26 00:11:19 SVOKOUN2] Event spawned from CHEST PAIN.  [01\/29\/2026 00:10:57 SVOKOUN2]","incidentLocationCity":"COOKEVILLE","streetName":"PARAN RD","incidentAddressTextVersionStreet":"3010 PARAN RD","locationCoordinates":"36.24147,-85.43627"}
[2026-01-29 06:11:29] [INFO] Number of extracted fields: 22
[2026-01-29 06:11:29] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-01-29 06:11:29] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-01-29 06:11:29] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-01-29 06:11:29] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-29 06:11:29] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-29 06:11:29] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-01-29 06:11:29] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-29 06:11:29] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-29 06:11:29] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-29 06:11:29] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-29 06:11:29] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-29 06:11:29] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-01-29 06:11:39] [INFO] Created new Dispatches record with ID: 697afa11cbf14ee2c
[2026-01-29 06:11:39] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-29 06:11:39] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-29 06:11:43] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010574_20260129_061128.XML
[2026-01-29 06:11:43] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010574_20260129_061128.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-29/PCFD_20260010574_20260129_061128.XML
[2026-01-29 06:11:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010574_20260129_061128.XML
[2026-01-29 07:10:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02968.xml
[2026-01-29 07:10:38] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02968.xml for user: 68d56363ec1209189
[2026-01-29 07:10:38] [INFO] File size: 2676 bytes
[2026-01-29 07:10:38] [INFO] Created FTPFiles record with ID: 697b07ee79f2420c8
[2026-01-29 07:10:38] [INFO] About to extract fields from XML. File size: 2676 bytes
[2026-01-29 07:10:38] [INFO] Number of mappings: 21
[2026-01-29 07:10:38] [INFO] Starting XML parsing. Content length: 2676
[2026-01-29 07:10:38] [INFO] XML parsed successfully. Root element: Incident
[2026-01-29 07:10:38] [INFO] Processing 21 field mappings
[2026-01-29 07:10:38] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-29 07:10:38] [INFO]   -> Found value: 26-02968
[2026-01-29 07:10:38] [INFO]   -> Set field 'dispatchRunNumber' = "26-02968"
[2026-01-29 07:10:38] [INFO]   -> Set field 'cADNumber' = "26-02968"
[2026-01-29 07:10:38] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-29 07:10:38] [INFO]   -> Found value: 2200
[2026-01-29 07:10:38] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2200
[2026-01-29 07:10:38] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-29 07:10:38] [INFO]   -> Found value: E MALONE AVE
[2026-01-29 07:10:38] [INFO]   -> Set field 'streetName' = "E MALONE AVE"
[2026-01-29 07:10:38] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-29 07:10:38] [INFO]   -> No value found (null or empty)
[2026-01-29 07:10:38] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-29 07:10:38] [INFO]   -> Found value: SIKESTON
[2026-01-29 07:10:38] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-29 07:10:38] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-29 07:10:38] [INFO]   -> Found value: TETRA PAK MATERIALS
[2026-01-29 07:10:38] [INFO]   -> Set field 'businessName' = "TETRA PAK MATERIALS"
[2026-01-29 07:10:38] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-29 07:10:38] [INFO]   -> Found value: MO
[2026-01-29 07:10:38] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-29 07:10:38] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-29 07:10:38] [INFO]   -> Found value: 63801
[2026-01-29 07:10:38] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-01-29 07:10:38] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-29 07:10:38] [INFO]   -> Found value: 0
[2026-01-29 07:10:38] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-29 07:10:38] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-29 07:10:38] [INFO]   -> Found value: 0
[2026-01-29 07:10:38] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-29 07:10:38] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-29 07:10:38] [INFO]   -> Found value: FIRE-ALARM MECH
[2026-01-29 07:10:38] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-ALARM MECH"
[2026-01-29 07:10:38] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-29 07:10:38] [INFO]   -> Found value: 01-29-2026 00:33:44|FIRE LOCATON
SMOKE DETECTOR CHARGING AREA
KEY HOLDER
CHRIS HARPER 573-258-9661 0...
[2026-01-29 07:10:38] [INFO]   -> Set field 'dispatchNotes' = "01-29-2026 00:33:44|FIRE LOCATON\nSMOKE DETECTOR CHARGING AREA\nKEY HOLDER\nCHRIS HARPER 573-258-9661 01-29-2026 00:38:26|542 SINGLE STORY NOTHING SHOWING MAKING CONTACT WITH OFFICE 01-29-2026 00:39:04|C87 WITH COMMAND 01-29-2026 00:41:19|MADE CONTACT THE BAILOR SYSTEM HAS BEEN CLOGGED POSSIBLY ON FIRE BUILDING FILLED WITH SMOKE 01-29-2026 01:09:46|COMMAND ADVISED HAS BEEN EXTIGUISHED ALL UNITS BACK IN SERVICE 01-29-2026 01:09:59|Disposition - SDPS PD:  NRN"
[2026-01-29 07:10:38] [INFO]   -> Set field 'cADLog' = "01-29-2026 00:33:44|FIRE LOCATON\nSMOKE DETECTOR CHARGING AREA\nKEY HOLDER\nCHRIS HARPER 573-258-9661 01-29-2026 00:38:26|542 SINGLE STORY NOTHING SHOWING MAKING CONTACT WITH OFFICE 01-29-2026 00:39:04|C87 WITH COMMAND 01-29-2026 00:41:19|MADE CONTACT THE BAILOR SYSTEM HAS BEEN CLOGGED POSSIBLY ON FIRE BUILDING FILLED WITH SMOKE 01-29-2026 01:09:46|COMMAND ADVISED HAS BEEN EXTIGUISHED ALL UNITS BACK IN SERVICE 01-29-2026 01:09:59|Disposition - SDPS PD:  NRN"
[2026-01-29 07:10:38] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-29 07:10:38] [INFO]   -> Found value: 01-29-2026T00:35:14
[2026-01-29 07:10:38] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T00:35:14
[2026-01-29 07:10:38] [ERROR] Error formatting datetime '2026-29-01T00:35:14': Failed to parse time string (2026-29-01T00:35:14) at position 6 (9): Unexpected character
[2026-01-29 07:10:38] [INFO]   -> Set field 'alarm' = null
[2026-01-29 07:10:38] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T00:35:14
[2026-01-29 07:10:38] [ERROR] Error formatting datetime '2026-29-01T00:35:14': Failed to parse time string (2026-29-01T00:35:14) at position 6 (9): Unexpected character
[2026-01-29 07:10:38] [INFO]   -> Set field 'dispatched' = null
[2026-01-29 07:10:38] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-29 07:10:38] [INFO]   -> Found value: 01-29-2026T00:39:10
[2026-01-29 07:10:38] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T00:39:10
[2026-01-29 07:10:38] [ERROR] Error formatting datetime '2026-29-01T00:39:10': Failed to parse time string (2026-29-01T00:39:10) at position 6 (9): Unexpected character
[2026-01-29 07:10:38] [INFO]   -> Set field 'onScene' = null
[2026-01-29 07:10:38] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-29 07:10:38] [INFO]   -> Found value: 01-29-2026T01:10:15
[2026-01-29 07:10:38] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T01:10:15
[2026-01-29 07:10:38] [ERROR] Error formatting datetime '2026-29-01T01:10:15': Failed to parse time string (2026-29-01T01:10:15) at position 6 (9): Unexpected character
[2026-01-29 07:10:38] [INFO]   -> Set field 'cleared' = null
[2026-01-29 07:10:38] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T01:10:15
[2026-01-29 07:10:38] [ERROR] Error formatting datetime '2026-29-01T01:10:15': Failed to parse time string (2026-29-01T01:10:15) at position 6 (9): Unexpected character
[2026-01-29 07:10:38] [INFO]   -> Set field 'inService' = null
[2026-01-29 07:10:38] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-29 07:10:38] [INFO]   -> Found value: ENG2
[2026-01-29 07:10:38] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-01-29 07:10:38] [INFO]   -> Set field 'name' = "ENG2"
[2026-01-29 07:10:38] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-29 07:10:38] [INFO]   -> Found value: 01-29-2026T00:37:57
[2026-01-29 07:10:38] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T00:37:57
[2026-01-29 07:10:38] [ERROR] Error formatting datetime '2026-29-01T00:37:57': Failed to parse time string (2026-29-01T00:37:57) at position 6 (9): Unexpected character
[2026-01-29 07:10:38] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-01-29 07:10:38] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-29 07:10:38] [INFO]   -> No value found (null or empty)
[2026-01-29 07:10:38] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-29 07:10:38] [INFO]   -> Found value: 01-29-2026T01:10:10
[2026-01-29 07:10:38] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T01:10:10
[2026-01-29 07:10:38] [ERROR] Error formatting datetime '2026-29-01T01:10:10': Failed to parse time string (2026-29-01T01:10:10) at position 6 (9): Unexpected character
[2026-01-29 07:10:38] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-29 07:10:38] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-29 07:10:38] [INFO]   -> Found value: 01-29-2026T00:37:44
[2026-01-29 07:10:38] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T00:37:44
[2026-01-29 07:10:38] [ERROR] Error formatting datetime '2026-29-01T00:37:44': Failed to parse time string (2026-29-01T00:37:44) at position 6 (9): Unexpected character
[2026-01-29 07:10:38] [INFO]   -> Set field 'timedispatch' = null
[2026-01-29 07:10:38] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-29 07:10:38] [INFO]   -> Found value: SDPSFD
[2026-01-29 07:10:38] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-01-29 07:10:38] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-01-29 07:10:38] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-29 07:10:38] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-02968","cADNumber":"26-02968","incidentLocationStreetNumber":2200,"streetName":"E MALONE AVE","incidentLocationCity":"SIKESTON","businessName":"TETRA PAK MATERIALS","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-ALARM MECH","dispatchNotes":"01-29-2026 00:33:44|FIRE LOCATON\nSMOKE DETECTOR CHARGING AREA\nKEY HOLDER\nCHRIS HARPER 573-258-9661 01-29-2026 00:38:26|542 SINGLE STORY NOTHING SHOWING MAKING CONTACT WITH OFFICE 01-29-2026 00:39:04|C87 WITH COMMAND 01-29-2026 00:41:19|MADE CONTACT THE BAILOR SYSTEM HAS BEEN CLOGGED POSSIBLY ON FIRE BUILDING FILLED WITH SMOKE 01-29-2026 01:09:46|COMMAND ADVISED HAS BEEN EXTIGUISHED ALL UNITS BACK IN SERVICE 01-29-2026 01:09:59|Disposition - SDPS PD:  NRN","cADLog":"01-29-2026 00:33:44|FIRE LOCATON\nSMOKE DETECTOR CHARGING AREA\nKEY HOLDER\nCHRIS HARPER 573-258-9661 01-29-2026 00:38:26|542 SINGLE STORY NOTHING SHOWING MAKING CONTACT WITH OFFICE 01-29-2026 00:39:04|C87 WITH COMMAND 01-29-2026 00:41:19|MADE CONTACT THE BAILOR SYSTEM HAS BEEN CLOGGED POSSIBLY ON FIRE BUILDING FILLED WITH SMOKE 01-29-2026 01:09:46|COMMAND ADVISED HAS BEEN EXTIGUISHED ALL UNITS BACK IN SERVICE 01-29-2026 01:09:59|Disposition - SDPS PD:  NRN","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-01-29 07:10:38] [INFO] Number of extracted fields: 25
[2026-01-29 07:10:38] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-01-29 07:10:38] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-29 07:10:38] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-01-29 07:10:38] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-01-29 07:10:38] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-01-29 07:10:38] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-01-29 07:10:38] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-01-29 07:10:38] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-01-29 07:10:38] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e872e5ae13
[2026-01-29 07:10:40] [INFO] Created new Dispatches record with ID: 697b07ef3f773f510
[2026-01-29 07:10:40] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02968.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-01-29/SDPSFD_26-02968.xml
[2026-01-29 07:10:40] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02968.xml
[2026-01-29 07:30:59] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010586_20260129_073059.XML
[2026-01-29 07:30:59] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010586_20260129_073059.XML for user: 68f1466aed072ad4a
[2026-01-29 07:30:59] [INFO] File size: 5263 bytes
[2026-01-29 07:31:00] [INFO] Created FTPFiles record with ID: 697b0cb415b9ee63b
[2026-01-29 07:31:00] [INFO] About to extract fields from XML. File size: 5263 bytes
[2026-01-29 07:31:00] [INFO] Number of mappings: 28
[2026-01-29 07:31:00] [INFO] Starting XML parsing. Content length: 5263
[2026-01-29 07:31:00] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-29 07:31:00] [INFO] Processing 28 field mappings
[2026-01-29 07:31:00] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-29 07:31:00] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-29 07:31:00] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-29 07:31:00] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-01-29 07:31:00] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-01-29 07:31:00] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-01-29 07:31:00] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 07:31:00] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-01-29 07:31:00] [INFO]   -> Found value: 2026000267
[2026-01-29 07:31:00] [INFO]   -> Set field 'incidentInternalId' = "2026000267"
[2026-01-29 07:31:00] [INFO]   -> Set field 'dispatchRunNumber' = "2026000267"
[2026-01-29 07:31:00] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-29 07:31:00] [INFO]   -> Found value: DIABETIC PROBLEM
[2026-01-29 07:31:00] [INFO]   -> Set field 'incidentTypeValue1' = "DIABETIC PROBLEM"
[2026-01-29 07:31:00] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-29 07:31:00] [INFO]   -> Found value: 1569
[2026-01-29 07:31:00] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1569
[2026-01-29 07:31:00] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-29 07:31:00] [INFO]   -> Found value: TN
[2026-01-29 07:31:00] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-29 07:31:00] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-29 07:31:00] [INFO]   -> Found value: 38544
[2026-01-29 07:31:00] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-01-29 07:31:00] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-29 07:31:00] [INFO]   -> No value found (null or empty)
[2026-01-29 07:31:00] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-29 07:31:00] [INFO]   -> No value found (null or empty)
[2026-01-29 07:31:00] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-29 07:31:00] [INFO]   -> Found value: 36.14578
[2026-01-29 07:31:00] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14578000000000201907823793590068817138671875
[2026-01-29 07:31:00] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-29 07:31:00] [INFO]   -> Found value: -85.69916
[2026-01-29 07:31:00] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6991600000000062209437601268291473388671875
[2026-01-29 07:31:00] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-29 07:31:00] [INFO]   -> Found value: 2026-01-29 01:30:43
[2026-01-29 07:31:00] [INFO]   -> Set field 'alarm' = "2026-01-29 01:30:43"
[2026-01-29 07:31:00] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-29 07:31:00] [INFO]   -> Found value: 2026-01-29 01:30:54
[2026-01-29 07:31:00] [INFO]   -> Set field 'dispatched' = "2026-01-29 01:30:54"
[2026-01-29 07:31:00] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-29 07:31:00] [INFO]   -> No value found (null or empty)
[2026-01-29 07:31:00] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-29 07:31:00] [INFO]   -> No value found (null or empty)
[2026-01-29 07:31:00] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-29 07:31:00] [INFO]   -> No value found (null or empty)
[2026-01-29 07:31:00] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-29 07:31:00] [INFO]   -> Found value: /TUCKER LN
[2026-01-29 07:31:00] [INFO]   -> Set field 'incidentLocationCross' = "\/TUCKER LN"
[2026-01-29 07:31:00] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-29 07:31:00] [INFO]   -> Found value: PCFR
[2026-01-29 07:31:00] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-29 07:31:00] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-29 07:31:00] [INFO]   -> Found value: 2026-01-29 01:30:54
[2026-01-29 07:31:00] [INFO]   -> Set field 'timedispatch' = "2026-01-29 01:30:54"
[2026-01-29 07:31:00] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-29 07:31:00] [INFO]   -> No value found (null or empty)
[2026-01-29 07:31:00] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-29 07:31:00] [INFO]   -> No value found (null or empty)
[2026-01-29 07:31:00] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-29 07:31:00] [INFO]   -> No value found (null or empty)
[2026-01-29 07:31:00] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-29 07:31:00] [INFO]   -> No value found (null or empty)
[2026-01-29 07:31:00] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-29 07:31:00] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-01-29 07:31:00] [INFO]   -> Found value: 20260010586
[2026-01-29 07:31:00] [INFO]   -> Set field 'policeReportNumber' = "20260010586"
[2026-01-29 07:31:00] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-29 07:31:00] [INFO]   -> Found value: Event spawned from DIABETIC PROBLEM.  [01/29/2026 01:30:43 SVOKOUN2]
[2026-01-29 07:31:00] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from DIABETIC PROBLEM.  [01\/29\/2026 01:30:43 SVOKOUN2]"
[2026-01-29 07:31:00] [INFO]   -> Set field 'cADLog' = "Event spawned from DIABETIC PROBLEM.  [01\/29\/2026 01:30:43 SVOKOUN2]"
[2026-01-29 07:31:00] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-29 07:31:00] [INFO]   -> Found value: BAXTER
[2026-01-29 07:31:00] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-01-29 07:31:00] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-29 07:31:00] [INFO]   -> Found value: TIGHTFIT
[2026-01-29 07:31:00] [INFO]   -> Set field 'streetName' = "TIGHTFIT"
[2026-01-29 07:31:00] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-29 07:31:00] [INFO]   -> Found value: LN
[2026-01-29 07:31:00] [INFO]   -> Set field 'streetType' = "LN"
[2026-01-29 07:31:00] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-29 07:31:00] [INFO]   -> Found value: 1569 TIGHTFIT LN
[2026-01-29 07:31:00] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1569 TIGHTFIT LN"
[2026-01-29 07:31:00] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-29 07:31:00] [INFO] Concatenating street name and type
[2026-01-29 07:31:00] [INFO]   -> Combined street name: TIGHTFIT LN
[2026-01-29 07:31:00] [INFO] Built locationCoordinates from lat/lng: 36.14578,-85.69916
[2026-01-29 07:31:00] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000267","dispatchRunNumber":"2026000267","incidentTypeValue1":"DIABETIC PROBLEM","incidentLocationStreetNumber":1569,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.14578000000000201907823793590068817138671875,"nERISIncidentLongitude":-85.6991600000000062209437601268291473388671875,"alarm":"2026-01-29 01:30:43","dispatched":"2026-01-29 01:30:54","incidentLocationCross":"\/TUCKER LN","cADVehicleID":"PCFR","timedispatch":"2026-01-29 01:30:54","policeReportNumber":"20260010586","dispatchNotes":"Event spawned from DIABETIC PROBLEM.  [01\/29\/2026 01:30:43 SVOKOUN2]","cADLog":"Event spawned from DIABETIC PROBLEM.  [01\/29\/2026 01:30:43 SVOKOUN2]","incidentLocationCity":"BAXTER","streetName":"TIGHTFIT LN","incidentAddressTextVersionStreet":"1569 TIGHTFIT LN","locationCoordinates":"36.14578,-85.69916"}
[2026-01-29 07:31:00] [INFO] Number of extracted fields: 21
[2026-01-29 07:31:00] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-01-29 07:31:00] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-01-29 07:31:00] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-01-29 07:31:00] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-29 07:31:00] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-29 07:31:00] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-01-29 07:31:00] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-29 07:31:00] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-29 07:31:00] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-29 07:31:00] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-29 07:31:00] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-29 07:31:00] [INFO] Found existing IncidentTypeMapping with ID: 6937a13f0053c6dd7
[2026-01-29 07:31:10] [INFO] Created new Dispatches record with ID: 697b0cb4cd0ddf9ab
[2026-01-29 07:31:10] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-29 07:31:10] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-29 07:31:13] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010586_20260129_073059.XML
[2026-01-29 07:31:13] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010586_20260129_073059.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-29/PCFD_20260010586_20260129_073059.XML
[2026-01-29 07:31:13] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010586_20260129_073059.XML
[2026-01-29 10:18:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-02986.xml
[2026-01-29 10:18:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-02986.xml for user: 68d56363ec1209189
[2026-01-29 10:18:25] [INFO] File size: 1514 bytes
[2026-01-29 10:18:25] [INFO] Created FTPFiles record with ID: 697b33f1821f0b0ea
[2026-01-29 10:18:25] [INFO] About to extract fields from XML. File size: 1514 bytes
[2026-01-29 10:18:25] [INFO] Number of mappings: 21
[2026-01-29 10:18:25] [INFO] Starting XML parsing. Content length: 1514
[2026-01-29 10:18:25] [INFO] XML parsed successfully. Root element: Incident
[2026-01-29 10:18:25] [INFO] Processing 21 field mappings
[2026-01-29 10:18:25] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-29 10:18:25] [INFO]   -> Found value: 26-02986
[2026-01-29 10:18:25] [INFO]   -> Set field 'dispatchRunNumber' = "26-02986"
[2026-01-29 10:18:25] [INFO]   -> Set field 'cADNumber' = "26-02986"
[2026-01-29 10:18:25] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-29 10:18:25] [INFO]   -> Found value: 304
[2026-01-29 10:18:25] [INFO]   -> Set field 'incidentLocationStreetNumber' = 304
[2026-01-29 10:18:25] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-29 10:18:25] [INFO]   -> Found value: N PAWNEE AVE
[2026-01-29 10:18:25] [INFO]   -> Set field 'streetName' = "N PAWNEE AVE"
[2026-01-29 10:18:25] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-29 10:18:25] [INFO]   -> No value found (null or empty)
[2026-01-29 10:18:25] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-29 10:18:25] [INFO]   -> Found value: BLODGETT
[2026-01-29 10:18:25] [INFO]   -> Set field 'incidentLocationCity' = "BLODGETT"
[2026-01-29 10:18:25] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-29 10:18:25] [INFO]   -> No value found (null or empty)
[2026-01-29 10:18:25] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-29 10:18:25] [INFO]   -> No value found (null or empty)
[2026-01-29 10:18:25] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-29 10:18:25] [INFO]   -> Found value: 63824
[2026-01-29 10:18:25] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63824
[2026-01-29 10:18:25] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-29 10:18:25] [INFO]   -> Found value: 0
[2026-01-29 10:18:25] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-29 10:18:25] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-29 10:18:25] [INFO]   -> Found value: 0
[2026-01-29 10:18:25] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-29 10:18:25] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-29 10:18:25] [INFO]   -> Found value: MEDICAL
[2026-01-29 10:18:25] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL"
[2026-01-29 10:18:25] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-29 10:18:25] [INFO]   -> Found value: 01-29-2026 04:01:57|73 M FELL OUT OF BED UNABLE  TO GET UP 01-29-2026 04:17:50|MALE HAS BEEN PICKED ...
[2026-01-29 10:18:25] [INFO]   -> Set field 'dispatchNotes' = "01-29-2026 04:01:57|73 M FELL OUT OF BED UNABLE  TO GET UP 01-29-2026 04:17:50|MALE HAS BEEN PICKED UP OFF THE FLOOR AND BACK IN BED 01-29-2026 04:17:55|ADVISED EMS CAN DISREGARD 01-29-2026 04:18:20|Disposition - SSCA:  NRN"
[2026-01-29 10:18:25] [INFO]   -> Set field 'cADLog' = "01-29-2026 04:01:57|73 M FELL OUT OF BED UNABLE  TO GET UP 01-29-2026 04:17:50|MALE HAS BEEN PICKED UP OFF THE FLOOR AND BACK IN BED 01-29-2026 04:17:55|ADVISED EMS CAN DISREGARD 01-29-2026 04:18:20|Disposition - SSCA:  NRN"
[2026-01-29 10:18:25] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-29 10:18:25] [INFO]   -> Found value: 01-29-2026T04:03:48
[2026-01-29 10:18:25] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T04:03:48
[2026-01-29 10:18:25] [ERROR] Error formatting datetime '2026-29-01T04:03:48': Failed to parse time string (2026-29-01T04:03:48) at position 6 (9): Unexpected character
[2026-01-29 10:18:25] [INFO]   -> Set field 'alarm' = null
[2026-01-29 10:18:25] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T04:03:48
[2026-01-29 10:18:25] [ERROR] Error formatting datetime '2026-29-01T04:03:48': Failed to parse time string (2026-29-01T04:03:48) at position 6 (9): Unexpected character
[2026-01-29 10:18:25] [INFO]   -> Set field 'dispatched' = null
[2026-01-29 10:18:25] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-29 10:18:25] [INFO]   -> Found value: 01-29-2026T04:10:53
[2026-01-29 10:18:25] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T04:10:53
[2026-01-29 10:18:25] [ERROR] Error formatting datetime '2026-29-01T04:10:53': Failed to parse time string (2026-29-01T04:10:53) at position 6 (9): Unexpected character
[2026-01-29 10:18:25] [INFO]   -> Set field 'onScene' = null
[2026-01-29 10:18:25] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-29 10:18:25] [INFO]   -> No value found (null or empty)
[2026-01-29 10:18:25] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-29 10:18:25] [INFO]   -> Found value: RURAL PAGE
[2026-01-29 10:18:25] [INFO]   -> Set field 'cADVehicleID' = "RURAL PAGE"
[2026-01-29 10:18:25] [INFO]   -> Set field 'name' = "RURAL PAGE"
[2026-01-29 10:18:25] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-29 10:18:25] [INFO]   -> No value found (null or empty)
[2026-01-29 10:18:25] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-29 10:18:25] [INFO]   -> No value found (null or empty)
[2026-01-29 10:18:25] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-29 10:18:25] [INFO]   -> Found value: 01-29-2026T04:18:10
[2026-01-29 10:18:25] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T04:18:10
[2026-01-29 10:18:25] [ERROR] Error formatting datetime '2026-29-01T04:18:10': Failed to parse time string (2026-29-01T04:18:10) at position 6 (9): Unexpected character
[2026-01-29 10:18:25] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-29 10:18:25] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-29 10:18:25] [INFO]   -> Found value: 01-29-2026T04:03:50
[2026-01-29 10:18:25] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T04:03:50
[2026-01-29 10:18:25] [ERROR] Error formatting datetime '2026-29-01T04:03:50': Failed to parse time string (2026-29-01T04:03:50) at position 6 (9): Unexpected character
[2026-01-29 10:18:25] [INFO]   -> Set field 'timedispatch' = null
[2026-01-29 10:18:25] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-29 10:18:25] [INFO]   -> Found value: SCRFD
[2026-01-29 10:18:25] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-01-29 10:18:25] [INFO] Finished extracting fields. Total fields extracted: 19
[2026-01-29 10:18:25] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-29 10:18:25] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-02986","cADNumber":"26-02986","incidentLocationStreetNumber":304,"streetName":"N PAWNEE AVE","incidentLocationCity":"BLODGETT","nERISIncidentPostalCode":63824,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"MEDICAL","dispatchNotes":"01-29-2026 04:01:57|73 M FELL OUT OF BED UNABLE  TO GET UP 01-29-2026 04:17:50|MALE HAS BEEN PICKED UP OFF THE FLOOR AND BACK IN BED 01-29-2026 04:17:55|ADVISED EMS CAN DISREGARD 01-29-2026 04:18:20|Disposition - SSCA:  NRN","cADLog":"01-29-2026 04:01:57|73 M FELL OUT OF BED UNABLE  TO GET UP 01-29-2026 04:17:50|MALE HAS BEEN PICKED UP OFF THE FLOOR AND BACK IN BED 01-29-2026 04:17:55|ADVISED EMS CAN DISREGARD 01-29-2026 04:18:20|Disposition - SSCA:  NRN","alarm":null,"dispatched":null,"onScene":null,"cADVehicleID":"RURAL PAGE","name":"RURAL PAGE","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-01-29 10:18:25] [INFO] Number of extracted fields: 20
[2026-01-29 10:18:25] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-01-29 10:18:25] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SCRFD', Parsed IDs = ["SCRFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-29 10:18:25] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-01-29 10:18:25] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-01-29 10:18:25] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-01-29 10:18:25] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-01-29 10:18:25] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-01-29 10:18:25] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-01-29 10:18:26] [INFO] Found existing IncidentTypeMapping with ID: 6979040ce473322a8
[2026-01-29 10:18:26] [INFO] Found existing Dispatch with cADNumber '26-02986', ID: 697b308b97cfe8b3a - will update instead of create
[2026-01-29 10:18:26] [INFO] Updated existing Dispatches record with ID: 697b308b97cfe8b3a
[2026-01-29 10:18:26] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-02986.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-01-29/SCRFD_26-02986.xml
[2026-01-29 10:18:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-02986.xml
[2026-01-29 10:19:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-02986.xml
[2026-01-29 10:19:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-02986.xml for user: 68d56363ec1209189
[2026-01-29 10:19:25] [INFO] File size: 1762 bytes
[2026-01-29 10:19:26] [INFO] Created FTPFiles record with ID: 697b342e074aa380e
[2026-01-29 10:19:26] [INFO] About to extract fields from XML. File size: 1762 bytes
[2026-01-29 10:19:26] [INFO] Number of mappings: 21
[2026-01-29 10:19:26] [INFO] Starting XML parsing. Content length: 1762
[2026-01-29 10:19:26] [INFO] XML parsed successfully. Root element: Incident
[2026-01-29 10:19:26] [INFO] Processing 21 field mappings
[2026-01-29 10:19:26] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-29 10:19:26] [INFO]   -> Found value: 26-02986
[2026-01-29 10:19:26] [INFO]   -> Set field 'dispatchRunNumber' = "26-02986"
[2026-01-29 10:19:26] [INFO]   -> Set field 'cADNumber' = "26-02986"
[2026-01-29 10:19:26] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-29 10:19:26] [INFO]   -> Found value: 304
[2026-01-29 10:19:26] [INFO]   -> Set field 'incidentLocationStreetNumber' = 304
[2026-01-29 10:19:26] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-29 10:19:26] [INFO]   -> Found value: N PAWNEE AVE
[2026-01-29 10:19:26] [INFO]   -> Set field 'streetName' = "N PAWNEE AVE"
[2026-01-29 10:19:26] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-29 10:19:26] [INFO]   -> No value found (null or empty)
[2026-01-29 10:19:26] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-29 10:19:26] [INFO]   -> Found value: BLODGETT
[2026-01-29 10:19:26] [INFO]   -> Set field 'incidentLocationCity' = "BLODGETT"
[2026-01-29 10:19:26] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-29 10:19:26] [INFO]   -> No value found (null or empty)
[2026-01-29 10:19:26] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-29 10:19:26] [INFO]   -> No value found (null or empty)
[2026-01-29 10:19:26] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-29 10:19:26] [INFO]   -> Found value: 63824
[2026-01-29 10:19:26] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63824
[2026-01-29 10:19:26] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-29 10:19:26] [INFO]   -> Found value: 0
[2026-01-29 10:19:26] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-29 10:19:26] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-29 10:19:26] [INFO]   -> Found value: 0
[2026-01-29 10:19:26] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-29 10:19:26] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-29 10:19:26] [INFO]   -> Found value: MEDICAL
[2026-01-29 10:19:26] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL"
[2026-01-29 10:19:26] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-29 10:19:26] [INFO]   -> Found value: 01-29-2026 04:01:57|73 M FELL OUT OF BED UNABLE  TO GET UP 01-29-2026 04:17:50|MALE HAS BEEN PICKED ...
[2026-01-29 10:19:26] [INFO]   -> Set field 'dispatchNotes' = "01-29-2026 04:01:57|73 M FELL OUT OF BED UNABLE  TO GET UP 01-29-2026 04:17:50|MALE HAS BEEN PICKED UP OFF THE FLOOR AND BACK IN BED 01-29-2026 04:17:55|ADVISED EMS CAN DISREGARD 01-29-2026 04:18:20|Disposition - SSCA:  NRN 01-29-2026 04:18:23|Disposition - Scott County Rural:  NRN\nDisposition - SSCA:  NRN 01-29-2026 04:18:30|Disposition - SSCA UNIT:  RPT 01-29-2026 04:18:36|Disposition - Scott County S.O. (MO):  NRN\nDisposition - SSCA UNIT:  RPT"
[2026-01-29 10:19:26] [INFO]   -> Set field 'cADLog' = "01-29-2026 04:01:57|73 M FELL OUT OF BED UNABLE  TO GET UP 01-29-2026 04:17:50|MALE HAS BEEN PICKED UP OFF THE FLOOR AND BACK IN BED 01-29-2026 04:17:55|ADVISED EMS CAN DISREGARD 01-29-2026 04:18:20|Disposition - SSCA:  NRN 01-29-2026 04:18:23|Disposition - Scott County Rural:  NRN\nDisposition - SSCA:  NRN 01-29-2026 04:18:30|Disposition - SSCA UNIT:  RPT 01-29-2026 04:18:36|Disposition - Scott County S.O. (MO):  NRN\nDisposition - SSCA UNIT:  RPT"
[2026-01-29 10:19:26] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-29 10:19:26] [INFO]   -> Found value: 01-29-2026T04:03:48
[2026-01-29 10:19:26] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T04:03:48
[2026-01-29 10:19:26] [ERROR] Error formatting datetime '2026-29-01T04:03:48': Failed to parse time string (2026-29-01T04:03:48) at position 6 (9): Unexpected character
[2026-01-29 10:19:26] [INFO]   -> Set field 'alarm' = null
[2026-01-29 10:19:26] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T04:03:48
[2026-01-29 10:19:26] [ERROR] Error formatting datetime '2026-29-01T04:03:48': Failed to parse time string (2026-29-01T04:03:48) at position 6 (9): Unexpected character
[2026-01-29 10:19:26] [INFO]   -> Set field 'dispatched' = null
[2026-01-29 10:19:26] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-29 10:19:26] [INFO]   -> Found value: 01-29-2026T04:10:53
[2026-01-29 10:19:26] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T04:10:53
[2026-01-29 10:19:26] [ERROR] Error formatting datetime '2026-29-01T04:10:53': Failed to parse time string (2026-29-01T04:10:53) at position 6 (9): Unexpected character
[2026-01-29 10:19:26] [INFO]   -> Set field 'onScene' = null
[2026-01-29 10:19:26] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-29 10:19:26] [INFO]   -> Found value: 01-29-2026T04:18:27
[2026-01-29 10:19:26] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T04:18:27
[2026-01-29 10:19:26] [ERROR] Error formatting datetime '2026-29-01T04:18:27': Failed to parse time string (2026-29-01T04:18:27) at position 6 (9): Unexpected character
[2026-01-29 10:19:26] [INFO]   -> Set field 'cleared' = null
[2026-01-29 10:19:26] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T04:18:27
[2026-01-29 10:19:26] [ERROR] Error formatting datetime '2026-29-01T04:18:27': Failed to parse time string (2026-29-01T04:18:27) at position 6 (9): Unexpected character
[2026-01-29 10:19:26] [INFO]   -> Set field 'inService' = null
[2026-01-29 10:19:26] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-29 10:19:26] [INFO]   -> Found value: RURAL PAGE
[2026-01-29 10:19:26] [INFO]   -> Set field 'cADVehicleID' = "RURAL PAGE"
[2026-01-29 10:19:26] [INFO]   -> Set field 'name' = "RURAL PAGE"
[2026-01-29 10:19:26] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-29 10:19:26] [INFO]   -> No value found (null or empty)
[2026-01-29 10:19:26] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-29 10:19:26] [INFO]   -> No value found (null or empty)
[2026-01-29 10:19:26] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-29 10:19:26] [INFO]   -> Found value: 01-29-2026T04:18:10
[2026-01-29 10:19:26] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T04:18:10
[2026-01-29 10:19:26] [ERROR] Error formatting datetime '2026-29-01T04:18:10': Failed to parse time string (2026-29-01T04:18:10) at position 6 (9): Unexpected character
[2026-01-29 10:19:26] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-29 10:19:26] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-29 10:19:26] [INFO]   -> Found value: 01-29-2026T04:03:50
[2026-01-29 10:19:26] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T04:03:50
[2026-01-29 10:19:26] [ERROR] Error formatting datetime '2026-29-01T04:03:50': Failed to parse time string (2026-29-01T04:03:50) at position 6 (9): Unexpected character
[2026-01-29 10:19:26] [INFO]   -> Set field 'timedispatch' = null
[2026-01-29 10:19:26] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-29 10:19:26] [INFO]   -> Found value: SCRFD
[2026-01-29 10:19:26] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-01-29 10:19:26] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-29 10:19:26] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-29 10:19:26] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-02986","cADNumber":"26-02986","incidentLocationStreetNumber":304,"streetName":"N PAWNEE AVE","incidentLocationCity":"BLODGETT","nERISIncidentPostalCode":63824,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"MEDICAL","dispatchNotes":"01-29-2026 04:01:57|73 M FELL OUT OF BED UNABLE  TO GET UP 01-29-2026 04:17:50|MALE HAS BEEN PICKED UP OFF THE FLOOR AND BACK IN BED 01-29-2026 04:17:55|ADVISED EMS CAN DISREGARD 01-29-2026 04:18:20|Disposition - SSCA:  NRN 01-29-2026 04:18:23|Disposition - Scott County Rural:  NRN\nDisposition - SSCA:  NRN 01-29-2026 04:18:30|Disposition - SSCA UNIT:  RPT 01-29-2026 04:18:36|Disposition - Scott County S.O. (MO):  NRN\nDisposition - SSCA UNIT:  RPT","cADLog":"01-29-2026 04:01:57|73 M FELL OUT OF BED UNABLE  TO GET UP 01-29-2026 04:17:50|MALE HAS BEEN PICKED UP OFF THE FLOOR AND BACK IN BED 01-29-2026 04:17:55|ADVISED EMS CAN DISREGARD 01-29-2026 04:18:20|Disposition - SSCA:  NRN 01-29-2026 04:18:23|Disposition - Scott County Rural:  NRN\nDisposition - SSCA:  NRN 01-29-2026 04:18:30|Disposition - SSCA UNIT:  RPT 01-29-2026 04:18:36|Disposition - Scott County S.O. (MO):  NRN\nDisposition - SSCA UNIT:  RPT","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"RURAL PAGE","name":"RURAL PAGE","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-01-29 10:19:26] [INFO] Number of extracted fields: 22
[2026-01-29 10:19:26] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-01-29 10:19:26] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SCRFD', Parsed IDs = ["SCRFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-29 10:19:26] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-01-29 10:19:26] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-01-29 10:19:26] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-01-29 10:19:26] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-01-29 10:19:26] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-01-29 10:19:26] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-01-29 10:19:26] [INFO] Found existing IncidentTypeMapping with ID: 6979040ce473322a8
[2026-01-29 10:19:26] [INFO] Found existing Dispatch with cADNumber '26-02986', ID: 697b33ffdc7646e91 - will update instead of create
[2026-01-29 10:19:27] [INFO] Updated existing Dispatches record with ID: 697b33ffdc7646e91
[2026-01-29 10:19:27] [INFO] File already exists in archive, using unique name: SCRFD_26-02986_1769681967.xml
[2026-01-29 10:19:27] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-02986.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-01-29/SCRFD_26-02986_1769681967.xml
[2026-01-29 10:19:27] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-02986.xml
[2026-01-29 11:58:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02993.xml
[2026-01-29 11:58:52] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02993.xml for user: 68d56363ec1209189
[2026-01-29 11:58:52] [INFO] File size: 2183 bytes
[2026-01-29 11:58:52] [INFO] Created FTPFiles record with ID: 697b4b7c8c6a36607
[2026-01-29 11:58:52] [INFO] About to extract fields from XML. File size: 2183 bytes
[2026-01-29 11:58:52] [INFO] Number of mappings: 21
[2026-01-29 11:58:52] [INFO] Starting XML parsing. Content length: 2183
[2026-01-29 11:58:52] [INFO] XML parsed successfully. Root element: Incident
[2026-01-29 11:58:52] [INFO] Processing 21 field mappings
[2026-01-29 11:58:52] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-29 11:58:52] [INFO]   -> Found value: 26-02993
[2026-01-29 11:58:52] [INFO]   -> Set field 'dispatchRunNumber' = "26-02993"
[2026-01-29 11:58:52] [INFO]   -> Set field 'cADNumber' = "26-02993"
[2026-01-29 11:58:52] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-29 11:58:52] [INFO]   -> Found value: 412
[2026-01-29 11:58:52] [INFO]   -> Set field 'incidentLocationStreetNumber' = 412
[2026-01-29 11:58:52] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-29 11:58:52] [INFO]   -> Found value: E CENTER ST
[2026-01-29 11:58:52] [INFO]   -> Set field 'streetName' = "E CENTER ST"
[2026-01-29 11:58:52] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-29 11:58:52] [INFO]   -> No value found (null or empty)
[2026-01-29 11:58:52] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-29 11:58:52] [INFO]   -> Found value: SIKESTON
[2026-01-29 11:58:52] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-29 11:58:52] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-29 11:58:52] [INFO]   -> No value found (null or empty)
[2026-01-29 11:58:52] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-29 11:58:52] [INFO]   -> Found value: MO
[2026-01-29 11:58:52] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-29 11:58:52] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-29 11:58:52] [INFO]   -> Found value: 63801
[2026-01-29 11:58:52] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-01-29 11:58:52] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-29 11:58:52] [INFO]   -> Found value: 0
[2026-01-29 11:58:52] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-29 11:58:52] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-29 11:58:52] [INFO]   -> Found value: 0
[2026-01-29 11:58:52] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-29 11:58:52] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-29 11:58:52] [INFO]   -> Found value: FIRE-GAS LEAK
[2026-01-29 11:58:52] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-GAS LEAK"
[2026-01-29 11:58:52] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-29 11:58:52] [INFO]   -> Found value: 01-29-2026 05:30:44|Call Received on 01/29/2026 @ 05:30

CORBON DIOXIDE ALARM GOING OFF 
DOESN'T SME...
[2026-01-29 11:58:52] [INFO]   -> Set field 'dispatchNotes' = "01-29-2026 05:30:44|Call Received on 01\/29\/2026 @ 05:30\n\nCORBON DIOXIDE ALARM GOING OFF \nDOESN'T SMELL ANYTHING \nRP GOING OUTSIDE 01-29-2026 05:41:30|SINGLE STORY NOTHING SHOWING RESIDENCE OUTSIDE 01-29-2026 05:58:30|NOTHING LOCATED PER ENG 2 ALL UNITS IN SERVICE"
[2026-01-29 11:58:52] [INFO]   -> Set field 'cADLog' = "01-29-2026 05:30:44|Call Received on 01\/29\/2026 @ 05:30\n\nCORBON DIOXIDE ALARM GOING OFF \nDOESN'T SMELL ANYTHING \nRP GOING OUTSIDE 01-29-2026 05:41:30|SINGLE STORY NOTHING SHOWING RESIDENCE OUTSIDE 01-29-2026 05:58:30|NOTHING LOCATED PER ENG 2 ALL UNITS IN SERVICE"
[2026-01-29 11:58:52] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-29 11:58:52] [INFO]   -> Found value: 01-29-2026T05:35:05
[2026-01-29 11:58:52] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T05:35:05
[2026-01-29 11:58:52] [ERROR] Error formatting datetime '2026-29-01T05:35:05': Failed to parse time string (2026-29-01T05:35:05) at position 6 (9): Unexpected character
[2026-01-29 11:58:52] [INFO]   -> Set field 'alarm' = null
[2026-01-29 11:58:52] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T05:35:05
[2026-01-29 11:58:52] [ERROR] Error formatting datetime '2026-29-01T05:35:05': Failed to parse time string (2026-29-01T05:35:05) at position 6 (9): Unexpected character
[2026-01-29 11:58:52] [INFO]   -> Set field 'dispatched' = null
[2026-01-29 11:58:52] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-29 11:58:52] [INFO]   -> Found value: 01-29-2026T05:40:57
[2026-01-29 11:58:52] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T05:40:57
[2026-01-29 11:58:52] [ERROR] Error formatting datetime '2026-29-01T05:40:57': Failed to parse time string (2026-29-01T05:40:57) at position 6 (9): Unexpected character
[2026-01-29 11:58:52] [INFO]   -> Set field 'onScene' = null
[2026-01-29 11:58:52] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-29 11:58:52] [INFO]   -> Found value: 01-29-2026T05:58:33
[2026-01-29 11:58:52] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T05:58:33
[2026-01-29 11:58:52] [ERROR] Error formatting datetime '2026-29-01T05:58:33': Failed to parse time string (2026-29-01T05:58:33) at position 6 (9): Unexpected character
[2026-01-29 11:58:52] [INFO]   -> Set field 'cleared' = null
[2026-01-29 11:58:52] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T05:58:33
[2026-01-29 11:58:52] [ERROR] Error formatting datetime '2026-29-01T05:58:33': Failed to parse time string (2026-29-01T05:58:33) at position 6 (9): Unexpected character
[2026-01-29 11:58:52] [INFO]   -> Set field 'inService' = null
[2026-01-29 11:58:52] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-29 11:58:52] [INFO]   -> Found value: ENG2
[2026-01-29 11:58:52] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-01-29 11:58:52] [INFO]   -> Set field 'name' = "ENG2"
[2026-01-29 11:58:52] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-29 11:58:52] [INFO]   -> Found value: 01-29-2026T05:38:29
[2026-01-29 11:58:52] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T05:38:29
[2026-01-29 11:58:52] [ERROR] Error formatting datetime '2026-29-01T05:38:29': Failed to parse time string (2026-29-01T05:38:29) at position 6 (9): Unexpected character
[2026-01-29 11:58:52] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-01-29 11:58:52] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-29 11:58:52] [INFO]   -> Found value: 01-29-2026T05:42:06
[2026-01-29 11:58:52] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T05:42:06
[2026-01-29 11:58:52] [ERROR] Error formatting datetime '2026-29-01T05:42:06': Failed to parse time string (2026-29-01T05:42:06) at position 6 (9): Unexpected character
[2026-01-29 11:58:52] [INFO]   -> Set field 'timeonscene' = null
[2026-01-29 11:58:52] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-29 11:58:52] [INFO]   -> Found value: 01-29-2026T05:58:33
[2026-01-29 11:58:52] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T05:58:33
[2026-01-29 11:58:52] [ERROR] Error formatting datetime '2026-29-01T05:58:33': Failed to parse time string (2026-29-01T05:58:33) at position 6 (9): Unexpected character
[2026-01-29 11:58:52] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-29 11:58:52] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-29 11:58:52] [INFO]   -> Found value: 01-29-2026T05:38:27
[2026-01-29 11:58:52] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T05:38:27
[2026-01-29 11:58:52] [ERROR] Error formatting datetime '2026-29-01T05:38:27': Failed to parse time string (2026-29-01T05:38:27) at position 6 (9): Unexpected character
[2026-01-29 11:58:52] [INFO]   -> Set field 'timedispatch' = null
[2026-01-29 11:58:52] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-29 11:58:52] [INFO]   -> Found value: SDPSFD
[2026-01-29 11:58:52] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-01-29 11:58:52] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-01-29 11:58:52] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-29 11:58:52] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-02993","cADNumber":"26-02993","incidentLocationStreetNumber":412,"streetName":"E CENTER ST","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-GAS LEAK","dispatchNotes":"01-29-2026 05:30:44|Call Received on 01\/29\/2026 @ 05:30\n\nCORBON DIOXIDE ALARM GOING OFF \nDOESN'T SMELL ANYTHING \nRP GOING OUTSIDE 01-29-2026 05:41:30|SINGLE STORY NOTHING SHOWING RESIDENCE OUTSIDE 01-29-2026 05:58:30|NOTHING LOCATED PER ENG 2 ALL UNITS IN SERVICE","cADLog":"01-29-2026 05:30:44|Call Received on 01\/29\/2026 @ 05:30\n\nCORBON DIOXIDE ALARM GOING OFF \nDOESN'T SMELL ANYTHING \nRP GOING OUTSIDE 01-29-2026 05:41:30|SINGLE STORY NOTHING SHOWING RESIDENCE OUTSIDE 01-29-2026 05:58:30|NOTHING LOCATED PER ENG 2 ALL UNITS IN SERVICE","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-01-29 11:58:52] [INFO] Number of extracted fields: 25
[2026-01-29 11:58:52] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-01-29 11:58:52] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-29 11:58:52] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-01-29 11:58:52] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-01-29 11:58:52] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-01-29 11:58:52] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-01-29 11:58:52] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-01-29 11:58:52] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-01-29 11:58:53] [INFO] Found existing IncidentTypeMapping with ID: 68e4025e2ad978594
[2026-01-29 11:58:54] [INFO] Created new Dispatches record with ID: 697b4b7d4a6df9fc5
[2026-01-29 11:58:54] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02993.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-01-29/SDPSFD_26-02993.xml
[2026-01-29 11:58:54] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02993.xml
[2026-01-29 13:26:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010626_20260129_132639.XML
[2026-01-29 13:26:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010626_20260129_132639.XML for user: 68f1466aed072ad4a
[2026-01-29 13:26:39] [INFO] File size: 5215 bytes
[2026-01-29 13:26:39] [INFO] Created FTPFiles record with ID: 697b600fb8ac4827d
[2026-01-29 13:26:39] [INFO] About to extract fields from XML. File size: 5215 bytes
[2026-01-29 13:26:39] [INFO] Number of mappings: 28
[2026-01-29 13:26:39] [INFO] Starting XML parsing. Content length: 5215
[2026-01-29 13:26:39] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-29 13:26:39] [INFO] Processing 28 field mappings
[2026-01-29 13:26:39] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-29 13:26:39] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-29 13:26:39] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-29 13:26:39] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-29 13:26:39] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-29 13:26:39] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-29 13:26:39] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 13:26:39] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-29 13:26:39] [INFO]   -> Found value: 2026000268
[2026-01-29 13:26:39] [INFO]   -> Set field 'incidentInternalId' = "2026000268"
[2026-01-29 13:26:39] [INFO]   -> Set field 'dispatchRunNumber' = "2026000268"
[2026-01-29 13:26:39] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-29 13:26:39] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-01-29 13:26:39] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-01-29 13:26:39] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-29 13:26:39] [INFO]   -> Found value: 3760
[2026-01-29 13:26:39] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3760
[2026-01-29 13:26:39] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-29 13:26:39] [INFO]   -> Found value: TN
[2026-01-29 13:26:39] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-29 13:26:39] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-29 13:26:39] [INFO]   -> Found value: 38501
[2026-01-29 13:26:39] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-01-29 13:26:39] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-29 13:26:39] [INFO]   -> No value found (null or empty)
[2026-01-29 13:26:39] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-29 13:26:39] [INFO]   -> No value found (null or empty)
[2026-01-29 13:26:39] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-29 13:26:39] [INFO]   -> Found value: 36.22828
[2026-01-29 13:26:39] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2282799999999980400389176793396472930908203125
[2026-01-29 13:26:39] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-29 13:26:39] [INFO]   -> Found value: -85.54706
[2026-01-29 13:26:39] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5470600000000018781065591610968112945556640625
[2026-01-29 13:26:39] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-29 13:26:39] [INFO]   -> Found value: 2026-01-29 07:25:51
[2026-01-29 13:26:39] [INFO]   -> Set field 'alarm' = "2026-01-29 07:25:51"
[2026-01-29 13:26:39] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-29 13:26:39] [INFO]   -> Found value: 2026-01-29 07:26:29
[2026-01-29 13:26:39] [INFO]   -> Set field 'dispatched' = "2026-01-29 07:26:29"
[2026-01-29 13:26:39] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-29 13:26:39] [INFO]   -> No value found (null or empty)
[2026-01-29 13:26:39] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-29 13:26:39] [INFO]   -> No value found (null or empty)
[2026-01-29 13:26:39] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-29 13:26:39] [INFO]   -> No value found (null or empty)
[2026-01-29 13:26:39] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-29 13:26:39] [INFO]   -> Found value: DEERWOOD CT/BROOKWOOD CT
[2026-01-29 13:26:39] [INFO]   -> Set field 'incidentLocationCross' = "DEERWOOD CT\/BROOKWOOD CT"
[2026-01-29 13:26:39] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-29 13:26:39] [INFO]   -> Found value: PCFR
[2026-01-29 13:26:39] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-29 13:26:39] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-29 13:26:39] [INFO]   -> Found value: 2026-01-29 07:26:29
[2026-01-29 13:26:39] [INFO]   -> Set field 'timedispatch' = "2026-01-29 07:26:29"
[2026-01-29 13:26:39] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-29 13:26:39] [INFO]   -> No value found (null or empty)
[2026-01-29 13:26:39] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-29 13:26:39] [INFO]   -> No value found (null or empty)
[2026-01-29 13:26:39] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-29 13:26:39] [INFO]   -> No value found (null or empty)
[2026-01-29 13:26:39] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-29 13:26:39] [INFO]   -> No value found (null or empty)
[2026-01-29 13:26:39] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-29 13:26:39] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-29 13:26:39] [INFO]   -> Found value: 20260010626
[2026-01-29 13:26:39] [INFO]   -> Set field 'policeReportNumber' = "20260010626"
[2026-01-29 13:26:39] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-29 13:26:39] [INFO]   -> Found value: [EMS] FRONT DOOR  [01/29/26 07:26:04 JBOHANNON] Event spawned from BREATHING PROBLEMS.  [01/29/2026 ...
[2026-01-29 13:26:39] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FRONT DOOR  [01\/29\/26 07:26:04 JBOHANNON] Event spawned from BREATHING PROBLEMS.  [01\/29\/2026 07:25:51 JBOHANNON]"
[2026-01-29 13:26:39] [INFO]   -> Set field 'cADLog' = "[EMS] FRONT DOOR  [01\/29\/26 07:26:04 JBOHANNON] Event spawned from BREATHING PROBLEMS.  [01\/29\/2026 07:25:51 JBOHANNON]"
[2026-01-29 13:26:39] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-29 13:26:39] [INFO]   -> Found value: COOKEVILLE
[2026-01-29 13:26:39] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-29 13:26:39] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-29 13:26:39] [INFO]   -> Found value: BROOKWOOD
[2026-01-29 13:26:39] [INFO]   -> Set field 'streetName' = "BROOKWOOD"
[2026-01-29 13:26:39] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-29 13:26:39] [INFO]   -> Found value: DR
[2026-01-29 13:26:39] [INFO]   -> Set field 'streetType' = "DR"
[2026-01-29 13:26:39] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-29 13:26:39] [INFO]   -> Found value: 3760 BROOKWOOD DR
[2026-01-29 13:26:39] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3760 BROOKWOOD DR"
[2026-01-29 13:26:39] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-29 13:26:39] [INFO] Concatenating street name and type
[2026-01-29 13:26:39] [INFO]   -> Combined street name: BROOKWOOD DR
[2026-01-29 13:26:39] [INFO] Built locationCoordinates from lat/lng: 36.22828,-85.54706
[2026-01-29 13:26:39] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000268","dispatchRunNumber":"2026000268","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":3760,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.2282799999999980400389176793396472930908203125,"nERISIncidentLongitude":-85.5470600000000018781065591610968112945556640625,"alarm":"2026-01-29 07:25:51","dispatched":"2026-01-29 07:26:29","incidentLocationCross":"DEERWOOD CT\/BROOKWOOD CT","cADVehicleID":"PCFR","timedispatch":"2026-01-29 07:26:29","policeReportNumber":"20260010626","dispatchNotes":"[EMS] FRONT DOOR  [01\/29\/26 07:26:04 JBOHANNON] Event spawned from BREATHING PROBLEMS.  [01\/29\/2026 07:25:51 JBOHANNON]","cADLog":"[EMS] FRONT DOOR  [01\/29\/26 07:26:04 JBOHANNON] Event spawned from BREATHING PROBLEMS.  [01\/29\/2026 07:25:51 JBOHANNON]","incidentLocationCity":"COOKEVILLE","streetName":"BROOKWOOD DR","incidentAddressTextVersionStreet":"3760 BROOKWOOD DR","locationCoordinates":"36.22828,-85.54706"}
[2026-01-29 13:26:39] [INFO] Number of extracted fields: 21
[2026-01-29 13:26:39] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-29 13:26:39] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-01-29 13:26:39] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-29 13:26:39] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-29 13:26:39] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-29 13:26:39] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-29 13:26:40] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-29 13:26:40] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-29 13:26:40] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-29 13:26:40] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-29 13:26:40] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-29 13:26:40] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-01-29 13:26:50] [INFO] Created new Dispatches record with ID: 697b60107d6702fec
[2026-01-29 13:26:50] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-29 13:26:50] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-29 13:26:53] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010626_20260129_132639.XML
[2026-01-29 13:26:53] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010626_20260129_132639.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-29/PCFD_20260010626_20260129_132639.XML
[2026-01-29 13:26:53] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010626_20260129_132639.XML
[2026-01-29 14:04:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006088.xml
[2026-01-29 14:04:05] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006088.xml for user: 69320e6a9e3e5ef71
[2026-01-29 14:04:05] [INFO] File size: 9676 bytes
[2026-01-29 14:04:06] [INFO] Created FTPFiles record with ID: 697b68d62631142b3
[2026-01-29 14:04:06] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-29 14:04:06] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-29
[2026-01-29 14:04:06] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006088.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-29/cfs_2026-006088.xml
[2026-01-29 14:04:06] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006088.xml
[2026-01-29 14:25:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02999.xml
[2026-01-29 14:25:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02999.xml for user: 68d56363ec1209189
[2026-01-29 14:25:53] [INFO] File size: 2692 bytes
[2026-01-29 14:25:54] [INFO] Created FTPFiles record with ID: 697b6df22683d5343
[2026-01-29 14:25:54] [INFO] About to extract fields from XML. File size: 2692 bytes
[2026-01-29 14:25:54] [INFO] Number of mappings: 21
[2026-01-29 14:25:54] [INFO] Starting XML parsing. Content length: 2692
[2026-01-29 14:25:54] [INFO] XML parsed successfully. Root element: Incident
[2026-01-29 14:25:54] [INFO] Processing 21 field mappings
[2026-01-29 14:25:54] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-29 14:25:54] [INFO]   -> Found value: 26-02999
[2026-01-29 14:25:54] [INFO]   -> Set field 'dispatchRunNumber' = "26-02999"
[2026-01-29 14:25:54] [INFO]   -> Set field 'cADNumber' = "26-02999"
[2026-01-29 14:25:54] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-29 14:25:54] [INFO]   -> Found value: 820
[2026-01-29 14:25:54] [INFO]   -> Set field 'incidentLocationStreetNumber' = 820
[2026-01-29 14:25:54] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-29 14:25:54] [INFO]   -> Found value: LADUE DR
[2026-01-29 14:25:54] [INFO]   -> Set field 'streetName' = "LADUE DR"
[2026-01-29 14:25:54] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-29 14:25:54] [INFO]   -> No value found (null or empty)
[2026-01-29 14:25:54] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-29 14:25:54] [INFO]   -> Found value: SIKESTON
[2026-01-29 14:25:54] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-29 14:25:54] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-29 14:25:54] [INFO]   -> No value found (null or empty)
[2026-01-29 14:25:54] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-29 14:25:54] [INFO]   -> Found value: MO
[2026-01-29 14:25:54] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-29 14:25:54] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-29 14:25:54] [INFO]   -> Found value: 63801
[2026-01-29 14:25:54] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-01-29 14:25:54] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-29 14:25:54] [INFO]   -> Found value: 0
[2026-01-29 14:25:54] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-29 14:25:54] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-29 14:25:54] [INFO]   -> Found value: 0
[2026-01-29 14:25:54] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-29 14:25:54] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-29 14:25:54] [INFO]   -> Found value: FIRE-SMOKE INVESTIGATION
[2026-01-29 14:25:54] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-SMOKE INVESTIGATION"
[2026-01-29 14:25:54] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-29 14:25:54] [INFO]   -> Found value: 01-29-2026 07:51:58|Call Received on 01/29/2026 @ 07:51

LIVING ROOM FULL OF SMOKE 
NO FLAMES
RESIDE...
[2026-01-29 14:25:54] [INFO]   -> Set field 'dispatchNotes' = "01-29-2026 07:51:58|Call Received on 01\/29\/2026 @ 07:51\n\nLIVING ROOM FULL OF SMOKE \nNO FLAMES\nRESIDENTS ARE IN VEHICLE IN DRIVEWAY 01-29-2026 07:54:40|C87 NOT ON INCIDENT 01-29-2026 07:56:52|SINGLE STORY RESIDENCE NOTHING SHOWING 01-29-2026 07:58:06|LIGHT SMOKE IN RESIDENCE     HOMEOWNER ADVISED LIGHTS HAVE QUIT WORKING 01-29-2026 08:00:00|360 COMPLETE...NOTHING LOCATED 01-29-2026 08:07:37|BMU REQUESTED 01-29-2026 08:09:36|BMU EN RT 01-29-2026 08:10:37|BMU ON SCENE"
[2026-01-29 14:25:54] [INFO]   -> Set field 'cADLog' = "01-29-2026 07:51:58|Call Received on 01\/29\/2026 @ 07:51\n\nLIVING ROOM FULL OF SMOKE \nNO FLAMES\nRESIDENTS ARE IN VEHICLE IN DRIVEWAY 01-29-2026 07:54:40|C87 NOT ON INCIDENT 01-29-2026 07:56:52|SINGLE STORY RESIDENCE NOTHING SHOWING 01-29-2026 07:58:06|LIGHT SMOKE IN RESIDENCE     HOMEOWNER ADVISED LIGHTS HAVE QUIT WORKING 01-29-2026 08:00:00|360 COMPLETE...NOTHING LOCATED 01-29-2026 08:07:37|BMU REQUESTED 01-29-2026 08:09:36|BMU EN RT 01-29-2026 08:10:37|BMU ON SCENE"
[2026-01-29 14:25:54] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-29 14:25:54] [INFO]   -> Found value: 01-29-2026T07:54:04
[2026-01-29 14:25:54] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T07:54:04
[2026-01-29 14:25:54] [ERROR] Error formatting datetime '2026-29-01T07:54:04': Failed to parse time string (2026-29-01T07:54:04) at position 6 (9): Unexpected character
[2026-01-29 14:25:54] [INFO]   -> Set field 'alarm' = null
[2026-01-29 14:25:54] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T07:54:04
[2026-01-29 14:25:54] [ERROR] Error formatting datetime '2026-29-01T07:54:04': Failed to parse time string (2026-29-01T07:54:04) at position 6 (9): Unexpected character
[2026-01-29 14:25:54] [INFO]   -> Set field 'dispatched' = null
[2026-01-29 14:25:54] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-29 14:25:54] [INFO]   -> Found value: 01-29-2026T07:57:12
[2026-01-29 14:25:54] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T07:57:12
[2026-01-29 14:25:54] [ERROR] Error formatting datetime '2026-29-01T07:57:12': Failed to parse time string (2026-29-01T07:57:12) at position 6 (9): Unexpected character
[2026-01-29 14:25:54] [INFO]   -> Set field 'onScene' = null
[2026-01-29 14:25:54] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-29 14:25:54] [INFO]   -> Found value: 01-29-2026T08:24:39
[2026-01-29 14:25:54] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T08:24:39
[2026-01-29 14:25:54] [ERROR] Error formatting datetime '2026-29-01T08:24:39': Failed to parse time string (2026-29-01T08:24:39) at position 6 (9): Unexpected character
[2026-01-29 14:25:54] [INFO]   -> Set field 'cleared' = null
[2026-01-29 14:25:54] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T08:24:39
[2026-01-29 14:25:54] [ERROR] Error formatting datetime '2026-29-01T08:24:39': Failed to parse time string (2026-29-01T08:24:39) at position 6 (9): Unexpected character
[2026-01-29 14:25:54] [INFO]   -> Set field 'inService' = null
[2026-01-29 14:25:54] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-29 14:25:54] [INFO]   -> Found value: ENG2
[2026-01-29 14:25:54] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-01-29 14:25:54] [INFO]   -> Set field 'name' = "ENG2"
[2026-01-29 14:25:54] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-29 14:25:54] [INFO]   -> Found value: 01-29-2026T07:55:41
[2026-01-29 14:25:54] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T07:55:41
[2026-01-29 14:25:54] [ERROR] Error formatting datetime '2026-29-01T07:55:41': Failed to parse time string (2026-29-01T07:55:41) at position 6 (9): Unexpected character
[2026-01-29 14:25:54] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-01-29 14:25:54] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-29 14:25:54] [INFO]   -> Found value: 01-29-2026T08:01:11
[2026-01-29 14:25:54] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T08:01:11
[2026-01-29 14:25:54] [ERROR] Error formatting datetime '2026-29-01T08:01:11': Failed to parse time string (2026-29-01T08:01:11) at position 6 (9): Unexpected character
[2026-01-29 14:25:54] [INFO]   -> Set field 'timeonscene' = null
[2026-01-29 14:25:54] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-29 14:25:54] [INFO]   -> Found value: 01-29-2026T08:24:39
[2026-01-29 14:25:54] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T08:24:39
[2026-01-29 14:25:54] [ERROR] Error formatting datetime '2026-29-01T08:24:39': Failed to parse time string (2026-29-01T08:24:39) at position 6 (9): Unexpected character
[2026-01-29 14:25:54] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-29 14:25:54] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-29 14:25:54] [INFO]   -> Found value: 01-29-2026T07:55:39
[2026-01-29 14:25:54] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T07:55:39
[2026-01-29 14:25:54] [ERROR] Error formatting datetime '2026-29-01T07:55:39': Failed to parse time string (2026-29-01T07:55:39) at position 6 (9): Unexpected character
[2026-01-29 14:25:54] [INFO]   -> Set field 'timedispatch' = null
[2026-01-29 14:25:54] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-29 14:25:54] [INFO]   -> Found value: SDPSFD
[2026-01-29 14:25:54] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-01-29 14:25:54] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-01-29 14:25:54] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-29 14:25:54] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-02999","cADNumber":"26-02999","incidentLocationStreetNumber":820,"streetName":"LADUE DR","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-SMOKE INVESTIGATION","dispatchNotes":"01-29-2026 07:51:58|Call Received on 01\/29\/2026 @ 07:51\n\nLIVING ROOM FULL OF SMOKE \nNO FLAMES\nRESIDENTS ARE IN VEHICLE IN DRIVEWAY 01-29-2026 07:54:40|C87 NOT ON INCIDENT 01-29-2026 07:56:52|SINGLE STORY RESIDENCE NOTHING SHOWING 01-29-2026 07:58:06|LIGHT SMOKE IN RESIDENCE     HOMEOWNER ADVISED LIGHTS HAVE QUIT WORKING 01-29-2026 08:00:00|360 COMPLETE...NOTHING LOCATED 01-29-2026 08:07:37|BMU REQUESTED 01-29-2026 08:09:36|BMU EN RT 01-29-2026 08:10:37|BMU ON SCENE","cADLog":"01-29-2026 07:51:58|Call Received on 01\/29\/2026 @ 07:51\n\nLIVING ROOM FULL OF SMOKE \nNO FLAMES\nRESIDENTS ARE IN VEHICLE IN DRIVEWAY 01-29-2026 07:54:40|C87 NOT ON INCIDENT 01-29-2026 07:56:52|SINGLE STORY RESIDENCE NOTHING SHOWING 01-29-2026 07:58:06|LIGHT SMOKE IN RESIDENCE     HOMEOWNER ADVISED LIGHTS HAVE QUIT WORKING 01-29-2026 08:00:00|360 COMPLETE...NOTHING LOCATED 01-29-2026 08:07:37|BMU REQUESTED 01-29-2026 08:09:36|BMU EN RT 01-29-2026 08:10:37|BMU ON SCENE","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-01-29 14:25:54] [INFO] Number of extracted fields: 25
[2026-01-29 14:25:54] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-01-29 14:25:54] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-29 14:25:54] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-01-29 14:25:54] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-01-29 14:25:54] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-01-29 14:25:54] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-01-29 14:25:54] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-01-29 14:25:54] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-01-29 14:25:54] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e8812ca0da
[2026-01-29 14:25:56] [INFO] Created new Dispatches record with ID: 697b6df308ecac649
[2026-01-29 14:25:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02999.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-01-29/SDPSFD_26-02999.xml
[2026-01-29 14:25:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02999.xml
[2026-01-29 14:28:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010649_20260129_142819.XML
[2026-01-29 14:28:19] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010649_20260129_142819.XML for user: 68f1466aed072ad4a
[2026-01-29 14:28:19] [INFO] File size: 5125 bytes
[2026-01-29 14:28:20] [INFO] Created FTPFiles record with ID: 697b6e843beda8f6d
[2026-01-29 14:28:20] [INFO] About to extract fields from XML. File size: 5125 bytes
[2026-01-29 14:28:20] [INFO] Number of mappings: 28
[2026-01-29 14:28:20] [INFO] Starting XML parsing. Content length: 5125
[2026-01-29 14:28:20] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-29 14:28:20] [INFO] Processing 28 field mappings
[2026-01-29 14:28:20] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-29 14:28:20] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-29 14:28:20] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-29 14:28:20] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-01-29 14:28:20] [INFO]   -> Found value: PCFD
EMS
[2026-01-29 14:28:20] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS"
[2026-01-29 14:28:20] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 14:28:20] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-01-29 14:28:20] [INFO]   -> Found value: 2026000269
[2026-01-29 14:28:20] [INFO]   -> Set field 'incidentInternalId' = "2026000269"
[2026-01-29 14:28:20] [INFO]   -> Set field 'dispatchRunNumber' = "2026000269"
[2026-01-29 14:28:20] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-29 14:28:20] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-01-29 14:28:20] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-01-29 14:28:20] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-29 14:28:20] [INFO]   -> Found value: 1454
[2026-01-29 14:28:20] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1454
[2026-01-29 14:28:20] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-29 14:28:20] [INFO]   -> Found value: TN
[2026-01-29 14:28:20] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-29 14:28:20] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-29 14:28:20] [INFO]   -> Found value: 38501
[2026-01-29 14:28:20] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-01-29 14:28:20] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-29 14:28:20] [INFO]   -> No value found (null or empty)
[2026-01-29 14:28:20] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-29 14:28:20] [INFO]   -> No value found (null or empty)
[2026-01-29 14:28:20] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-29 14:28:20] [INFO]   -> Found value: 36.18857
[2026-01-29 14:28:20] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.188569999999998572093318216502666473388671875
[2026-01-29 14:28:20] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-29 14:28:20] [INFO]   -> Found value: -85.52711
[2026-01-29 14:28:20] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5271099999999933061189949512481689453125
[2026-01-29 14:28:20] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-29 14:28:20] [INFO]   -> Found value: 2026-01-29 08:27:20
[2026-01-29 14:28:20] [INFO]   -> Set field 'alarm' = "2026-01-29 08:27:20"
[2026-01-29 14:28:20] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-29 14:28:20] [INFO]   -> Found value: 2026-01-29 08:28:10
[2026-01-29 14:28:20] [INFO]   -> Set field 'dispatched' = "2026-01-29 08:28:10"
[2026-01-29 14:28:20] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-29 14:28:20] [INFO]   -> No value found (null or empty)
[2026-01-29 14:28:20] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-29 14:28:20] [INFO]   -> No value found (null or empty)
[2026-01-29 14:28:20] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-29 14:28:20] [INFO]   -> No value found (null or empty)
[2026-01-29 14:28:20] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-29 14:28:20] [INFO]   -> Found value: /WALTER LN
[2026-01-29 14:28:20] [INFO]   -> Set field 'incidentLocationCross' = "\/WALTER LN"
[2026-01-29 14:28:20] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-29 14:28:20] [INFO]   -> Found value: TK16
[2026-01-29 14:28:20] [INFO]   -> Set field 'cADVehicleID' = "TK16"
[2026-01-29 14:28:20] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-29 14:28:20] [INFO]   -> Found value: 2026-01-29 08:28:10
[2026-01-29 14:28:20] [INFO]   -> Set field 'timedispatch' = "2026-01-29 08:28:10"
[2026-01-29 14:28:20] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-29 14:28:20] [INFO]   -> No value found (null or empty)
[2026-01-29 14:28:20] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-29 14:28:20] [INFO]   -> No value found (null or empty)
[2026-01-29 14:28:20] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-29 14:28:20] [INFO]   -> No value found (null or empty)
[2026-01-29 14:28:20] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-29 14:28:20] [INFO]   -> No value found (null or empty)
[2026-01-29 14:28:20] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-29 14:28:20] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-01-29 14:28:20] [INFO]   -> Found value: 20260010649
[2026-01-29 14:28:20] [INFO]   -> Set field 'policeReportNumber' = "20260010649"
[2026-01-29 14:28:20] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-29 14:28:20] [INFO]   -> Found value: Event spawned from EMS NON-EMERGENCY.  [01/29/2026 08:27:20 CRAYL] ICE ON THE STEPS - ENTER WITH CAU...
[2026-01-29 14:28:20] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from EMS NON-EMERGENCY.  [01\/29\/2026 08:27:20 CRAYL] ICE ON THE STEPS - ENTER WITH CAUTIONS - BACK DOOR IS POSSIBLY THE BETTER CHOICE  [01\/29\/26 08:09:47 KBURTON] ALTERED  NEW AMMUNO THERPHY MEDICATIONS  AWAKE AND TALKING  SEEING THINGS THAT ARE NOT THERE   81 YOM  ROBERT GUIBEY SIR  DOB 10\/6\/1944  [01\/29\/26 08:09:03 KBURTON]]"
[2026-01-29 14:28:20] [INFO]   -> Set field 'cADLog' = "Event spawned from EMS NON-EMERGENCY.  [01\/29\/2026 08:27:20 CRAYL] ICE ON THE STEPS - ENTER WITH CAUTIONS - BACK DOOR IS POSSIBLY THE BETTER CHOICE  [01\/29\/26 08:09:47 KBURTON] ALTERED  NEW AMMUNO THERPHY MEDICATIONS  AWAKE AND TALKING  SEEING THINGS THAT ARE NOT THERE   81 YOM  ROBERT GUIBEY SIR  DOB 10\/6\/1944  [01\/29\/26 08:09:03 KBURTON]]"
[2026-01-29 14:28:20] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-29 14:28:20] [INFO]   -> Found value: COOKEVILLE
[2026-01-29 14:28:20] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-29 14:28:20] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-29 14:28:20] [INFO]   -> Found value: HARLEY
[2026-01-29 14:28:20] [INFO]   -> Set field 'streetName' = "HARLEY"
[2026-01-29 14:28:20] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-29 14:28:20] [INFO]   -> Found value: DR
[2026-01-29 14:28:20] [INFO]   -> Set field 'streetType' = "DR"
[2026-01-29 14:28:20] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-29 14:28:20] [INFO]   -> Found value: 1454 HARLEY DR
[2026-01-29 14:28:20] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1454 HARLEY DR"
[2026-01-29 14:28:20] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-29 14:28:20] [INFO] Concatenating street name and type
[2026-01-29 14:28:20] [INFO]   -> Combined street name: HARLEY DR
[2026-01-29 14:28:20] [INFO] Built locationCoordinates from lat/lng: 36.18857,-85.52711
[2026-01-29 14:28:20] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS","incidentInternalId":"2026000269","dispatchRunNumber":"2026000269","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":1454,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.188569999999998572093318216502666473388671875,"nERISIncidentLongitude":-85.5271099999999933061189949512481689453125,"alarm":"2026-01-29 08:27:20","dispatched":"2026-01-29 08:28:10","incidentLocationCross":"\/WALTER LN","cADVehicleID":"TK16","timedispatch":"2026-01-29 08:28:10","policeReportNumber":"20260010649","dispatchNotes":"Event spawned from EMS NON-EMERGENCY.  [01\/29\/2026 08:27:20 CRAYL] ICE ON THE STEPS - ENTER WITH CAUTIONS - BACK DOOR IS POSSIBLY THE BETTER CHOICE  [01\/29\/26 08:09:47 KBURTON] ALTERED  NEW AMMUNO THERPHY MEDICATIONS  AWAKE AND TALKING  SEEING THINGS THAT ARE NOT THERE   81 YOM  ROBERT GUIBEY SIR  DOB 10\/6\/1944  [01\/29\/26 08:09:03 KBURTON]]","cADLog":"Event spawned from EMS NON-EMERGENCY.  [01\/29\/2026 08:27:20 CRAYL] ICE ON THE STEPS - ENTER WITH CAUTIONS - BACK DOOR IS POSSIBLY THE BETTER CHOICE  [01\/29\/26 08:09:47 KBURTON] ALTERED  NEW AMMUNO THERPHY MEDICATIONS  AWAKE AND TALKING  SEEING THINGS THAT ARE NOT THERE   81 YOM  ROBERT GUIBEY SIR  DOB 10\/6\/1944  [01\/29\/26 08:09:03 KBURTON]]","incidentLocationCity":"COOKEVILLE","streetName":"HARLEY DR","incidentAddressTextVersionStreet":"1454 HARLEY DR","locationCoordinates":"36.18857,-85.52711"}
[2026-01-29 14:28:20] [INFO] Number of extracted fields: 21
[2026-01-29 14:28:20] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS'
[2026-01-29 14:28:20] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS', Parsed IDs = ["PCFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-01-29 14:28:20] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS"]
[2026-01-29 14:28:20] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-29 14:28:20] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-29 14:28:20] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-01-29 14:28:20] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-29 14:28:20] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-29 14:28:20] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-01-29 14:28:20] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-29 14:28:20] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-29 14:28:20] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2026-01-29 14:28:29] [INFO] Created new Dispatches record with ID: 697b6e8517f7104dd
[2026-01-29 14:28:29] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-29 14:28:30] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-29 14:28:33] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010649_20260129_142819.XML
[2026-01-29 14:28:33] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010649_20260129_142819.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-29/PCFD_20260010649_20260129_142819.XML
[2026-01-29 14:28:33] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010649_20260129_142819.XML
[2026-01-29 16:09:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260010713_20260129_160940.XML
[2026-01-29 16:09:40] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260010713_20260129_160940.XML for user: 68f1466aed072ad4a
[2026-01-29 16:09:40] [INFO] File size: 6062 bytes
[2026-01-29 16:09:40] [INFO] Created FTPFiles record with ID: 697b8644b66963040
[2026-01-29 16:09:40] [INFO] About to extract fields from XML. File size: 6062 bytes
[2026-01-29 16:09:40] [INFO] Number of mappings: 28
[2026-01-29 16:09:40] [INFO] Starting XML parsing. Content length: 6062
[2026-01-29 16:09:40] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-29 16:09:40] [INFO] Processing 28 field mappings
[2026-01-29 16:09:40] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-29 16:09:40] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-29 16:09:40] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-29 16:09:40] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-01-29 16:09:40] [INFO]   -> Found value: AFD
EMS
[2026-01-29 16:09:40] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS"
[2026-01-29 16:09:40] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 16:09:40] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-01-29 16:09:40] [INFO]   -> Found value: 2026000038
[2026-01-29 16:09:40] [INFO]   -> Set field 'incidentInternalId' = "2026000038"
[2026-01-29 16:09:40] [INFO]   -> Set field 'dispatchRunNumber' = "2026000038"
[2026-01-29 16:09:40] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-29 16:09:40] [INFO]   -> Found value: SICK PERSON
[2026-01-29 16:09:40] [INFO]   -> Set field 'incidentTypeValue1' = "SICK PERSON"
[2026-01-29 16:09:40] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-29 16:09:40] [INFO]   -> Found value: 3328
[2026-01-29 16:09:40] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3328
[2026-01-29 16:09:40] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-29 16:09:40] [INFO]   -> Found value: TN
[2026-01-29 16:09:40] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-29 16:09:40] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-29 16:09:40] [INFO]   -> Found value: 38506
[2026-01-29 16:09:40] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-29 16:09:40] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-29 16:09:40] [INFO]   -> No value found (null or empty)
[2026-01-29 16:09:40] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-29 16:09:40] [INFO]   -> No value found (null or empty)
[2026-01-29 16:09:40] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-29 16:09:40] [INFO]   -> Found value: 36.21862
[2026-01-29 16:09:40] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2186200000000013687895261682569980621337890625
[2026-01-29 16:09:40] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-29 16:09:40] [INFO]   -> Found value: -85.44057
[2026-01-29 16:09:40] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4405699999999939109329716302454471588134765625
[2026-01-29 16:09:40] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-29 16:09:40] [INFO]   -> Found value: 2026-01-29 10:08:32
[2026-01-29 16:09:40] [INFO]   -> Set field 'alarm' = "2026-01-29 10:08:32"
[2026-01-29 16:09:40] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-29 16:09:40] [INFO]   -> Found value: 2026-01-29 10:09:32
[2026-01-29 16:09:40] [INFO]   -> Set field 'dispatched' = "2026-01-29 10:09:32"
[2026-01-29 16:09:40] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-29 16:09:40] [INFO]   -> No value found (null or empty)
[2026-01-29 16:09:40] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-29 16:09:40] [INFO]   -> No value found (null or empty)
[2026-01-29 16:09:40] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-29 16:09:40] [INFO]   -> No value found (null or empty)
[2026-01-29 16:09:40] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-29 16:09:40] [INFO]   -> Found value: ASPEN TRL/ASPEN TRL
[2026-01-29 16:09:40] [INFO]   -> Set field 'incidentLocationCross' = "ASPEN TRL\/ASPEN TRL"
[2026-01-29 16:09:40] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-29 16:09:40] [INFO]   -> Found value: AFR
[2026-01-29 16:09:40] [INFO]   -> Set field 'cADVehicleID' = "AFR"
[2026-01-29 16:09:40] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-29 16:09:40] [INFO]   -> Found value: 2026-01-29 10:09:32
[2026-01-29 16:09:40] [INFO]   -> Set field 'timedispatch' = "2026-01-29 10:09:32"
[2026-01-29 16:09:40] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-29 16:09:40] [INFO]   -> No value found (null or empty)
[2026-01-29 16:09:40] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-29 16:09:40] [INFO]   -> No value found (null or empty)
[2026-01-29 16:09:40] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-29 16:09:40] [INFO]   -> Found value: 2026-01-29 10:09:37
[2026-01-29 16:09:40] [INFO]   -> Set field 'timeunitclear' = "2026-01-29 10:09:37"
[2026-01-29 16:09:40] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-29 16:09:40] [INFO]   -> Found value: 2026-01-29 10:09:37
[2026-01-29 16:09:40] [INFO]   -> Set field 'timecanceledenroute' = "2026-01-29 10:09:37"
[2026-01-29 16:09:40] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-29 16:09:40] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-01-29 16:09:40] [INFO]   -> Found value: 20260010713
[2026-01-29 16:09:40] [INFO]   -> Set field 'policeReportNumber' = "20260010713"
[2026-01-29 16:09:40] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-29 16:09:40] [INFO]   -> Found value: [EMS] UDTS: NAUSEA  &amp; VOMITING  [01/29/26 10:08:49 JBOHANNON] [EMS] KIDNEY STONES  [01/29/26 10:...
[2026-01-29 16:09:40] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: NAUSEA  &amp; VOMITING  [01\/29\/26 10:08:49 JBOHANNON] [EMS] KIDNEY STONES  [01\/29\/26 10:08:48 JBOHANNON] Event spawned from SICK PERSON.  [01\/29\/2026 10:08:32 JBOHANNON]"
[2026-01-29 16:09:40] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: NAUSEA  &amp; VOMITING  [01\/29\/26 10:08:49 JBOHANNON] [EMS] KIDNEY STONES  [01\/29\/26 10:08:48 JBOHANNON] Event spawned from SICK PERSON.  [01\/29\/2026 10:08:32 JBOHANNON]"
[2026-01-29 16:09:40] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-29 16:09:40] [INFO]   -> Found value: ALGOOD
[2026-01-29 16:09:40] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-01-29 16:09:40] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-29 16:09:40] [INFO]   -> Found value: TIMBER VIEW
[2026-01-29 16:09:40] [INFO]   -> Set field 'streetName' = "TIMBER VIEW"
[2026-01-29 16:09:40] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-29 16:09:40] [INFO]   -> Found value: LN
[2026-01-29 16:09:40] [INFO]   -> Set field 'streetType' = "LN"
[2026-01-29 16:09:40] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-29 16:09:40] [INFO]   -> Found value: 3328 TIMBER VIEW LN
[2026-01-29 16:09:40] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3328 TIMBER VIEW LN"
[2026-01-29 16:09:40] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-01-29 16:09:40] [INFO] Concatenating street name and type
[2026-01-29 16:09:40] [INFO]   -> Combined street name: TIMBER VIEW LN
[2026-01-29 16:09:40] [INFO] Built locationCoordinates from lat/lng: 36.21862,-85.44057
[2026-01-29 16:09:40] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS","incidentInternalId":"2026000038","dispatchRunNumber":"2026000038","incidentTypeValue1":"SICK PERSON","incidentLocationStreetNumber":3328,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.2186200000000013687895261682569980621337890625,"nERISIncidentLongitude":-85.4405699999999939109329716302454471588134765625,"alarm":"2026-01-29 10:08:32","dispatched":"2026-01-29 10:09:32","incidentLocationCross":"ASPEN TRL\/ASPEN TRL","cADVehicleID":"AFR","timedispatch":"2026-01-29 10:09:32","timeunitclear":"2026-01-29 10:09:37","timecanceledenroute":"2026-01-29 10:09:37","policeReportNumber":"20260010713","dispatchNotes":"[EMS] UDTS: NAUSEA  &amp; VOMITING  [01\/29\/26 10:08:49 JBOHANNON] [EMS] KIDNEY STONES  [01\/29\/26 10:08:48 JBOHANNON] Event spawned from SICK PERSON.  [01\/29\/2026 10:08:32 JBOHANNON]","cADLog":"[EMS] UDTS: NAUSEA  &amp; VOMITING  [01\/29\/26 10:08:49 JBOHANNON] [EMS] KIDNEY STONES  [01\/29\/26 10:08:48 JBOHANNON] Event spawned from SICK PERSON.  [01\/29\/2026 10:08:32 JBOHANNON]","incidentLocationCity":"ALGOOD","streetName":"TIMBER VIEW LN","incidentAddressTextVersionStreet":"3328 TIMBER VIEW LN","locationCoordinates":"36.21862,-85.44057"}
[2026-01-29 16:09:40] [INFO] Number of extracted fields: 23
[2026-01-29 16:09:40] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS'
[2026-01-29 16:09:40] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS', Parsed IDs = ["AFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-01-29 16:09:40] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS"]
[2026-01-29 16:09:40] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-01-29 16:09:40] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-01-29 16:09:40] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-01-29 16:09:41] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-01-29 16:09:41] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-01-29 16:09:41] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-01-29 16:09:41] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-01-29 16:09:41] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-01-29 16:09:41] [INFO] Found existing IncidentTypeMapping with ID: 6948b71cb054f7d6c
[2026-01-29 16:09:48] [INFO] Created new Dispatches record with ID: 697b8645f260350bf
[2026-01-29 16:09:48] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-29 16:09:48] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-29 16:09:51] [INFO] Successfully uploaded file to V2 FTP server: /AFD_20260010713_20260129_160940.XML
[2026-01-29 16:09:51] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260010713_20260129_160940.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-29/AFD_20260010713_20260129_160940.XML
[2026-01-29 16:09:51] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260010713_20260129_160940.XML
[2026-01-29 16:57:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010752_20260129_165750.XML
[2026-01-29 16:57:50] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010752_20260129_165750.XML for user: 68f1466aed072ad4a
[2026-01-29 16:57:50] [INFO] File size: 5334 bytes
[2026-01-29 16:57:53] [INFO] Created FTPFiles record with ID: 697b91910448de35d
[2026-01-29 16:57:53] [INFO] About to extract fields from XML. File size: 5334 bytes
[2026-01-29 16:57:53] [INFO] Number of mappings: 28
[2026-01-29 16:57:53] [INFO] Starting XML parsing. Content length: 5334
[2026-01-29 16:57:53] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-29 16:57:53] [INFO] Processing 28 field mappings
[2026-01-29 16:57:53] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-29 16:57:53] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-29 16:57:53] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-29 16:57:53] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-29 16:57:53] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-29 16:57:53] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-29 16:57:53] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 16:57:53] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-29 16:57:53] [INFO]   -> Found value: 2026000270
[2026-01-29 16:57:53] [INFO]   -> Set field 'incidentInternalId' = "2026000270"
[2026-01-29 16:57:53] [INFO]   -> Set field 'dispatchRunNumber' = "2026000270"
[2026-01-29 16:57:53] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-29 16:57:53] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-01-29 16:57:53] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-01-29 16:57:53] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-29 16:57:53] [INFO]   -> Found value: 1340
[2026-01-29 16:57:53] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1340
[2026-01-29 16:57:53] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-29 16:57:53] [INFO]   -> Found value: TN
[2026-01-29 16:57:53] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-29 16:57:53] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-29 16:57:53] [INFO]   -> Found value: 38501
[2026-01-29 16:57:53] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-01-29 16:57:53] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-29 16:57:53] [INFO]   -> No value found (null or empty)
[2026-01-29 16:57:53] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-29 16:57:53] [INFO]   -> No value found (null or empty)
[2026-01-29 16:57:53] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-29 16:57:53] [INFO]   -> Found value: 36.21162
[2026-01-29 16:57:53] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21162000000000347199602401815354824066162109375
[2026-01-29 16:57:53] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-29 16:57:53] [INFO]   -> Found value: -85.47277
[2026-01-29 16:57:53] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.472769999999997025952325202524662017822265625
[2026-01-29 16:57:53] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-29 16:57:53] [INFO]   -> Found value: 2026-01-29 10:57:10
[2026-01-29 16:57:53] [INFO]   -> Set field 'alarm' = "2026-01-29 10:57:10"
[2026-01-29 16:57:53] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-29 16:57:53] [INFO]   -> Found value: 2026-01-29 10:57:43
[2026-01-29 16:57:53] [INFO]   -> Set field 'dispatched' = "2026-01-29 10:57:43"
[2026-01-29 16:57:53] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-29 16:57:53] [INFO]   -> No value found (null or empty)
[2026-01-29 16:57:53] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-29 16:57:53] [INFO]   -> No value found (null or empty)
[2026-01-29 16:57:53] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-29 16:57:53] [INFO]   -> No value found (null or empty)
[2026-01-29 16:57:53] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-29 16:57:53] [INFO]   -> Found value: QUINLAND LAKE RD/QUINLAND LAKE RD
[2026-01-29 16:57:53] [INFO]   -> Set field 'incidentLocationCross' = "QUINLAND LAKE RD\/QUINLAND LAKE RD"
[2026-01-29 16:57:53] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-29 16:57:53] [INFO]   -> Found value: PCFR
[2026-01-29 16:57:53] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-29 16:57:53] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-29 16:57:53] [INFO]   -> Found value: 2026-01-29 10:57:43
[2026-01-29 16:57:53] [INFO]   -> Set field 'timedispatch' = "2026-01-29 10:57:43"
[2026-01-29 16:57:53] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-29 16:57:53] [INFO]   -> No value found (null or empty)
[2026-01-29 16:57:53] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-29 16:57:53] [INFO]   -> No value found (null or empty)
[2026-01-29 16:57:53] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-29 16:57:53] [INFO]   -> No value found (null or empty)
[2026-01-29 16:57:53] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-29 16:57:53] [INFO]   -> No value found (null or empty)
[2026-01-29 16:57:53] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-29 16:57:53] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-29 16:57:53] [INFO]   -> Found value: 20260010752
[2026-01-29 16:57:53] [INFO]   -> Set field 'policeReportNumber' = "20260010752"
[2026-01-29 16:57:53] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-29 16:57:53] [INFO]   -> Found value: [EMS] POSSIBLE SEPTIC  [01/29/26 10:57:20 KBURTON] [EMS] UDTS: NAUSEA  &amp; VOMITING  [01/29/26 10:...
[2026-01-29 16:57:53] [INFO]   -> Set field 'dispatchNotes' = "[EMS] POSSIBLE SEPTIC  [01\/29\/26 10:57:20 KBURTON] [EMS] UDTS: NAUSEA  &amp; VOMITING  [01\/29\/26 10:57:13 KBURTON] Event spawned from FAINTING \/ SYNCOPE.  [01\/29\/2026 10:57:10 KBURTON] BRENDA HUTCHENSON  DOB 3\/2\/52  [01\/29\/26 10:56:33 KBURTON] VOMMITING  SHORTNESS OF BREATH  CHEST PAIN  BONE INFECTION IN FOOT  [01\/29\/26 10:56:13 KBURTON]"
[2026-01-29 16:57:53] [INFO]   -> Set field 'cADLog' = "[EMS] POSSIBLE SEPTIC  [01\/29\/26 10:57:20 KBURTON] [EMS] UDTS: NAUSEA  &amp; VOMITING  [01\/29\/26 10:57:13 KBURTON] Event spawned from FAINTING \/ SYNCOPE.  [01\/29\/2026 10:57:10 KBURTON] BRENDA HUTCHENSON  DOB 3\/2\/52  [01\/29\/26 10:56:33 KBURTON] VOMMITING  SHORTNESS OF BREATH  CHEST PAIN  BONE INFECTION IN FOOT  [01\/29\/26 10:56:13 KBURTON]"
[2026-01-29 16:57:53] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-29 16:57:53] [INFO]   -> Found value: COOKEVILLE
[2026-01-29 16:57:53] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-29 16:57:53] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-29 16:57:53] [INFO]   -> Found value: PONDVIEW
[2026-01-29 16:57:53] [INFO]   -> Set field 'streetName' = "PONDVIEW"
[2026-01-29 16:57:53] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-29 16:57:53] [INFO]   -> Found value: CIR
[2026-01-29 16:57:53] [INFO]   -> Set field 'streetType' = "CIR"
[2026-01-29 16:57:53] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-29 16:57:53] [INFO]   -> Found value: 1340 PONDVIEW CIR
[2026-01-29 16:57:53] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1340 PONDVIEW CIR"
[2026-01-29 16:57:53] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-29 16:57:53] [INFO] Concatenating street name and type
[2026-01-29 16:57:53] [INFO]   -> Combined street name: PONDVIEW CIR
[2026-01-29 16:57:53] [INFO] Built locationCoordinates from lat/lng: 36.21162,-85.47277
[2026-01-29 16:57:53] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000270","dispatchRunNumber":"2026000270","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":1340,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.21162000000000347199602401815354824066162109375,"nERISIncidentLongitude":-85.472769999999997025952325202524662017822265625,"alarm":"2026-01-29 10:57:10","dispatched":"2026-01-29 10:57:43","incidentLocationCross":"QUINLAND LAKE RD\/QUINLAND LAKE RD","cADVehicleID":"PCFR","timedispatch":"2026-01-29 10:57:43","policeReportNumber":"20260010752","dispatchNotes":"[EMS] POSSIBLE SEPTIC  [01\/29\/26 10:57:20 KBURTON] [EMS] UDTS: NAUSEA  &amp; VOMITING  [01\/29\/26 10:57:13 KBURTON] Event spawned from FAINTING \/ SYNCOPE.  [01\/29\/2026 10:57:10 KBURTON] BRENDA HUTCHENSON  DOB 3\/2\/52  [01\/29\/26 10:56:33 KBURTON] VOMMITING  SHORTNESS OF BREATH  CHEST PAIN  BONE INFECTION IN FOOT  [01\/29\/26 10:56:13 KBURTON]","cADLog":"[EMS] POSSIBLE SEPTIC  [01\/29\/26 10:57:20 KBURTON] [EMS] UDTS: NAUSEA  &amp; VOMITING  [01\/29\/26 10:57:13 KBURTON] Event spawned from FAINTING \/ SYNCOPE.  [01\/29\/2026 10:57:10 KBURTON] BRENDA HUTCHENSON  DOB 3\/2\/52  [01\/29\/26 10:56:33 KBURTON] VOMMITING  SHORTNESS OF BREATH  CHEST PAIN  BONE INFECTION IN FOOT  [01\/29\/26 10:56:13 KBURTON]","incidentLocationCity":"COOKEVILLE","streetName":"PONDVIEW CIR","incidentAddressTextVersionStreet":"1340 PONDVIEW CIR","locationCoordinates":"36.21162,-85.47277"}
[2026-01-29 16:57:53] [INFO] Number of extracted fields: 21
[2026-01-29 16:57:53] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-29 16:57:53] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-01-29 16:57:53] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-29 16:57:53] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-29 16:57:53] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-29 16:57:53] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-29 16:57:53] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-29 16:57:53] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-29 16:57:53] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-29 16:57:53] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-29 16:57:53] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-29 16:57:53] [INFO] Found existing IncidentTypeMapping with ID: 693861a57fd64f0b2
[2026-01-29 16:58:02] [INFO] Created new Dispatches record with ID: 697b9191d240a593e
[2026-01-29 16:58:02] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-29 16:58:02] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-29 16:58:05] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010752_20260129_165750.XML
[2026-01-29 16:58:05] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010752_20260129_165750.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-29/PCFD_20260010752_20260129_165750.XML
[2026-01-29 16:58:05] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010752_20260129_165750.XML
[2026-01-29 18:39:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:39:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml for user: 69320e6a9e3e5ef71
[2026-01-29 18:39:25] [INFO] File size: 12815 bytes
[2026-01-29 18:39:26] [INFO] Created FTPFiles record with ID: 697ba95df02e5a948
[2026-01-29 18:39:26] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-29 18:39:26] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-29/cfs_2026-006167.xml
[2026-01-29 18:39:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:40:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:40:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml for user: 69320e6a9e3e5ef71
[2026-01-29 18:40:31] [INFO] File size: 16306 bytes
[2026-01-29 18:40:32] [INFO] Created FTPFiles record with ID: 697ba9a0295a636d1
[2026-01-29 18:40:32] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-29 18:40:32] [INFO] File already exists in archive, using unique name: cfs_2026-006167_1769712032.xml
[2026-01-29 18:40:32] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-29/cfs_2026-006167_1769712032.xml
[2026-01-29 18:40:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:41:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:41:19] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml for user: 69320e6a9e3e5ef71
[2026-01-29 18:41:19] [INFO] File size: 19191 bytes
[2026-01-29 18:41:19] [INFO] Created FTPFiles record with ID: 697ba9cf5ef6e7ac1
[2026-01-29 18:41:19] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-29 18:41:19] [INFO] File already exists in archive, using unique name: cfs_2026-006167_1769712079.xml
[2026-01-29 18:41:19] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-29/cfs_2026-006167_1769712079.xml
[2026-01-29 18:41:19] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:41:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:41:26] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml for user: 69320e6a9e3e5ef71
[2026-01-29 18:41:26] [INFO] File size: 20777 bytes
[2026-01-29 18:41:27] [INFO] Created FTPFiles record with ID: 697ba9d73a5c10ea9
[2026-01-29 18:41:27] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-29 18:41:27] [INFO] File already exists in archive, using unique name: cfs_2026-006167_1769712087.xml
[2026-01-29 18:41:27] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-29/cfs_2026-006167_1769712087.xml
[2026-01-29 18:41:27] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:43:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:43:06] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml for user: 69320e6a9e3e5ef71
[2026-01-29 18:43:06] [INFO] File size: 22390 bytes
[2026-01-29 18:43:06] [INFO] Created FTPFiles record with ID: 697baa3abedd91afd
[2026-01-29 18:43:06] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-29 18:43:06] [INFO] File already exists in archive, using unique name: cfs_2026-006167_1769712186.xml
[2026-01-29 18:43:06] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-29/cfs_2026-006167_1769712186.xml
[2026-01-29 18:43:06] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:45:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:45:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml for user: 69320e6a9e3e5ef71
[2026-01-29 18:45:02] [INFO] File size: 23384 bytes
[2026-01-29 18:45:02] [INFO] Created FTPFiles record with ID: 697baaaee2dbbcb56
[2026-01-29 18:45:02] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-29 18:45:02] [INFO] File already exists in archive, using unique name: cfs_2026-006167_1769712302.xml
[2026-01-29 18:45:02] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-29/cfs_2026-006167_1769712302.xml
[2026-01-29 18:45:02] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:45:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:45:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml for user: 69320e6a9e3e5ef71
[2026-01-29 18:45:21] [INFO] File size: 24383 bytes
[2026-01-29 18:45:22] [INFO] Created FTPFiles record with ID: 697baac24009ddbd8
[2026-01-29 18:45:22] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-29 18:45:22] [INFO] File already exists in archive, using unique name: cfs_2026-006167_1769712322.xml
[2026-01-29 18:45:22] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-29/cfs_2026-006167_1769712322.xml
[2026-01-29 18:45:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:45:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:45:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml for user: 69320e6a9e3e5ef71
[2026-01-29 18:45:36] [INFO] File size: 25354 bytes
[2026-01-29 18:45:36] [INFO] Created FTPFiles record with ID: 697baad0edc23f55a
[2026-01-29 18:45:36] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-29 18:45:36] [INFO] File already exists in archive, using unique name: cfs_2026-006167_1769712336.xml
[2026-01-29 18:45:36] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-29/cfs_2026-006167_1769712336.xml
[2026-01-29 18:45:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:45:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:45:50] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml for user: 69320e6a9e3e5ef71
[2026-01-29 18:45:50] [INFO] File size: 26940 bytes
[2026-01-29 18:45:50] [INFO] Created FTPFiles record with ID: 697baade7f2e61f11
[2026-01-29 18:45:50] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-29 18:45:50] [INFO] File already exists in archive, using unique name: cfs_2026-006167_1769712350.xml
[2026-01-29 18:45:50] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-29/cfs_2026-006167_1769712350.xml
[2026-01-29 18:45:50] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:45:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:45:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml for user: 69320e6a9e3e5ef71
[2026-01-29 18:45:53] [INFO] File size: 28526 bytes
[2026-01-29 18:45:53] [INFO] Created FTPFiles record with ID: 697baae1898ba5e38
[2026-01-29 18:45:53] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-29 18:45:53] [INFO] File already exists in archive, using unique name: cfs_2026-006167_1769712353.xml
[2026-01-29 18:45:53] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-29/cfs_2026-006167_1769712353.xml
[2026-01-29 18:45:53] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:45:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:45:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml for user: 69320e6a9e3e5ef71
[2026-01-29 18:45:55] [INFO] File size: 30112 bytes
[2026-01-29 18:45:55] [INFO] Created FTPFiles record with ID: 697baae39d1bd01c2
[2026-01-29 18:45:55] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-29 18:45:55] [INFO] File already exists in archive, using unique name: cfs_2026-006167_1769712355.xml
[2026-01-29 18:45:55] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-29/cfs_2026-006167_1769712355.xml
[2026-01-29 18:45:55] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:52:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:52:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml for user: 69320e6a9e3e5ef71
[2026-01-29 18:52:21] [INFO] File size: 31118 bytes
[2026-01-29 18:52:21] [INFO] Created FTPFiles record with ID: 697bac658565ebda8
[2026-01-29 18:52:21] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-29 18:52:21] [INFO] File already exists in archive, using unique name: cfs_2026-006167_1769712741.xml
[2026-01-29 18:52:21] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-29/cfs_2026-006167_1769712741.xml
[2026-01-29 18:52:21] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:52:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:52:27] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml for user: 69320e6a9e3e5ef71
[2026-01-29 18:52:27] [INFO] File size: 32090 bytes
[2026-01-29 18:52:28] [INFO] Created FTPFiles record with ID: 697bac6c20b8d7696
[2026-01-29 18:52:28] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-29 18:52:28] [INFO] File already exists in archive, using unique name: cfs_2026-006167_1769712748.xml
[2026-01-29 18:52:28] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-29/cfs_2026-006167_1769712748.xml
[2026-01-29 18:52:28] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:54:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-03025.xml
[2026-01-29 18:54:38] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-03025.xml for user: 68d56363ec1209189
[2026-01-29 18:54:38] [INFO] File size: 3202 bytes
[2026-01-29 18:54:38] [INFO] Created FTPFiles record with ID: 697bacee71cd9c7e8
[2026-01-29 18:54:38] [INFO] About to extract fields from XML. File size: 3202 bytes
[2026-01-29 18:54:38] [INFO] Number of mappings: 21
[2026-01-29 18:54:38] [INFO] Starting XML parsing. Content length: 3202
[2026-01-29 18:54:38] [INFO] XML parsed successfully. Root element: Incident
[2026-01-29 18:54:38] [INFO] Processing 21 field mappings
[2026-01-29 18:54:38] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-29 18:54:38] [INFO]   -> Found value: 26-03025
[2026-01-29 18:54:38] [INFO]   -> Set field 'dispatchRunNumber' = "26-03025"
[2026-01-29 18:54:38] [INFO]   -> Set field 'cADNumber' = "26-03025"
[2026-01-29 18:54:38] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-29 18:54:38] [INFO]   -> Found value: 344
[2026-01-29 18:54:38] [INFO]   -> Set field 'incidentLocationStreetNumber' = 344
[2026-01-29 18:54:38] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-29 18:54:38] [INFO]   -> Found value: COUNTY HIGHWAY 449
[2026-01-29 18:54:38] [INFO]   -> Set field 'streetName' = "COUNTY HIGHWAY 449"
[2026-01-29 18:54:38] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-29 18:54:38] [INFO]   -> No value found (null or empty)
[2026-01-29 18:54:38] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-29 18:54:38] [INFO]   -> Found value: SIKESTON
[2026-01-29 18:54:38] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-29 18:54:38] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-29 18:54:38] [INFO]   -> No value found (null or empty)
[2026-01-29 18:54:38] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-29 18:54:38] [INFO]   -> No value found (null or empty)
[2026-01-29 18:54:38] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-29 18:54:38] [INFO]   -> No value found (null or empty)
[2026-01-29 18:54:38] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-29 18:54:38] [INFO]   -> Found value: 0
[2026-01-29 18:54:38] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-29 18:54:38] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-29 18:54:38] [INFO]   -> Found value: 0
[2026-01-29 18:54:38] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-29 18:54:38] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-29 18:54:38] [INFO]   -> Found value: FIRE-VEHICLE
[2026-01-29 18:54:38] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-VEHICLE"
[2026-01-29 18:54:38] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-29 18:54:38] [INFO]   -> Found value: 01-29-2026 12:19:31|VEHICLE ON FIRE

IN THE DRIVEWAY AT THE RESIDENCE

NO STRUCTURES IN DANGER 01-29...
[2026-01-29 18:54:38] [INFO]   -> Set field 'dispatchNotes' = "01-29-2026 12:19:31|VEHICLE ON FIRE\n\nIN THE DRIVEWAY AT THE RESIDENCE\n\nNO STRUCTURES IN DANGER 01-29-2026 12:22:36|****** Appended notes from E911 Call begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 01\/29\/2026 12:19:15\nNotes: Call Received on 01\/29\/2026 @ 12:19\n\nLocation: 1 COUNTY RD 472\n****** Appended notes from E911 Call end   ******\n 01-29-2026 12:25:59|703 ON SCENE OF VEHICLE FIRE   FULLY INVOLVED WITH NO EXPOSURES 01-29-2026 12:27:14|1761 EN RT X 2 01-29-2026 12:28:53|1765 EN RT X 2 01-29-2026 12:31:09|1701 WITH COMMAND 01-29-2026 12:35:36|UNDER CONTROL 01-29-2026 12:52:40|VEHICLES LEFT ON PROPERTY PER OWNER 01-29-2026 12:53:50|Disposition - Scott County Rural:  RPT"
[2026-01-29 18:54:38] [INFO]   -> Set field 'cADLog' = "01-29-2026 12:19:31|VEHICLE ON FIRE\n\nIN THE DRIVEWAY AT THE RESIDENCE\n\nNO STRUCTURES IN DANGER 01-29-2026 12:22:36|****** Appended notes from E911 Call begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 01\/29\/2026 12:19:15\nNotes: Call Received on 01\/29\/2026 @ 12:19\n\nLocation: 1 COUNTY RD 472\n****** Appended notes from E911 Call end   ******\n 01-29-2026 12:25:59|703 ON SCENE OF VEHICLE FIRE   FULLY INVOLVED WITH NO EXPOSURES 01-29-2026 12:27:14|1761 EN RT X 2 01-29-2026 12:28:53|1765 EN RT X 2 01-29-2026 12:31:09|1701 WITH COMMAND 01-29-2026 12:35:36|UNDER CONTROL 01-29-2026 12:52:40|VEHICLES LEFT ON PROPERTY PER OWNER 01-29-2026 12:53:50|Disposition - Scott County Rural:  RPT"
[2026-01-29 18:54:38] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-29 18:54:38] [INFO]   -> Found value: 01-29-2026T12:20:45
[2026-01-29 18:54:38] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T12:20:45
[2026-01-29 18:54:38] [ERROR] Error formatting datetime '2026-29-01T12:20:45': Failed to parse time string (2026-29-01T12:20:45) at position 6 (9): Unexpected character
[2026-01-29 18:54:38] [INFO]   -> Set field 'alarm' = null
[2026-01-29 18:54:38] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T12:20:45
[2026-01-29 18:54:38] [ERROR] Error formatting datetime '2026-29-01T12:20:45': Failed to parse time string (2026-29-01T12:20:45) at position 6 (9): Unexpected character
[2026-01-29 18:54:38] [INFO]   -> Set field 'dispatched' = null
[2026-01-29 18:54:38] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-29 18:54:38] [INFO]   -> Found value: 01-29-2026T12:31:03
[2026-01-29 18:54:38] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T12:31:03
[2026-01-29 18:54:38] [ERROR] Error formatting datetime '2026-29-01T12:31:03': Failed to parse time string (2026-29-01T12:31:03) at position 6 (9): Unexpected character
[2026-01-29 18:54:38] [INFO]   -> Set field 'onScene' = null
[2026-01-29 18:54:38] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-29 18:54:38] [INFO]   -> Found value: 01-29-2026T12:53:41
[2026-01-29 18:54:38] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T12:53:41
[2026-01-29 18:54:38] [ERROR] Error formatting datetime '2026-29-01T12:53:41': Failed to parse time string (2026-29-01T12:53:41) at position 6 (9): Unexpected character
[2026-01-29 18:54:38] [INFO]   -> Set field 'cleared' = null
[2026-01-29 18:54:38] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T12:53:41
[2026-01-29 18:54:38] [ERROR] Error formatting datetime '2026-29-01T12:53:41': Failed to parse time string (2026-29-01T12:53:41) at position 6 (9): Unexpected character
[2026-01-29 18:54:38] [INFO]   -> Set field 'inService' = null
[2026-01-29 18:54:38] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-29 18:54:38] [INFO]   -> Found value: 1701
[2026-01-29 18:54:38] [INFO]   -> Set field 'cADVehicleID' = 1701
[2026-01-29 18:54:38] [INFO]   -> Set field 'name' = "1701"
[2026-01-29 18:54:38] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-29 18:54:38] [INFO]   -> Found value: 01-29-2026T12:23:06
[2026-01-29 18:54:38] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T12:23:06
[2026-01-29 18:54:38] [ERROR] Error formatting datetime '2026-29-01T12:23:06': Failed to parse time string (2026-29-01T12:23:06) at position 6 (9): Unexpected character
[2026-01-29 18:54:38] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-01-29 18:54:38] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-29 18:54:38] [INFO]   -> Found value: 01-29-2026T12:31:03
[2026-01-29 18:54:38] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T12:31:03
[2026-01-29 18:54:38] [ERROR] Error formatting datetime '2026-29-01T12:31:03': Failed to parse time string (2026-29-01T12:31:03) at position 6 (9): Unexpected character
[2026-01-29 18:54:38] [INFO]   -> Set field 'timeonscene' = null
[2026-01-29 18:54:38] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-29 18:54:38] [INFO]   -> Found value: 01-29-2026T12:53:30
[2026-01-29 18:54:38] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T12:53:30
[2026-01-29 18:54:38] [ERROR] Error formatting datetime '2026-29-01T12:53:30': Failed to parse time string (2026-29-01T12:53:30) at position 6 (9): Unexpected character
[2026-01-29 18:54:38] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-29 18:54:38] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-29 18:54:38] [INFO]   -> Found value: 01-29-2026T12:23:04
[2026-01-29 18:54:38] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T12:23:04
[2026-01-29 18:54:38] [ERROR] Error formatting datetime '2026-29-01T12:23:04': Failed to parse time string (2026-29-01T12:23:04) at position 6 (9): Unexpected character
[2026-01-29 18:54:38] [INFO]   -> Set field 'timedispatch' = null
[2026-01-29 18:54:38] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-29 18:54:38] [INFO]   -> Found value: SCRFD
[2026-01-29 18:54:38] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-01-29 18:54:38] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-29 18:54:38] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-29 18:54:38] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-03025","cADNumber":"26-03025","incidentLocationStreetNumber":344,"streetName":"COUNTY HIGHWAY 449","incidentLocationCity":"SIKESTON","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-VEHICLE","dispatchNotes":"01-29-2026 12:19:31|VEHICLE ON FIRE\n\nIN THE DRIVEWAY AT THE RESIDENCE\n\nNO STRUCTURES IN DANGER 01-29-2026 12:22:36|****** Appended notes from E911 Call begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 01\/29\/2026 12:19:15\nNotes: Call Received on 01\/29\/2026 @ 12:19\n\nLocation: 1 COUNTY RD 472\n****** Appended notes from E911 Call end   ******\n 01-29-2026 12:25:59|703 ON SCENE OF VEHICLE FIRE   FULLY INVOLVED WITH NO EXPOSURES 01-29-2026 12:27:14|1761 EN RT X 2 01-29-2026 12:28:53|1765 EN RT X 2 01-29-2026 12:31:09|1701 WITH COMMAND 01-29-2026 12:35:36|UNDER CONTROL 01-29-2026 12:52:40|VEHICLES LEFT ON PROPERTY PER OWNER 01-29-2026 12:53:50|Disposition - Scott County Rural:  RPT","cADLog":"01-29-2026 12:19:31|VEHICLE ON FIRE\n\nIN THE DRIVEWAY AT THE RESIDENCE\n\nNO STRUCTURES IN DANGER 01-29-2026 12:22:36|****** Appended notes from E911 Call begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 01\/29\/2026 12:19:15\nNotes: Call Received on 01\/29\/2026 @ 12:19\n\nLocation: 1 COUNTY RD 472\n****** Appended notes from E911 Call end   ******\n 01-29-2026 12:25:59|703 ON SCENE OF VEHICLE FIRE   FULLY INVOLVED WITH NO EXPOSURES 01-29-2026 12:27:14|1761 EN RT X 2 01-29-2026 12:28:53|1765 EN RT X 2 01-29-2026 12:31:09|1701 WITH COMMAND 01-29-2026 12:35:36|UNDER CONTROL 01-29-2026 12:52:40|VEHICLES LEFT ON PROPERTY PER OWNER 01-29-2026 12:53:50|Disposition - Scott County Rural:  RPT","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":1701,"name":"1701","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-01-29 18:54:38] [INFO] Number of extracted fields: 23
[2026-01-29 18:54:38] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-01-29 18:54:38] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SCRFD', Parsed IDs = ["SCRFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-29 18:54:38] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-01-29 18:54:38] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-01-29 18:54:38] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-01-29 18:54:38] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-01-29 18:54:38] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-01-29 18:54:42] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-01-29 18:54:42] [INFO] Found existing IncidentTypeMapping with ID: 695357a2060043d17
[2026-01-29 18:54:42] [INFO] Found existing Dispatch with cADNumber '26-03025', ID: 697ba501f360af136 - will update instead of create
[2026-01-29 18:54:43] [INFO] Updated existing Dispatches record with ID: 697ba501f360af136
[2026-01-29 18:54:43] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-03025.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-01-29/SCRFD_26-03025.xml
[2026-01-29 18:54:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-03025.xml
[2026-01-29 18:59:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:59:54] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml for user: 69320e6a9e3e5ef71
[2026-01-29 18:59:54] [INFO] File size: 33072 bytes
[2026-01-29 18:59:55] [INFO] Created FTPFiles record with ID: 697bae2b09c3f5704
[2026-01-29 18:59:55] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-29 18:59:55] [INFO] File already exists in archive, using unique name: cfs_2026-006167_1769713195.xml
[2026-01-29 18:59:55] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-29/cfs_2026-006167_1769713195.xml
[2026-01-29 18:59:55] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:59:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 18:59:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml for user: 69320e6a9e3e5ef71
[2026-01-29 18:59:57] [INFO] File size: 34017 bytes
[2026-01-29 18:59:58] [INFO] Created FTPFiles record with ID: 697bae2e3e89d9b64
[2026-01-29 18:59:58] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-29 18:59:58] [INFO] File already exists in archive, using unique name: cfs_2026-006167_1769713198.xml
[2026-01-29 18:59:58] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-29/cfs_2026-006167_1769713198.xml
[2026-01-29 18:59:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-006167.xml
[2026-01-29 19:17:00] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010822_20260129_191700.XML
[2026-01-29 19:17:00] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010822_20260129_191700.XML for user: 68f1466aed072ad4a
[2026-01-29 19:17:00] [INFO] File size: 5244 bytes
[2026-01-29 19:17:00] [INFO] Created FTPFiles record with ID: 697bb22cabc0312ba
[2026-01-29 19:17:00] [INFO] About to extract fields from XML. File size: 5244 bytes
[2026-01-29 19:17:00] [INFO] Number of mappings: 28
[2026-01-29 19:17:00] [INFO] Starting XML parsing. Content length: 5244
[2026-01-29 19:17:00] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-29 19:17:00] [INFO] Processing 28 field mappings
[2026-01-29 19:17:00] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-29 19:17:00] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-29 19:17:00] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-29 19:17:00] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-01-29 19:17:00] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-01-29 19:17:00] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-01-29 19:17:00] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 19:17:00] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-01-29 19:17:00] [INFO]   -> Found value: 2026000271
[2026-01-29 19:17:00] [INFO]   -> Set field 'incidentInternalId' = "2026000271"
[2026-01-29 19:17:00] [INFO]   -> Set field 'dispatchRunNumber' = "2026000271"
[2026-01-29 19:17:00] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-29 19:17:00] [INFO]   -> Found value: CHEST PAIN
[2026-01-29 19:17:00] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-01-29 19:17:00] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-29 19:17:00] [INFO]   -> Found value: 780
[2026-01-29 19:17:00] [INFO]   -> Set field 'incidentLocationStreetNumber' = 780
[2026-01-29 19:17:00] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-29 19:17:00] [INFO]   -> Found value: TN
[2026-01-29 19:17:00] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-29 19:17:00] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-29 19:17:00] [INFO]   -> Found value: 38574
[2026-01-29 19:17:00] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-01-29 19:17:00] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-29 19:17:00] [INFO]   -> No value found (null or empty)
[2026-01-29 19:17:00] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-29 19:17:00] [INFO]   -> No value found (null or empty)
[2026-01-29 19:17:00] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-29 19:17:00] [INFO]   -> Found value: 36.10091
[2026-01-29 19:17:00] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1009099999999989449861459434032440185546875
[2026-01-29 19:17:00] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-29 19:17:00] [INFO]   -> Found value: -85.16573
[2026-01-29 19:17:00] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.16572999999999638021108694374561309814453125
[2026-01-29 19:17:00] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-29 19:17:00] [INFO]   -> Found value: 2026-01-29 13:16:15
[2026-01-29 19:17:00] [INFO]   -> Set field 'alarm' = "2026-01-29 13:16:15"
[2026-01-29 19:17:00] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-29 19:17:00] [INFO]   -> Found value: 2026-01-29 13:16:54
[2026-01-29 19:17:00] [INFO]   -> Set field 'dispatched' = "2026-01-29 13:16:54"
[2026-01-29 19:17:00] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-29 19:17:00] [INFO]   -> No value found (null or empty)
[2026-01-29 19:17:00] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-29 19:17:00] [INFO]   -> No value found (null or empty)
[2026-01-29 19:17:00] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-29 19:17:00] [INFO]   -> No value found (null or empty)
[2026-01-29 19:17:00] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-29 19:17:00] [INFO]   -> Found value: HIGH FLATS RD
[2026-01-29 19:17:00] [INFO]   -> Set field 'incidentLocationCross' = "HIGH FLATS RD"
[2026-01-29 19:17:00] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-29 19:17:00] [INFO]   -> Found value: PCFR
[2026-01-29 19:17:00] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-29 19:17:00] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-29 19:17:00] [INFO]   -> Found value: 2026-01-29 13:16:54
[2026-01-29 19:17:00] [INFO]   -> Set field 'timedispatch' = "2026-01-29 13:16:54"
[2026-01-29 19:17:00] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-29 19:17:00] [INFO]   -> No value found (null or empty)
[2026-01-29 19:17:00] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-29 19:17:00] [INFO]   -> No value found (null or empty)
[2026-01-29 19:17:00] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-29 19:17:00] [INFO]   -> No value found (null or empty)
[2026-01-29 19:17:00] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-29 19:17:00] [INFO]   -> No value found (null or empty)
[2026-01-29 19:17:00] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-29 19:17:00] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-01-29 19:17:00] [INFO]   -> Found value: 20260010822
[2026-01-29 19:17:00] [INFO]   -> Set field 'policeReportNumber' = "20260010822"
[2026-01-29 19:17:00] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-29 19:17:00] [INFO]   -> Found value: [EMS] JAMES WADE BRADFORD DOB 7/8/1989  [01/29/26 13:16:45 KBEATY] Event spawned from CHEST PAIN.  [...
[2026-01-29 19:17:00] [INFO]   -> Set field 'dispatchNotes' = "[EMS] JAMES WADE BRADFORD DOB 7\/8\/1989  [01\/29\/26 13:16:45 KBEATY] Event spawned from CHEST PAIN.  [01\/29\/2026 13:16:15 KBEATY]"
[2026-01-29 19:17:00] [INFO]   -> Set field 'cADLog' = "[EMS] JAMES WADE BRADFORD DOB 7\/8\/1989  [01\/29\/26 13:16:45 KBEATY] Event spawned from CHEST PAIN.  [01\/29\/2026 13:16:15 KBEATY]"
[2026-01-29 19:17:00] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-29 19:17:00] [INFO]   -> Found value: MONTEREY
[2026-01-29 19:17:00] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-01-29 19:17:00] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-29 19:17:00] [INFO]   -> Found value: JIM GARRETT
[2026-01-29 19:17:00] [INFO]   -> Set field 'streetName' = "JIM GARRETT"
[2026-01-29 19:17:00] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-29 19:17:00] [INFO]   -> Found value: RD
[2026-01-29 19:17:00] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-29 19:17:00] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-29 19:17:00] [INFO]   -> Found value: 780 JIM GARRETT RD
[2026-01-29 19:17:00] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "780 JIM GARRETT RD"
[2026-01-29 19:17:00] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-29 19:17:00] [INFO] Concatenating street name and type
[2026-01-29 19:17:00] [INFO]   -> Combined street name: JIM GARRETT RD
[2026-01-29 19:17:00] [INFO] Built locationCoordinates from lat/lng: 36.10091,-85.16573
[2026-01-29 19:17:00] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000271","dispatchRunNumber":"2026000271","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":780,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.1009099999999989449861459434032440185546875,"nERISIncidentLongitude":-85.16572999999999638021108694374561309814453125,"alarm":"2026-01-29 13:16:15","dispatched":"2026-01-29 13:16:54","incidentLocationCross":"HIGH FLATS RD","cADVehicleID":"PCFR","timedispatch":"2026-01-29 13:16:54","policeReportNumber":"20260010822","dispatchNotes":"[EMS] JAMES WADE BRADFORD DOB 7\/8\/1989  [01\/29\/26 13:16:45 KBEATY] Event spawned from CHEST PAIN.  [01\/29\/2026 13:16:15 KBEATY]","cADLog":"[EMS] JAMES WADE BRADFORD DOB 7\/8\/1989  [01\/29\/26 13:16:45 KBEATY] Event spawned from CHEST PAIN.  [01\/29\/2026 13:16:15 KBEATY]","incidentLocationCity":"MONTEREY","streetName":"JIM GARRETT RD","incidentAddressTextVersionStreet":"780 JIM GARRETT RD","locationCoordinates":"36.10091,-85.16573"}
[2026-01-29 19:17:00] [INFO] Number of extracted fields: 21
[2026-01-29 19:17:00] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-01-29 19:17:00] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-01-29 19:17:00] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-01-29 19:17:00] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-29 19:17:00] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-29 19:17:00] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-01-29 19:17:01] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-29 19:17:01] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-29 19:17:01] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-29 19:17:01] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-29 19:17:01] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-29 19:17:01] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-01-29 19:17:11] [INFO] Created new Dispatches record with ID: 697bb22d8a199fb97
[2026-01-29 19:17:11] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-29 19:17:11] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-29 19:17:14] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010822_20260129_191700.XML
[2026-01-29 19:17:14] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010822_20260129_191700.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-29/PCFD_20260010822_20260129_191700.XML
[2026-01-29 19:17:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010822_20260129_191700.XML
[2026-01-29 19:53:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010839_20260129_195310.XML
[2026-01-29 19:53:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010839_20260129_195310.XML for user: 68f1466aed072ad4a
[2026-01-29 19:53:10] [INFO] File size: 4668 bytes
[2026-01-29 19:53:10] [INFO] Created FTPFiles record with ID: 697bbaa683b6d3b5d
[2026-01-29 19:53:10] [INFO] About to extract fields from XML. File size: 4668 bytes
[2026-01-29 19:53:10] [INFO] Number of mappings: 28
[2026-01-29 19:53:10] [INFO] Starting XML parsing. Content length: 4668
[2026-01-29 19:53:10] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-29 19:53:10] [INFO] Processing 28 field mappings
[2026-01-29 19:53:10] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-29 19:53:10] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-29 19:53:10] [INFO]   -> Found value: PCFD
[2026-01-29 19:53:10] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-01-29 19:53:10] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 19:53:10] [INFO]   -> Found value: 2026000272
[2026-01-29 19:53:10] [INFO]   -> Set field 'incidentInternalId' = "2026000272"
[2026-01-29 19:53:10] [INFO]   -> Set field 'dispatchRunNumber' = "2026000272"
[2026-01-29 19:53:10] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-29 19:53:10] [INFO]   -> Found value: FIRE ALARM
[2026-01-29 19:53:10] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-01-29 19:53:10] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-29 19:53:10] [INFO]   -> Found value: 4250
[2026-01-29 19:53:10] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4250
[2026-01-29 19:53:10] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-29 19:53:10] [INFO]   -> Found value: TN
[2026-01-29 19:53:10] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-29 19:53:10] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-29 19:53:10] [INFO]   -> Found value: 38544
[2026-01-29 19:53:10] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-01-29 19:53:10] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-29 19:53:10] [INFO]   -> No value found (null or empty)
[2026-01-29 19:53:10] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-29 19:53:10] [INFO]   -> No value found (null or empty)
[2026-01-29 19:53:10] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-29 19:53:10] [INFO]   -> Found value: 36.11449
[2026-01-29 19:53:10] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1144900000000035333869163878262042999267578125
[2026-01-29 19:53:10] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-29 19:53:10] [INFO]   -> Found value: -85.61002
[2026-01-29 19:53:10] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6100200000000057798388297669589519500732421875
[2026-01-29 19:53:10] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-29 19:53:10] [INFO]   -> Found value: 2026-01-29 13:51:33
[2026-01-29 19:53:10] [INFO]   -> Set field 'alarm' = "2026-01-29 13:51:33"
[2026-01-29 19:53:10] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-29 19:53:10] [INFO]   -> Found value: 2026-01-29 13:53:01
[2026-01-29 19:53:10] [INFO]   -> Set field 'dispatched' = "2026-01-29 13:53:01"
[2026-01-29 19:53:10] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-29 19:53:10] [INFO]   -> No value found (null or empty)
[2026-01-29 19:53:10] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-29 19:53:10] [INFO]   -> No value found (null or empty)
[2026-01-29 19:53:10] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-29 19:53:10] [INFO]   -> No value found (null or empty)
[2026-01-29 19:53:10] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-29 19:53:10] [INFO]   -> Found value: DITTY RD/BEN JARED RD
[2026-01-29 19:53:10] [INFO]   -> Set field 'incidentLocationCross' = "DITTY RD\/BEN JARED RD"
[2026-01-29 19:53:10] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-29 19:53:10] [INFO]   -> Found value: TK13
[2026-01-29 19:53:10] [INFO]   -> Set field 'cADVehicleID' = "TK13"
[2026-01-29 19:53:10] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-29 19:53:10] [INFO]   -> Found value: 2026-01-29 13:53:01
[2026-01-29 19:53:10] [INFO]   -> Set field 'timedispatch' = "2026-01-29 13:53:01"
[2026-01-29 19:53:10] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-29 19:53:10] [INFO]   -> No value found (null or empty)
[2026-01-29 19:53:10] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-29 19:53:10] [INFO]   -> No value found (null or empty)
[2026-01-29 19:53:10] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-29 19:53:10] [INFO]   -> No value found (null or empty)
[2026-01-29 19:53:10] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-29 19:53:10] [INFO]   -> No value found (null or empty)
[2026-01-29 19:53:10] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-29 19:53:10] [INFO]   -> Found value: 20260010839
[2026-01-29 19:53:10] [INFO]   -> Set field 'policeReportNumber' = "20260010839"
[2026-01-29 19:53:10] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-29 19:53:10] [INFO]   -> Found value: ZONE 41 / MUD ROOM SMOKE DETECTOR (480) 221-6376  [01/29/26 13:52:20 KBEATY]
[2026-01-29 19:53:10] [INFO]   -> Set field 'dispatchNotes' = "ZONE 41 \/ MUD ROOM SMOKE DETECTOR (480) 221-6376  [01\/29\/26 13:52:20 KBEATY]"
[2026-01-29 19:53:10] [INFO]   -> Set field 'cADLog' = "ZONE 41 \/ MUD ROOM SMOKE DETECTOR (480) 221-6376  [01\/29\/26 13:52:20 KBEATY]"
[2026-01-29 19:53:10] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-29 19:53:10] [INFO]   -> Found value: BAXTER
[2026-01-29 19:53:10] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-01-29 19:53:10] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-29 19:53:10] [INFO]   -> Found value: MOSS
[2026-01-29 19:53:10] [INFO]   -> Set field 'streetName' = "MOSS"
[2026-01-29 19:53:10] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-29 19:53:10] [INFO]   -> Found value: RD
[2026-01-29 19:53:10] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-29 19:53:10] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-29 19:53:10] [INFO]   -> Found value: 4250 MOSS RD
[2026-01-29 19:53:10] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4250 MOSS RD"
[2026-01-29 19:53:10] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-29 19:53:10] [INFO] Concatenating street name and type
[2026-01-29 19:53:10] [INFO]   -> Combined street name: MOSS RD
[2026-01-29 19:53:10] [INFO] Built locationCoordinates from lat/lng: 36.11449,-85.61002
[2026-01-29 19:53:10] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000272","dispatchRunNumber":"2026000272","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":4250,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1144900000000035333869163878262042999267578125,"nERISIncidentLongitude":-85.6100200000000057798388297669589519500732421875,"alarm":"2026-01-29 13:51:33","dispatched":"2026-01-29 13:53:01","incidentLocationCross":"DITTY RD\/BEN JARED RD","cADVehicleID":"TK13","timedispatch":"2026-01-29 13:53:01","policeReportNumber":"20260010839","dispatchNotes":"ZONE 41 \/ MUD ROOM SMOKE DETECTOR (480) 221-6376  [01\/29\/26 13:52:20 KBEATY]","cADLog":"ZONE 41 \/ MUD ROOM SMOKE DETECTOR (480) 221-6376  [01\/29\/26 13:52:20 KBEATY]","incidentLocationCity":"BAXTER","streetName":"MOSS RD","incidentAddressTextVersionStreet":"4250 MOSS RD","locationCoordinates":"36.11449,-85.61002"}
[2026-01-29 19:53:10] [INFO] Number of extracted fields: 21
[2026-01-29 19:53:10] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-01-29 19:53:10] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-01-29 19:53:10] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-01-29 19:53:10] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-29 19:53:10] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-29 19:53:10] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-29 19:53:10] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-29 19:53:10] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-29 19:53:11] [INFO] Found existing IncidentTypeMapping with ID: 69398a845c349ab26
[2026-01-29 19:53:20] [INFO] Created new Dispatches record with ID: 697bbaa75de78023c
[2026-01-29 19:53:20] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-29 19:53:20] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-29 19:53:24] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010839_20260129_195310.XML
[2026-01-29 19:53:24] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010839_20260129_195310.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-29/PCFD_20260010839_20260129_195310.XML
[2026-01-29 19:53:24] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010839_20260129_195310.XML
[2026-01-29 21:26:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-03036.xml
[2026-01-29 21:26:47] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-03036.xml for user: 68d56363ec1209189
[2026-01-29 21:26:47] [INFO] File size: 1583 bytes
[2026-01-29 21:26:48] [INFO] Created FTPFiles record with ID: 697bd09828c91664f
[2026-01-29 21:26:48] [INFO] About to extract fields from XML. File size: 1583 bytes
[2026-01-29 21:26:48] [INFO] Number of mappings: 21
[2026-01-29 21:26:48] [INFO] Starting XML parsing. Content length: 1583
[2026-01-29 21:26:48] [INFO] XML parsed successfully. Root element: Incident
[2026-01-29 21:26:48] [INFO] Processing 21 field mappings
[2026-01-29 21:26:48] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-29 21:26:48] [INFO]   -> Found value: 26-03036
[2026-01-29 21:26:48] [INFO]   -> Set field 'dispatchRunNumber' = "26-03036"
[2026-01-29 21:26:48] [INFO]   -> Set field 'cADNumber' = "26-03036"
[2026-01-29 21:26:48] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-29 21:26:48] [INFO]   -> Found value: 1008
[2026-01-29 21:26:48] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1008
[2026-01-29 21:26:48] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-29 21:26:48] [INFO]   -> Found value: N MAIN ST
[2026-01-29 21:26:48] [INFO]   -> Set field 'streetName' = "N MAIN ST"
[2026-01-29 21:26:48] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-29 21:26:48] [INFO]   -> No value found (null or empty)
[2026-01-29 21:26:48] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-29 21:26:48] [INFO]   -> Found value: SIKESTON
[2026-01-29 21:26:48] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-29 21:26:48] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-29 21:26:48] [INFO]   -> Found value: MISSOURI DELTA MEDICAL CENTER
[2026-01-29 21:26:48] [INFO]   -> Set field 'businessName' = "MISSOURI DELTA MEDICAL CENTER"
[2026-01-29 21:26:48] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-29 21:26:48] [INFO]   -> Found value: MO
[2026-01-29 21:26:48] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-29 21:26:48] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-29 21:26:48] [INFO]   -> Found value: 63801
[2026-01-29 21:26:48] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-01-29 21:26:48] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-29 21:26:48] [INFO]   -> Found value: 0
[2026-01-29 21:26:48] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-29 21:26:48] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-29 21:26:48] [INFO]   -> Found value: 0
[2026-01-29 21:26:48] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-29 21:26:48] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-29 21:26:48] [INFO]   -> Found value: FIRE-AIRCRAFT STANDBY
[2026-01-29 21:26:48] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-AIRCRAFT STANDBY"
[2026-01-29 21:26:48] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-29 21:26:48] [INFO]   -> Found value: 01-29-2026 14:32:09|AE3 EN RT AND WILL NEED TRANSPORT TO AND FROM HOSPITAL

ETA 1440 01-29-2026 14:4...
[2026-01-29 21:26:48] [INFO]   -> Set field 'dispatchNotes' = "01-29-2026 14:32:09|AE3 EN RT AND WILL NEED TRANSPORT TO AND FROM HOSPITAL\n\nETA 1440 01-29-2026 14:46:49|FLIGHT CREW ON BOARD EN RT TO ER 01-29-2026 15:11:39|PATIENT LOADED AND TRANSPORTING TO HELIPAD 01-29-2026 15:12:49|HELIPAD"
[2026-01-29 21:26:48] [INFO]   -> Set field 'cADLog' = "01-29-2026 14:32:09|AE3 EN RT AND WILL NEED TRANSPORT TO AND FROM HOSPITAL\n\nETA 1440 01-29-2026 14:46:49|FLIGHT CREW ON BOARD EN RT TO ER 01-29-2026 15:11:39|PATIENT LOADED AND TRANSPORTING TO HELIPAD 01-29-2026 15:12:49|HELIPAD"
[2026-01-29 21:26:48] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-29 21:26:48] [INFO]   -> Found value: 01-29-2026T14:32:20
[2026-01-29 21:26:48] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T14:32:20
[2026-01-29 21:26:48] [ERROR] Error formatting datetime '2026-29-01T14:32:20': Failed to parse time string (2026-29-01T14:32:20) at position 6 (9): Unexpected character
[2026-01-29 21:26:48] [INFO]   -> Set field 'alarm' = null
[2026-01-29 21:26:48] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T14:32:20
[2026-01-29 21:26:48] [ERROR] Error formatting datetime '2026-29-01T14:32:20': Failed to parse time string (2026-29-01T14:32:20) at position 6 (9): Unexpected character
[2026-01-29 21:26:48] [INFO]   -> Set field 'dispatched' = null
[2026-01-29 21:26:48] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-29 21:26:48] [INFO]   -> Found value: 01-29-2026T14:47:27
[2026-01-29 21:26:48] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T14:47:27
[2026-01-29 21:26:48] [ERROR] Error formatting datetime '2026-29-01T14:47:27': Failed to parse time string (2026-29-01T14:47:27) at position 6 (9): Unexpected character
[2026-01-29 21:26:48] [INFO]   -> Set field 'onScene' = null
[2026-01-29 21:26:48] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-29 21:26:48] [INFO]   -> Found value: 01-29-2026T15:26:05
[2026-01-29 21:26:48] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T15:26:05
[2026-01-29 21:26:48] [ERROR] Error formatting datetime '2026-29-01T15:26:05': Failed to parse time string (2026-29-01T15:26:05) at position 6 (9): Unexpected character
[2026-01-29 21:26:48] [INFO]   -> Set field 'cleared' = null
[2026-01-29 21:26:48] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T15:26:05
[2026-01-29 21:26:48] [ERROR] Error formatting datetime '2026-29-01T15:26:05': Failed to parse time string (2026-29-01T15:26:05) at position 6 (9): Unexpected character
[2026-01-29 21:26:48] [INFO]   -> Set field 'inService' = null
[2026-01-29 21:26:48] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-29 21:26:48] [INFO]   -> Found value: SIK STILL
[2026-01-29 21:26:48] [INFO]   -> Set field 'cADVehicleID' = "SIK STILL"
[2026-01-29 21:26:48] [INFO]   -> Set field 'name' = "SIK STILL"
[2026-01-29 21:26:48] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-29 21:26:48] [INFO]   -> No value found (null or empty)
[2026-01-29 21:26:48] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-29 21:26:48] [INFO]   -> No value found (null or empty)
[2026-01-29 21:26:48] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-29 21:26:48] [INFO]   -> Found value: 01-29-2026T15:26:05
[2026-01-29 21:26:48] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T15:26:05
[2026-01-29 21:26:48] [ERROR] Error formatting datetime '2026-29-01T15:26:05': Failed to parse time string (2026-29-01T15:26:05) at position 6 (9): Unexpected character
[2026-01-29 21:26:48] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-29 21:26:48] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-29 21:26:48] [INFO]   -> Found value: 01-29-2026T14:32:20
[2026-01-29 21:26:48] [INFO] Reformatted DD-MM-YYYY date '01-29-2026' (day=01, month=29) to ISO: 2026-29-01T14:32:20
[2026-01-29 21:26:48] [ERROR] Error formatting datetime '2026-29-01T14:32:20': Failed to parse time string (2026-29-01T14:32:20) at position 6 (9): Unexpected character
[2026-01-29 21:26:48] [INFO]   -> Set field 'timedispatch' = null
[2026-01-29 21:26:48] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-29 21:26:48] [INFO]   -> Found value: SDPSFD
[2026-01-29 21:26:48] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-01-29 21:26:48] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-01-29 21:26:48] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-29 21:26:48] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-03036","cADNumber":"26-03036","incidentLocationStreetNumber":1008,"streetName":"N MAIN ST","incidentLocationCity":"SIKESTON","businessName":"MISSOURI DELTA MEDICAL CENTER","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-AIRCRAFT STANDBY","dispatchNotes":"01-29-2026 14:32:09|AE3 EN RT AND WILL NEED TRANSPORT TO AND FROM HOSPITAL\n\nETA 1440 01-29-2026 14:46:49|FLIGHT CREW ON BOARD EN RT TO ER 01-29-2026 15:11:39|PATIENT LOADED AND TRANSPORTING TO HELIPAD 01-29-2026 15:12:49|HELIPAD","cADLog":"01-29-2026 14:32:09|AE3 EN RT AND WILL NEED TRANSPORT TO AND FROM HOSPITAL\n\nETA 1440 01-29-2026 14:46:49|FLIGHT CREW ON BOARD EN RT TO ER 01-29-2026 15:11:39|PATIENT LOADED AND TRANSPORTING TO HELIPAD 01-29-2026 15:12:49|HELIPAD","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"SIK STILL","name":"SIK STILL","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-01-29 21:26:48] [INFO] Number of extracted fields: 24
[2026-01-29 21:26:48] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-01-29 21:26:48] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-29 21:26:48] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-01-29 21:26:48] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-01-29 21:26:48] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-01-29 21:26:48] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-01-29 21:26:48] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-01-29 21:26:48] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-01-29 21:26:48] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e875662f9c
[2026-01-29 21:26:50] [INFO] Created new Dispatches record with ID: 697bd099007565eb1
[2026-01-29 21:26:50] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-03036.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-01-29/SDPSFD_26-03036.xml
[2026-01-29 21:26:50] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-03036.xml
[2026-01-29 23:02:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010923_20260129_230210.XML
[2026-01-29 23:02:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010923_20260129_230210.XML for user: 68f1466aed072ad4a
[2026-01-29 23:02:10] [INFO] File size: 5844 bytes
[2026-01-29 23:02:11] [INFO] Created FTPFiles record with ID: 697be6f33b5ee5870
[2026-01-29 23:02:11] [INFO] About to extract fields from XML. File size: 5844 bytes
[2026-01-29 23:02:11] [INFO] Number of mappings: 28
[2026-01-29 23:02:11] [INFO] Starting XML parsing. Content length: 5844
[2026-01-29 23:02:11] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-29 23:02:11] [INFO] Processing 28 field mappings
[2026-01-29 23:02:11] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-29 23:02:11] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-29 23:02:11] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-29 23:02:11] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-01-29 23:02:11] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-01-29 23:02:11] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-01-29 23:02:11] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 23:02:11] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-01-29 23:02:11] [INFO]   -> Found value: 2026000273
[2026-01-29 23:02:11] [INFO]   -> Set field 'incidentInternalId' = "2026000273"
[2026-01-29 23:02:11] [INFO]   -> Set field 'dispatchRunNumber' = "2026000273"
[2026-01-29 23:02:11] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-29 23:02:11] [INFO]   -> Found value: MVC WITH INJURY
[2026-01-29 23:02:11] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-01-29 23:02:11] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-29 23:02:11] [INFO]   -> Found value: 4096
[2026-01-29 23:02:11] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4096
[2026-01-29 23:02:11] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-29 23:02:11] [INFO]   -> Found value: TN
[2026-01-29 23:02:11] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-29 23:02:11] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-29 23:02:11] [INFO]   -> Found value: 38506
[2026-01-29 23:02:11] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-29 23:02:11] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-29 23:02:11] [INFO]   -> No value found (null or empty)
[2026-01-29 23:02:11] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-29 23:02:11] [INFO]   -> No value found (null or empty)
[2026-01-29 23:02:11] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-29 23:02:11] [INFO]   -> Found value: 36.22134
[2026-01-29 23:02:11] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.22133999999999787178239785134792327880859375
[2026-01-29 23:02:11] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-29 23:02:11] [INFO]   -> Found value: -85.47910
[2026-01-29 23:02:11] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4791000000000025238477974198758602142333984375
[2026-01-29 23:02:11] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-29 23:02:11] [INFO]   -> Found value: 2026-01-29 17:00:33
[2026-01-29 23:02:11] [INFO]   -> Set field 'alarm' = "2026-01-29 17:00:33"
[2026-01-29 23:02:11] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-29 23:02:11] [INFO]   -> Found value: 2026-01-29 17:01:59
[2026-01-29 23:02:11] [INFO]   -> Set field 'dispatched' = "2026-01-29 17:01:59"
[2026-01-29 23:02:11] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-29 23:02:11] [INFO]   -> No value found (null or empty)
[2026-01-29 23:02:11] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-29 23:02:11] [INFO]   -> No value found (null or empty)
[2026-01-29 23:02:11] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-29 23:02:11] [INFO]   -> No value found (null or empty)
[2026-01-29 23:02:11] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-29 23:02:11] [INFO]   -> Found value: REX PEARSON LN/HODGES STOCKTON RD
[2026-01-29 23:02:11] [INFO]   -> Set field 'incidentLocationCross' = "REX PEARSON LN\/HODGES STOCKTON RD"
[2026-01-29 23:02:11] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-29 23:02:11] [INFO]   -> Found value: TK12
[2026-01-29 23:02:11] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-01-29 23:02:11] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-29 23:02:11] [INFO]   -> Found value: 2026-01-29 17:01:59
[2026-01-29 23:02:11] [INFO]   -> Set field 'timedispatch' = "2026-01-29 17:01:59"
[2026-01-29 23:02:11] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-29 23:02:11] [INFO]   -> No value found (null or empty)
[2026-01-29 23:02:11] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-29 23:02:11] [INFO]   -> No value found (null or empty)
[2026-01-29 23:02:11] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-29 23:02:11] [INFO]   -> No value found (null or empty)
[2026-01-29 23:02:11] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-29 23:02:11] [INFO]   -> No value found (null or empty)
[2026-01-29 23:02:11] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-29 23:02:11] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-01-29 23:02:11] [INFO]   -> Found value: 20260010923
[2026-01-29 23:02:11] [INFO]   -> Set field 'policeReportNumber' = "20260010923"
[2026-01-29 23:02:11] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-29 23:02:11] [INFO]   -> Found value: [EMS] INFANT IN ONE VEH  [01/29/26 17:01:44 KMORGAN2] [EMS] DRIVER/FELICIA PHILLIPS 931-267-7063  [0...
[2026-01-29 23:02:11] [INFO]   -> Set field 'dispatchNotes' = "[EMS] INFANT IN ONE VEH  [01\/29\/26 17:01:44 KMORGAN2] [EMS] DRIVER\/FELICIA PHILLIPS 931-267-7063  [01\/29\/26 17:01:36 KMORGAN2] [LAW] PCSO ENRT  [01\/29\/26 17:01:32 ECLEMENS] [LAW] CALLER HAS HER IN HER CAR  [01\/29\/26 17:01:30 MCLAYBURN2] [EMS] THIRD CALLER STATES PEOPLE ARE OUT WALKING  [01\/29\/26 17:01:15 BMEZIME] [EMS] WALKING WOUNDED  [01\/29\/26 17:00:49 KBURTON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/29\/26 17:00:43 ECLEMENS] Event spawned from MVC WITH INJURY.  [01\/29\/2026 17:00:33 KBURTON] 3 VEH HEAD ON  AND REAR END COLLISTION  [01\/29\/26 17:00:31 KBURTON]]"
[2026-01-29 23:02:11] [INFO]   -> Set field 'cADLog' = "[EMS] INFANT IN ONE VEH  [01\/29\/26 17:01:44 KMORGAN2] [EMS] DRIVER\/FELICIA PHILLIPS 931-267-7063  [01\/29\/26 17:01:36 KMORGAN2] [LAW] PCSO ENRT  [01\/29\/26 17:01:32 ECLEMENS] [LAW] CALLER HAS HER IN HER CAR  [01\/29\/26 17:01:30 MCLAYBURN2] [EMS] THIRD CALLER STATES PEOPLE ARE OUT WALKING  [01\/29\/26 17:01:15 BMEZIME] [EMS] WALKING WOUNDED  [01\/29\/26 17:00:49 KBURTON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/29\/26 17:00:43 ECLEMENS] Event spawned from MVC WITH INJURY.  [01\/29\/2026 17:00:33 KBURTON] 3 VEH HEAD ON  AND REAR END COLLISTION  [01\/29\/26 17:00:31 KBURTON]]"
[2026-01-29 23:02:11] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-29 23:02:11] [INFO]   -> Found value: COOKEVILLE
[2026-01-29 23:02:11] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-29 23:02:11] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-29 23:02:11] [INFO]   -> Found value: HILHAM
[2026-01-29 23:02:11] [INFO]   -> Set field 'streetName' = "HILHAM"
[2026-01-29 23:02:11] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-29 23:02:11] [INFO]   -> Found value: RD
[2026-01-29 23:02:11] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-29 23:02:11] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-29 23:02:11] [INFO]   -> Found value: 4096 HILHAM RD
[2026-01-29 23:02:11] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4096 HILHAM RD"
[2026-01-29 23:02:11] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-29 23:02:11] [INFO] Concatenating street name and type
[2026-01-29 23:02:11] [INFO]   -> Combined street name: HILHAM RD
[2026-01-29 23:02:11] [INFO] Built locationCoordinates from lat/lng: 36.22134,-85.4791
[2026-01-29 23:02:11] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000273","dispatchRunNumber":"2026000273","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":4096,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.22133999999999787178239785134792327880859375,"nERISIncidentLongitude":-85.4791000000000025238477974198758602142333984375,"alarm":"2026-01-29 17:00:33","dispatched":"2026-01-29 17:01:59","incidentLocationCross":"REX PEARSON LN\/HODGES STOCKTON RD","cADVehicleID":"TK12","timedispatch":"2026-01-29 17:01:59","policeReportNumber":"20260010923","dispatchNotes":"[EMS] INFANT IN ONE VEH  [01\/29\/26 17:01:44 KMORGAN2] [EMS] DRIVER\/FELICIA PHILLIPS 931-267-7063  [01\/29\/26 17:01:36 KMORGAN2] [LAW] PCSO ENRT  [01\/29\/26 17:01:32 ECLEMENS] [LAW] CALLER HAS HER IN HER CAR  [01\/29\/26 17:01:30 MCLAYBURN2] [EMS] THIRD CALLER STATES PEOPLE ARE OUT WALKING  [01\/29\/26 17:01:15 BMEZIME] [EMS] WALKING WOUNDED  [01\/29\/26 17:00:49 KBURTON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/29\/26 17:00:43 ECLEMENS] Event spawned from MVC WITH INJURY.  [01\/29\/2026 17:00:33 KBURTON] 3 VEH HEAD ON  AND REAR END COLLISTION  [01\/29\/26 17:00:31 KBURTON]]","cADLog":"[EMS] INFANT IN ONE VEH  [01\/29\/26 17:01:44 KMORGAN2] [EMS] DRIVER\/FELICIA PHILLIPS 931-267-7063  [01\/29\/26 17:01:36 KMORGAN2] [LAW] PCSO ENRT  [01\/29\/26 17:01:32 ECLEMENS] [LAW] CALLER HAS HER IN HER CAR  [01\/29\/26 17:01:30 MCLAYBURN2] [EMS] THIRD CALLER STATES PEOPLE ARE OUT WALKING  [01\/29\/26 17:01:15 BMEZIME] [EMS] WALKING WOUNDED  [01\/29\/26 17:00:49 KBURTON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/29\/26 17:00:43 ECLEMENS] Event spawned from MVC WITH INJURY.  [01\/29\/2026 17:00:33 KBURTON] 3 VEH HEAD ON  AND REAR END COLLISTION  [01\/29\/26 17:00:31 KBURTON]]","incidentLocationCity":"COOKEVILLE","streetName":"HILHAM RD","incidentAddressTextVersionStreet":"4096 HILHAM RD","locationCoordinates":"36.22134,-85.4791"}
[2026-01-29 23:02:11] [INFO] Number of extracted fields: 21
[2026-01-29 23:02:11] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-01-29 23:02:11] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-01-29 23:02:11] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-01-29 23:02:11] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-29 23:02:11] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-29 23:02:11] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-01-29 23:02:11] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-29 23:02:11] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-29 23:02:11] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-29 23:02:11] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-29 23:02:11] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-29 23:02:11] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-01-29 23:02:21] [INFO] Created new Dispatches record with ID: 697be6f3f2b7f9f6c
[2026-01-29 23:02:21] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-29 23:02:21] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-29 23:02:24] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010923_20260129_230210.XML
[2026-01-29 23:02:24] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010923_20260129_230210.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-29/PCFD_20260010923_20260129_230210.XML
[2026-01-29 23:02:24] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010923_20260129_230210.XML
[2026-01-29 23:14:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010930_20260129_231430.XML
[2026-01-29 23:14:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010930_20260129_231430.XML for user: 68f1466aed072ad4a
[2026-01-29 23:14:30] [INFO] File size: 4845 bytes
[2026-01-29 23:14:30] [INFO] Created FTPFiles record with ID: 697be9d6a1f57759e
[2026-01-29 23:14:30] [INFO] About to extract fields from XML. File size: 4845 bytes
[2026-01-29 23:14:30] [INFO] Number of mappings: 28
[2026-01-29 23:14:30] [INFO] Starting XML parsing. Content length: 4845
[2026-01-29 23:14:30] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-29 23:14:30] [INFO] Processing 28 field mappings
[2026-01-29 23:14:30] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-29 23:14:30] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-29 23:14:30] [INFO]   -> Found value: PCFD
[2026-01-29 23:14:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-01-29 23:14:30] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 23:14:30] [INFO]   -> Found value: 2026000274
[2026-01-29 23:14:30] [INFO]   -> Set field 'incidentInternalId' = "2026000274"
[2026-01-29 23:14:30] [INFO]   -> Set field 'dispatchRunNumber' = "2026000274"
[2026-01-29 23:14:30] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-29 23:14:30] [INFO]   -> Found value: SMOKE ALARM ACTIVATION
[2026-01-29 23:14:30] [INFO]   -> Set field 'incidentTypeValue1' = "SMOKE ALARM ACTIVATION"
[2026-01-29 23:14:30] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-29 23:14:30] [INFO]   -> Found value: 2311
[2026-01-29 23:14:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2311
[2026-01-29 23:14:30] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-29 23:14:30] [INFO]   -> Found value: TN
[2026-01-29 23:14:30] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-29 23:14:30] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-29 23:14:30] [INFO]   -> Found value: 38501
[2026-01-29 23:14:30] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-01-29 23:14:30] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-29 23:14:30] [INFO]   -> Found value: HAPPY HAVEN
[2026-01-29 23:14:30] [INFO]   -> Set field 'businessName' = "HAPPY HAVEN"
[2026-01-29 23:14:30] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-29 23:14:30] [INFO]   -> No value found (null or empty)
[2026-01-29 23:14:30] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-29 23:14:30] [INFO]   -> Found value: 36.19500
[2026-01-29 23:14:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19500000000000028421709430404007434844970703125
[2026-01-29 23:14:30] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-29 23:14:30] [INFO]   -> Found value: -85.55394
[2026-01-29 23:14:30] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5539399999999972123987390659749507904052734375
[2026-01-29 23:14:30] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-29 23:14:30] [INFO]   -> Found value: 2026-01-29 17:12:49
[2026-01-29 23:14:30] [INFO]   -> Set field 'alarm' = "2026-01-29 17:12:49"
[2026-01-29 23:14:30] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-29 23:14:30] [INFO]   -> Found value: 2026-01-29 17:14:18
[2026-01-29 23:14:30] [INFO]   -> Set field 'dispatched' = "2026-01-29 17:14:18"
[2026-01-29 23:14:30] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-29 23:14:30] [INFO]   -> No value found (null or empty)
[2026-01-29 23:14:30] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-29 23:14:30] [INFO]   -> No value found (null or empty)
[2026-01-29 23:14:30] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-29 23:14:30] [INFO]   -> No value found (null or empty)
[2026-01-29 23:14:30] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-29 23:14:30] [INFO]   -> Found value: COUNTY FARM RD
[2026-01-29 23:14:30] [INFO]   -> Set field 'incidentLocationCross' = "COUNTY FARM RD"
[2026-01-29 23:14:30] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-29 23:14:30] [INFO]   -> Found value: TK16
[2026-01-29 23:14:30] [INFO]   -> Set field 'cADVehicleID' = "TK16"
[2026-01-29 23:14:30] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-29 23:14:30] [INFO]   -> Found value: 2026-01-29 17:14:18
[2026-01-29 23:14:30] [INFO]   -> Set field 'timedispatch' = "2026-01-29 17:14:18"
[2026-01-29 23:14:30] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-29 23:14:30] [INFO]   -> No value found (null or empty)
[2026-01-29 23:14:30] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-29 23:14:30] [INFO]   -> No value found (null or empty)
[2026-01-29 23:14:30] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-29 23:14:30] [INFO]   -> No value found (null or empty)
[2026-01-29 23:14:30] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-29 23:14:30] [INFO]   -> No value found (null or empty)
[2026-01-29 23:14:30] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-29 23:14:30] [INFO]   -> Found value: 20260010930
[2026-01-29 23:14:30] [INFO]   -> Set field 'policeReportNumber' = "20260010930"
[2026-01-29 23:14:30] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-29 23:14:30] [INFO]   -> Found value: WAS DOING FIRE DRILL AND CAN`T GET THE ALARM TO GO OFF NOW  [01/29/26 17:13:30 KMORGAN2]]
[2026-01-29 23:14:30] [INFO]   -> Set field 'dispatchNotes' = "WAS DOING FIRE DRILL AND CAN`T GET THE ALARM TO GO OFF NOW  [01\/29\/26 17:13:30 KMORGAN2]]"
[2026-01-29 23:14:30] [INFO]   -> Set field 'cADLog' = "WAS DOING FIRE DRILL AND CAN`T GET THE ALARM TO GO OFF NOW  [01\/29\/26 17:13:30 KMORGAN2]]"
[2026-01-29 23:14:30] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-29 23:14:30] [INFO]   -> Found value: COOKEVILLE
[2026-01-29 23:14:30] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-29 23:14:30] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-29 23:14:30] [INFO]   -> Found value: WAKEFIELD
[2026-01-29 23:14:30] [INFO]   -> Set field 'streetName' = "WAKEFIELD"
[2026-01-29 23:14:30] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-29 23:14:30] [INFO]   -> Found value: DR
[2026-01-29 23:14:30] [INFO]   -> Set field 'streetType' = "DR"
[2026-01-29 23:14:30] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-29 23:14:30] [INFO]   -> Found value: 2311 WAKEFIELD DR
[2026-01-29 23:14:30] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2311 WAKEFIELD DR"
[2026-01-29 23:14:30] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-29 23:14:30] [INFO] Concatenating street name and type
[2026-01-29 23:14:30] [INFO]   -> Combined street name: WAKEFIELD DR
[2026-01-29 23:14:30] [INFO] Built locationCoordinates from lat/lng: 36.195,-85.55394
[2026-01-29 23:14:30] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000274","dispatchRunNumber":"2026000274","incidentTypeValue1":"SMOKE ALARM ACTIVATION","incidentLocationStreetNumber":2311,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"HAPPY HAVEN","nERISIncidentLatitude":36.19500000000000028421709430404007434844970703125,"nERISIncidentLongitude":-85.5539399999999972123987390659749507904052734375,"alarm":"2026-01-29 17:12:49","dispatched":"2026-01-29 17:14:18","incidentLocationCross":"COUNTY FARM RD","cADVehicleID":"TK16","timedispatch":"2026-01-29 17:14:18","policeReportNumber":"20260010930","dispatchNotes":"WAS DOING FIRE DRILL AND CAN`T GET THE ALARM TO GO OFF NOW  [01\/29\/26 17:13:30 KMORGAN2]]","cADLog":"WAS DOING FIRE DRILL AND CAN`T GET THE ALARM TO GO OFF NOW  [01\/29\/26 17:13:30 KMORGAN2]]","incidentLocationCity":"COOKEVILLE","streetName":"WAKEFIELD DR","incidentAddressTextVersionStreet":"2311 WAKEFIELD DR","locationCoordinates":"36.195,-85.55394"}
[2026-01-29 23:14:30] [INFO] Number of extracted fields: 22
[2026-01-29 23:14:30] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-01-29 23:14:30] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-01-29 23:14:30] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-01-29 23:14:30] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-29 23:14:30] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-29 23:14:31] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-29 23:14:31] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-29 23:14:31] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-29 23:14:31] [INFO] Found existing IncidentTypeMapping with ID: 69496a7be98ed14fb
[2026-01-29 23:14:40] [INFO] Created new Dispatches record with ID: 697be9d771efd8cf2
[2026-01-29 23:14:40] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-29 23:14:40] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-29 23:14:44] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010930_20260129_231430.XML
[2026-01-29 23:14:44] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010930_20260129_231430.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-29/PCFD_20260010930_20260129_231430.XML
[2026-01-29 23:14:44] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010930_20260129_231430.XML
[2026-01-29 23:50:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185010546.xml
[2026-01-29 23:50:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185010546.xml for user: 68920395733981a47
[2026-01-29 23:50:10] [INFO] File size: 5321 bytes
[2026-01-29 23:50:11] [INFO] Created FTPFiles record with ID: 697bf2333783a4656
[2026-01-29 23:50:11] [INFO] About to extract fields from XML. File size: 5321 bytes
[2026-01-29 23:50:11] [INFO] Number of mappings: 24
[2026-01-29 23:50:11] [INFO] Starting XML parsing. Content length: 5321
[2026-01-29 23:50:11] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-29 23:50:11] [INFO] Processing 24 field mappings
[2026-01-29 23:50:11] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-29 23:50:11] [INFO]   -> Found value: STROKE-Stroke
[2026-01-29 23:50:11] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE-Stroke"
[2026-01-29 23:50:11] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-29 23:50:11] [INFO]   -> Found value: 1711 SMITH CEMETERY RD APT A
[2026-01-29 23:50:11] [INFO]   -> Set field 'businessName' = "1711 SMITH CEMETERY RD APT A"
[2026-01-29 23:50:11] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-29 23:50:11] [INFO]   -> Found value: 37379
[2026-01-29 23:50:11] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-29 23:50:11] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-29 23:50:11] [INFO]   -> Found value: 1711
[2026-01-29 23:50:11] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1711
[2026-01-29 23:50:11] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-29 23:50:11] [INFO]   -> Found value: SMITH CEMETERY
[2026-01-29 23:50:11] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-01-29 23:50:11] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-29 23:50:11] [INFO]   -> Found value: No Cross Street/WARD CEMETERY RD
[2026-01-29 23:50:11] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/WARD CEMETERY RD"
[2026-01-29 23:50:11] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-29 23:50:11] [INFO]   -> Found value: 2026-01-29T18:50:06.98-05:00
[2026-01-29 23:50:11] [INFO]   -> Set field 'alarm' = "2026-01-29 23:50:06"
[2026-01-29 23:50:11] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-29 23:50:11] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:50:11] [INFO]   -> Set field 'enroute' = null
[2026-01-29 23:50:11] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-29 23:50:11] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:50:11] [INFO]   -> Set field 'onScene' = null
[2026-01-29 23:50:11] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-29 23:50:11] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:50:11] [INFO]   -> Set field 'cleared' = null
[2026-01-29 23:50:11] [INFO]   -> Set field 'inService' = null
[2026-01-29 23:50:11] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-29 23:50:11] [INFO]   -> Found value: 35.247771
[2026-01-29 23:50:11] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24777100000000018553691916167736053466796875
[2026-01-29 23:50:11] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-29 23:50:11] [INFO]   -> Found value: -85.123497
[2026-01-29 23:50:11] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1234970000000004120010999031364917755126953125
[2026-01-29 23:50:11] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-29 23:50:11] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:50:11] [INFO]   -> Set field 'dispatched' = null
[2026-01-29 23:50:11] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-29 23:50:11] [INFO]   -> No value found (null or empty)
[2026-01-29 23:50:11] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-29 23:50:11] [INFO]   -> No value found (null or empty)
[2026-01-29 23:50:11] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-29 23:50:11] [INFO]   -> No value found (null or empty)
[2026-01-29 23:50:11] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-29 23:50:11] [INFO]   -> No value found (null or empty)
[2026-01-29 23:50:11] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-29 23:50:11] [INFO]   -> No value found (null or empty)
[2026-01-29 23:50:11] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-29 23:50:11] [INFO]   -> No value found (null or empty)
[2026-01-29 23:50:11] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-29 23:50:11] [INFO]   -> Found value: RD
[2026-01-29 23:50:11] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-29 23:50:11] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 23:50:11] [INFO]   -> No value found (null or empty)
[2026-01-29 23:50:11] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-29 23:50:11] [INFO]   -> Found value: 2026-01-39105
[2026-01-29 23:50:11] [INFO]   -> Set field 'policeReportNumber' = "2026-01-39105"
[2026-01-29 23:50:11] [INFO]   -> Set field 'cADNumber' = "2026-01-39105"
[2026-01-29 23:50:11] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-29 23:50:11] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-29 23:50:11] [INFO] Found 5 elements for 'Comment', concatenating 5 non-empty values
[2026-01-29 23:50:11] [INFO]   -> Found value: 01/29/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]
01/29/2026 ...
[2026-01-29 23:50:11] [INFO]   -> Set field 'dispatchNotes' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106"
[2026-01-29 23:50:11] [INFO]   -> Set field 'cADLog' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106"
[2026-01-29 23:50:11] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-29 23:50:11] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-29 23:50:11] [INFO]   -> Found value: SFD
[2026-01-29 23:50:11] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-01-29 23:50:11] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-01-29 23:50:11] [INFO] Concatenating street name and type
[2026-01-29 23:50:11] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-01-29 23:50:11] [INFO] Built locationCoordinates from lat/lng: 35.247771,-85.123497
[2026-01-29 23:50:11] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"STROKE-Stroke","businessName":"1711 SMITH CEMETERY RD APT A","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1711,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"No Cross Street\/WARD CEMETERY RD","alarm":"2026-01-29 23:50:06","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24777100000000018553691916167736053466796875,"nERISIncidentLongitude":-85.1234970000000004120010999031364917755126953125,"dispatched":null,"policeReportNumber":"2026-01-39105","cADNumber":"2026-01-39105","dispatchNotes":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106","cADLog":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106","cADAgencyIdentifier":"SFD","locationCoordinates":"35.247771,-85.123497"}
[2026-01-29 23:50:11] [INFO] Number of extracted fields: 20
[2026-01-29 23:50:11] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-01-29 23:50:11] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD', Parsed IDs = ["SFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-29 23:50:11] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-01-29 23:50:11] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-29 23:50:11] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-29 23:50:11] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-29 23:50:11] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-29 23:50:11] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-29 23:50:11] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"STROKE-Stroke","saasclientId":"681a1d681d6140e0c","name":"STROKE-Stroke"}
[2026-01-29 23:50:12] [INFO] Created new IncidentTypeMapping with ID: 697bf2340657c5420
[2026-01-29 23:50:14] [INFO] Created new Dispatches record with ID: 697bf2344d7c19e9e
[2026-01-29 23:50:14] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-29
[2026-01-29 23:50:14] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185010546.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-29/INCCOMBINED_2026-01-39105_20260129185010546.xml
[2026-01-29 23:50:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185010546.xml
[2026-01-29 23:50:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185020676.xml
[2026-01-29 23:50:20] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185020676.xml for user: 68920395733981a47
[2026-01-29 23:50:20] [INFO] File size: 5732 bytes
[2026-01-29 23:50:21] [INFO] Created FTPFiles record with ID: 697bf23d14fcf6330
[2026-01-29 23:50:21] [INFO] About to extract fields from XML. File size: 5732 bytes
[2026-01-29 23:50:21] [INFO] Number of mappings: 24
[2026-01-29 23:50:21] [INFO] Starting XML parsing. Content length: 5732
[2026-01-29 23:50:21] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-29 23:50:21] [INFO] Processing 24 field mappings
[2026-01-29 23:50:21] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-29 23:50:21] [INFO]   -> Found value: STROKE-Stroke
[2026-01-29 23:50:21] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE-Stroke"
[2026-01-29 23:50:21] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-29 23:50:21] [INFO]   -> Found value: 1711 SMITH CEMETERY RD APT A
[2026-01-29 23:50:21] [INFO]   -> Set field 'businessName' = "1711 SMITH CEMETERY RD APT A"
[2026-01-29 23:50:21] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-29 23:50:21] [INFO]   -> Found value: 37379
[2026-01-29 23:50:21] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-29 23:50:21] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-29 23:50:21] [INFO]   -> Found value: 1711
[2026-01-29 23:50:21] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1711
[2026-01-29 23:50:21] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-29 23:50:21] [INFO]   -> Found value: SMITH CEMETERY
[2026-01-29 23:50:21] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-01-29 23:50:21] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-29 23:50:21] [INFO]   -> Found value: No Cross Street/WARD CEMETERY RD
[2026-01-29 23:50:21] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/WARD CEMETERY RD"
[2026-01-29 23:50:21] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-29 23:50:21] [INFO]   -> Found value: 2026-01-29T18:50:06.98-05:00
[2026-01-29 23:50:21] [INFO]   -> Set field 'alarm' = "2026-01-29 23:50:06"
[2026-01-29 23:50:21] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-29 23:50:21] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:50:21] [INFO]   -> Set field 'enroute' = null
[2026-01-29 23:50:21] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-29 23:50:21] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:50:21] [INFO]   -> Set field 'onScene' = null
[2026-01-29 23:50:21] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-29 23:50:21] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:50:21] [INFO]   -> Set field 'cleared' = null
[2026-01-29 23:50:21] [INFO]   -> Set field 'inService' = null
[2026-01-29 23:50:21] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-29 23:50:21] [INFO]   -> Found value: 35.247771
[2026-01-29 23:50:21] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24777100000000018553691916167736053466796875
[2026-01-29 23:50:21] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-29 23:50:21] [INFO]   -> Found value: -85.123497
[2026-01-29 23:50:21] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1234970000000004120010999031364917755126953125
[2026-01-29 23:50:21] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-29 23:50:21] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:50:21] [INFO]   -> Set field 'dispatched' = null
[2026-01-29 23:50:21] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-29 23:50:21] [INFO]   -> No value found (null or empty)
[2026-01-29 23:50:21] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-29 23:50:21] [INFO]   -> No value found (null or empty)
[2026-01-29 23:50:21] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-29 23:50:21] [INFO]   -> No value found (null or empty)
[2026-01-29 23:50:21] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-29 23:50:21] [INFO]   -> No value found (null or empty)
[2026-01-29 23:50:21] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-29 23:50:21] [INFO]   -> No value found (null or empty)
[2026-01-29 23:50:21] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-29 23:50:21] [INFO]   -> No value found (null or empty)
[2026-01-29 23:50:21] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-29 23:50:21] [INFO]   -> Found value: RD
[2026-01-29 23:50:21] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-29 23:50:21] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 23:50:21] [INFO]   -> No value found (null or empty)
[2026-01-29 23:50:21] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-29 23:50:21] [INFO]   -> Found value: 2026-01-39105
[2026-01-29 23:50:21] [INFO]   -> Set field 'policeReportNumber' = "2026-01-39105"
[2026-01-29 23:50:21] [INFO]   -> Set field 'cADNumber' = "2026-01-39105"
[2026-01-29 23:50:21] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-29 23:50:21] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-29 23:50:21] [INFO] Found 7 elements for 'Comment', concatenating 7 non-empty values
[2026-01-29 23:50:21] [INFO]   -> Found value: 01/29/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]
01/29/2026 ...
[2026-01-29 23:50:21] [INFO]   -> Set field 'dispatchNotes' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:50:21] [INFO]   -> Set field 'cADLog' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:50:21] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-29 23:50:21] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-29 23:50:21] [INFO]   -> Found value: SFD
[2026-01-29 23:50:21] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-01-29 23:50:21] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-01-29 23:50:21] [INFO] Concatenating street name and type
[2026-01-29 23:50:21] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-01-29 23:50:21] [INFO] Built locationCoordinates from lat/lng: 35.247771,-85.123497
[2026-01-29 23:50:21] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"STROKE-Stroke","businessName":"1711 SMITH CEMETERY RD APT A","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1711,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"No Cross Street\/WARD CEMETERY RD","alarm":"2026-01-29 23:50:06","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24777100000000018553691916167736053466796875,"nERISIncidentLongitude":-85.1234970000000004120010999031364917755126953125,"dispatched":null,"policeReportNumber":"2026-01-39105","cADNumber":"2026-01-39105","dispatchNotes":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADLog":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.247771,-85.123497"}
[2026-01-29 23:50:21] [INFO] Number of extracted fields: 20
[2026-01-29 23:50:21] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-01-29 23:50:21] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD', Parsed IDs = ["SFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-29 23:50:21] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-01-29 23:50:21] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-29 23:50:21] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-29 23:50:21] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-29 23:50:21] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-29 23:50:21] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-29 23:50:21] [INFO] Found existing IncidentTypeMapping with ID: 697bf2340657c5420
[2026-01-29 23:50:21] [INFO] Found existing Dispatch with cADNumber '2026-01-39105', ID: 697bf2344d7c19e9e - will update instead of create
[2026-01-29 23:50:22] [INFO] Updated existing Dispatches record with ID: 697bf2344d7c19e9e
[2026-01-29 23:50:22] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185020676.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-29/INCCOMBINED_2026-01-39105_20260129185020676.xml
[2026-01-29 23:50:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185020676.xml
[2026-01-29 23:50:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185025723.xml
[2026-01-29 23:50:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185025723.xml for user: 68920395733981a47
[2026-01-29 23:50:25] [INFO] File size: 8797 bytes
[2026-01-29 23:50:26] [INFO] Created FTPFiles record with ID: 697bf24222d08b805
[2026-01-29 23:50:26] [INFO] About to extract fields from XML. File size: 8797 bytes
[2026-01-29 23:50:26] [INFO] Number of mappings: 24
[2026-01-29 23:50:26] [INFO] Starting XML parsing. Content length: 8797
[2026-01-29 23:50:26] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-29 23:50:26] [INFO] Processing 24 field mappings
[2026-01-29 23:50:26] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-29 23:50:26] [INFO]   -> Found value: STROKE-Stroke
[2026-01-29 23:50:26] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE-Stroke"
[2026-01-29 23:50:26] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-29 23:50:26] [INFO]   -> Found value: 1711 SMITH CEMETERY RD APT A
[2026-01-29 23:50:26] [INFO]   -> Set field 'businessName' = "1711 SMITH CEMETERY RD APT A"
[2026-01-29 23:50:26] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-29 23:50:26] [INFO]   -> Found value: 37379
[2026-01-29 23:50:26] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-29 23:50:26] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-29 23:50:26] [INFO]   -> Found value: 1711
[2026-01-29 23:50:26] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1711
[2026-01-29 23:50:26] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-29 23:50:26] [INFO]   -> Found value: SMITH CEMETERY
[2026-01-29 23:50:26] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-01-29 23:50:26] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-29 23:50:26] [INFO]   -> Found value: No Cross Street/WARD CEMETERY RD
[2026-01-29 23:50:26] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/WARD CEMETERY RD"
[2026-01-29 23:50:26] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-29 23:50:26] [INFO]   -> Found value: 2026-01-29T18:50:06.98-05:00
[2026-01-29 23:50:26] [INFO]   -> Set field 'alarm' = "2026-01-29 23:50:06"
[2026-01-29 23:50:26] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-29 23:50:26] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:50:26] [INFO]   -> Set field 'enroute' = null
[2026-01-29 23:50:26] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-29 23:50:26] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:50:26] [INFO]   -> Set field 'onScene' = null
[2026-01-29 23:50:26] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-29 23:50:26] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:50:26] [INFO]   -> Set field 'cleared' = null
[2026-01-29 23:50:26] [INFO]   -> Set field 'inService' = null
[2026-01-29 23:50:26] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-29 23:50:26] [INFO]   -> Found value: 35.247771
[2026-01-29 23:50:26] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24777100000000018553691916167736053466796875
[2026-01-29 23:50:26] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-29 23:50:26] [INFO]   -> Found value: -85.123497
[2026-01-29 23:50:26] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1234970000000004120010999031364917755126953125
[2026-01-29 23:50:26] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-29 23:50:26] [INFO]   -> Found value: 2026-01-29T18:50:24.66-05:00
[2026-01-29 23:50:26] [INFO]   -> Set field 'dispatched' = "2026-01-29 23:50:24"
[2026-01-29 23:50:26] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-29 23:50:26] [INFO]   -> Found value: DBFMED
[2026-01-29 23:50:26] [INFO]   -> Set field 'cADVehicleID' = "DBFMED"
[2026-01-29 23:50:26] [INFO]   -> Set field 'name' = "DBFMED"
[2026-01-29 23:50:26] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-29 23:50:26] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:50:26] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-29 23:50:26] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-29 23:50:26] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:50:26] [INFO]   -> Set field 'timeonscene' = null
[2026-01-29 23:50:26] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-29 23:50:26] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:50:26] [INFO]   -> Set field 'timestaging' = null
[2026-01-29 23:50:26] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-29 23:50:26] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:50:26] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-01-29 23:50:26] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-29 23:50:26] [INFO]   -> Found value: 2026-01-29T18:50:24.66-05:00
[2026-01-29 23:50:26] [INFO]   -> Set field 'timedispatch' = "2026-01-29 23:50:24"
[2026-01-29 23:50:26] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-29 23:50:26] [INFO]   -> Found value: RD
[2026-01-29 23:50:26] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-29 23:50:26] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 23:50:26] [INFO]   -> Found value: 26-000191
[2026-01-29 23:50:26] [INFO]   -> Set field 'incidentInternalId' = "26-000191"
[2026-01-29 23:50:26] [INFO]   -> Set field 'dispatchRunNumber' = "26-000191"
[2026-01-29 23:50:26] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-29 23:50:26] [INFO]   -> Found value: 2026-01-39105
[2026-01-29 23:50:26] [INFO]   -> Set field 'policeReportNumber' = "2026-01-39105"
[2026-01-29 23:50:26] [INFO]   -> Set field 'cADNumber' = "2026-01-39105"
[2026-01-29 23:50:26] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-29 23:50:26] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-29 23:50:26] [INFO] Found 8 elements for 'Comment', concatenating 8 non-empty values
[2026-01-29 23:50:26] [INFO]   -> Found value: 01/29/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]
01/29/2026 ...
[2026-01-29 23:50:26] [INFO]   -> Set field 'dispatchNotes' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]"
[2026-01-29 23:50:26] [INFO]   -> Set field 'cADLog' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]"
[2026-01-29 23:50:26] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-29 23:50:26] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-29 23:50:26] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-29 23:50:26] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-01-29 23:50:26] [INFO]   -> Found value: SFD
DBFD
[2026-01-29 23:50:26] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD"
[2026-01-29 23:50:26] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-29 23:50:26] [INFO] Concatenating street name and type
[2026-01-29 23:50:26] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-01-29 23:50:26] [INFO] Built locationCoordinates from lat/lng: 35.247771,-85.123497
[2026-01-29 23:50:26] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"STROKE-Stroke","businessName":"1711 SMITH CEMETERY RD APT A","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1711,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"No Cross Street\/WARD CEMETERY RD","alarm":"2026-01-29 23:50:06","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24777100000000018553691916167736053466796875,"nERISIncidentLongitude":-85.1234970000000004120010999031364917755126953125,"dispatched":"2026-01-29 23:50:24","cADVehicleID":"DBFMED","name":"DBFMED","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-01-29 23:50:24","incidentInternalId":"26-000191","dispatchRunNumber":"26-000191","policeReportNumber":"2026-01-39105","cADNumber":"2026-01-39105","dispatchNotes":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]","cADLog":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]","cADAgencyIdentifier":"SFD\nDBFD","locationCoordinates":"35.247771,-85.123497"}
[2026-01-29 23:50:26] [INFO] Number of extracted fields: 29
[2026-01-29 23:50:26] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD'
[2026-01-29 23:50:26] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
DBFD', Parsed IDs = ["SFD","DBFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-01-29 23:50:26] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD"]
[2026-01-29 23:50:26] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-29 23:50:26] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-29 23:50:26] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD"]
[2026-01-29 23:50:26] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-29 23:50:26] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-29 23:50:26] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-01-29 23:50:26] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-01-29 23:50:26] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-29 23:50:26] [INFO] Found existing IncidentTypeMapping with ID: 697bf2340657c5420
[2026-01-29 23:50:26] [INFO] Found existing Dispatch with cADNumber '2026-01-39105', ID: 697bf2344d7c19e9e - will update instead of create
[2026-01-29 23:50:27] [INFO] Updated existing Dispatches record with ID: 697bf2344d7c19e9e
[2026-01-29 23:50:27] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185025723.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-29/INCCOMBINED_2026-01-39105_20260129185025723.xml
[2026-01-29 23:50:27] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185025723.xml
[2026-01-29 23:50:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185040916.xml
[2026-01-29 23:50:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185040916.xml for user: 68920395733981a47
[2026-01-29 23:50:41] [INFO] File size: 8936 bytes
[2026-01-29 23:50:41] [INFO] Created FTPFiles record with ID: 697bf2514d2cbfa88
[2026-01-29 23:50:41] [INFO] About to extract fields from XML. File size: 8936 bytes
[2026-01-29 23:50:41] [INFO] Number of mappings: 24
[2026-01-29 23:50:41] [INFO] Starting XML parsing. Content length: 8936
[2026-01-29 23:50:41] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-29 23:50:41] [INFO] Processing 24 field mappings
[2026-01-29 23:50:41] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-29 23:50:41] [INFO]   -> Found value: STROKE-Stroke
[2026-01-29 23:50:41] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE-Stroke"
[2026-01-29 23:50:41] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-29 23:50:41] [INFO]   -> Found value: 1711 SMITH CEMETERY RD APT A
[2026-01-29 23:50:41] [INFO]   -> Set field 'businessName' = "1711 SMITH CEMETERY RD APT A"
[2026-01-29 23:50:41] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-29 23:50:41] [INFO]   -> Found value: 37379
[2026-01-29 23:50:41] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-29 23:50:41] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-29 23:50:41] [INFO]   -> Found value: 1711
[2026-01-29 23:50:41] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1711
[2026-01-29 23:50:41] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-29 23:50:41] [INFO]   -> Found value: SMITH CEMETERY
[2026-01-29 23:50:41] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-01-29 23:50:41] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-29 23:50:41] [INFO]   -> Found value: No Cross Street/WARD CEMETERY RD
[2026-01-29 23:50:41] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/WARD CEMETERY RD"
[2026-01-29 23:50:41] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-29 23:50:41] [INFO]   -> Found value: 2026-01-29T18:50:06.98-05:00
[2026-01-29 23:50:41] [INFO]   -> Set field 'alarm' = "2026-01-29 23:50:06"
[2026-01-29 23:50:41] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-29 23:50:41] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:50:41] [INFO]   -> Set field 'enroute' = null
[2026-01-29 23:50:41] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-29 23:50:41] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:50:41] [INFO]   -> Set field 'onScene' = null
[2026-01-29 23:50:41] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-29 23:50:41] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:50:41] [INFO]   -> Set field 'cleared' = null
[2026-01-29 23:50:41] [INFO]   -> Set field 'inService' = null
[2026-01-29 23:50:41] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-29 23:50:41] [INFO]   -> Found value: 35.247771
[2026-01-29 23:50:41] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24777100000000018553691916167736053466796875
[2026-01-29 23:50:41] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-29 23:50:41] [INFO]   -> Found value: -85.123497
[2026-01-29 23:50:41] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1234970000000004120010999031364917755126953125
[2026-01-29 23:50:41] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-29 23:50:41] [INFO]   -> Found value: 2026-01-29T18:50:24.66-05:00
[2026-01-29 23:50:41] [INFO]   -> Set field 'dispatched' = "2026-01-29 23:50:24"
[2026-01-29 23:50:41] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-29 23:50:41] [INFO]   -> Found value: DBFMED
[2026-01-29 23:50:41] [INFO]   -> Set field 'cADVehicleID' = "DBFMED"
[2026-01-29 23:50:41] [INFO]   -> Set field 'name' = "DBFMED"
[2026-01-29 23:50:41] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-29 23:50:41] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:50:41] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-29 23:50:41] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-29 23:50:41] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:50:41] [INFO]   -> Set field 'timeonscene' = null
[2026-01-29 23:50:41] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-29 23:50:41] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:50:41] [INFO]   -> Set field 'timestaging' = null
[2026-01-29 23:50:41] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-29 23:50:41] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:50:41] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-01-29 23:50:41] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-29 23:50:41] [INFO]   -> Found value: 2026-01-29T18:50:24.66-05:00
[2026-01-29 23:50:41] [INFO]   -> Set field 'timedispatch' = "2026-01-29 23:50:24"
[2026-01-29 23:50:41] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-29 23:50:41] [INFO]   -> Found value: RD
[2026-01-29 23:50:41] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-29 23:50:41] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 23:50:41] [INFO]   -> Found value: 26-000191
[2026-01-29 23:50:41] [INFO]   -> Set field 'incidentInternalId' = "26-000191"
[2026-01-29 23:50:41] [INFO]   -> Set field 'dispatchRunNumber' = "26-000191"
[2026-01-29 23:50:41] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-29 23:50:41] [INFO]   -> Found value: 2026-01-39105
[2026-01-29 23:50:41] [INFO]   -> Set field 'policeReportNumber' = "2026-01-39105"
[2026-01-29 23:50:41] [INFO]   -> Set field 'cADNumber' = "2026-01-39105"
[2026-01-29 23:50:41] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-29 23:50:41] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-29 23:50:41] [INFO] Found 9 elements for 'Comment', concatenating 9 non-empty values
[2026-01-29 23:50:41] [INFO]   -> Found value: 01/29/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]
01/29/2026 ...
[2026-01-29 23:50:41] [INFO]   -> Set field 'dispatchNotes' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:50:41] [INFO]   -> Set field 'cADLog' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:50:41] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-29 23:50:41] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-29 23:50:41] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-29 23:50:41] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-01-29 23:50:41] [INFO]   -> Found value: SFD
DBFD
[2026-01-29 23:50:41] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD"
[2026-01-29 23:50:41] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-29 23:50:41] [INFO] Concatenating street name and type
[2026-01-29 23:50:41] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-01-29 23:50:41] [INFO] Built locationCoordinates from lat/lng: 35.247771,-85.123497
[2026-01-29 23:50:41] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"STROKE-Stroke","businessName":"1711 SMITH CEMETERY RD APT A","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1711,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"No Cross Street\/WARD CEMETERY RD","alarm":"2026-01-29 23:50:06","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24777100000000018553691916167736053466796875,"nERISIncidentLongitude":-85.1234970000000004120010999031364917755126953125,"dispatched":"2026-01-29 23:50:24","cADVehicleID":"DBFMED","name":"DBFMED","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-01-29 23:50:24","incidentInternalId":"26-000191","dispatchRunNumber":"26-000191","policeReportNumber":"2026-01-39105","cADNumber":"2026-01-39105","dispatchNotes":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADLog":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADAgencyIdentifier":"SFD\nDBFD","locationCoordinates":"35.247771,-85.123497"}
[2026-01-29 23:50:41] [INFO] Number of extracted fields: 29
[2026-01-29 23:50:41] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD'
[2026-01-29 23:50:41] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
DBFD', Parsed IDs = ["SFD","DBFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-01-29 23:50:41] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD"]
[2026-01-29 23:50:41] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-29 23:50:41] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-29 23:50:41] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD"]
[2026-01-29 23:50:41] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-29 23:50:41] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-29 23:50:41] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-01-29 23:50:41] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-01-29 23:50:41] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-29 23:50:41] [INFO] Found existing IncidentTypeMapping with ID: 697bf2340657c5420
[2026-01-29 23:50:42] [INFO] Found existing Dispatch with cADNumber '2026-01-39105', ID: 697bf2344d7c19e9e - will update instead of create
[2026-01-29 23:50:42] [INFO] Updated existing Dispatches record with ID: 697bf2344d7c19e9e
[2026-01-29 23:50:42] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185040916.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-29/INCCOMBINED_2026-01-39105_20260129185040916.xml
[2026-01-29 23:50:42] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185040916.xml
[2026-01-29 23:51:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185101198.xml
[2026-01-29 23:51:01] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185101198.xml for user: 68920395733981a47
[2026-01-29 23:51:01] [INFO] File size: 9146 bytes
[2026-01-29 23:51:01] [INFO] Created FTPFiles record with ID: 697bf26598e50dbf2
[2026-01-29 23:51:01] [INFO] About to extract fields from XML. File size: 9146 bytes
[2026-01-29 23:51:01] [INFO] Number of mappings: 24
[2026-01-29 23:51:01] [INFO] Starting XML parsing. Content length: 9146
[2026-01-29 23:51:01] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-29 23:51:01] [INFO] Processing 24 field mappings
[2026-01-29 23:51:01] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-29 23:51:01] [INFO]   -> Found value: STROKE-Stroke
[2026-01-29 23:51:01] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE-Stroke"
[2026-01-29 23:51:01] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-29 23:51:01] [INFO]   -> Found value: 1711 SMITH CEMETERY RD APT A
[2026-01-29 23:51:01] [INFO]   -> Set field 'businessName' = "1711 SMITH CEMETERY RD APT A"
[2026-01-29 23:51:01] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-29 23:51:01] [INFO]   -> Found value: 37379
[2026-01-29 23:51:01] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-29 23:51:01] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-29 23:51:01] [INFO]   -> Found value: 1711
[2026-01-29 23:51:01] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1711
[2026-01-29 23:51:01] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-29 23:51:01] [INFO]   -> Found value: SMITH CEMETERY
[2026-01-29 23:51:01] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-01-29 23:51:01] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-29 23:51:01] [INFO]   -> Found value: No Cross Street/WARD CEMETERY RD
[2026-01-29 23:51:01] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/WARD CEMETERY RD"
[2026-01-29 23:51:01] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-29 23:51:01] [INFO]   -> Found value: 2026-01-29T18:50:06.98-05:00
[2026-01-29 23:51:01] [INFO]   -> Set field 'alarm' = "2026-01-29 23:50:06"
[2026-01-29 23:51:01] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-29 23:51:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:01] [INFO]   -> Set field 'enroute' = null
[2026-01-29 23:51:01] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-29 23:51:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:01] [INFO]   -> Set field 'onScene' = null
[2026-01-29 23:51:01] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-29 23:51:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:01] [INFO]   -> Set field 'cleared' = null
[2026-01-29 23:51:01] [INFO]   -> Set field 'inService' = null
[2026-01-29 23:51:01] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-29 23:51:01] [INFO]   -> Found value: 35.247771
[2026-01-29 23:51:01] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24777100000000018553691916167736053466796875
[2026-01-29 23:51:01] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-29 23:51:01] [INFO]   -> Found value: -85.123497
[2026-01-29 23:51:01] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1234970000000004120010999031364917755126953125
[2026-01-29 23:51:01] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-29 23:51:01] [INFO]   -> Found value: 2026-01-29T18:50:24.66-05:00
[2026-01-29 23:51:01] [INFO]   -> Set field 'dispatched' = "2026-01-29 23:50:24"
[2026-01-29 23:51:01] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-29 23:51:01] [INFO]   -> Found value: DBFMED
[2026-01-29 23:51:01] [INFO]   -> Set field 'cADVehicleID' = "DBFMED"
[2026-01-29 23:51:01] [INFO]   -> Set field 'name' = "DBFMED"
[2026-01-29 23:51:01] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-29 23:51:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:01] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-29 23:51:01] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-29 23:51:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:01] [INFO]   -> Set field 'timeonscene' = null
[2026-01-29 23:51:01] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-29 23:51:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:01] [INFO]   -> Set field 'timestaging' = null
[2026-01-29 23:51:01] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-29 23:51:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:01] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-01-29 23:51:01] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-29 23:51:01] [INFO]   -> Found value: 2026-01-29T18:50:24.66-05:00
[2026-01-29 23:51:01] [INFO]   -> Set field 'timedispatch' = "2026-01-29 23:50:24"
[2026-01-29 23:51:01] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-29 23:51:01] [INFO]   -> Found value: RD
[2026-01-29 23:51:01] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-29 23:51:01] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 23:51:01] [INFO]   -> Found value: 26-000191
[2026-01-29 23:51:01] [INFO]   -> Set field 'incidentInternalId' = "26-000191"
[2026-01-29 23:51:01] [INFO]   -> Set field 'dispatchRunNumber' = "26-000191"
[2026-01-29 23:51:01] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-29 23:51:01] [INFO]   -> Found value: 2026-01-39105
[2026-01-29 23:51:01] [INFO]   -> Set field 'policeReportNumber' = "2026-01-39105"
[2026-01-29 23:51:01] [INFO]   -> Set field 'cADNumber' = "2026-01-39105"
[2026-01-29 23:51:01] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-29 23:51:01] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-29 23:51:01] [INFO] Found 10 elements for 'Comment', concatenating 10 non-empty values
[2026-01-29 23:51:01] [INFO]   -> Found value: 01/29/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]
01/29/2026 ...
[2026-01-29 23:51:01] [INFO]   -> Set field 'dispatchNotes' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:51:01] [INFO]   -> Set field 'cADLog' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:51:01] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-29 23:51:01] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-29 23:51:01] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-29 23:51:01] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-01-29 23:51:01] [INFO]   -> Found value: SFD
DBFD
[2026-01-29 23:51:01] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD"
[2026-01-29 23:51:01] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-29 23:51:01] [INFO] Concatenating street name and type
[2026-01-29 23:51:01] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-01-29 23:51:01] [INFO] Built locationCoordinates from lat/lng: 35.247771,-85.123497
[2026-01-29 23:51:01] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"STROKE-Stroke","businessName":"1711 SMITH CEMETERY RD APT A","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1711,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"No Cross Street\/WARD CEMETERY RD","alarm":"2026-01-29 23:50:06","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24777100000000018553691916167736053466796875,"nERISIncidentLongitude":-85.1234970000000004120010999031364917755126953125,"dispatched":"2026-01-29 23:50:24","cADVehicleID":"DBFMED","name":"DBFMED","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-01-29 23:50:24","incidentInternalId":"26-000191","dispatchRunNumber":"26-000191","policeReportNumber":"2026-01-39105","cADNumber":"2026-01-39105","dispatchNotes":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADLog":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADAgencyIdentifier":"SFD\nDBFD","locationCoordinates":"35.247771,-85.123497"}
[2026-01-29 23:51:01] [INFO] Number of extracted fields: 29
[2026-01-29 23:51:01] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD'
[2026-01-29 23:51:01] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
DBFD', Parsed IDs = ["SFD","DBFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-01-29 23:51:01] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD"]
[2026-01-29 23:51:01] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-29 23:51:01] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-29 23:51:01] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD"]
[2026-01-29 23:51:01] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-29 23:51:01] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-29 23:51:01] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-01-29 23:51:01] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-01-29 23:51:02] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-29 23:51:02] [INFO] Found existing IncidentTypeMapping with ID: 697bf2340657c5420
[2026-01-29 23:51:02] [INFO] Found existing Dispatch with cADNumber '2026-01-39105', ID: 697bf2344d7c19e9e - will update instead of create
[2026-01-29 23:51:02] [INFO] Updated existing Dispatches record with ID: 697bf2344d7c19e9e
[2026-01-29 23:51:02] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185101198.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-29/INCCOMBINED_2026-01-39105_20260129185101198.xml
[2026-01-29 23:51:02] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185101198.xml
[2026-01-29 23:51:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185121406.xml
[2026-01-29 23:51:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185121406.xml for user: 68920395733981a47
[2026-01-29 23:51:21] [INFO] File size: 9352 bytes
[2026-01-29 23:51:21] [INFO] Created FTPFiles record with ID: 697bf279cbb061e16
[2026-01-29 23:51:21] [INFO] About to extract fields from XML. File size: 9352 bytes
[2026-01-29 23:51:21] [INFO] Number of mappings: 24
[2026-01-29 23:51:21] [INFO] Starting XML parsing. Content length: 9352
[2026-01-29 23:51:21] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-29 23:51:21] [INFO] Processing 24 field mappings
[2026-01-29 23:51:21] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-29 23:51:21] [INFO]   -> Found value: STROKE-Stroke
[2026-01-29 23:51:21] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE-Stroke"
[2026-01-29 23:51:21] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-29 23:51:21] [INFO]   -> Found value: 1711 SMITH CEMETERY RD APT A
[2026-01-29 23:51:21] [INFO]   -> Set field 'businessName' = "1711 SMITH CEMETERY RD APT A"
[2026-01-29 23:51:21] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-29 23:51:21] [INFO]   -> Found value: 37379
[2026-01-29 23:51:21] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-29 23:51:21] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-29 23:51:21] [INFO]   -> Found value: 1711
[2026-01-29 23:51:21] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1711
[2026-01-29 23:51:21] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-29 23:51:21] [INFO]   -> Found value: SMITH CEMETERY
[2026-01-29 23:51:21] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-01-29 23:51:21] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-29 23:51:21] [INFO]   -> Found value: No Cross Street/WARD CEMETERY RD
[2026-01-29 23:51:21] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/WARD CEMETERY RD"
[2026-01-29 23:51:21] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-29 23:51:21] [INFO]   -> Found value: 2026-01-29T18:50:06.98-05:00
[2026-01-29 23:51:21] [INFO]   -> Set field 'alarm' = "2026-01-29 23:50:06"
[2026-01-29 23:51:21] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-29 23:51:21] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:21] [INFO]   -> Set field 'enroute' = null
[2026-01-29 23:51:21] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-29 23:51:21] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:21] [INFO]   -> Set field 'onScene' = null
[2026-01-29 23:51:21] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-29 23:51:21] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:21] [INFO]   -> Set field 'cleared' = null
[2026-01-29 23:51:21] [INFO]   -> Set field 'inService' = null
[2026-01-29 23:51:21] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-29 23:51:21] [INFO]   -> Found value: 35.247771
[2026-01-29 23:51:21] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24777100000000018553691916167736053466796875
[2026-01-29 23:51:21] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-29 23:51:21] [INFO]   -> Found value: -85.123497
[2026-01-29 23:51:21] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1234970000000004120010999031364917755126953125
[2026-01-29 23:51:21] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-29 23:51:21] [INFO]   -> Found value: 2026-01-29T18:50:24.66-05:00
[2026-01-29 23:51:21] [INFO]   -> Set field 'dispatched' = "2026-01-29 23:50:24"
[2026-01-29 23:51:21] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-29 23:51:21] [INFO]   -> Found value: DBFMED
[2026-01-29 23:51:21] [INFO]   -> Set field 'cADVehicleID' = "DBFMED"
[2026-01-29 23:51:21] [INFO]   -> Set field 'name' = "DBFMED"
[2026-01-29 23:51:21] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-29 23:51:21] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:21] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-29 23:51:21] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-29 23:51:21] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:21] [INFO]   -> Set field 'timeonscene' = null
[2026-01-29 23:51:21] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-29 23:51:21] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:21] [INFO]   -> Set field 'timestaging' = null
[2026-01-29 23:51:21] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-29 23:51:21] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:21] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-01-29 23:51:21] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-29 23:51:21] [INFO]   -> Found value: 2026-01-29T18:50:24.66-05:00
[2026-01-29 23:51:21] [INFO]   -> Set field 'timedispatch' = "2026-01-29 23:50:24"
[2026-01-29 23:51:21] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-29 23:51:21] [INFO]   -> Found value: RD
[2026-01-29 23:51:21] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-29 23:51:21] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 23:51:21] [INFO]   -> Found value: 26-000191
[2026-01-29 23:51:21] [INFO]   -> Set field 'incidentInternalId' = "26-000191"
[2026-01-29 23:51:21] [INFO]   -> Set field 'dispatchRunNumber' = "26-000191"
[2026-01-29 23:51:21] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-29 23:51:21] [INFO]   -> Found value: 2026-01-39105
[2026-01-29 23:51:21] [INFO]   -> Set field 'policeReportNumber' = "2026-01-39105"
[2026-01-29 23:51:21] [INFO]   -> Set field 'cADNumber' = "2026-01-39105"
[2026-01-29 23:51:21] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-29 23:51:21] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-29 23:51:21] [INFO] Found 11 elements for 'Comment', concatenating 11 non-empty values
[2026-01-29 23:51:21] [INFO]   -> Found value: 01/29/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]
01/29/2026 ...
[2026-01-29 23:51:21] [INFO]   -> Set field 'dispatchNotes' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:51:21] [INFO]   -> Set field 'cADLog' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:51:21] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-29 23:51:21] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-29 23:51:21] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-29 23:51:21] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-01-29 23:51:21] [INFO]   -> Found value: SFD
DBFD
[2026-01-29 23:51:21] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD"
[2026-01-29 23:51:21] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-29 23:51:21] [INFO] Concatenating street name and type
[2026-01-29 23:51:21] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-01-29 23:51:21] [INFO] Built locationCoordinates from lat/lng: 35.247771,-85.123497
[2026-01-29 23:51:21] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"STROKE-Stroke","businessName":"1711 SMITH CEMETERY RD APT A","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1711,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"No Cross Street\/WARD CEMETERY RD","alarm":"2026-01-29 23:50:06","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24777100000000018553691916167736053466796875,"nERISIncidentLongitude":-85.1234970000000004120010999031364917755126953125,"dispatched":"2026-01-29 23:50:24","cADVehicleID":"DBFMED","name":"DBFMED","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-01-29 23:50:24","incidentInternalId":"26-000191","dispatchRunNumber":"26-000191","policeReportNumber":"2026-01-39105","cADNumber":"2026-01-39105","dispatchNotes":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADLog":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADAgencyIdentifier":"SFD\nDBFD","locationCoordinates":"35.247771,-85.123497"}
[2026-01-29 23:51:21] [INFO] Number of extracted fields: 29
[2026-01-29 23:51:21] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD'
[2026-01-29 23:51:21] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
DBFD', Parsed IDs = ["SFD","DBFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-01-29 23:51:21] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD"]
[2026-01-29 23:51:21] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-29 23:51:22] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-29 23:51:22] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD"]
[2026-01-29 23:51:22] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-29 23:51:22] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-29 23:51:22] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-01-29 23:51:22] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-01-29 23:51:22] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-29 23:51:22] [INFO] Found existing IncidentTypeMapping with ID: 697bf2340657c5420
[2026-01-29 23:51:22] [INFO] Found existing Dispatch with cADNumber '2026-01-39105', ID: 697bf2344d7c19e9e - will update instead of create
[2026-01-29 23:51:22] [INFO] Updated existing Dispatches record with ID: 697bf2344d7c19e9e
[2026-01-29 23:51:22] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185121406.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-29/INCCOMBINED_2026-01-39105_20260129185121406.xml
[2026-01-29 23:51:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185121406.xml
[2026-01-29 23:51:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185136598.xml
[2026-01-29 23:51:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185136598.xml for user: 68920395733981a47
[2026-01-29 23:51:36] [INFO] File size: 9496 bytes
[2026-01-29 23:51:37] [INFO] Created FTPFiles record with ID: 697bf289002a27ce1
[2026-01-29 23:51:37] [INFO] About to extract fields from XML. File size: 9496 bytes
[2026-01-29 23:51:37] [INFO] Number of mappings: 24
[2026-01-29 23:51:37] [INFO] Starting XML parsing. Content length: 9496
[2026-01-29 23:51:37] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-29 23:51:37] [INFO] Processing 24 field mappings
[2026-01-29 23:51:37] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-29 23:51:37] [INFO]   -> Found value: STROKE-Stroke
[2026-01-29 23:51:37] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE-Stroke"
[2026-01-29 23:51:37] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-29 23:51:37] [INFO]   -> Found value: 1711 SMITH CEMETERY RD APT A
[2026-01-29 23:51:37] [INFO]   -> Set field 'businessName' = "1711 SMITH CEMETERY RD APT A"
[2026-01-29 23:51:37] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-29 23:51:37] [INFO]   -> Found value: 37379
[2026-01-29 23:51:37] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-29 23:51:37] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-29 23:51:37] [INFO]   -> Found value: 1711
[2026-01-29 23:51:37] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1711
[2026-01-29 23:51:37] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-29 23:51:37] [INFO]   -> Found value: SMITH CEMETERY
[2026-01-29 23:51:37] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-01-29 23:51:37] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-29 23:51:37] [INFO]   -> Found value: No Cross Street/WARD CEMETERY RD
[2026-01-29 23:51:37] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/WARD CEMETERY RD"
[2026-01-29 23:51:37] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-29 23:51:37] [INFO]   -> Found value: 2026-01-29T18:50:06.98-05:00
[2026-01-29 23:51:37] [INFO]   -> Set field 'alarm' = "2026-01-29 23:50:06"
[2026-01-29 23:51:37] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-29 23:51:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:37] [INFO]   -> Set field 'enroute' = null
[2026-01-29 23:51:37] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-29 23:51:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:37] [INFO]   -> Set field 'onScene' = null
[2026-01-29 23:51:37] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-29 23:51:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:37] [INFO]   -> Set field 'cleared' = null
[2026-01-29 23:51:37] [INFO]   -> Set field 'inService' = null
[2026-01-29 23:51:37] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-29 23:51:37] [INFO]   -> Found value: 35.247771
[2026-01-29 23:51:37] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24777100000000018553691916167736053466796875
[2026-01-29 23:51:37] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-29 23:51:37] [INFO]   -> Found value: -85.123497
[2026-01-29 23:51:37] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1234970000000004120010999031364917755126953125
[2026-01-29 23:51:37] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-29 23:51:37] [INFO]   -> Found value: 2026-01-29T18:50:24.66-05:00
[2026-01-29 23:51:37] [INFO]   -> Set field 'dispatched' = "2026-01-29 23:50:24"
[2026-01-29 23:51:37] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-29 23:51:37] [INFO]   -> Found value: DBFMED
[2026-01-29 23:51:37] [INFO]   -> Set field 'cADVehicleID' = "DBFMED"
[2026-01-29 23:51:37] [INFO]   -> Set field 'name' = "DBFMED"
[2026-01-29 23:51:37] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-29 23:51:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:37] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-29 23:51:37] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-29 23:51:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:37] [INFO]   -> Set field 'timeonscene' = null
[2026-01-29 23:51:37] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-29 23:51:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:37] [INFO]   -> Set field 'timestaging' = null
[2026-01-29 23:51:37] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-29 23:51:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:37] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-01-29 23:51:37] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-29 23:51:37] [INFO]   -> Found value: 2026-01-29T18:50:24.66-05:00
[2026-01-29 23:51:37] [INFO]   -> Set field 'timedispatch' = "2026-01-29 23:50:24"
[2026-01-29 23:51:37] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-29 23:51:37] [INFO]   -> Found value: RD
[2026-01-29 23:51:37] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-29 23:51:37] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 23:51:37] [INFO]   -> Found value: 26-000191
[2026-01-29 23:51:37] [INFO]   -> Set field 'incidentInternalId' = "26-000191"
[2026-01-29 23:51:37] [INFO]   -> Set field 'dispatchRunNumber' = "26-000191"
[2026-01-29 23:51:37] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-29 23:51:37] [INFO]   -> Found value: 2026-01-39105
[2026-01-29 23:51:37] [INFO]   -> Set field 'policeReportNumber' = "2026-01-39105"
[2026-01-29 23:51:37] [INFO]   -> Set field 'cADNumber' = "2026-01-39105"
[2026-01-29 23:51:37] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-29 23:51:37] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-29 23:51:37] [INFO] Found 12 elements for 'Comment', concatenating 12 non-empty values
[2026-01-29 23:51:37] [INFO]   -> Found value: 01/29/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]
01/29/2026 ...
[2026-01-29 23:51:37] [INFO]   -> Set field 'dispatchNotes' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:51:37] [INFO]   -> Set field 'cADLog' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:51:37] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-29 23:51:37] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-29 23:51:37] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-29 23:51:37] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-01-29 23:51:37] [INFO]   -> Found value: SFD
DBFD
[2026-01-29 23:51:37] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD"
[2026-01-29 23:51:37] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-29 23:51:37] [INFO] Concatenating street name and type
[2026-01-29 23:51:37] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-01-29 23:51:37] [INFO] Built locationCoordinates from lat/lng: 35.247771,-85.123497
[2026-01-29 23:51:37] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"STROKE-Stroke","businessName":"1711 SMITH CEMETERY RD APT A","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1711,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"No Cross Street\/WARD CEMETERY RD","alarm":"2026-01-29 23:50:06","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24777100000000018553691916167736053466796875,"nERISIncidentLongitude":-85.1234970000000004120010999031364917755126953125,"dispatched":"2026-01-29 23:50:24","cADVehicleID":"DBFMED","name":"DBFMED","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-01-29 23:50:24","incidentInternalId":"26-000191","dispatchRunNumber":"26-000191","policeReportNumber":"2026-01-39105","cADNumber":"2026-01-39105","dispatchNotes":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADLog":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADAgencyIdentifier":"SFD\nDBFD","locationCoordinates":"35.247771,-85.123497"}
[2026-01-29 23:51:37] [INFO] Number of extracted fields: 29
[2026-01-29 23:51:37] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD'
[2026-01-29 23:51:37] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
DBFD', Parsed IDs = ["SFD","DBFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-01-29 23:51:37] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD"]
[2026-01-29 23:51:37] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-29 23:51:37] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-29 23:51:37] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD"]
[2026-01-29 23:51:37] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-29 23:51:37] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-29 23:51:37] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-01-29 23:51:37] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-01-29 23:51:37] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-29 23:51:37] [INFO] Found existing IncidentTypeMapping with ID: 697bf2340657c5420
[2026-01-29 23:51:37] [INFO] Found existing Dispatch with cADNumber '2026-01-39105', ID: 697bf2344d7c19e9e - will update instead of create
[2026-01-29 23:51:37] [INFO] Updated existing Dispatches record with ID: 697bf2344d7c19e9e
[2026-01-29 23:51:37] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185136598.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-29/INCCOMBINED_2026-01-39105_20260129185136598.xml
[2026-01-29 23:51:37] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185136598.xml
[2026-01-29 23:51:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185146712.xml
[2026-01-29 23:51:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185146712.xml for user: 68920395733981a47
[2026-01-29 23:51:46] [INFO] File size: 9651 bytes
[2026-01-29 23:51:49] [INFO] Created FTPFiles record with ID: 697bf295879b75264
[2026-01-29 23:51:49] [INFO] About to extract fields from XML. File size: 9651 bytes
[2026-01-29 23:51:49] [INFO] Number of mappings: 24
[2026-01-29 23:51:49] [INFO] Starting XML parsing. Content length: 9651
[2026-01-29 23:51:49] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-29 23:51:49] [INFO] Processing 24 field mappings
[2026-01-29 23:51:49] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-29 23:51:49] [INFO]   -> Found value: STROKE-Stroke
[2026-01-29 23:51:49] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE-Stroke"
[2026-01-29 23:51:49] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-29 23:51:49] [INFO]   -> Found value: 1711 SMITH CEMETERY RD APT A
[2026-01-29 23:51:49] [INFO]   -> Set field 'businessName' = "1711 SMITH CEMETERY RD APT A"
[2026-01-29 23:51:49] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-29 23:51:49] [INFO]   -> Found value: 37379
[2026-01-29 23:51:49] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-29 23:51:49] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-29 23:51:49] [INFO]   -> Found value: 1711
[2026-01-29 23:51:49] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1711
[2026-01-29 23:51:49] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-29 23:51:49] [INFO]   -> Found value: SMITH CEMETERY
[2026-01-29 23:51:49] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-01-29 23:51:49] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-29 23:51:49] [INFO]   -> Found value: No Cross Street/WARD CEMETERY RD
[2026-01-29 23:51:49] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/WARD CEMETERY RD"
[2026-01-29 23:51:49] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-29 23:51:49] [INFO]   -> Found value: 2026-01-29T18:50:06.98-05:00
[2026-01-29 23:51:49] [INFO]   -> Set field 'alarm' = "2026-01-29 23:50:06"
[2026-01-29 23:51:49] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-29 23:51:49] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:49] [INFO]   -> Set field 'enroute' = null
[2026-01-29 23:51:49] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-29 23:51:49] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:49] [INFO]   -> Set field 'onScene' = null
[2026-01-29 23:51:49] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-29 23:51:49] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:49] [INFO]   -> Set field 'cleared' = null
[2026-01-29 23:51:49] [INFO]   -> Set field 'inService' = null
[2026-01-29 23:51:49] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-29 23:51:49] [INFO]   -> Found value: 35.247771
[2026-01-29 23:51:49] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24777100000000018553691916167736053466796875
[2026-01-29 23:51:49] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-29 23:51:49] [INFO]   -> Found value: -85.123497
[2026-01-29 23:51:49] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1234970000000004120010999031364917755126953125
[2026-01-29 23:51:49] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-29 23:51:49] [INFO]   -> Found value: 2026-01-29T18:50:24.66-05:00
[2026-01-29 23:51:49] [INFO]   -> Set field 'dispatched' = "2026-01-29 23:50:24"
[2026-01-29 23:51:49] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-29 23:51:49] [INFO]   -> Found value: DBFMED
[2026-01-29 23:51:49] [INFO]   -> Set field 'cADVehicleID' = "DBFMED"
[2026-01-29 23:51:49] [INFO]   -> Set field 'name' = "DBFMED"
[2026-01-29 23:51:49] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-29 23:51:49] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:49] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-29 23:51:49] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-29 23:51:49] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:49] [INFO]   -> Set field 'timeonscene' = null
[2026-01-29 23:51:49] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-29 23:51:49] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:49] [INFO]   -> Set field 'timestaging' = null
[2026-01-29 23:51:49] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-29 23:51:49] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:51:49] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-01-29 23:51:49] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-29 23:51:49] [INFO]   -> Found value: 2026-01-29T18:50:24.66-05:00
[2026-01-29 23:51:49] [INFO]   -> Set field 'timedispatch' = "2026-01-29 23:50:24"
[2026-01-29 23:51:49] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-29 23:51:49] [INFO]   -> Found value: RD
[2026-01-29 23:51:49] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-29 23:51:49] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 23:51:49] [INFO]   -> Found value: 26-000191
[2026-01-29 23:51:49] [INFO]   -> Set field 'incidentInternalId' = "26-000191"
[2026-01-29 23:51:49] [INFO]   -> Set field 'dispatchRunNumber' = "26-000191"
[2026-01-29 23:51:49] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-29 23:51:49] [INFO]   -> Found value: 2026-01-39105
[2026-01-29 23:51:49] [INFO]   -> Set field 'policeReportNumber' = "2026-01-39105"
[2026-01-29 23:51:49] [INFO]   -> Set field 'cADNumber' = "2026-01-39105"
[2026-01-29 23:51:49] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-29 23:51:49] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-29 23:51:49] [INFO] Found 13 elements for 'Comment', concatenating 13 non-empty values
[2026-01-29 23:51:49] [INFO]   -> Found value: 01/29/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]
01/29/2026 ...
[2026-01-29 23:51:49] [INFO]   -> Set field 'dispatchNotes' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:51:49] [INFO]   -> Set field 'cADLog' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:51:49] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-29 23:51:49] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-29 23:51:49] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-29 23:51:49] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-01-29 23:51:49] [INFO]   -> Found value: SFD
DBFD
[2026-01-29 23:51:49] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD"
[2026-01-29 23:51:49] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-29 23:51:49] [INFO] Concatenating street name and type
[2026-01-29 23:51:49] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-01-29 23:51:49] [INFO] Built locationCoordinates from lat/lng: 35.247771,-85.123497
[2026-01-29 23:51:49] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"STROKE-Stroke","businessName":"1711 SMITH CEMETERY RD APT A","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1711,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"No Cross Street\/WARD CEMETERY RD","alarm":"2026-01-29 23:50:06","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24777100000000018553691916167736053466796875,"nERISIncidentLongitude":-85.1234970000000004120010999031364917755126953125,"dispatched":"2026-01-29 23:50:24","cADVehicleID":"DBFMED","name":"DBFMED","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-01-29 23:50:24","incidentInternalId":"26-000191","dispatchRunNumber":"26-000191","policeReportNumber":"2026-01-39105","cADNumber":"2026-01-39105","dispatchNotes":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADLog":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADAgencyIdentifier":"SFD\nDBFD","locationCoordinates":"35.247771,-85.123497"}
[2026-01-29 23:51:49] [INFO] Number of extracted fields: 29
[2026-01-29 23:51:49] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD'
[2026-01-29 23:51:49] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
DBFD', Parsed IDs = ["SFD","DBFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-01-29 23:51:49] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD"]
[2026-01-29 23:51:49] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-29 23:51:49] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-29 23:51:49] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD"]
[2026-01-29 23:51:49] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-29 23:51:49] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-29 23:51:49] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-01-29 23:51:49] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-01-29 23:51:50] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-29 23:51:50] [INFO] Found existing IncidentTypeMapping with ID: 697bf2340657c5420
[2026-01-29 23:51:50] [INFO] Found existing Dispatch with cADNumber '2026-01-39105', ID: 697bf2344d7c19e9e - will update instead of create
[2026-01-29 23:51:50] [INFO] Updated existing Dispatches record with ID: 697bf2344d7c19e9e
[2026-01-29 23:51:50] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185146712.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-29/INCCOMBINED_2026-01-39105_20260129185146712.xml
[2026-01-29 23:51:50] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185146712.xml
[2026-01-29 23:52:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185206949.xml
[2026-01-29 23:52:07] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185206949.xml for user: 68920395733981a47
[2026-01-29 23:52:07] [INFO] File size: 12386 bytes
[2026-01-29 23:52:07] [INFO] Created FTPFiles record with ID: 697bf2a757cedfc13
[2026-01-29 23:52:07] [INFO] About to extract fields from XML. File size: 12386 bytes
[2026-01-29 23:52:07] [INFO] Number of mappings: 24
[2026-01-29 23:52:07] [INFO] Starting XML parsing. Content length: 12386
[2026-01-29 23:52:07] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-29 23:52:07] [INFO] Processing 24 field mappings
[2026-01-29 23:52:07] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-29 23:52:07] [INFO]   -> Found value: STROKE-Stroke
[2026-01-29 23:52:07] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE-Stroke"
[2026-01-29 23:52:07] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-29 23:52:07] [INFO]   -> Found value: 1711 SMITH CEMETERY RD APT A
[2026-01-29 23:52:07] [INFO]   -> Set field 'businessName' = "1711 SMITH CEMETERY RD APT A"
[2026-01-29 23:52:07] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-29 23:52:07] [INFO]   -> Found value: 37379
[2026-01-29 23:52:07] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-29 23:52:07] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-29 23:52:07] [INFO]   -> Found value: 1711
[2026-01-29 23:52:07] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1711
[2026-01-29 23:52:07] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-29 23:52:07] [INFO]   -> Found value: SMITH CEMETERY
[2026-01-29 23:52:07] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-01-29 23:52:07] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-29 23:52:07] [INFO]   -> Found value: No Cross Street/WARD CEMETERY RD
[2026-01-29 23:52:07] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/WARD CEMETERY RD"
[2026-01-29 23:52:07] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-29 23:52:07] [INFO]   -> Found value: 2026-01-29T18:50:06.98-05:00
[2026-01-29 23:52:07] [INFO]   -> Set field 'alarm' = "2026-01-29 23:50:06"
[2026-01-29 23:52:07] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-29 23:52:07] [INFO]   -> Found value: 2026-01-29T18:52:05.93-05:00
[2026-01-29 23:52:07] [INFO]   -> Set field 'enroute' = "2026-01-29 23:52:05"
[2026-01-29 23:52:07] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-29 23:52:07] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:07] [INFO]   -> Set field 'onScene' = null
[2026-01-29 23:52:07] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-29 23:52:07] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:07] [INFO]   -> Set field 'cleared' = null
[2026-01-29 23:52:07] [INFO]   -> Set field 'inService' = null
[2026-01-29 23:52:07] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-29 23:52:07] [INFO]   -> Found value: 35.247771
[2026-01-29 23:52:07] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24777100000000018553691916167736053466796875
[2026-01-29 23:52:07] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-29 23:52:07] [INFO]   -> Found value: -85.123497
[2026-01-29 23:52:07] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1234970000000004120010999031364917755126953125
[2026-01-29 23:52:07] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-29 23:52:07] [INFO]   -> Found value: 2026-01-29T18:50:24.66-05:00
[2026-01-29 23:52:07] [INFO]   -> Set field 'dispatched' = "2026-01-29 23:50:24"
[2026-01-29 23:52:07] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-29 23:52:07] [INFO]   -> Found value: S1DB
[2026-01-29 23:52:07] [INFO]   -> Set field 'cADVehicleID' = "S1DB"
[2026-01-29 23:52:07] [INFO]   -> Set field 'name' = "S1DB"
[2026-01-29 23:52:07] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-29 23:52:07] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:07] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-29 23:52:07] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-29 23:52:07] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:07] [INFO]   -> Set field 'timeonscene' = null
[2026-01-29 23:52:07] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-29 23:52:07] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:07] [INFO]   -> Set field 'timestaging' = null
[2026-01-29 23:52:07] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-29 23:52:07] [INFO]   -> Found value: 2026-01-29T18:52:05.93-05:00
[2026-01-29 23:52:07] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-29 23:52:05"
[2026-01-29 23:52:07] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-29 23:52:07] [INFO]   -> Found value: 2026-01-29T18:52:05.91-05:00
[2026-01-29 23:52:07] [INFO]   -> Set field 'timedispatch' = "2026-01-29 23:52:05"
[2026-01-29 23:52:07] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-29 23:52:07] [INFO]   -> Found value: RD
[2026-01-29 23:52:07] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-29 23:52:07] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 23:52:07] [INFO]   -> Found value: 26-000191
[2026-01-29 23:52:07] [INFO]   -> Set field 'incidentInternalId' = "26-000191"
[2026-01-29 23:52:07] [INFO]   -> Set field 'dispatchRunNumber' = "26-000191"
[2026-01-29 23:52:07] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-29 23:52:07] [INFO]   -> Found value: 2026-01-39105
[2026-01-29 23:52:07] [INFO]   -> Set field 'policeReportNumber' = "2026-01-39105"
[2026-01-29 23:52:07] [INFO]   -> Set field 'cADNumber' = "2026-01-39105"
[2026-01-29 23:52:07] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-29 23:52:07] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-29 23:52:07] [INFO] Found 13 elements for 'Comment', concatenating 13 non-empty values
[2026-01-29 23:52:07] [INFO]   -> Found value: 01/29/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]
01/29/2026 ...
[2026-01-29 23:52:07] [INFO]   -> Set field 'dispatchNotes' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:52:07] [INFO]   -> Set field 'cADLog' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:52:07] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-29 23:52:07] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-29 23:52:07] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-29 23:52:07] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-01-29 23:52:07] [INFO]   -> Found value: SFD
DBFD
DBFD
[2026-01-29 23:52:07] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD\nDBFD"
[2026-01-29 23:52:07] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-29 23:52:07] [INFO] Concatenating street name and type
[2026-01-29 23:52:07] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-01-29 23:52:07] [INFO] Built locationCoordinates from lat/lng: 35.247771,-85.123497
[2026-01-29 23:52:07] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"STROKE-Stroke","businessName":"1711 SMITH CEMETERY RD APT A","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1711,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"No Cross Street\/WARD CEMETERY RD","alarm":"2026-01-29 23:50:06","enroute":"2026-01-29 23:52:05","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24777100000000018553691916167736053466796875,"nERISIncidentLongitude":-85.1234970000000004120010999031364917755126953125,"dispatched":"2026-01-29 23:50:24","cADVehicleID":"S1DB","name":"S1DB","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-01-29 23:52:05","timedispatch":"2026-01-29 23:52:05","incidentInternalId":"26-000191","dispatchRunNumber":"26-000191","policeReportNumber":"2026-01-39105","cADNumber":"2026-01-39105","dispatchNotes":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADLog":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADAgencyIdentifier":"SFD\nDBFD\nDBFD","locationCoordinates":"35.247771,-85.123497"}
[2026-01-29 23:52:07] [INFO] Number of extracted fields: 29
[2026-01-29 23:52:07] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD
DBFD'
[2026-01-29 23:52:07] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
DBFD
DBFD', Parsed IDs = ["SFD","DBFD","DBFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 2
[2026-01-29 23:52:07] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD","DBFD"]
[2026-01-29 23:52:07] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-29 23:52:07] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-29 23:52:07] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD","DBFD"]
[2026-01-29 23:52:07] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-29 23:52:07] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-29 23:52:07] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-29 23:52:07] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-01-29 23:52:07] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-29 23:52:07] [INFO] Found existing IncidentTypeMapping with ID: 697bf2340657c5420
[2026-01-29 23:52:08] [INFO] Found existing Dispatch with cADNumber '2026-01-39105', ID: 697bf2344d7c19e9e - will update instead of create
[2026-01-29 23:52:08] [INFO] Updated existing Dispatches record with ID: 697bf2344d7c19e9e
[2026-01-29 23:52:08] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185206949.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-29/INCCOMBINED_2026-01-39105_20260129185206949.xml
[2026-01-29 23:52:08] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185206949.xml
[2026-01-29 23:52:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185217074.xml
[2026-01-29 23:52:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185217074.xml for user: 68920395733981a47
[2026-01-29 23:52:17] [INFO] File size: 12538 bytes
[2026-01-29 23:52:17] [INFO] Created FTPFiles record with ID: 697bf2b16f8d1266f
[2026-01-29 23:52:17] [INFO] About to extract fields from XML. File size: 12538 bytes
[2026-01-29 23:52:17] [INFO] Number of mappings: 24
[2026-01-29 23:52:17] [INFO] Starting XML parsing. Content length: 12538
[2026-01-29 23:52:17] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-29 23:52:17] [INFO] Processing 24 field mappings
[2026-01-29 23:52:17] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-29 23:52:17] [INFO]   -> Found value: STROKE-Stroke
[2026-01-29 23:52:17] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE-Stroke"
[2026-01-29 23:52:17] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-29 23:52:17] [INFO]   -> Found value: 1711 SMITH CEMETERY RD APT A
[2026-01-29 23:52:17] [INFO]   -> Set field 'businessName' = "1711 SMITH CEMETERY RD APT A"
[2026-01-29 23:52:17] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-29 23:52:17] [INFO]   -> Found value: 37379
[2026-01-29 23:52:17] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-29 23:52:17] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-29 23:52:17] [INFO]   -> Found value: 1711
[2026-01-29 23:52:17] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1711
[2026-01-29 23:52:17] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-29 23:52:17] [INFO]   -> Found value: SMITH CEMETERY
[2026-01-29 23:52:17] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-01-29 23:52:17] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-29 23:52:17] [INFO]   -> Found value: No Cross Street/WARD CEMETERY RD
[2026-01-29 23:52:17] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/WARD CEMETERY RD"
[2026-01-29 23:52:17] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-29 23:52:17] [INFO]   -> Found value: 2026-01-29T18:50:06.98-05:00
[2026-01-29 23:52:17] [INFO]   -> Set field 'alarm' = "2026-01-29 23:50:06"
[2026-01-29 23:52:17] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-29 23:52:17] [INFO]   -> Found value: 2026-01-29T18:52:05.93-05:00
[2026-01-29 23:52:17] [INFO]   -> Set field 'enroute' = "2026-01-29 23:52:05"
[2026-01-29 23:52:17] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-29 23:52:17] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:17] [INFO]   -> Set field 'onScene' = null
[2026-01-29 23:52:17] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-29 23:52:17] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:17] [INFO]   -> Set field 'cleared' = null
[2026-01-29 23:52:17] [INFO]   -> Set field 'inService' = null
[2026-01-29 23:52:17] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-29 23:52:17] [INFO]   -> Found value: 35.247771
[2026-01-29 23:52:17] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24777100000000018553691916167736053466796875
[2026-01-29 23:52:17] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-29 23:52:17] [INFO]   -> Found value: -85.123497
[2026-01-29 23:52:17] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1234970000000004120010999031364917755126953125
[2026-01-29 23:52:17] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-29 23:52:17] [INFO]   -> Found value: 2026-01-29T18:50:24.66-05:00
[2026-01-29 23:52:17] [INFO]   -> Set field 'dispatched' = "2026-01-29 23:50:24"
[2026-01-29 23:52:17] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-29 23:52:17] [INFO]   -> Found value: S1DB
[2026-01-29 23:52:17] [INFO]   -> Set field 'cADVehicleID' = "S1DB"
[2026-01-29 23:52:17] [INFO]   -> Set field 'name' = "S1DB"
[2026-01-29 23:52:17] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-29 23:52:17] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:17] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-29 23:52:17] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-29 23:52:17] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:17] [INFO]   -> Set field 'timeonscene' = null
[2026-01-29 23:52:17] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-29 23:52:17] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:17] [INFO]   -> Set field 'timestaging' = null
[2026-01-29 23:52:17] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-29 23:52:17] [INFO]   -> Found value: 2026-01-29T18:52:05.93-05:00
[2026-01-29 23:52:17] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-29 23:52:05"
[2026-01-29 23:52:17] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-29 23:52:17] [INFO]   -> Found value: 2026-01-29T18:52:05.91-05:00
[2026-01-29 23:52:17] [INFO]   -> Set field 'timedispatch' = "2026-01-29 23:52:05"
[2026-01-29 23:52:17] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-29 23:52:17] [INFO]   -> Found value: RD
[2026-01-29 23:52:17] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-29 23:52:17] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 23:52:17] [INFO]   -> Found value: 26-000191
[2026-01-29 23:52:17] [INFO]   -> Set field 'incidentInternalId' = "26-000191"
[2026-01-29 23:52:17] [INFO]   -> Set field 'dispatchRunNumber' = "26-000191"
[2026-01-29 23:52:17] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-29 23:52:17] [INFO]   -> Found value: 2026-01-39105
[2026-01-29 23:52:17] [INFO]   -> Set field 'policeReportNumber' = "2026-01-39105"
[2026-01-29 23:52:17] [INFO]   -> Set field 'cADNumber' = "2026-01-39105"
[2026-01-29 23:52:17] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-29 23:52:17] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-29 23:52:17] [INFO] Found 14 elements for 'Comment', concatenating 14 non-empty values
[2026-01-29 23:52:17] [INFO]   -> Found value: 01/29/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]
01/29/2026 ...
[2026-01-29 23:52:17] [INFO]   -> Set field 'dispatchNotes' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:52:17] [INFO]   -> Set field 'cADLog' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:52:17] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-29 23:52:17] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-29 23:52:17] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-29 23:52:17] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-01-29 23:52:17] [INFO]   -> Found value: SFD
DBFD
DBFD
[2026-01-29 23:52:17] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD\nDBFD"
[2026-01-29 23:52:17] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-29 23:52:17] [INFO] Concatenating street name and type
[2026-01-29 23:52:17] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-01-29 23:52:17] [INFO] Built locationCoordinates from lat/lng: 35.247771,-85.123497
[2026-01-29 23:52:17] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"STROKE-Stroke","businessName":"1711 SMITH CEMETERY RD APT A","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1711,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"No Cross Street\/WARD CEMETERY RD","alarm":"2026-01-29 23:50:06","enroute":"2026-01-29 23:52:05","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24777100000000018553691916167736053466796875,"nERISIncidentLongitude":-85.1234970000000004120010999031364917755126953125,"dispatched":"2026-01-29 23:50:24","cADVehicleID":"S1DB","name":"S1DB","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-01-29 23:52:05","timedispatch":"2026-01-29 23:52:05","incidentInternalId":"26-000191","dispatchRunNumber":"26-000191","policeReportNumber":"2026-01-39105","cADNumber":"2026-01-39105","dispatchNotes":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADLog":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADAgencyIdentifier":"SFD\nDBFD\nDBFD","locationCoordinates":"35.247771,-85.123497"}
[2026-01-29 23:52:17] [INFO] Number of extracted fields: 29
[2026-01-29 23:52:17] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD
DBFD'
[2026-01-29 23:52:17] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
DBFD
DBFD', Parsed IDs = ["SFD","DBFD","DBFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 2
[2026-01-29 23:52:17] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD","DBFD"]
[2026-01-29 23:52:17] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-29 23:52:17] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-29 23:52:17] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD","DBFD"]
[2026-01-29 23:52:17] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-29 23:52:17] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-29 23:52:17] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-29 23:52:17] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-01-29 23:52:17] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-29 23:52:18] [INFO] Found existing IncidentTypeMapping with ID: 697bf2340657c5420
[2026-01-29 23:52:18] [INFO] Found existing Dispatch with cADNumber '2026-01-39105', ID: 697bf2344d7c19e9e - will update instead of create
[2026-01-29 23:52:18] [INFO] Updated existing Dispatches record with ID: 697bf2344d7c19e9e
[2026-01-29 23:52:18] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185217074.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-29/INCCOMBINED_2026-01-39105_20260129185217074.xml
[2026-01-29 23:52:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185217074.xml
[2026-01-29 23:52:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185237361.xml
[2026-01-29 23:52:37] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185237361.xml for user: 68920395733981a47
[2026-01-29 23:52:37] [INFO] File size: 12804 bytes
[2026-01-29 23:52:37] [INFO] Created FTPFiles record with ID: 697bf2c5bb10e5cd9
[2026-01-29 23:52:37] [INFO] About to extract fields from XML. File size: 12804 bytes
[2026-01-29 23:52:37] [INFO] Number of mappings: 24
[2026-01-29 23:52:37] [INFO] Starting XML parsing. Content length: 12804
[2026-01-29 23:52:37] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-29 23:52:37] [INFO] Processing 24 field mappings
[2026-01-29 23:52:37] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-29 23:52:37] [INFO]   -> Found value: STROKE-Stroke
[2026-01-29 23:52:37] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE-Stroke"
[2026-01-29 23:52:37] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-29 23:52:37] [INFO]   -> Found value: 1711 SMITH CEMETERY RD APT A
[2026-01-29 23:52:37] [INFO]   -> Set field 'businessName' = "1711 SMITH CEMETERY RD APT A"
[2026-01-29 23:52:37] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-29 23:52:37] [INFO]   -> Found value: 37379
[2026-01-29 23:52:37] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-29 23:52:37] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-29 23:52:37] [INFO]   -> Found value: 1711
[2026-01-29 23:52:37] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1711
[2026-01-29 23:52:37] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-29 23:52:37] [INFO]   -> Found value: SMITH CEMETERY
[2026-01-29 23:52:37] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-01-29 23:52:37] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-29 23:52:37] [INFO]   -> Found value: No Cross Street/WARD CEMETERY RD
[2026-01-29 23:52:37] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/WARD CEMETERY RD"
[2026-01-29 23:52:37] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-29 23:52:37] [INFO]   -> Found value: 2026-01-29T18:50:06.98-05:00
[2026-01-29 23:52:37] [INFO]   -> Set field 'alarm' = "2026-01-29 23:50:06"
[2026-01-29 23:52:37] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-29 23:52:37] [INFO]   -> Found value: 2026-01-29T18:52:05.93-05:00
[2026-01-29 23:52:37] [INFO]   -> Set field 'enroute' = "2026-01-29 23:52:05"
[2026-01-29 23:52:37] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-29 23:52:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:37] [INFO]   -> Set field 'onScene' = null
[2026-01-29 23:52:37] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-29 23:52:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:37] [INFO]   -> Set field 'cleared' = null
[2026-01-29 23:52:37] [INFO]   -> Set field 'inService' = null
[2026-01-29 23:52:37] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-29 23:52:37] [INFO]   -> Found value: 35.247771
[2026-01-29 23:52:37] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24777100000000018553691916167736053466796875
[2026-01-29 23:52:37] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-29 23:52:37] [INFO]   -> Found value: -85.123497
[2026-01-29 23:52:37] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1234970000000004120010999031364917755126953125
[2026-01-29 23:52:37] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-29 23:52:37] [INFO]   -> Found value: 2026-01-29T18:50:24.66-05:00
[2026-01-29 23:52:37] [INFO]   -> Set field 'dispatched' = "2026-01-29 23:50:24"
[2026-01-29 23:52:37] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-29 23:52:37] [INFO]   -> Found value: S1DB
[2026-01-29 23:52:37] [INFO]   -> Set field 'cADVehicleID' = "S1DB"
[2026-01-29 23:52:37] [INFO]   -> Set field 'name' = "S1DB"
[2026-01-29 23:52:37] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-29 23:52:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:37] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-29 23:52:37] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-29 23:52:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:37] [INFO]   -> Set field 'timeonscene' = null
[2026-01-29 23:52:37] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-29 23:52:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:37] [INFO]   -> Set field 'timestaging' = null
[2026-01-29 23:52:37] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-29 23:52:37] [INFO]   -> Found value: 2026-01-29T18:52:05.93-05:00
[2026-01-29 23:52:37] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-29 23:52:05"
[2026-01-29 23:52:37] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-29 23:52:37] [INFO]   -> Found value: 2026-01-29T18:52:05.91-05:00
[2026-01-29 23:52:37] [INFO]   -> Set field 'timedispatch' = "2026-01-29 23:52:05"
[2026-01-29 23:52:37] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-29 23:52:37] [INFO]   -> Found value: RD
[2026-01-29 23:52:37] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-29 23:52:37] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 23:52:37] [INFO]   -> Found value: 26-000191
[2026-01-29 23:52:37] [INFO]   -> Set field 'incidentInternalId' = "26-000191"
[2026-01-29 23:52:37] [INFO]   -> Set field 'dispatchRunNumber' = "26-000191"
[2026-01-29 23:52:37] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-29 23:52:37] [INFO]   -> Found value: 2026-01-39105
[2026-01-29 23:52:37] [INFO]   -> Set field 'policeReportNumber' = "2026-01-39105"
[2026-01-29 23:52:37] [INFO]   -> Set field 'cADNumber' = "2026-01-39105"
[2026-01-29 23:52:37] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-29 23:52:37] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-29 23:52:37] [INFO] Found 15 elements for 'Comment', concatenating 15 non-empty values
[2026-01-29 23:52:37] [INFO]   -> Found value: 01/29/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]
01/29/2026 ...
[2026-01-29 23:52:37] [INFO]   -> Set field 'dispatchNotes' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:52:37] [INFO]   -> Set field 'cADLog' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:52:37] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-29 23:52:37] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-29 23:52:37] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-29 23:52:37] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-01-29 23:52:37] [INFO]   -> Found value: SFD
DBFD
DBFD
[2026-01-29 23:52:37] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD\nDBFD"
[2026-01-29 23:52:37] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-29 23:52:37] [INFO] Concatenating street name and type
[2026-01-29 23:52:37] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-01-29 23:52:37] [INFO] Built locationCoordinates from lat/lng: 35.247771,-85.123497
[2026-01-29 23:52:37] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"STROKE-Stroke","businessName":"1711 SMITH CEMETERY RD APT A","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1711,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"No Cross Street\/WARD CEMETERY RD","alarm":"2026-01-29 23:50:06","enroute":"2026-01-29 23:52:05","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24777100000000018553691916167736053466796875,"nERISIncidentLongitude":-85.1234970000000004120010999031364917755126953125,"dispatched":"2026-01-29 23:50:24","cADVehicleID":"S1DB","name":"S1DB","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-01-29 23:52:05","timedispatch":"2026-01-29 23:52:05","incidentInternalId":"26-000191","dispatchRunNumber":"26-000191","policeReportNumber":"2026-01-39105","cADNumber":"2026-01-39105","dispatchNotes":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADLog":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADAgencyIdentifier":"SFD\nDBFD\nDBFD","locationCoordinates":"35.247771,-85.123497"}
[2026-01-29 23:52:37] [INFO] Number of extracted fields: 29
[2026-01-29 23:52:37] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD
DBFD'
[2026-01-29 23:52:37] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
DBFD
DBFD', Parsed IDs = ["SFD","DBFD","DBFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 2
[2026-01-29 23:52:37] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD","DBFD"]
[2026-01-29 23:52:37] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-29 23:52:37] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-29 23:52:37] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD","DBFD"]
[2026-01-29 23:52:38] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-29 23:52:38] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-29 23:52:38] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-29 23:52:38] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-01-29 23:52:38] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-29 23:52:38] [INFO] Found existing IncidentTypeMapping with ID: 697bf2340657c5420
[2026-01-29 23:52:38] [INFO] Found existing Dispatch with cADNumber '2026-01-39105', ID: 697bf2344d7c19e9e - will update instead of create
[2026-01-29 23:52:38] [INFO] Updated existing Dispatches record with ID: 697bf2344d7c19e9e
[2026-01-29 23:52:38] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185237361.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-29/INCCOMBINED_2026-01-39105_20260129185237361.xml
[2026-01-29 23:52:38] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185237361.xml
[2026-01-29 23:52:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185242408.xml
[2026-01-29 23:52:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185242408.xml for user: 68920395733981a47
[2026-01-29 23:52:42] [INFO] File size: 12955 bytes
[2026-01-29 23:52:42] [INFO] Created FTPFiles record with ID: 697bf2cac8ba76ed6
[2026-01-29 23:52:42] [INFO] About to extract fields from XML. File size: 12955 bytes
[2026-01-29 23:52:42] [INFO] Number of mappings: 24
[2026-01-29 23:52:42] [INFO] Starting XML parsing. Content length: 12955
[2026-01-29 23:52:42] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-29 23:52:42] [INFO] Processing 24 field mappings
[2026-01-29 23:52:42] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-29 23:52:42] [INFO]   -> Found value: STROKE-Stroke
[2026-01-29 23:52:42] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE-Stroke"
[2026-01-29 23:52:42] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-29 23:52:42] [INFO]   -> Found value: 1711 SMITH CEMETERY RD APT A
[2026-01-29 23:52:42] [INFO]   -> Set field 'businessName' = "1711 SMITH CEMETERY RD APT A"
[2026-01-29 23:52:42] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-29 23:52:42] [INFO]   -> Found value: 37379
[2026-01-29 23:52:42] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-29 23:52:42] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-29 23:52:42] [INFO]   -> Found value: 1711
[2026-01-29 23:52:42] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1711
[2026-01-29 23:52:42] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-29 23:52:42] [INFO]   -> Found value: SMITH CEMETERY
[2026-01-29 23:52:42] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-01-29 23:52:42] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-29 23:52:42] [INFO]   -> Found value: No Cross Street/WARD CEMETERY RD
[2026-01-29 23:52:42] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/WARD CEMETERY RD"
[2026-01-29 23:52:42] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-29 23:52:42] [INFO]   -> Found value: 2026-01-29T18:50:06.98-05:00
[2026-01-29 23:52:42] [INFO]   -> Set field 'alarm' = "2026-01-29 23:50:06"
[2026-01-29 23:52:42] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-29 23:52:42] [INFO]   -> Found value: 2026-01-29T18:52:05.93-05:00
[2026-01-29 23:52:42] [INFO]   -> Set field 'enroute' = "2026-01-29 23:52:05"
[2026-01-29 23:52:42] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-29 23:52:42] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:42] [INFO]   -> Set field 'onScene' = null
[2026-01-29 23:52:42] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-29 23:52:42] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:42] [INFO]   -> Set field 'cleared' = null
[2026-01-29 23:52:42] [INFO]   -> Set field 'inService' = null
[2026-01-29 23:52:42] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-29 23:52:42] [INFO]   -> Found value: 35.247771
[2026-01-29 23:52:42] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24777100000000018553691916167736053466796875
[2026-01-29 23:52:42] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-29 23:52:42] [INFO]   -> Found value: -85.123497
[2026-01-29 23:52:42] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1234970000000004120010999031364917755126953125
[2026-01-29 23:52:42] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-29 23:52:42] [INFO]   -> Found value: 2026-01-29T18:50:24.66-05:00
[2026-01-29 23:52:42] [INFO]   -> Set field 'dispatched' = "2026-01-29 23:50:24"
[2026-01-29 23:52:42] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-29 23:52:42] [INFO]   -> Found value: S1DB
[2026-01-29 23:52:42] [INFO]   -> Set field 'cADVehicleID' = "S1DB"
[2026-01-29 23:52:42] [INFO]   -> Set field 'name' = "S1DB"
[2026-01-29 23:52:42] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-29 23:52:42] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:42] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-29 23:52:42] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-29 23:52:42] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:42] [INFO]   -> Set field 'timeonscene' = null
[2026-01-29 23:52:42] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-29 23:52:42] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:42] [INFO]   -> Set field 'timestaging' = null
[2026-01-29 23:52:42] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-29 23:52:42] [INFO]   -> Found value: 2026-01-29T18:52:05.93-05:00
[2026-01-29 23:52:42] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-29 23:52:05"
[2026-01-29 23:52:42] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-29 23:52:42] [INFO]   -> Found value: 2026-01-29T18:52:05.91-05:00
[2026-01-29 23:52:42] [INFO]   -> Set field 'timedispatch' = "2026-01-29 23:52:05"
[2026-01-29 23:52:42] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-29 23:52:42] [INFO]   -> Found value: RD
[2026-01-29 23:52:42] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-29 23:52:42] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 23:52:42] [INFO]   -> Found value: 26-000191
[2026-01-29 23:52:42] [INFO]   -> Set field 'incidentInternalId' = "26-000191"
[2026-01-29 23:52:42] [INFO]   -> Set field 'dispatchRunNumber' = "26-000191"
[2026-01-29 23:52:42] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-29 23:52:42] [INFO]   -> Found value: 2026-01-39105
[2026-01-29 23:52:42] [INFO]   -> Set field 'policeReportNumber' = "2026-01-39105"
[2026-01-29 23:52:42] [INFO]   -> Set field 'cADNumber' = "2026-01-39105"
[2026-01-29 23:52:42] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-29 23:52:42] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-29 23:52:42] [INFO] Found 16 elements for 'Comment', concatenating 16 non-empty values
[2026-01-29 23:52:42] [INFO]   -> Found value: 01/29/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]
01/29/2026 ...
[2026-01-29 23:52:42] [INFO]   -> Set field 'dispatchNotes' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:41 HALE_J                  [16] his number 423-243-7819 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:52:42] [INFO]   -> Set field 'cADLog' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:41 HALE_J                  [16] his number 423-243-7819 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:52:42] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-29 23:52:42] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-29 23:52:42] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-29 23:52:42] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-01-29 23:52:42] [INFO]   -> Found value: SFD
DBFD
DBFD
[2026-01-29 23:52:42] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD\nDBFD"
[2026-01-29 23:52:42] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-29 23:52:42] [INFO] Concatenating street name and type
[2026-01-29 23:52:42] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-01-29 23:52:42] [INFO] Built locationCoordinates from lat/lng: 35.247771,-85.123497
[2026-01-29 23:52:42] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"STROKE-Stroke","businessName":"1711 SMITH CEMETERY RD APT A","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1711,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"No Cross Street\/WARD CEMETERY RD","alarm":"2026-01-29 23:50:06","enroute":"2026-01-29 23:52:05","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24777100000000018553691916167736053466796875,"nERISIncidentLongitude":-85.1234970000000004120010999031364917755126953125,"dispatched":"2026-01-29 23:50:24","cADVehicleID":"S1DB","name":"S1DB","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-01-29 23:52:05","timedispatch":"2026-01-29 23:52:05","incidentInternalId":"26-000191","dispatchRunNumber":"26-000191","policeReportNumber":"2026-01-39105","cADNumber":"2026-01-39105","dispatchNotes":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:41 HALE_J                  [16] his number 423-243-7819 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADLog":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:41 HALE_J                  [16] his number 423-243-7819 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADAgencyIdentifier":"SFD\nDBFD\nDBFD","locationCoordinates":"35.247771,-85.123497"}
[2026-01-29 23:52:42] [INFO] Number of extracted fields: 29
[2026-01-29 23:52:42] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD
DBFD'
[2026-01-29 23:52:42] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
DBFD
DBFD', Parsed IDs = ["SFD","DBFD","DBFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 2
[2026-01-29 23:52:42] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD","DBFD"]
[2026-01-29 23:52:42] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-29 23:52:42] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-29 23:52:42] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD","DBFD"]
[2026-01-29 23:52:43] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-29 23:52:43] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-29 23:52:43] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-29 23:52:43] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-01-29 23:52:43] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-29 23:52:43] [INFO] Found existing IncidentTypeMapping with ID: 697bf2340657c5420
[2026-01-29 23:52:43] [INFO] Found existing Dispatch with cADNumber '2026-01-39105', ID: 697bf2344d7c19e9e - will update instead of create
[2026-01-29 23:52:43] [INFO] Updated existing Dispatches record with ID: 697bf2344d7c19e9e
[2026-01-29 23:52:43] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185242408.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-29/INCCOMBINED_2026-01-39105_20260129185242408.xml
[2026-01-29 23:52:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185242408.xml
[2026-01-29 23:52:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185252533.xml
[2026-01-29 23:52:52] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185252533.xml for user: 68920395733981a47
[2026-01-29 23:52:52] [INFO] File size: 13252 bytes
[2026-01-29 23:52:53] [INFO] Created FTPFiles record with ID: 697bf2d57b94ec57a
[2026-01-29 23:52:53] [INFO] About to extract fields from XML. File size: 13252 bytes
[2026-01-29 23:52:53] [INFO] Number of mappings: 24
[2026-01-29 23:52:53] [INFO] Starting XML parsing. Content length: 13252
[2026-01-29 23:52:53] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-29 23:52:53] [INFO] Processing 24 field mappings
[2026-01-29 23:52:53] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-29 23:52:53] [INFO]   -> Found value: STROKE-Stroke
[2026-01-29 23:52:53] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE-Stroke"
[2026-01-29 23:52:53] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-29 23:52:53] [INFO]   -> Found value: 1711 SMITH CEMETERY RD APT A
[2026-01-29 23:52:53] [INFO]   -> Set field 'businessName' = "1711 SMITH CEMETERY RD APT A"
[2026-01-29 23:52:53] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-29 23:52:53] [INFO]   -> Found value: 37379
[2026-01-29 23:52:53] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-29 23:52:53] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-29 23:52:53] [INFO]   -> Found value: 1711
[2026-01-29 23:52:53] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1711
[2026-01-29 23:52:53] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-29 23:52:53] [INFO]   -> Found value: SMITH CEMETERY
[2026-01-29 23:52:53] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-01-29 23:52:53] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-29 23:52:53] [INFO]   -> Found value: No Cross Street/WARD CEMETERY RD
[2026-01-29 23:52:53] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/WARD CEMETERY RD"
[2026-01-29 23:52:53] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-29 23:52:53] [INFO]   -> Found value: 2026-01-29T18:50:06.98-05:00
[2026-01-29 23:52:53] [INFO]   -> Set field 'alarm' = "2026-01-29 23:50:06"
[2026-01-29 23:52:53] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-29 23:52:53] [INFO]   -> Found value: 2026-01-29T18:52:05.93-05:00
[2026-01-29 23:52:53] [INFO]   -> Set field 'enroute' = "2026-01-29 23:52:05"
[2026-01-29 23:52:53] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-29 23:52:53] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:53] [INFO]   -> Set field 'onScene' = null
[2026-01-29 23:52:53] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-29 23:52:53] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:53] [INFO]   -> Set field 'cleared' = null
[2026-01-29 23:52:53] [INFO]   -> Set field 'inService' = null
[2026-01-29 23:52:53] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-29 23:52:53] [INFO]   -> Found value: 35.247771
[2026-01-29 23:52:53] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24777100000000018553691916167736053466796875
[2026-01-29 23:52:53] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-29 23:52:53] [INFO]   -> Found value: -85.123497
[2026-01-29 23:52:53] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1234970000000004120010999031364917755126953125
[2026-01-29 23:52:53] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-29 23:52:53] [INFO]   -> Found value: 2026-01-29T18:50:24.66-05:00
[2026-01-29 23:52:53] [INFO]   -> Set field 'dispatched' = "2026-01-29 23:50:24"
[2026-01-29 23:52:53] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-29 23:52:53] [INFO]   -> Found value: S1DB
[2026-01-29 23:52:53] [INFO]   -> Set field 'cADVehicleID' = "S1DB"
[2026-01-29 23:52:53] [INFO]   -> Set field 'name' = "S1DB"
[2026-01-29 23:52:53] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-29 23:52:53] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:53] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-29 23:52:53] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-29 23:52:53] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:53] [INFO]   -> Set field 'timeonscene' = null
[2026-01-29 23:52:53] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-29 23:52:53] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:53] [INFO]   -> Set field 'timestaging' = null
[2026-01-29 23:52:53] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-29 23:52:53] [INFO]   -> Found value: 2026-01-29T18:52:05.93-05:00
[2026-01-29 23:52:53] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-29 23:52:05"
[2026-01-29 23:52:53] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-29 23:52:53] [INFO]   -> Found value: 2026-01-29T18:52:05.91-05:00
[2026-01-29 23:52:53] [INFO]   -> Set field 'timedispatch' = "2026-01-29 23:52:05"
[2026-01-29 23:52:53] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-29 23:52:53] [INFO]   -> Found value: RD
[2026-01-29 23:52:53] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-29 23:52:53] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 23:52:53] [INFO]   -> Found value: 26-000191
[2026-01-29 23:52:53] [INFO]   -> Set field 'incidentInternalId' = "26-000191"
[2026-01-29 23:52:53] [INFO]   -> Set field 'dispatchRunNumber' = "26-000191"
[2026-01-29 23:52:53] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-29 23:52:53] [INFO]   -> Found value: 2026-01-39105
[2026-01-29 23:52:53] [INFO]   -> Set field 'policeReportNumber' = "2026-01-39105"
[2026-01-29 23:52:53] [INFO]   -> Set field 'cADNumber' = "2026-01-39105"
[2026-01-29 23:52:53] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-29 23:52:53] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-29 23:52:53] [INFO] Found 18 elements for 'Comment', concatenating 18 non-empty values
[2026-01-29 23:52:53] [INFO]   -> Found value: 01/29/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]
01/29/2026 ...
[2026-01-29 23:52:53] [INFO]   -> Set field 'dispatchNotes' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:41 HALE_J                  [16] his number 423-243-7819 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:47 HALE_J                  [17] rp is not on scene with him  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:49 FAIRBANKS_A             [18] ADV ON HCSOW  [Shared 2, 2026-01-39106 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:52:53] [INFO]   -> Set field 'cADLog' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:41 HALE_J                  [16] his number 423-243-7819 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:47 HALE_J                  [17] rp is not on scene with him  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:49 FAIRBANKS_A             [18] ADV ON HCSOW  [Shared 2, 2026-01-39106 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:52:53] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-29 23:52:53] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-29 23:52:53] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-29 23:52:53] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-01-29 23:52:53] [INFO]   -> Found value: SFD
DBFD
DBFD
[2026-01-29 23:52:53] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD\nDBFD"
[2026-01-29 23:52:53] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-29 23:52:53] [INFO] Concatenating street name and type
[2026-01-29 23:52:53] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-01-29 23:52:53] [INFO] Built locationCoordinates from lat/lng: 35.247771,-85.123497
[2026-01-29 23:52:53] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"STROKE-Stroke","businessName":"1711 SMITH CEMETERY RD APT A","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1711,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"No Cross Street\/WARD CEMETERY RD","alarm":"2026-01-29 23:50:06","enroute":"2026-01-29 23:52:05","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24777100000000018553691916167736053466796875,"nERISIncidentLongitude":-85.1234970000000004120010999031364917755126953125,"dispatched":"2026-01-29 23:50:24","cADVehicleID":"S1DB","name":"S1DB","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-01-29 23:52:05","timedispatch":"2026-01-29 23:52:05","incidentInternalId":"26-000191","dispatchRunNumber":"26-000191","policeReportNumber":"2026-01-39105","cADNumber":"2026-01-39105","dispatchNotes":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:41 HALE_J                  [16] his number 423-243-7819 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:47 HALE_J                  [17] rp is not on scene with him  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:49 FAIRBANKS_A             [18] ADV ON HCSOW  [Shared 2, 2026-01-39106 - STROKE - 1711 SMITH CEMETERY RD]","cADLog":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:41 HALE_J                  [16] his number 423-243-7819 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:47 HALE_J                  [17] rp is not on scene with him  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:49 FAIRBANKS_A             [18] ADV ON HCSOW  [Shared 2, 2026-01-39106 - STROKE - 1711 SMITH CEMETERY RD]","cADAgencyIdentifier":"SFD\nDBFD\nDBFD","locationCoordinates":"35.247771,-85.123497"}
[2026-01-29 23:52:53] [INFO] Number of extracted fields: 29
[2026-01-29 23:52:53] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD
DBFD'
[2026-01-29 23:52:53] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
DBFD
DBFD', Parsed IDs = ["SFD","DBFD","DBFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 2
[2026-01-29 23:52:53] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD","DBFD"]
[2026-01-29 23:52:53] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-29 23:52:53] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-29 23:52:53] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD","DBFD"]
[2026-01-29 23:52:53] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-29 23:52:53] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-29 23:52:53] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-29 23:52:53] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-01-29 23:52:54] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-29 23:52:54] [INFO] Found existing IncidentTypeMapping with ID: 697bf2340657c5420
[2026-01-29 23:52:54] [INFO] Found existing Dispatch with cADNumber '2026-01-39105', ID: 697bf2344d7c19e9e - will update instead of create
[2026-01-29 23:52:54] [INFO] Updated existing Dispatches record with ID: 697bf2344d7c19e9e
[2026-01-29 23:52:54] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185252533.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-29/INCCOMBINED_2026-01-39105_20260129185252533.xml
[2026-01-29 23:52:54] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185252533.xml
[2026-01-29 23:52:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185257612.xml
[2026-01-29 23:52:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185257612.xml for user: 68920395733981a47
[2026-01-29 23:52:57] [INFO] File size: 13467 bytes
[2026-01-29 23:52:58] [INFO] Created FTPFiles record with ID: 697bf2da02db2a04a
[2026-01-29 23:52:58] [INFO] About to extract fields from XML. File size: 13467 bytes
[2026-01-29 23:52:58] [INFO] Number of mappings: 24
[2026-01-29 23:52:58] [INFO] Starting XML parsing. Content length: 13467
[2026-01-29 23:52:58] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-29 23:52:58] [INFO] Processing 24 field mappings
[2026-01-29 23:52:58] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-29 23:52:58] [INFO]   -> Found value: STROKE-Stroke
[2026-01-29 23:52:58] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE-Stroke"
[2026-01-29 23:52:58] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-29 23:52:58] [INFO]   -> Found value: 1711 SMITH CEMETERY RD APT A
[2026-01-29 23:52:58] [INFO]   -> Set field 'businessName' = "1711 SMITH CEMETERY RD APT A"
[2026-01-29 23:52:58] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-29 23:52:58] [INFO]   -> Found value: 37379
[2026-01-29 23:52:58] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-29 23:52:58] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-29 23:52:58] [INFO]   -> Found value: 1711
[2026-01-29 23:52:58] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1711
[2026-01-29 23:52:58] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-29 23:52:58] [INFO]   -> Found value: SMITH CEMETERY
[2026-01-29 23:52:58] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-01-29 23:52:58] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-29 23:52:58] [INFO]   -> Found value: No Cross Street/WARD CEMETERY RD
[2026-01-29 23:52:58] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/WARD CEMETERY RD"
[2026-01-29 23:52:58] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-29 23:52:58] [INFO]   -> Found value: 2026-01-29T18:50:06.98-05:00
[2026-01-29 23:52:58] [INFO]   -> Set field 'alarm' = "2026-01-29 23:50:06"
[2026-01-29 23:52:58] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-29 23:52:58] [INFO]   -> Found value: 2026-01-29T18:52:05.93-05:00
[2026-01-29 23:52:58] [INFO]   -> Set field 'enroute' = "2026-01-29 23:52:05"
[2026-01-29 23:52:58] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-29 23:52:58] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:58] [INFO]   -> Set field 'onScene' = null
[2026-01-29 23:52:58] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-29 23:52:58] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:58] [INFO]   -> Set field 'cleared' = null
[2026-01-29 23:52:58] [INFO]   -> Set field 'inService' = null
[2026-01-29 23:52:58] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-29 23:52:58] [INFO]   -> Found value: 35.247771
[2026-01-29 23:52:58] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24777100000000018553691916167736053466796875
[2026-01-29 23:52:58] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-29 23:52:58] [INFO]   -> Found value: -85.123497
[2026-01-29 23:52:58] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1234970000000004120010999031364917755126953125
[2026-01-29 23:52:58] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-29 23:52:58] [INFO]   -> Found value: 2026-01-29T18:50:24.66-05:00
[2026-01-29 23:52:58] [INFO]   -> Set field 'dispatched' = "2026-01-29 23:50:24"
[2026-01-29 23:52:58] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-29 23:52:58] [INFO]   -> Found value: S1DB
[2026-01-29 23:52:58] [INFO]   -> Set field 'cADVehicleID' = "S1DB"
[2026-01-29 23:52:58] [INFO]   -> Set field 'name' = "S1DB"
[2026-01-29 23:52:58] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-29 23:52:58] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:58] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-29 23:52:58] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-29 23:52:58] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:58] [INFO]   -> Set field 'timeonscene' = null
[2026-01-29 23:52:58] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-29 23:52:58] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:52:58] [INFO]   -> Set field 'timestaging' = null
[2026-01-29 23:52:58] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-29 23:52:58] [INFO]   -> Found value: 2026-01-29T18:52:05.93-05:00
[2026-01-29 23:52:58] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-29 23:52:05"
[2026-01-29 23:52:58] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-29 23:52:58] [INFO]   -> Found value: 2026-01-29T18:52:05.91-05:00
[2026-01-29 23:52:58] [INFO]   -> Set field 'timedispatch' = "2026-01-29 23:52:05"
[2026-01-29 23:52:58] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-29 23:52:58] [INFO]   -> Found value: RD
[2026-01-29 23:52:58] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-29 23:52:58] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 23:52:58] [INFO]   -> Found value: 26-000191
[2026-01-29 23:52:58] [INFO]   -> Set field 'incidentInternalId' = "26-000191"
[2026-01-29 23:52:58] [INFO]   -> Set field 'dispatchRunNumber' = "26-000191"
[2026-01-29 23:52:58] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-29 23:52:58] [INFO]   -> Found value: 2026-01-39105
[2026-01-29 23:52:58] [INFO]   -> Set field 'policeReportNumber' = "2026-01-39105"
[2026-01-29 23:52:58] [INFO]   -> Set field 'cADNumber' = "2026-01-39105"
[2026-01-29 23:52:58] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-29 23:52:58] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-29 23:52:58] [INFO] Found 19 elements for 'Comment', concatenating 19 non-empty values
[2026-01-29 23:52:58] [INFO]   -> Found value: 01/29/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]
01/29/2026 ...
[2026-01-29 23:52:58] [INFO]   -> Set field 'dispatchNotes' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:41 HALE_J                  [16] his number 423-243-7819 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:47 HALE_J                  [17] rp is not on scene with him  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:49 FAIRBANKS_A             [18] ADV ON HCSOW  [Shared 2, 2026-01-39106 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:56 HALE_J                  [19] just got to phone to call them  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:52:58] [INFO]   -> Set field 'cADLog' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:41 HALE_J                  [16] his number 423-243-7819 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:47 HALE_J                  [17] rp is not on scene with him  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:49 FAIRBANKS_A             [18] ADV ON HCSOW  [Shared 2, 2026-01-39106 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:56 HALE_J                  [19] just got to phone to call them  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:52:58] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-29 23:52:58] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-29 23:52:58] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-29 23:52:58] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-01-29 23:52:58] [INFO]   -> Found value: SFD
DBFD
DBFD
[2026-01-29 23:52:58] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD\nDBFD"
[2026-01-29 23:52:58] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-29 23:52:58] [INFO] Concatenating street name and type
[2026-01-29 23:52:58] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-01-29 23:52:58] [INFO] Built locationCoordinates from lat/lng: 35.247771,-85.123497
[2026-01-29 23:52:58] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"STROKE-Stroke","businessName":"1711 SMITH CEMETERY RD APT A","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1711,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"No Cross Street\/WARD CEMETERY RD","alarm":"2026-01-29 23:50:06","enroute":"2026-01-29 23:52:05","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24777100000000018553691916167736053466796875,"nERISIncidentLongitude":-85.1234970000000004120010999031364917755126953125,"dispatched":"2026-01-29 23:50:24","cADVehicleID":"S1DB","name":"S1DB","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-01-29 23:52:05","timedispatch":"2026-01-29 23:52:05","incidentInternalId":"26-000191","dispatchRunNumber":"26-000191","policeReportNumber":"2026-01-39105","cADNumber":"2026-01-39105","dispatchNotes":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:41 HALE_J                  [16] his number 423-243-7819 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:47 HALE_J                  [17] rp is not on scene with him  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:49 FAIRBANKS_A             [18] ADV ON HCSOW  [Shared 2, 2026-01-39106 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:56 HALE_J                  [19] just got to phone to call them  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADLog":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:41 HALE_J                  [16] his number 423-243-7819 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:47 HALE_J                  [17] rp is not on scene with him  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:49 FAIRBANKS_A             [18] ADV ON HCSOW  [Shared 2, 2026-01-39106 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:56 HALE_J                  [19] just got to phone to call them  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADAgencyIdentifier":"SFD\nDBFD\nDBFD","locationCoordinates":"35.247771,-85.123497"}
[2026-01-29 23:52:58] [INFO] Number of extracted fields: 29
[2026-01-29 23:52:58] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD
DBFD'
[2026-01-29 23:52:58] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
DBFD
DBFD', Parsed IDs = ["SFD","DBFD","DBFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 2
[2026-01-29 23:52:58] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD","DBFD"]
[2026-01-29 23:52:58] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-29 23:52:58] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-29 23:52:58] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD","DBFD"]
[2026-01-29 23:52:58] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-29 23:52:58] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-29 23:52:58] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-29 23:52:58] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-01-29 23:52:58] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-29 23:52:58] [INFO] Found existing IncidentTypeMapping with ID: 697bf2340657c5420
[2026-01-29 23:52:58] [INFO] Found existing Dispatch with cADNumber '2026-01-39105', ID: 697bf2344d7c19e9e - will update instead of create
[2026-01-29 23:52:58] [INFO] Updated existing Dispatches record with ID: 697bf2344d7c19e9e
[2026-01-29 23:52:58] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185257612.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-29/INCCOMBINED_2026-01-39105_20260129185257612.xml
[2026-01-29 23:52:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185257612.xml
[2026-01-29 23:53:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185302690.xml
[2026-01-29 23:53:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185302690.xml for user: 68920395733981a47
[2026-01-29 23:53:02] [INFO] File size: 13616 bytes
[2026-01-29 23:53:03] [INFO] Created FTPFiles record with ID: 697bf2df12008ed5c
[2026-01-29 23:53:03] [INFO] About to extract fields from XML. File size: 13616 bytes
[2026-01-29 23:53:03] [INFO] Number of mappings: 24
[2026-01-29 23:53:03] [INFO] Starting XML parsing. Content length: 13616
[2026-01-29 23:53:03] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-29 23:53:03] [INFO] Processing 24 field mappings
[2026-01-29 23:53:03] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-29 23:53:03] [INFO]   -> Found value: STROKE-Stroke
[2026-01-29 23:53:03] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE-Stroke"
[2026-01-29 23:53:03] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-29 23:53:03] [INFO]   -> Found value: 1711 SMITH CEMETERY RD APT A
[2026-01-29 23:53:03] [INFO]   -> Set field 'businessName' = "1711 SMITH CEMETERY RD APT A"
[2026-01-29 23:53:03] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-29 23:53:03] [INFO]   -> Found value: 37379
[2026-01-29 23:53:03] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-29 23:53:03] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-29 23:53:03] [INFO]   -> Found value: 1711
[2026-01-29 23:53:03] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1711
[2026-01-29 23:53:03] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-29 23:53:03] [INFO]   -> Found value: SMITH CEMETERY
[2026-01-29 23:53:03] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-01-29 23:53:03] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-29 23:53:03] [INFO]   -> Found value: No Cross Street/WARD CEMETERY RD
[2026-01-29 23:53:03] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/WARD CEMETERY RD"
[2026-01-29 23:53:03] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-29 23:53:03] [INFO]   -> Found value: 2026-01-29T18:50:06.98-05:00
[2026-01-29 23:53:03] [INFO]   -> Set field 'alarm' = "2026-01-29 23:50:06"
[2026-01-29 23:53:03] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-29 23:53:03] [INFO]   -> Found value: 2026-01-29T18:52:05.93-05:00
[2026-01-29 23:53:03] [INFO]   -> Set field 'enroute' = "2026-01-29 23:52:05"
[2026-01-29 23:53:03] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-29 23:53:03] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:53:03] [INFO]   -> Set field 'onScene' = null
[2026-01-29 23:53:03] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-29 23:53:03] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:53:03] [INFO]   -> Set field 'cleared' = null
[2026-01-29 23:53:03] [INFO]   -> Set field 'inService' = null
[2026-01-29 23:53:03] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-29 23:53:03] [INFO]   -> Found value: 35.247771
[2026-01-29 23:53:03] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24777100000000018553691916167736053466796875
[2026-01-29 23:53:03] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-29 23:53:03] [INFO]   -> Found value: -85.123497
[2026-01-29 23:53:03] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1234970000000004120010999031364917755126953125
[2026-01-29 23:53:03] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-29 23:53:03] [INFO]   -> Found value: 2026-01-29T18:50:24.66-05:00
[2026-01-29 23:53:03] [INFO]   -> Set field 'dispatched' = "2026-01-29 23:50:24"
[2026-01-29 23:53:03] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-29 23:53:03] [INFO]   -> Found value: S1DB
[2026-01-29 23:53:03] [INFO]   -> Set field 'cADVehicleID' = "S1DB"
[2026-01-29 23:53:03] [INFO]   -> Set field 'name' = "S1DB"
[2026-01-29 23:53:03] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-29 23:53:03] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:53:03] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-29 23:53:03] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-29 23:53:03] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:53:03] [INFO]   -> Set field 'timeonscene' = null
[2026-01-29 23:53:03] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-29 23:53:03] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:53:03] [INFO]   -> Set field 'timestaging' = null
[2026-01-29 23:53:03] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-29 23:53:03] [INFO]   -> Found value: 2026-01-29T18:52:05.93-05:00
[2026-01-29 23:53:03] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-29 23:52:05"
[2026-01-29 23:53:03] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-29 23:53:03] [INFO]   -> Found value: 2026-01-29T18:52:05.91-05:00
[2026-01-29 23:53:03] [INFO]   -> Set field 'timedispatch' = "2026-01-29 23:52:05"
[2026-01-29 23:53:03] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-29 23:53:03] [INFO]   -> Found value: RD
[2026-01-29 23:53:03] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-29 23:53:03] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 23:53:03] [INFO]   -> Found value: 26-000191
[2026-01-29 23:53:03] [INFO]   -> Set field 'incidentInternalId' = "26-000191"
[2026-01-29 23:53:03] [INFO]   -> Set field 'dispatchRunNumber' = "26-000191"
[2026-01-29 23:53:03] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-29 23:53:03] [INFO]   -> Found value: 2026-01-39105
[2026-01-29 23:53:03] [INFO]   -> Set field 'policeReportNumber' = "2026-01-39105"
[2026-01-29 23:53:03] [INFO]   -> Set field 'cADNumber' = "2026-01-39105"
[2026-01-29 23:53:03] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-29 23:53:03] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-29 23:53:03] [INFO] Found 20 elements for 'Comment', concatenating 20 non-empty values
[2026-01-29 23:53:03] [INFO]   -> Found value: 01/29/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]
01/29/2026 ...
[2026-01-29 23:53:03] [INFO]   -> Set field 'dispatchNotes' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:41 HALE_J                  [16] his number 423-243-7819 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:47 HALE_J                  [17] rp is not on scene with him  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:49 FAIRBANKS_A             [18] ADV ON HCSOW  [Shared 2, 2026-01-39106 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:56 HALE_J                  [19] just got to phone to call them  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:59 HALE_J                  [20] ben going on 30 mins  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:53:03] [INFO]   -> Set field 'cADLog' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:41 HALE_J                  [16] his number 423-243-7819 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:47 HALE_J                  [17] rp is not on scene with him  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:49 FAIRBANKS_A             [18] ADV ON HCSOW  [Shared 2, 2026-01-39106 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:56 HALE_J                  [19] just got to phone to call them  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:59 HALE_J                  [20] ben going on 30 mins  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:53:03] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-29 23:53:03] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-29 23:53:03] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-29 23:53:03] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-01-29 23:53:03] [INFO]   -> Found value: SFD
DBFD
DBFD
[2026-01-29 23:53:03] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD\nDBFD"
[2026-01-29 23:53:03] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-29 23:53:03] [INFO] Concatenating street name and type
[2026-01-29 23:53:03] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-01-29 23:53:03] [INFO] Built locationCoordinates from lat/lng: 35.247771,-85.123497
[2026-01-29 23:53:03] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"STROKE-Stroke","businessName":"1711 SMITH CEMETERY RD APT A","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1711,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"No Cross Street\/WARD CEMETERY RD","alarm":"2026-01-29 23:50:06","enroute":"2026-01-29 23:52:05","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24777100000000018553691916167736053466796875,"nERISIncidentLongitude":-85.1234970000000004120010999031364917755126953125,"dispatched":"2026-01-29 23:50:24","cADVehicleID":"S1DB","name":"S1DB","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-01-29 23:52:05","timedispatch":"2026-01-29 23:52:05","incidentInternalId":"26-000191","dispatchRunNumber":"26-000191","policeReportNumber":"2026-01-39105","cADNumber":"2026-01-39105","dispatchNotes":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:41 HALE_J                  [16] his number 423-243-7819 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:47 HALE_J                  [17] rp is not on scene with him  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:49 FAIRBANKS_A             [18] ADV ON HCSOW  [Shared 2, 2026-01-39106 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:56 HALE_J                  [19] just got to phone to call them  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:59 HALE_J                  [20] ben going on 30 mins  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADLog":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:41 HALE_J                  [16] his number 423-243-7819 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:47 HALE_J                  [17] rp is not on scene with him  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:49 FAIRBANKS_A             [18] ADV ON HCSOW  [Shared 2, 2026-01-39106 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:56 HALE_J                  [19] just got to phone to call them  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:59 HALE_J                  [20] ben going on 30 mins  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADAgencyIdentifier":"SFD\nDBFD\nDBFD","locationCoordinates":"35.247771,-85.123497"}
[2026-01-29 23:53:03] [INFO] Number of extracted fields: 29
[2026-01-29 23:53:03] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD
DBFD'
[2026-01-29 23:53:03] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
DBFD
DBFD', Parsed IDs = ["SFD","DBFD","DBFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 2
[2026-01-29 23:53:03] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD","DBFD"]
[2026-01-29 23:53:03] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-29 23:53:03] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-29 23:53:03] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD","DBFD"]
[2026-01-29 23:53:03] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-29 23:53:03] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-29 23:53:03] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-29 23:53:03] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-01-29 23:53:03] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-29 23:53:03] [INFO] Found existing IncidentTypeMapping with ID: 697bf2340657c5420
[2026-01-29 23:53:03] [INFO] Found existing Dispatch with cADNumber '2026-01-39105', ID: 697bf2344d7c19e9e - will update instead of create
[2026-01-29 23:53:04] [INFO] Updated existing Dispatches record with ID: 697bf2344d7c19e9e
[2026-01-29 23:53:04] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185302690.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-29/INCCOMBINED_2026-01-39105_20260129185302690.xml
[2026-01-29 23:53:04] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185302690.xml
[2026-01-29 23:53:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185307945.xml
[2026-01-29 23:53:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185307945.xml for user: 68920395733981a47
[2026-01-29 23:53:08] [INFO] File size: 13749 bytes
[2026-01-29 23:53:08] [INFO] Created FTPFiles record with ID: 697bf2e45f97615ae
[2026-01-29 23:53:08] [INFO] About to extract fields from XML. File size: 13749 bytes
[2026-01-29 23:53:08] [INFO] Number of mappings: 24
[2026-01-29 23:53:08] [INFO] Starting XML parsing. Content length: 13749
[2026-01-29 23:53:08] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-29 23:53:08] [INFO] Processing 24 field mappings
[2026-01-29 23:53:08] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-29 23:53:08] [INFO]   -> Found value: STROKE-Stroke
[2026-01-29 23:53:08] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE-Stroke"
[2026-01-29 23:53:08] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-29 23:53:08] [INFO]   -> Found value: 1711 SMITH CEMETERY RD APT A
[2026-01-29 23:53:08] [INFO]   -> Set field 'businessName' = "1711 SMITH CEMETERY RD APT A"
[2026-01-29 23:53:08] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-29 23:53:08] [INFO]   -> Found value: 37379
[2026-01-29 23:53:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-29 23:53:08] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-29 23:53:08] [INFO]   -> Found value: 1711
[2026-01-29 23:53:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1711
[2026-01-29 23:53:08] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-29 23:53:08] [INFO]   -> Found value: SMITH CEMETERY
[2026-01-29 23:53:08] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-01-29 23:53:08] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-29 23:53:08] [INFO]   -> Found value: No Cross Street/WARD CEMETERY RD
[2026-01-29 23:53:08] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/WARD CEMETERY RD"
[2026-01-29 23:53:08] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-29 23:53:08] [INFO]   -> Found value: 2026-01-29T18:50:06.98-05:00
[2026-01-29 23:53:08] [INFO]   -> Set field 'alarm' = "2026-01-29 23:50:06"
[2026-01-29 23:53:08] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-29 23:53:08] [INFO]   -> Found value: 2026-01-29T18:52:05.93-05:00
[2026-01-29 23:53:08] [INFO]   -> Set field 'enroute' = "2026-01-29 23:52:05"
[2026-01-29 23:53:08] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-29 23:53:08] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:53:08] [INFO]   -> Set field 'onScene' = null
[2026-01-29 23:53:08] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-29 23:53:08] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:53:08] [INFO]   -> Set field 'cleared' = null
[2026-01-29 23:53:08] [INFO]   -> Set field 'inService' = null
[2026-01-29 23:53:08] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-29 23:53:08] [INFO]   -> Found value: 35.247771
[2026-01-29 23:53:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24777100000000018553691916167736053466796875
[2026-01-29 23:53:08] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-29 23:53:08] [INFO]   -> Found value: -85.123497
[2026-01-29 23:53:08] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1234970000000004120010999031364917755126953125
[2026-01-29 23:53:08] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-29 23:53:08] [INFO]   -> Found value: 2026-01-29T18:50:24.66-05:00
[2026-01-29 23:53:08] [INFO]   -> Set field 'dispatched' = "2026-01-29 23:50:24"
[2026-01-29 23:53:08] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-29 23:53:08] [INFO]   -> Found value: S1DB
[2026-01-29 23:53:08] [INFO]   -> Set field 'cADVehicleID' = "S1DB"
[2026-01-29 23:53:08] [INFO]   -> Set field 'name' = "S1DB"
[2026-01-29 23:53:08] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-29 23:53:08] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:53:08] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-29 23:53:08] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-29 23:53:08] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:53:08] [INFO]   -> Set field 'timeonscene' = null
[2026-01-29 23:53:08] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-29 23:53:08] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-29 23:53:08] [INFO]   -> Set field 'timestaging' = null
[2026-01-29 23:53:08] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-29 23:53:08] [INFO]   -> Found value: 2026-01-29T18:52:05.93-05:00
[2026-01-29 23:53:08] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-29 23:52:05"
[2026-01-29 23:53:08] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-29 23:53:08] [INFO]   -> Found value: 2026-01-29T18:52:05.91-05:00
[2026-01-29 23:53:08] [INFO]   -> Set field 'timedispatch' = "2026-01-29 23:52:05"
[2026-01-29 23:53:08] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-29 23:53:08] [INFO]   -> Found value: RD
[2026-01-29 23:53:08] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-29 23:53:08] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-29 23:53:08] [INFO]   -> Found value: 26-000191
[2026-01-29 23:53:08] [INFO]   -> Set field 'incidentInternalId' = "26-000191"
[2026-01-29 23:53:08] [INFO]   -> Set field 'dispatchRunNumber' = "26-000191"
[2026-01-29 23:53:08] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-29 23:53:08] [INFO]   -> Found value: 2026-01-39105
[2026-01-29 23:53:08] [INFO]   -> Set field 'policeReportNumber' = "2026-01-39105"
[2026-01-29 23:53:08] [INFO]   -> Set field 'cADNumber' = "2026-01-39105"
[2026-01-29 23:53:08] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-29 23:53:08] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-29 23:53:08] [INFO] Found 21 elements for 'Comment', concatenating 21 non-empty values
[2026-01-29 23:53:08] [INFO]   -> Found value: 01/29/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]
01/29/2026 ...
[2026-01-29 23:53:08] [INFO]   -> Set field 'dispatchNotes' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:41 HALE_J                  [16] his number 423-243-7819 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:47 HALE_J                  [17] rp is not on scene with him  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:49 FAIRBANKS_A             [18] ADV ON HCSOW  [Shared 2, 2026-01-39106 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:56 HALE_J                  [19] just got to phone to call them  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:59 HALE_J                  [20] ben going on 30 mins  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:53:03 HALE_J                  [21] *been [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:53:08] [INFO]   -> Set field 'cADLog' = "01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:41 HALE_J                  [16] his number 423-243-7819 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:47 HALE_J                  [17] rp is not on scene with him  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:49 FAIRBANKS_A             [18] ADV ON HCSOW  [Shared 2, 2026-01-39106 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:56 HALE_J                  [19] just got to phone to call them  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:59 HALE_J                  [20] ben going on 30 mins  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:53:03 HALE_J                  [21] *been [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]"
[2026-01-29 23:53:08] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-29 23:53:08] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-29 23:53:08] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-29 23:53:08] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-01-29 23:53:08] [INFO]   -> Found value: SFD
DBFD
DBFD
[2026-01-29 23:53:08] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD\nDBFD"
[2026-01-29 23:53:08] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-29 23:53:08] [INFO] Concatenating street name and type
[2026-01-29 23:53:08] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-01-29 23:53:08] [INFO] Built locationCoordinates from lat/lng: 35.247771,-85.123497
[2026-01-29 23:53:08] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"STROKE-Stroke","businessName":"1711 SMITH CEMETERY RD APT A","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1711,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"No Cross Street\/WARD CEMETERY RD","alarm":"2026-01-29 23:50:06","enroute":"2026-01-29 23:52:05","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24777100000000018553691916167736053466796875,"nERISIncidentLongitude":-85.1234970000000004120010999031364917755126953125,"dispatched":"2026-01-29 23:50:24","cADVehicleID":"S1DB","name":"S1DB","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-01-29 23:52:05","timedispatch":"2026-01-29 23:52:05","incidentInternalId":"26-000191","dispatchRunNumber":"26-000191","policeReportNumber":"2026-01-39105","cADNumber":"2026-01-39105","dispatchNotes":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:41 HALE_J                  [16] his number 423-243-7819 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:47 HALE_J                  [17] rp is not on scene with him  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:49 FAIRBANKS_A             [18] ADV ON HCSOW  [Shared 2, 2026-01-39106 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:56 HALE_J                  [19] just got to phone to call them  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:59 HALE_J                  [20] ben going on 30 mins  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:53:03 HALE_J                  [21] *been [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADLog":"01\/29\/2026 18:50:06 HALE_J                  [1] Incident linked to [EMS] [2026-01-39104]\n01\/29\/2026 18:50:07 HALE_J                  [2] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:06 HALE_J                  [3] [2] [1] Incident linked to [EMS] [2026-01-39104] [Shared 3, 2026-01-39105 - STROKE - 1711 SMITH CEMETERY RD] [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:06 HALE_J                  [4] Multi-Jurisdiction EMS Incident #: 2026-01-39104\n01\/29\/2026 18:50:07 HALE_J                  [5] Multi-Agency Law Incident #: 2026-01-39106\n01\/29\/2026 18:50:17 HALE_J                  [6] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 68 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:19 HALE_J                  [7] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:24 LONG_M                  [8] Automatic Case Number(s) issued for Incident #[2026-01-39105], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000191 requested by DBFMED. [Shared]\n01\/29\/2026 18:50:36 HALE_J                  [9] lives alone  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:50:58 HALE_J                  [10] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:18 HALE_J                  [11] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:34 HALE_J                  [12] slurring speech  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:51:43 HALE_J                  [13] cant feel whole right side  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:12 HALE_J                  [14] door should be unlocked  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:33 APP01                   [15] Requested Case Number(s) issued for Incident #[2026-01-39104], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-003787. requested by M02. [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:41 HALE_J                  [16] his number 423-243-7819 [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:47 HALE_J                  [17] rp is not on scene with him  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:49 FAIRBANKS_A             [18] ADV ON HCSOW  [Shared 2, 2026-01-39106 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:56 HALE_J                  [19] just got to phone to call them  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:52:59 HALE_J                  [20] ben going on 30 mins  [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]\n01\/29\/2026 18:53:03 HALE_J                  [21] *been [Shared 1, 2026-01-39104 - STROKE - 1711 SMITH CEMETERY RD]","cADAgencyIdentifier":"SFD\nDBFD\nDBFD","locationCoordinates":"35.247771,-85.123497"}
[2026-01-29 23:53:08] [INFO] Number of extracted fields: 29
[2026-01-29 23:53:08] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD
DBFD'
[2026-01-29 23:53:08] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
DBFD
DBFD', Parsed IDs = ["SFD","DBFD","DBFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 2
[2026-01-29 23:53:08] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD","DBFD"]
[2026-01-29 23:53:08] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-29 23:53:08] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-29 23:53:08] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD","DBFD"]
[2026-01-29 23:53:08] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-29 23:53:08] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-29 23:53:08] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-29 23:53:08] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-01-29 23:53:08] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-29 23:53:08] [INFO] Found existing IncidentTypeMapping with ID: 697bf2340657c5420
[2026-01-29 23:53:09] [INFO] Found existing Dispatch with cADNumber '2026-01-39105', ID: 697bf2344d7c19e9e - will update instead of create
[2026-01-29 23:53:09] [INFO] Updated existing Dispatches record with ID: 697bf2344d7c19e9e
[2026-01-29 23:53:09] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185307945.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-29/INCCOMBINED_2026-01-39105_20260129185307945.xml
[2026-01-29 23:53:09] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-39105_20260129185307945.xml
