[2026-03-18 00:09:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260029181_20260318_000908.XML
[2026-03-18 00:09:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260029181_20260318_000908.XML for user: 68f1466aed072ad4a
[2026-03-18 00:09:08] [INFO] File size: 5332 bytes
[2026-03-18 00:09:08] [INFO] Created FTPFiles record with ID: 69b9ed24a68102e00
[2026-03-18 00:09:08] [INFO] About to extract fields from XML. File size: 5332 bytes
[2026-03-18 00:09:08] [INFO] Number of mappings: 28
[2026-03-18 00:09:08] [INFO] Starting XML parsing. Content length: 5332
[2026-03-18 00:09:08] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 00:09:08] [INFO] Processing 28 field mappings
[2026-03-18 00:09:08] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 00:09:08] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 00:09:08] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 00:09:08] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 00:09:08] [INFO]   -> Found value: AFD
EMS
ALGO
ALGO
[2026-03-18 00:09:08] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS\nALGO\nALGO"
[2026-03-18 00:09:08] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 00:09:08] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 00:09:08] [INFO]   -> Found value: 2026000107
[2026-03-18 00:09:08] [INFO]   -> Set field 'incidentInternalId' = "2026000107"
[2026-03-18 00:09:08] [INFO]   -> Set field 'dispatchRunNumber' = "2026000107"
[2026-03-18 00:09:08] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 00:09:08] [INFO]   -> Found value: MEDICAL CALL
[2026-03-18 00:09:08] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-03-18 00:09:08] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 00:09:08] [INFO]   -> Found value: 265
[2026-03-18 00:09:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 265
[2026-03-18 00:09:08] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 00:09:08] [INFO]   -> Found value: TN
[2026-03-18 00:09:08] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 00:09:08] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 00:09:08] [INFO]   -> Found value: 38506
[2026-03-18 00:09:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 00:09:08] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 00:09:08] [INFO]   -> No value found (null or empty)
[2026-03-18 00:09:08] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 00:09:08] [INFO]   -> Found value: 106C
[2026-03-18 00:09:08] [INFO]   -> Set field 'incidentLocationApt' = "106C"
[2026-03-18 00:09:08] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 00:09:08] [INFO]   -> Found value: 36.20090
[2026-03-18 00:09:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.20089999999999719193510827608406543731689453125
[2026-03-18 00:09:08] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 00:09:08] [INFO]   -> Found value: -85.45652
[2026-03-18 00:09:08] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4565199999999975943865138106048107147216796875
[2026-03-18 00:09:08] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 00:09:08] [INFO]   -> Found value: 2026-03-17 19:08:32
[2026-03-18 00:09:08] [INFO]   -> Set field 'alarm' = "2026-03-17 19:08:32"
[2026-03-18 00:09:08] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 00:09:08] [INFO]   -> Found value: 2026-03-17 19:09:03
[2026-03-18 00:09:08] [INFO]   -> Set field 'dispatched' = "2026-03-17 19:09:03"
[2026-03-18 00:09:08] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 00:09:08] [INFO]   -> No value found (null or empty)
[2026-03-18 00:09:08] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 00:09:08] [INFO]   -> No value found (null or empty)
[2026-03-18 00:09:08] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 00:09:08] [INFO]   -> No value found (null or empty)
[2026-03-18 00:09:08] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 00:09:08] [INFO]   -> Found value: MCCAWLEY ST/RAMP
[2026-03-18 00:09:08] [INFO]   -> Set field 'incidentLocationCross' = "MCCAWLEY ST\/RAMP"
[2026-03-18 00:09:08] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 00:09:08] [INFO]   -> Found value: AFR
[2026-03-18 00:09:08] [INFO]   -> Set field 'cADVehicleID' = "AFR"
[2026-03-18 00:09:08] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 00:09:08] [INFO]   -> Found value: 2026-03-17 19:09:03
[2026-03-18 00:09:08] [INFO]   -> Set field 'timedispatch' = "2026-03-17 19:09:03"
[2026-03-18 00:09:08] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 00:09:08] [INFO]   -> No value found (null or empty)
[2026-03-18 00:09:08] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 00:09:08] [INFO]   -> No value found (null or empty)
[2026-03-18 00:09:08] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 00:09:08] [INFO]   -> No value found (null or empty)
[2026-03-18 00:09:08] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 00:09:08] [INFO]   -> No value found (null or empty)
[2026-03-18 00:09:08] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 00:09:08] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 00:09:08] [INFO]   -> Found value: 20260029181
[2026-03-18 00:09:08] [INFO]   -> Set field 'policeReportNumber' = "20260029181"
[2026-03-18 00:09:08] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 00:09:08] [INFO]   -> Found value: Event spawned from MEDICAL ALARM.  [03/17/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03/17/26 19:05:...
[2026-03-18 00:09:08] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from MEDICAL ALARM.  [03\/17\/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03\/17\/26 19:05:21 JDICK]"
[2026-03-18 00:09:08] [INFO]   -> Set field 'cADLog' = "Event spawned from MEDICAL ALARM.  [03\/17\/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03\/17\/26 19:05:21 JDICK]"
[2026-03-18 00:09:08] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 00:09:08] [INFO]   -> Found value: ALGOOD
[2026-03-18 00:09:08] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-18 00:09:08] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 00:09:08] [INFO]   -> Found value: QUINLAND LAKE
[2026-03-18 00:09:08] [INFO]   -> Set field 'streetName' = "QUINLAND LAKE"
[2026-03-18 00:09:08] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 00:09:08] [INFO]   -> Found value: RD
[2026-03-18 00:09:08] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 00:09:08] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 00:09:08] [INFO]   -> Found value: 265-106C QUINLAND LAKE RD
[2026-03-18 00:09:08] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "265-106C QUINLAND LAKE RD"
[2026-03-18 00:09:08] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-18 00:09:08] [INFO] Concatenating street name and type
[2026-03-18 00:09:08] [INFO]   -> Combined street name: QUINLAND LAKE RD
[2026-03-18 00:09:08] [INFO] Built locationCoordinates from lat/lng: 36.2009,-85.45652
[2026-03-18 00:09:08] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS\nALGO\nALGO","incidentInternalId":"2026000107","dispatchRunNumber":"2026000107","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":265,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"incidentLocationApt":"106C","nERISIncidentLatitude":36.20089999999999719193510827608406543731689453125,"nERISIncidentLongitude":-85.4565199999999975943865138106048107147216796875,"alarm":"2026-03-17 19:08:32","dispatched":"2026-03-17 19:09:03","incidentLocationCross":"MCCAWLEY ST\/RAMP","cADVehicleID":"AFR","timedispatch":"2026-03-17 19:09:03","policeReportNumber":"20260029181","dispatchNotes":"Event spawned from MEDICAL ALARM.  [03\/17\/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03\/17\/26 19:05:21 JDICK]","cADLog":"Event spawned from MEDICAL ALARM.  [03\/17\/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03\/17\/26 19:05:21 JDICK]","incidentLocationCity":"ALGOOD","streetName":"QUINLAND LAKE RD","incidentAddressTextVersionStreet":"265-106C QUINLAND LAKE RD","locationCoordinates":"36.2009,-85.45652"}
[2026-03-18 00:09:08] [INFO] Number of extracted fields: 22
[2026-03-18 00:09:08] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS
ALGO
ALGO'
[2026-03-18 00:09:08] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS
ALGO
ALGO', Parsed IDs = ["AFD","EMS","ALGO","ALGO"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-18 00:09:08] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS","ALGO","ALGO"]
[2026-03-18 00:09:08] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-18 00:09:08] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-18 00:09:08] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","ALGO","ALGO"]
[2026-03-18 00:09:09] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-18 00:09:09] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-18 00:09:09] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 00:09:09] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-18 00:09:09] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-18 00:09:09] [INFO] Found existing IncidentTypeMapping with ID: 694c277c8d8602f39
[2026-03-18 00:09:14] [INFO] Created new Dispatches record with ID: 69b9ed25b62318478
[2026-03-18 00:09:14] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18
[2026-03-18 00:09:14] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260029181_20260318_000908.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/AFD_20260029181_20260318_000908.XML
[2026-03-18 00:09:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260029181_20260318_000908.XML
[2026-03-18 00:10:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260029181_20260318_001039.XML
[2026-03-18 00:10:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260029181_20260318_001039.XML for user: 68f1466aed072ad4a
[2026-03-18 00:10:39] [INFO] File size: 6231 bytes
[2026-03-18 00:10:40] [INFO] Created FTPFiles record with ID: 69b9ed802e8d58f57
[2026-03-18 00:10:40] [INFO] About to extract fields from XML. File size: 6231 bytes
[2026-03-18 00:10:40] [INFO] Number of mappings: 28
[2026-03-18 00:10:40] [INFO] Starting XML parsing. Content length: 6231
[2026-03-18 00:10:40] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 00:10:40] [INFO] Processing 28 field mappings
[2026-03-18 00:10:40] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 00:10:40] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 00:10:40] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 00:10:40] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 00:10:40] [INFO]   -> Found value: AFD
EMS
ALGO
ALGO
[2026-03-18 00:10:40] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS\nALGO\nALGO"
[2026-03-18 00:10:40] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 00:10:40] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 00:10:40] [INFO]   -> Found value: 2026000107
[2026-03-18 00:10:40] [INFO]   -> Set field 'incidentInternalId' = "2026000107"
[2026-03-18 00:10:40] [INFO]   -> Set field 'dispatchRunNumber' = "2026000107"
[2026-03-18 00:10:40] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 00:10:40] [INFO]   -> Found value: MEDICAL CALL
[2026-03-18 00:10:40] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-03-18 00:10:40] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 00:10:40] [INFO]   -> Found value: 265
[2026-03-18 00:10:40] [INFO]   -> Set field 'incidentLocationStreetNumber' = 265
[2026-03-18 00:10:40] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 00:10:40] [INFO]   -> Found value: TN
[2026-03-18 00:10:40] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 00:10:40] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 00:10:40] [INFO]   -> Found value: 38506
[2026-03-18 00:10:40] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 00:10:40] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 00:10:40] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:40] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 00:10:40] [INFO]   -> Found value: 106C
[2026-03-18 00:10:40] [INFO]   -> Set field 'incidentLocationApt' = "106C"
[2026-03-18 00:10:40] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 00:10:40] [INFO]   -> Found value: 36.20090
[2026-03-18 00:10:40] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.20089999999999719193510827608406543731689453125
[2026-03-18 00:10:40] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 00:10:40] [INFO]   -> Found value: -85.45652
[2026-03-18 00:10:40] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4565199999999975943865138106048107147216796875
[2026-03-18 00:10:40] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 00:10:40] [INFO]   -> Found value: 2026-03-17 19:08:32
[2026-03-18 00:10:40] [INFO]   -> Set field 'alarm' = "2026-03-17 19:08:32"
[2026-03-18 00:10:40] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 00:10:40] [INFO]   -> Found value: 2026-03-17 19:09:03
[2026-03-18 00:10:40] [INFO]   -> Set field 'dispatched' = "2026-03-17 19:09:03"
[2026-03-18 00:10:40] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 00:10:40] [INFO]   -> Found value: 2026-03-17 19:10:36
[2026-03-18 00:10:40] [INFO]   -> Set field 'enroute' = "2026-03-17 19:10:36"
[2026-03-18 00:10:40] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 00:10:40] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:40] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 00:10:40] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:40] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 00:10:40] [INFO]   -> Found value: MCCAWLEY ST/RAMP
[2026-03-18 00:10:40] [INFO]   -> Set field 'incidentLocationCross' = "MCCAWLEY ST\/RAMP"
[2026-03-18 00:10:40] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 00:10:40] [INFO]   -> Found value: A1205
[2026-03-18 00:10:40] [INFO]   -> Set field 'cADVehicleID' = "A1205"
[2026-03-18 00:10:40] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 00:10:40] [INFO]   -> Found value: 2026-03-17 19:10:36
[2026-03-18 00:10:40] [INFO]   -> Set field 'timedispatch' = "2026-03-17 19:10:36"
[2026-03-18 00:10:40] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 00:10:40] [INFO]   -> Found value: 2026-03-17 19:10:36
[2026-03-18 00:10:40] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 19:10:36"
[2026-03-18 00:10:40] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 00:10:40] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:40] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 00:10:40] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:40] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 00:10:40] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:40] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 00:10:40] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 00:10:40] [INFO]   -> Found value: 20260029181
[2026-03-18 00:10:40] [INFO]   -> Set field 'policeReportNumber' = "20260029181"
[2026-03-18 00:10:40] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 00:10:40] [INFO]   -> Found value: Event spawned from MEDICAL ALARM.  [03/17/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03/17/26 19:05:...
[2026-03-18 00:10:40] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from MEDICAL ALARM.  [03\/17\/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03\/17\/26 19:05:21 JDICK]"
[2026-03-18 00:10:40] [INFO]   -> Set field 'cADLog' = "Event spawned from MEDICAL ALARM.  [03\/17\/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03\/17\/26 19:05:21 JDICK]"
[2026-03-18 00:10:40] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 00:10:40] [INFO]   -> Found value: ALGOOD
[2026-03-18 00:10:40] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-18 00:10:40] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 00:10:40] [INFO]   -> Found value: QUINLAND LAKE
[2026-03-18 00:10:40] [INFO]   -> Set field 'streetName' = "QUINLAND LAKE"
[2026-03-18 00:10:40] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 00:10:40] [INFO]   -> Found value: RD
[2026-03-18 00:10:40] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 00:10:40] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 00:10:40] [INFO]   -> Found value: 265-106C QUINLAND LAKE RD
[2026-03-18 00:10:40] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "265-106C QUINLAND LAKE RD"
[2026-03-18 00:10:40] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-18 00:10:40] [INFO] Concatenating street name and type
[2026-03-18 00:10:40] [INFO]   -> Combined street name: QUINLAND LAKE RD
[2026-03-18 00:10:40] [INFO] Built locationCoordinates from lat/lng: 36.2009,-85.45652
[2026-03-18 00:10:40] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS\nALGO\nALGO","incidentInternalId":"2026000107","dispatchRunNumber":"2026000107","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":265,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"incidentLocationApt":"106C","nERISIncidentLatitude":36.20089999999999719193510827608406543731689453125,"nERISIncidentLongitude":-85.4565199999999975943865138106048107147216796875,"alarm":"2026-03-17 19:08:32","dispatched":"2026-03-17 19:09:03","enroute":"2026-03-17 19:10:36","incidentLocationCross":"MCCAWLEY ST\/RAMP","cADVehicleID":"A1205","timedispatch":"2026-03-17 19:10:36","timeenroutetoscene":"2026-03-17 19:10:36","policeReportNumber":"20260029181","dispatchNotes":"Event spawned from MEDICAL ALARM.  [03\/17\/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03\/17\/26 19:05:21 JDICK]","cADLog":"Event spawned from MEDICAL ALARM.  [03\/17\/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03\/17\/26 19:05:21 JDICK]","incidentLocationCity":"ALGOOD","streetName":"QUINLAND LAKE RD","incidentAddressTextVersionStreet":"265-106C QUINLAND LAKE RD","locationCoordinates":"36.2009,-85.45652"}
[2026-03-18 00:10:40] [INFO] Number of extracted fields: 24
[2026-03-18 00:10:40] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS
ALGO
ALGO'
[2026-03-18 00:10:40] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS
ALGO
ALGO', Parsed IDs = ["AFD","EMS","ALGO","ALGO"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-18 00:10:40] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS","ALGO","ALGO"]
[2026-03-18 00:10:40] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-18 00:10:40] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-18 00:10:40] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","ALGO","ALGO"]
[2026-03-18 00:10:40] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-18 00:10:40] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-18 00:10:40] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 00:10:40] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-18 00:10:40] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-18 00:10:40] [INFO] Found existing IncidentTypeMapping with ID: 694c277c8d8602f39
[2026-03-18 00:10:41] [INFO] Found existing Dispatch with cADNumber '2026000107', ID: 69b9ed25b62318478 - will update instead of create
[2026-03-18 00:10:41] [INFO] Updated existing Dispatches record with ID: 69b9ed25b62318478
[2026-03-18 00:10:41] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260029181_20260318_001039.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/AFD_20260029181_20260318_001039.XML
[2026-03-18 00:10:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260029181_20260318_001039.XML
[2026-03-18 00:10:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260029181_20260318_001041.XML
[2026-03-18 00:10:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260029181_20260318_001041.XML for user: 68f1466aed072ad4a
[2026-03-18 00:10:41] [INFO] File size: 6231 bytes
[2026-03-18 00:10:42] [INFO] Created FTPFiles record with ID: 69b9ed82272cfc47b
[2026-03-18 00:10:42] [INFO] About to extract fields from XML. File size: 6231 bytes
[2026-03-18 00:10:42] [INFO] Number of mappings: 28
[2026-03-18 00:10:42] [INFO] Starting XML parsing. Content length: 6231
[2026-03-18 00:10:42] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 00:10:42] [INFO] Processing 28 field mappings
[2026-03-18 00:10:42] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 00:10:42] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 00:10:42] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 00:10:42] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 00:10:42] [INFO]   -> Found value: AFD
EMS
ALGO
ALGO
[2026-03-18 00:10:42] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS\nALGO\nALGO"
[2026-03-18 00:10:42] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 00:10:42] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 00:10:42] [INFO]   -> Found value: 2026000107
[2026-03-18 00:10:42] [INFO]   -> Set field 'incidentInternalId' = "2026000107"
[2026-03-18 00:10:42] [INFO]   -> Set field 'dispatchRunNumber' = "2026000107"
[2026-03-18 00:10:42] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 00:10:42] [INFO]   -> Found value: MEDICAL CALL
[2026-03-18 00:10:42] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-03-18 00:10:42] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 00:10:42] [INFO]   -> Found value: 265
[2026-03-18 00:10:42] [INFO]   -> Set field 'incidentLocationStreetNumber' = 265
[2026-03-18 00:10:42] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 00:10:42] [INFO]   -> Found value: TN
[2026-03-18 00:10:42] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 00:10:42] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 00:10:42] [INFO]   -> Found value: 38506
[2026-03-18 00:10:42] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 00:10:42] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 00:10:42] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:42] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 00:10:42] [INFO]   -> Found value: 106C
[2026-03-18 00:10:42] [INFO]   -> Set field 'incidentLocationApt' = "106C"
[2026-03-18 00:10:42] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 00:10:42] [INFO]   -> Found value: 36.20090
[2026-03-18 00:10:42] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.20089999999999719193510827608406543731689453125
[2026-03-18 00:10:42] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 00:10:42] [INFO]   -> Found value: -85.45652
[2026-03-18 00:10:42] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4565199999999975943865138106048107147216796875
[2026-03-18 00:10:42] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 00:10:42] [INFO]   -> Found value: 2026-03-17 19:08:32
[2026-03-18 00:10:42] [INFO]   -> Set field 'alarm' = "2026-03-17 19:08:32"
[2026-03-18 00:10:42] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 00:10:42] [INFO]   -> Found value: 2026-03-17 19:09:03
[2026-03-18 00:10:42] [INFO]   -> Set field 'dispatched' = "2026-03-17 19:09:03"
[2026-03-18 00:10:42] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 00:10:42] [INFO]   -> Found value: 2026-03-17 19:10:36
[2026-03-18 00:10:42] [INFO]   -> Set field 'enroute' = "2026-03-17 19:10:36"
[2026-03-18 00:10:42] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 00:10:42] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:42] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 00:10:42] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:42] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 00:10:42] [INFO]   -> Found value: MCCAWLEY ST/RAMP
[2026-03-18 00:10:42] [INFO]   -> Set field 'incidentLocationCross' = "MCCAWLEY ST\/RAMP"
[2026-03-18 00:10:42] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 00:10:42] [INFO]   -> Found value: A1205
[2026-03-18 00:10:42] [INFO]   -> Set field 'cADVehicleID' = "A1205"
[2026-03-18 00:10:42] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 00:10:42] [INFO]   -> Found value: 2026-03-17 19:10:36
[2026-03-18 00:10:42] [INFO]   -> Set field 'timedispatch' = "2026-03-17 19:10:36"
[2026-03-18 00:10:42] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 00:10:42] [INFO]   -> Found value: 2026-03-17 19:10:36
[2026-03-18 00:10:42] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 19:10:36"
[2026-03-18 00:10:42] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 00:10:42] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:42] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 00:10:42] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:42] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 00:10:42] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:42] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 00:10:42] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 00:10:42] [INFO]   -> Found value: 20260029181
[2026-03-18 00:10:42] [INFO]   -> Set field 'policeReportNumber' = "20260029181"
[2026-03-18 00:10:42] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 00:10:42] [INFO]   -> Found value: Event spawned from MEDICAL ALARM.  [03/17/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03/17/26 19:05:...
[2026-03-18 00:10:42] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from MEDICAL ALARM.  [03\/17\/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03\/17\/26 19:05:21 JDICK]"
[2026-03-18 00:10:42] [INFO]   -> Set field 'cADLog' = "Event spawned from MEDICAL ALARM.  [03\/17\/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03\/17\/26 19:05:21 JDICK]"
[2026-03-18 00:10:42] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 00:10:42] [INFO]   -> Found value: ALGOOD
[2026-03-18 00:10:42] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-18 00:10:42] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 00:10:42] [INFO]   -> Found value: QUINLAND LAKE
[2026-03-18 00:10:42] [INFO]   -> Set field 'streetName' = "QUINLAND LAKE"
[2026-03-18 00:10:42] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 00:10:42] [INFO]   -> Found value: RD
[2026-03-18 00:10:42] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 00:10:42] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 00:10:42] [INFO]   -> Found value: 265-106C QUINLAND LAKE RD
[2026-03-18 00:10:42] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "265-106C QUINLAND LAKE RD"
[2026-03-18 00:10:42] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-18 00:10:42] [INFO] Concatenating street name and type
[2026-03-18 00:10:42] [INFO]   -> Combined street name: QUINLAND LAKE RD
[2026-03-18 00:10:42] [INFO] Built locationCoordinates from lat/lng: 36.2009,-85.45652
[2026-03-18 00:10:42] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS\nALGO\nALGO","incidentInternalId":"2026000107","dispatchRunNumber":"2026000107","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":265,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"incidentLocationApt":"106C","nERISIncidentLatitude":36.20089999999999719193510827608406543731689453125,"nERISIncidentLongitude":-85.4565199999999975943865138106048107147216796875,"alarm":"2026-03-17 19:08:32","dispatched":"2026-03-17 19:09:03","enroute":"2026-03-17 19:10:36","incidentLocationCross":"MCCAWLEY ST\/RAMP","cADVehicleID":"A1205","timedispatch":"2026-03-17 19:10:36","timeenroutetoscene":"2026-03-17 19:10:36","policeReportNumber":"20260029181","dispatchNotes":"Event spawned from MEDICAL ALARM.  [03\/17\/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03\/17\/26 19:05:21 JDICK]","cADLog":"Event spawned from MEDICAL ALARM.  [03\/17\/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03\/17\/26 19:05:21 JDICK]","incidentLocationCity":"ALGOOD","streetName":"QUINLAND LAKE RD","incidentAddressTextVersionStreet":"265-106C QUINLAND LAKE RD","locationCoordinates":"36.2009,-85.45652"}
[2026-03-18 00:10:42] [INFO] Number of extracted fields: 24
[2026-03-18 00:10:42] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS
ALGO
ALGO'
[2026-03-18 00:10:42] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS
ALGO
ALGO', Parsed IDs = ["AFD","EMS","ALGO","ALGO"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-18 00:10:42] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS","ALGO","ALGO"]
[2026-03-18 00:10:42] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-18 00:10:42] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-18 00:10:42] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","ALGO","ALGO"]
[2026-03-18 00:10:42] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-18 00:10:42] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-18 00:10:42] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 00:10:42] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-18 00:10:42] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-18 00:10:42] [INFO] Found existing IncidentTypeMapping with ID: 694c277c8d8602f39
[2026-03-18 00:10:43] [INFO] Found existing Dispatch with cADNumber '2026000107', ID: 69b9ed25b62318478 - will update instead of create
[2026-03-18 00:10:43] [INFO] Updated existing Dispatches record with ID: 69b9ed25b62318478
[2026-03-18 00:10:43] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260029181_20260318_001041.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/AFD_20260029181_20260318_001041.XML
[2026-03-18 00:10:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260029181_20260318_001041.XML
[2026-03-18 00:10:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260029181_20260318_001041_1.XML
[2026-03-18 00:10:43] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260029181_20260318_001041_1.XML for user: 68f1466aed072ad4a
[2026-03-18 00:10:43] [INFO] File size: 6231 bytes
[2026-03-18 00:10:43] [INFO] Created FTPFiles record with ID: 69b9ed83a45a46487
[2026-03-18 00:10:43] [INFO] About to extract fields from XML. File size: 6231 bytes
[2026-03-18 00:10:43] [INFO] Number of mappings: 28
[2026-03-18 00:10:43] [INFO] Starting XML parsing. Content length: 6231
[2026-03-18 00:10:43] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 00:10:43] [INFO] Processing 28 field mappings
[2026-03-18 00:10:43] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 00:10:43] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 00:10:43] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 00:10:43] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 00:10:43] [INFO]   -> Found value: AFD
EMS
ALGO
ALGO
[2026-03-18 00:10:43] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS\nALGO\nALGO"
[2026-03-18 00:10:43] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 00:10:43] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 00:10:43] [INFO]   -> Found value: 2026000107
[2026-03-18 00:10:43] [INFO]   -> Set field 'incidentInternalId' = "2026000107"
[2026-03-18 00:10:43] [INFO]   -> Set field 'dispatchRunNumber' = "2026000107"
[2026-03-18 00:10:43] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 00:10:43] [INFO]   -> Found value: MEDICAL CALL
[2026-03-18 00:10:43] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-03-18 00:10:43] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 00:10:43] [INFO]   -> Found value: 265
[2026-03-18 00:10:43] [INFO]   -> Set field 'incidentLocationStreetNumber' = 265
[2026-03-18 00:10:43] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 00:10:43] [INFO]   -> Found value: TN
[2026-03-18 00:10:43] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 00:10:43] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 00:10:43] [INFO]   -> Found value: 38506
[2026-03-18 00:10:43] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 00:10:43] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 00:10:43] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:43] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 00:10:43] [INFO]   -> Found value: 106C
[2026-03-18 00:10:43] [INFO]   -> Set field 'incidentLocationApt' = "106C"
[2026-03-18 00:10:43] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 00:10:43] [INFO]   -> Found value: 36.20090
[2026-03-18 00:10:43] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.20089999999999719193510827608406543731689453125
[2026-03-18 00:10:43] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 00:10:43] [INFO]   -> Found value: -85.45652
[2026-03-18 00:10:43] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4565199999999975943865138106048107147216796875
[2026-03-18 00:10:43] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 00:10:43] [INFO]   -> Found value: 2026-03-17 19:08:32
[2026-03-18 00:10:43] [INFO]   -> Set field 'alarm' = "2026-03-17 19:08:32"
[2026-03-18 00:10:43] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 00:10:43] [INFO]   -> Found value: 2026-03-17 19:09:03
[2026-03-18 00:10:43] [INFO]   -> Set field 'dispatched' = "2026-03-17 19:09:03"
[2026-03-18 00:10:43] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 00:10:43] [INFO]   -> Found value: 2026-03-17 19:10:36
[2026-03-18 00:10:43] [INFO]   -> Set field 'enroute' = "2026-03-17 19:10:36"
[2026-03-18 00:10:43] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 00:10:43] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:43] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 00:10:43] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:43] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 00:10:43] [INFO]   -> Found value: MCCAWLEY ST/RAMP
[2026-03-18 00:10:43] [INFO]   -> Set field 'incidentLocationCross' = "MCCAWLEY ST\/RAMP"
[2026-03-18 00:10:43] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 00:10:43] [INFO]   -> Found value: A1205
[2026-03-18 00:10:43] [INFO]   -> Set field 'cADVehicleID' = "A1205"
[2026-03-18 00:10:43] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 00:10:43] [INFO]   -> Found value: 2026-03-17 19:10:36
[2026-03-18 00:10:43] [INFO]   -> Set field 'timedispatch' = "2026-03-17 19:10:36"
[2026-03-18 00:10:43] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 00:10:43] [INFO]   -> Found value: 2026-03-17 19:10:36
[2026-03-18 00:10:43] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 19:10:36"
[2026-03-18 00:10:43] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 00:10:43] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:43] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 00:10:43] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:43] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 00:10:43] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:43] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 00:10:43] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 00:10:43] [INFO]   -> Found value: 20260029181
[2026-03-18 00:10:43] [INFO]   -> Set field 'policeReportNumber' = "20260029181"
[2026-03-18 00:10:43] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 00:10:43] [INFO]   -> Found value: Event spawned from MEDICAL ALARM.  [03/17/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03/17/26 19:05:...
[2026-03-18 00:10:43] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from MEDICAL ALARM.  [03\/17\/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03\/17\/26 19:05:21 JDICK]"
[2026-03-18 00:10:43] [INFO]   -> Set field 'cADLog' = "Event spawned from MEDICAL ALARM.  [03\/17\/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03\/17\/26 19:05:21 JDICK]"
[2026-03-18 00:10:43] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 00:10:43] [INFO]   -> Found value: ALGOOD
[2026-03-18 00:10:43] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-18 00:10:43] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 00:10:43] [INFO]   -> Found value: QUINLAND LAKE
[2026-03-18 00:10:43] [INFO]   -> Set field 'streetName' = "QUINLAND LAKE"
[2026-03-18 00:10:43] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 00:10:43] [INFO]   -> Found value: RD
[2026-03-18 00:10:43] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 00:10:43] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 00:10:43] [INFO]   -> Found value: 265-106C QUINLAND LAKE RD
[2026-03-18 00:10:43] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "265-106C QUINLAND LAKE RD"
[2026-03-18 00:10:43] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-18 00:10:43] [INFO] Concatenating street name and type
[2026-03-18 00:10:43] [INFO]   -> Combined street name: QUINLAND LAKE RD
[2026-03-18 00:10:43] [INFO] Built locationCoordinates from lat/lng: 36.2009,-85.45652
[2026-03-18 00:10:43] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS\nALGO\nALGO","incidentInternalId":"2026000107","dispatchRunNumber":"2026000107","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":265,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"incidentLocationApt":"106C","nERISIncidentLatitude":36.20089999999999719193510827608406543731689453125,"nERISIncidentLongitude":-85.4565199999999975943865138106048107147216796875,"alarm":"2026-03-17 19:08:32","dispatched":"2026-03-17 19:09:03","enroute":"2026-03-17 19:10:36","incidentLocationCross":"MCCAWLEY ST\/RAMP","cADVehicleID":"A1205","timedispatch":"2026-03-17 19:10:36","timeenroutetoscene":"2026-03-17 19:10:36","policeReportNumber":"20260029181","dispatchNotes":"Event spawned from MEDICAL ALARM.  [03\/17\/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03\/17\/26 19:05:21 JDICK]","cADLog":"Event spawned from MEDICAL ALARM.  [03\/17\/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03\/17\/26 19:05:21 JDICK]","incidentLocationCity":"ALGOOD","streetName":"QUINLAND LAKE RD","incidentAddressTextVersionStreet":"265-106C QUINLAND LAKE RD","locationCoordinates":"36.2009,-85.45652"}
[2026-03-18 00:10:43] [INFO] Number of extracted fields: 24
[2026-03-18 00:10:43] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS
ALGO
ALGO'
[2026-03-18 00:10:43] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS
ALGO
ALGO', Parsed IDs = ["AFD","EMS","ALGO","ALGO"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-18 00:10:43] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS","ALGO","ALGO"]
[2026-03-18 00:10:43] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-18 00:10:43] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-18 00:10:43] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","ALGO","ALGO"]
[2026-03-18 00:10:44] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-18 00:10:44] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-18 00:10:44] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 00:10:44] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-18 00:10:44] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-18 00:10:44] [INFO] Found existing IncidentTypeMapping with ID: 694c277c8d8602f39
[2026-03-18 00:10:44] [INFO] Found existing Dispatch with cADNumber '2026000107', ID: 69b9ed25b62318478 - will update instead of create
[2026-03-18 00:10:44] [INFO] Updated existing Dispatches record with ID: 69b9ed25b62318478
[2026-03-18 00:10:44] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260029181_20260318_001041_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/AFD_20260029181_20260318_001041_1.XML
[2026-03-18 00:10:44] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260029181_20260318_001041_1.XML
[2026-03-18 00:10:44] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260029181_20260318_001041_2.XML
[2026-03-18 00:10:44] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260029181_20260318_001041_2.XML for user: 68f1466aed072ad4a
[2026-03-18 00:10:44] [INFO] File size: 6231 bytes
[2026-03-18 00:10:45] [INFO] Created FTPFiles record with ID: 69b9ed852f00f8063
[2026-03-18 00:10:45] [INFO] About to extract fields from XML. File size: 6231 bytes
[2026-03-18 00:10:45] [INFO] Number of mappings: 28
[2026-03-18 00:10:45] [INFO] Starting XML parsing. Content length: 6231
[2026-03-18 00:10:45] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 00:10:45] [INFO] Processing 28 field mappings
[2026-03-18 00:10:45] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 00:10:45] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 00:10:45] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 00:10:45] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 00:10:45] [INFO]   -> Found value: AFD
EMS
ALGO
ALGO
[2026-03-18 00:10:45] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS\nALGO\nALGO"
[2026-03-18 00:10:45] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 00:10:45] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 00:10:45] [INFO]   -> Found value: 2026000107
[2026-03-18 00:10:45] [INFO]   -> Set field 'incidentInternalId' = "2026000107"
[2026-03-18 00:10:45] [INFO]   -> Set field 'dispatchRunNumber' = "2026000107"
[2026-03-18 00:10:45] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 00:10:45] [INFO]   -> Found value: MEDICAL CALL
[2026-03-18 00:10:45] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-03-18 00:10:45] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 00:10:45] [INFO]   -> Found value: 265
[2026-03-18 00:10:45] [INFO]   -> Set field 'incidentLocationStreetNumber' = 265
[2026-03-18 00:10:45] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 00:10:45] [INFO]   -> Found value: TN
[2026-03-18 00:10:45] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 00:10:45] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 00:10:45] [INFO]   -> Found value: 38506
[2026-03-18 00:10:45] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 00:10:45] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 00:10:45] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:45] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 00:10:45] [INFO]   -> Found value: 106C
[2026-03-18 00:10:45] [INFO]   -> Set field 'incidentLocationApt' = "106C"
[2026-03-18 00:10:45] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 00:10:45] [INFO]   -> Found value: 36.20090
[2026-03-18 00:10:45] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.20089999999999719193510827608406543731689453125
[2026-03-18 00:10:45] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 00:10:45] [INFO]   -> Found value: -85.45652
[2026-03-18 00:10:45] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4565199999999975943865138106048107147216796875
[2026-03-18 00:10:45] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 00:10:45] [INFO]   -> Found value: 2026-03-17 19:08:32
[2026-03-18 00:10:45] [INFO]   -> Set field 'alarm' = "2026-03-17 19:08:32"
[2026-03-18 00:10:45] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 00:10:45] [INFO]   -> Found value: 2026-03-17 19:09:03
[2026-03-18 00:10:45] [INFO]   -> Set field 'dispatched' = "2026-03-17 19:09:03"
[2026-03-18 00:10:45] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 00:10:45] [INFO]   -> Found value: 2026-03-17 19:10:36
[2026-03-18 00:10:45] [INFO]   -> Set field 'enroute' = "2026-03-17 19:10:36"
[2026-03-18 00:10:45] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 00:10:45] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:45] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 00:10:45] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:45] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 00:10:45] [INFO]   -> Found value: MCCAWLEY ST/RAMP
[2026-03-18 00:10:45] [INFO]   -> Set field 'incidentLocationCross' = "MCCAWLEY ST\/RAMP"
[2026-03-18 00:10:45] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 00:10:45] [INFO]   -> Found value: A1205
[2026-03-18 00:10:45] [INFO]   -> Set field 'cADVehicleID' = "A1205"
[2026-03-18 00:10:45] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 00:10:45] [INFO]   -> Found value: 2026-03-17 19:10:36
[2026-03-18 00:10:45] [INFO]   -> Set field 'timedispatch' = "2026-03-17 19:10:36"
[2026-03-18 00:10:45] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 00:10:45] [INFO]   -> Found value: 2026-03-17 19:10:36
[2026-03-18 00:10:45] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 19:10:36"
[2026-03-18 00:10:45] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 00:10:45] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:45] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 00:10:45] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:45] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 00:10:45] [INFO]   -> No value found (null or empty)
[2026-03-18 00:10:45] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 00:10:45] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 00:10:45] [INFO]   -> Found value: 20260029181
[2026-03-18 00:10:45] [INFO]   -> Set field 'policeReportNumber' = "20260029181"
[2026-03-18 00:10:45] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 00:10:45] [INFO]   -> Found value: Event spawned from MEDICAL ALARM.  [03/17/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03/17/26 19:05:...
[2026-03-18 00:10:45] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from MEDICAL ALARM.  [03\/17\/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03\/17\/26 19:05:21 JDICK]"
[2026-03-18 00:10:45] [INFO]   -> Set field 'cADLog' = "Event spawned from MEDICAL ALARM.  [03\/17\/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03\/17\/26 19:05:21 JDICK]"
[2026-03-18 00:10:45] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 00:10:45] [INFO]   -> Found value: ALGOOD
[2026-03-18 00:10:45] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-18 00:10:45] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 00:10:45] [INFO]   -> Found value: QUINLAND LAKE
[2026-03-18 00:10:45] [INFO]   -> Set field 'streetName' = "QUINLAND LAKE"
[2026-03-18 00:10:45] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 00:10:45] [INFO]   -> Found value: RD
[2026-03-18 00:10:45] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 00:10:45] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 00:10:45] [INFO]   -> Found value: 265-106C QUINLAND LAKE RD
[2026-03-18 00:10:45] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "265-106C QUINLAND LAKE RD"
[2026-03-18 00:10:45] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-18 00:10:45] [INFO] Concatenating street name and type
[2026-03-18 00:10:45] [INFO]   -> Combined street name: QUINLAND LAKE RD
[2026-03-18 00:10:45] [INFO] Built locationCoordinates from lat/lng: 36.2009,-85.45652
[2026-03-18 00:10:45] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS\nALGO\nALGO","incidentInternalId":"2026000107","dispatchRunNumber":"2026000107","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":265,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"incidentLocationApt":"106C","nERISIncidentLatitude":36.20089999999999719193510827608406543731689453125,"nERISIncidentLongitude":-85.4565199999999975943865138106048107147216796875,"alarm":"2026-03-17 19:08:32","dispatched":"2026-03-17 19:09:03","enroute":"2026-03-17 19:10:36","incidentLocationCross":"MCCAWLEY ST\/RAMP","cADVehicleID":"A1205","timedispatch":"2026-03-17 19:10:36","timeenroutetoscene":"2026-03-17 19:10:36","policeReportNumber":"20260029181","dispatchNotes":"Event spawned from MEDICAL ALARM.  [03\/17\/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03\/17\/26 19:05:21 JDICK]","cADLog":"Event spawned from MEDICAL ALARM.  [03\/17\/2026 19:08:32 DSWINK] BREATHING PROBLEMS  [03\/17\/26 19:05:21 JDICK]","incidentLocationCity":"ALGOOD","streetName":"QUINLAND LAKE RD","incidentAddressTextVersionStreet":"265-106C QUINLAND LAKE RD","locationCoordinates":"36.2009,-85.45652"}
[2026-03-18 00:10:45] [INFO] Number of extracted fields: 24
[2026-03-18 00:10:45] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS
ALGO
ALGO'
[2026-03-18 00:10:45] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS
ALGO
ALGO', Parsed IDs = ["AFD","EMS","ALGO","ALGO"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-18 00:10:45] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS","ALGO","ALGO"]
[2026-03-18 00:10:45] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-18 00:10:45] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-18 00:10:45] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","ALGO","ALGO"]
[2026-03-18 00:10:45] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-18 00:10:45] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-18 00:10:45] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 00:10:45] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-18 00:10:45] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-18 00:10:45] [INFO] Found existing IncidentTypeMapping with ID: 694c277c8d8602f39
[2026-03-18 00:10:46] [INFO] Found existing Dispatch with cADNumber '2026000107', ID: 69b9ed25b62318478 - will update instead of create
[2026-03-18 00:10:46] [INFO] Updated existing Dispatches record with ID: 69b9ed25b62318478
[2026-03-18 00:10:46] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260029181_20260318_001041_2.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/AFD_20260029181_20260318_001041_2.XML
[2026-03-18 00:10:46] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260029181_20260318_001041_2.XML
[2026-03-18 01:05:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029199_20260318_010520.XML
[2026-03-18 01:05:20] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029199_20260318_010520.XML for user: 68f1466aed072ad4a
[2026-03-18 01:05:20] [INFO] File size: 5396 bytes
[2026-03-18 01:05:20] [INFO] Created FTPFiles record with ID: 69b9fa507e505f033
[2026-03-18 01:05:20] [INFO] About to extract fields from XML. File size: 5396 bytes
[2026-03-18 01:05:20] [INFO] Number of mappings: 28
[2026-03-18 01:05:20] [INFO] Starting XML parsing. Content length: 5396
[2026-03-18 01:05:20] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 01:05:20] [INFO] Processing 28 field mappings
[2026-03-18 01:05:20] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 01:05:20] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 01:05:20] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 01:05:20] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 01:05:20] [INFO]   -> Found value: PCFD
EMS
RESC
PF
[2026-03-18 01:05:20] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC\nPF"
[2026-03-18 01:05:20] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 01:05:20] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 01:05:20] [INFO]   -> Found value: 2026000726
[2026-03-18 01:05:20] [INFO]   -> Set field 'incidentInternalId' = "2026000726"
[2026-03-18 01:05:20] [INFO]   -> Set field 'dispatchRunNumber' = "2026000726"
[2026-03-18 01:05:20] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 01:05:20] [INFO]   -> Found value: FALL VICTIM
[2026-03-18 01:05:20] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-18 01:05:20] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 01:05:20] [INFO]   -> Found value: 141
[2026-03-18 01:05:20] [INFO]   -> Set field 'incidentLocationStreetNumber' = 141
[2026-03-18 01:05:20] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 01:05:20] [INFO]   -> Found value: TN
[2026-03-18 01:05:20] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 01:05:20] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 01:05:20] [INFO]   -> Found value: 38506
[2026-03-18 01:05:20] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 01:05:20] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 01:05:20] [INFO]   -> No value found (null or empty)
[2026-03-18 01:05:20] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 01:05:20] [INFO]   -> No value found (null or empty)
[2026-03-18 01:05:20] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 01:05:20] [INFO]   -> Found value: 36.16574
[2026-03-18 01:05:20] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.165739999999999554347596131265163421630859375
[2026-03-18 01:05:20] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 01:05:20] [INFO]   -> Found value: -85.43137
[2026-03-18 01:05:20] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4313700000000011414158507250249385833740234375
[2026-03-18 01:05:20] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 01:05:20] [INFO]   -> Found value: 2026-03-17 20:05:10
[2026-03-18 01:05:20] [INFO]   -> Set field 'alarm' = "2026-03-17 20:05:10"
[2026-03-18 01:05:20] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 01:05:20] [INFO]   -> Found value: 2026-03-17 20:05:16
[2026-03-18 01:05:20] [INFO]   -> Set field 'dispatched' = "2026-03-17 20:05:16"
[2026-03-18 01:05:20] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 01:05:20] [INFO]   -> No value found (null or empty)
[2026-03-18 01:05:20] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 01:05:20] [INFO]   -> No value found (null or empty)
[2026-03-18 01:05:20] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 01:05:20] [INFO]   -> No value found (null or empty)
[2026-03-18 01:05:20] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 01:05:20] [INFO]   -> Found value: BUCK MOUNTAIN RD
[2026-03-18 01:05:20] [INFO]   -> Set field 'incidentLocationCross' = "BUCK MOUNTAIN RD"
[2026-03-18 01:05:20] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 01:05:20] [INFO]   -> Found value: PCFR
[2026-03-18 01:05:20] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-18 01:05:20] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 01:05:20] [INFO]   -> Found value: 2026-03-17 20:05:16
[2026-03-18 01:05:20] [INFO]   -> Set field 'timedispatch' = "2026-03-17 20:05:16"
[2026-03-18 01:05:20] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 01:05:20] [INFO]   -> No value found (null or empty)
[2026-03-18 01:05:20] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 01:05:20] [INFO]   -> No value found (null or empty)
[2026-03-18 01:05:20] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 01:05:20] [INFO]   -> No value found (null or empty)
[2026-03-18 01:05:20] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 01:05:20] [INFO]   -> No value found (null or empty)
[2026-03-18 01:05:20] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 01:05:20] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 01:05:20] [INFO]   -> Found value: 20260029199
[2026-03-18 01:05:20] [INFO]   -> Set field 'policeReportNumber' = "20260029199"
[2026-03-18 01:05:20] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 01:05:20] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [03/17/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC ...
[2026-03-18 01:05:20] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [03\/17\/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC HUSBAND UNABLE TO GET HER UP  [03\/17\/26 20:04:13 DSWINK]]"
[2026-03-18 01:05:20] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [03\/17\/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC HUSBAND UNABLE TO GET HER UP  [03\/17\/26 20:04:13 DSWINK]]"
[2026-03-18 01:05:20] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 01:05:20] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 01:05:20] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 01:05:20] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 01:05:20] [INFO]   -> Found value: WHITES POINT
[2026-03-18 01:05:20] [INFO]   -> Set field 'streetName' = "WHITES POINT"
[2026-03-18 01:05:20] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 01:05:20] [INFO]   -> Found value: DR
[2026-03-18 01:05:20] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-18 01:05:20] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 01:05:20] [INFO]   -> Found value: 141 WHITES POINT DR
[2026-03-18 01:05:20] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "141 WHITES POINT DR"
[2026-03-18 01:05:20] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-18 01:05:20] [INFO] Concatenating street name and type
[2026-03-18 01:05:20] [INFO]   -> Combined street name: WHITES POINT DR
[2026-03-18 01:05:20] [INFO] Built locationCoordinates from lat/lng: 36.16574,-85.43137
[2026-03-18 01:05:20] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC\nPF","incidentInternalId":"2026000726","dispatchRunNumber":"2026000726","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":141,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.165739999999999554347596131265163421630859375,"nERISIncidentLongitude":-85.4313700000000011414158507250249385833740234375,"alarm":"2026-03-17 20:05:10","dispatched":"2026-03-17 20:05:16","incidentLocationCross":"BUCK MOUNTAIN RD","cADVehicleID":"PCFR","timedispatch":"2026-03-17 20:05:16","policeReportNumber":"20260029199","dispatchNotes":"Event spawned from FALL VICTIM.  [03\/17\/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC HUSBAND UNABLE TO GET HER UP  [03\/17\/26 20:04:13 DSWINK]]","cADLog":"Event spawned from FALL VICTIM.  [03\/17\/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC HUSBAND UNABLE TO GET HER UP  [03\/17\/26 20:04:13 DSWINK]]","incidentLocationCity":"COOKEVILLE","streetName":"WHITES POINT DR","incidentAddressTextVersionStreet":"141 WHITES POINT DR","locationCoordinates":"36.16574,-85.43137"}
[2026-03-18 01:05:20] [INFO] Number of extracted fields: 21
[2026-03-18 01:05:20] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC
PF'
[2026-03-18 01:05:20] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC
PF', Parsed IDs = ["PCFD","EMS","RESC","PF"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-18 01:05:20] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC","PF"]
[2026-03-18 01:05:20] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 01:05:20] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 01:05:20] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PF"]
[2026-03-18 01:05: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-03-18 01:05:20] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 01:05:20] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 01:05:20] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 01:05:20] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 01:05:21] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-18 01:05:31] [INFO] Created new Dispatches record with ID: 69b9fa518a047d694
[2026-03-18 01:05:31] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029199_20260318_010520.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029199_20260318_010520.XML
[2026-03-18 01:05:31] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029199_20260318_010520.XML
[2026-03-18 01:07:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029199_20260318_010708.XML
[2026-03-18 01:07:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029199_20260318_010708.XML for user: 68f1466aed072ad4a
[2026-03-18 01:07:08] [INFO] File size: 6138 bytes
[2026-03-18 01:07:08] [INFO] Created FTPFiles record with ID: 69b9fabcd81067a29
[2026-03-18 01:07:08] [INFO] About to extract fields from XML. File size: 6138 bytes
[2026-03-18 01:07:08] [INFO] Number of mappings: 28
[2026-03-18 01:07:08] [INFO] Starting XML parsing. Content length: 6138
[2026-03-18 01:07:08] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 01:07:08] [INFO] Processing 28 field mappings
[2026-03-18 01:07:08] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 01:07:08] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 01:07:08] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 01:07:08] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 01:07:08] [INFO]   -> Found value: PCFD
EMS
RESC
PF
[2026-03-18 01:07:08] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC\nPF"
[2026-03-18 01:07:08] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 01:07:08] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 01:07:08] [INFO]   -> Found value: 2026000726
[2026-03-18 01:07:08] [INFO]   -> Set field 'incidentInternalId' = "2026000726"
[2026-03-18 01:07:08] [INFO]   -> Set field 'dispatchRunNumber' = "2026000726"
[2026-03-18 01:07:08] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 01:07:08] [INFO]   -> Found value: FALL VICTIM
[2026-03-18 01:07:08] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-18 01:07:08] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 01:07:08] [INFO]   -> Found value: 141
[2026-03-18 01:07:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 141
[2026-03-18 01:07:08] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 01:07:08] [INFO]   -> Found value: TN
[2026-03-18 01:07:08] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 01:07:08] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 01:07:08] [INFO]   -> Found value: 38506
[2026-03-18 01:07:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 01:07:08] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 01:07:08] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:08] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 01:07:08] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:08] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 01:07:08] [INFO]   -> Found value: 36.16574
[2026-03-18 01:07:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.165739999999999554347596131265163421630859375
[2026-03-18 01:07:08] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 01:07:08] [INFO]   -> Found value: -85.43137
[2026-03-18 01:07:08] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4313700000000011414158507250249385833740234375
[2026-03-18 01:07:08] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 01:07:08] [INFO]   -> Found value: 2026-03-17 20:05:10
[2026-03-18 01:07:08] [INFO]   -> Set field 'alarm' = "2026-03-17 20:05:10"
[2026-03-18 01:07:08] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 01:07:08] [INFO]   -> Found value: 2026-03-17 20:05:16
[2026-03-18 01:07:08] [INFO]   -> Set field 'dispatched' = "2026-03-17 20:05:16"
[2026-03-18 01:07:08] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 01:07:08] [INFO]   -> Found value: 2026-03-17 20:06:59
[2026-03-18 01:07:08] [INFO]   -> Set field 'enroute' = "2026-03-17 20:06:59"
[2026-03-18 01:07:08] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 01:07:08] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:08] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 01:07:08] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:08] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 01:07:08] [INFO]   -> Found value: BUCK MOUNTAIN RD
[2026-03-18 01:07:08] [INFO]   -> Set field 'incidentLocationCross' = "BUCK MOUNTAIN RD"
[2026-03-18 01:07:08] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 01:07:08] [INFO]   -> Found value: TK12
[2026-03-18 01:07:08] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-18 01:07:08] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 01:07:08] [INFO]   -> Found value: 2026-03-17 20:06:59
[2026-03-18 01:07:08] [INFO]   -> Set field 'timedispatch' = "2026-03-17 20:06:59"
[2026-03-18 01:07:08] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 01:07:08] [INFO]   -> Found value: 2026-03-17 20:06:59
[2026-03-18 01:07:08] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 20:06:59"
[2026-03-18 01:07:08] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 01:07:08] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:08] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 01:07:08] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:08] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 01:07:08] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:08] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 01:07:08] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 01:07:08] [INFO]   -> Found value: 20260029199
[2026-03-18 01:07:08] [INFO]   -> Set field 'policeReportNumber' = "20260029199"
[2026-03-18 01:07:08] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 01:07:08] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [03/17/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC ...
[2026-03-18 01:07:08] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [03\/17\/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC HUSBAND UNABLE TO GET HER UP  [03\/17\/26 20:04:13 DSWINK]]"
[2026-03-18 01:07:08] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [03\/17\/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC HUSBAND UNABLE TO GET HER UP  [03\/17\/26 20:04:13 DSWINK]]"
[2026-03-18 01:07:08] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 01:07:08] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 01:07:08] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 01:07:08] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 01:07:08] [INFO]   -> Found value: WHITES POINT
[2026-03-18 01:07:08] [INFO]   -> Set field 'streetName' = "WHITES POINT"
[2026-03-18 01:07:08] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 01:07:08] [INFO]   -> Found value: DR
[2026-03-18 01:07:08] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-18 01:07:08] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 01:07:08] [INFO]   -> Found value: 141 WHITES POINT DR
[2026-03-18 01:07:08] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "141 WHITES POINT DR"
[2026-03-18 01:07:08] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 01:07:08] [INFO] Concatenating street name and type
[2026-03-18 01:07:08] [INFO]   -> Combined street name: WHITES POINT DR
[2026-03-18 01:07:08] [INFO] Built locationCoordinates from lat/lng: 36.16574,-85.43137
[2026-03-18 01:07:08] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC\nPF","incidentInternalId":"2026000726","dispatchRunNumber":"2026000726","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":141,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.165739999999999554347596131265163421630859375,"nERISIncidentLongitude":-85.4313700000000011414158507250249385833740234375,"alarm":"2026-03-17 20:05:10","dispatched":"2026-03-17 20:05:16","enroute":"2026-03-17 20:06:59","incidentLocationCross":"BUCK MOUNTAIN RD","cADVehicleID":"TK12","timedispatch":"2026-03-17 20:06:59","timeenroutetoscene":"2026-03-17 20:06:59","policeReportNumber":"20260029199","dispatchNotes":"Event spawned from FALL VICTIM.  [03\/17\/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC HUSBAND UNABLE TO GET HER UP  [03\/17\/26 20:04:13 DSWINK]]","cADLog":"Event spawned from FALL VICTIM.  [03\/17\/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC HUSBAND UNABLE TO GET HER UP  [03\/17\/26 20:04:13 DSWINK]]","incidentLocationCity":"COOKEVILLE","streetName":"WHITES POINT DR","incidentAddressTextVersionStreet":"141 WHITES POINT DR","locationCoordinates":"36.16574,-85.43137"}
[2026-03-18 01:07:08] [INFO] Number of extracted fields: 23
[2026-03-18 01:07:08] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC
PF'
[2026-03-18 01:07:08] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC
PF', Parsed IDs = ["PCFD","EMS","RESC","PF"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-18 01:07:08] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC","PF"]
[2026-03-18 01:07:08] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 01:07:09] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 01:07:09] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PF"]
[2026-03-18 01:07:09] [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-03-18 01:07:09] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 01:07:09] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 01:07:09] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 01:07:09] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 01:07:09] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-18 01:07:09] [INFO] Found existing Dispatch with cADNumber '2026000726', ID: 69b9fa518a047d694 - will update instead of create
[2026-03-18 01:07:09] [INFO] Updated existing Dispatches record with ID: 69b9fa518a047d694
[2026-03-18 01:07:09] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029199_20260318_010708.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029199_20260318_010708.XML
[2026-03-18 01:07:09] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029199_20260318_010708.XML
[2026-03-18 01:07:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029199_20260318_010711.XML
[2026-03-18 01:07:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029199_20260318_010711.XML for user: 68f1466aed072ad4a
[2026-03-18 01:07:11] [INFO] File size: 6138 bytes
[2026-03-18 01:07:11] [INFO] Created FTPFiles record with ID: 69b9fabfcfc3ea7bd
[2026-03-18 01:07:11] [INFO] About to extract fields from XML. File size: 6138 bytes
[2026-03-18 01:07:11] [INFO] Number of mappings: 28
[2026-03-18 01:07:11] [INFO] Starting XML parsing. Content length: 6138
[2026-03-18 01:07:11] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 01:07:11] [INFO] Processing 28 field mappings
[2026-03-18 01:07:11] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 01:07:11] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 01:07:11] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 01:07:11] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 01:07:11] [INFO]   -> Found value: PCFD
EMS
RESC
PF
[2026-03-18 01:07:11] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC\nPF"
[2026-03-18 01:07:11] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 01:07:11] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 01:07:11] [INFO]   -> Found value: 2026000726
[2026-03-18 01:07:11] [INFO]   -> Set field 'incidentInternalId' = "2026000726"
[2026-03-18 01:07:11] [INFO]   -> Set field 'dispatchRunNumber' = "2026000726"
[2026-03-18 01:07:11] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 01:07:11] [INFO]   -> Found value: FALL VICTIM
[2026-03-18 01:07:11] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-18 01:07:11] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 01:07:11] [INFO]   -> Found value: 141
[2026-03-18 01:07:11] [INFO]   -> Set field 'incidentLocationStreetNumber' = 141
[2026-03-18 01:07:11] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 01:07:11] [INFO]   -> Found value: TN
[2026-03-18 01:07:11] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 01:07:11] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 01:07:11] [INFO]   -> Found value: 38506
[2026-03-18 01:07:11] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 01:07:11] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 01:07:11] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:11] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 01:07:11] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:11] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 01:07:11] [INFO]   -> Found value: 36.16574
[2026-03-18 01:07:11] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.165739999999999554347596131265163421630859375
[2026-03-18 01:07:11] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 01:07:11] [INFO]   -> Found value: -85.43137
[2026-03-18 01:07:11] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4313700000000011414158507250249385833740234375
[2026-03-18 01:07:11] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 01:07:11] [INFO]   -> Found value: 2026-03-17 20:05:10
[2026-03-18 01:07:11] [INFO]   -> Set field 'alarm' = "2026-03-17 20:05:10"
[2026-03-18 01:07:11] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 01:07:11] [INFO]   -> Found value: 2026-03-17 20:05:16
[2026-03-18 01:07:11] [INFO]   -> Set field 'dispatched' = "2026-03-17 20:05:16"
[2026-03-18 01:07:11] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 01:07:11] [INFO]   -> Found value: 2026-03-17 20:06:59
[2026-03-18 01:07:11] [INFO]   -> Set field 'enroute' = "2026-03-17 20:06:59"
[2026-03-18 01:07:11] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 01:07:11] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:11] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 01:07:11] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:11] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 01:07:11] [INFO]   -> Found value: BUCK MOUNTAIN RD
[2026-03-18 01:07:11] [INFO]   -> Set field 'incidentLocationCross' = "BUCK MOUNTAIN RD"
[2026-03-18 01:07:11] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 01:07:11] [INFO]   -> Found value: TK12
[2026-03-18 01:07:11] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-18 01:07:11] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 01:07:11] [INFO]   -> Found value: 2026-03-17 20:06:59
[2026-03-18 01:07:11] [INFO]   -> Set field 'timedispatch' = "2026-03-17 20:06:59"
[2026-03-18 01:07:11] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 01:07:11] [INFO]   -> Found value: 2026-03-17 20:06:59
[2026-03-18 01:07:11] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 20:06:59"
[2026-03-18 01:07:11] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 01:07:11] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:11] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 01:07:11] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:11] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 01:07:11] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:11] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 01:07:11] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 01:07:11] [INFO]   -> Found value: 20260029199
[2026-03-18 01:07:11] [INFO]   -> Set field 'policeReportNumber' = "20260029199"
[2026-03-18 01:07:11] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 01:07:11] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [03/17/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC ...
[2026-03-18 01:07:11] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [03\/17\/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC HUSBAND UNABLE TO GET HER UP  [03\/17\/26 20:04:13 DSWINK]]"
[2026-03-18 01:07:11] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [03\/17\/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC HUSBAND UNABLE TO GET HER UP  [03\/17\/26 20:04:13 DSWINK]]"
[2026-03-18 01:07:11] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 01:07:11] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 01:07:11] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 01:07:11] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 01:07:11] [INFO]   -> Found value: WHITES POINT
[2026-03-18 01:07:11] [INFO]   -> Set field 'streetName' = "WHITES POINT"
[2026-03-18 01:07:11] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 01:07:11] [INFO]   -> Found value: DR
[2026-03-18 01:07:11] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-18 01:07:11] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 01:07:11] [INFO]   -> Found value: 141 WHITES POINT DR
[2026-03-18 01:07:11] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "141 WHITES POINT DR"
[2026-03-18 01:07:11] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 01:07:11] [INFO] Concatenating street name and type
[2026-03-18 01:07:11] [INFO]   -> Combined street name: WHITES POINT DR
[2026-03-18 01:07:11] [INFO] Built locationCoordinates from lat/lng: 36.16574,-85.43137
[2026-03-18 01:07:11] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC\nPF","incidentInternalId":"2026000726","dispatchRunNumber":"2026000726","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":141,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.165739999999999554347596131265163421630859375,"nERISIncidentLongitude":-85.4313700000000011414158507250249385833740234375,"alarm":"2026-03-17 20:05:10","dispatched":"2026-03-17 20:05:16","enroute":"2026-03-17 20:06:59","incidentLocationCross":"BUCK MOUNTAIN RD","cADVehicleID":"TK12","timedispatch":"2026-03-17 20:06:59","timeenroutetoscene":"2026-03-17 20:06:59","policeReportNumber":"20260029199","dispatchNotes":"Event spawned from FALL VICTIM.  [03\/17\/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC HUSBAND UNABLE TO GET HER UP  [03\/17\/26 20:04:13 DSWINK]]","cADLog":"Event spawned from FALL VICTIM.  [03\/17\/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC HUSBAND UNABLE TO GET HER UP  [03\/17\/26 20:04:13 DSWINK]]","incidentLocationCity":"COOKEVILLE","streetName":"WHITES POINT DR","incidentAddressTextVersionStreet":"141 WHITES POINT DR","locationCoordinates":"36.16574,-85.43137"}
[2026-03-18 01:07:11] [INFO] Number of extracted fields: 23
[2026-03-18 01:07:11] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC
PF'
[2026-03-18 01:07:11] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC
PF', Parsed IDs = ["PCFD","EMS","RESC","PF"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-18 01:07:11] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC","PF"]
[2026-03-18 01:07:11] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 01:07:12] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 01:07:12] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PF"]
[2026-03-18 01:07:12] [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-03-18 01:07:12] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 01:07:12] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 01:07:12] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 01:07:12] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 01:07:12] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-18 01:07:12] [INFO] Found existing Dispatch with cADNumber '2026000726', ID: 69b9fa518a047d694 - will update instead of create
[2026-03-18 01:07:12] [INFO] Updated existing Dispatches record with ID: 69b9fa518a047d694
[2026-03-18 01:07:12] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029199_20260318_010711.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029199_20260318_010711.XML
[2026-03-18 01:07:12] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029199_20260318_010711.XML
[2026-03-18 01:07:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029199_20260318_010711_1.XML
[2026-03-18 01:07:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029199_20260318_010711_1.XML for user: 68f1466aed072ad4a
[2026-03-18 01:07:12] [INFO] File size: 6138 bytes
[2026-03-18 01:07:13] [INFO] Created FTPFiles record with ID: 69b9fac138f2eef85
[2026-03-18 01:07:13] [INFO] About to extract fields from XML. File size: 6138 bytes
[2026-03-18 01:07:13] [INFO] Number of mappings: 28
[2026-03-18 01:07:13] [INFO] Starting XML parsing. Content length: 6138
[2026-03-18 01:07:13] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 01:07:13] [INFO] Processing 28 field mappings
[2026-03-18 01:07:13] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 01:07:13] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 01:07:13] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 01:07:13] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 01:07:13] [INFO]   -> Found value: PCFD
EMS
RESC
PF
[2026-03-18 01:07:13] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC\nPF"
[2026-03-18 01:07:13] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 01:07:13] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 01:07:13] [INFO]   -> Found value: 2026000726
[2026-03-18 01:07:13] [INFO]   -> Set field 'incidentInternalId' = "2026000726"
[2026-03-18 01:07:13] [INFO]   -> Set field 'dispatchRunNumber' = "2026000726"
[2026-03-18 01:07:13] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 01:07:13] [INFO]   -> Found value: FALL VICTIM
[2026-03-18 01:07:13] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-18 01:07:13] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 01:07:13] [INFO]   -> Found value: 141
[2026-03-18 01:07:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 141
[2026-03-18 01:07:13] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 01:07:13] [INFO]   -> Found value: TN
[2026-03-18 01:07:13] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 01:07:13] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 01:07:13] [INFO]   -> Found value: 38506
[2026-03-18 01:07:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 01:07:13] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 01:07:13] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:13] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 01:07:13] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:13] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 01:07:13] [INFO]   -> Found value: 36.16574
[2026-03-18 01:07:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.165739999999999554347596131265163421630859375
[2026-03-18 01:07:13] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 01:07:13] [INFO]   -> Found value: -85.43137
[2026-03-18 01:07:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4313700000000011414158507250249385833740234375
[2026-03-18 01:07:13] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 01:07:13] [INFO]   -> Found value: 2026-03-17 20:05:10
[2026-03-18 01:07:13] [INFO]   -> Set field 'alarm' = "2026-03-17 20:05:10"
[2026-03-18 01:07:13] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 01:07:13] [INFO]   -> Found value: 2026-03-17 20:05:16
[2026-03-18 01:07:13] [INFO]   -> Set field 'dispatched' = "2026-03-17 20:05:16"
[2026-03-18 01:07:13] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 01:07:13] [INFO]   -> Found value: 2026-03-17 20:06:59
[2026-03-18 01:07:13] [INFO]   -> Set field 'enroute' = "2026-03-17 20:06:59"
[2026-03-18 01:07:13] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 01:07:13] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:13] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 01:07:13] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:13] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 01:07:13] [INFO]   -> Found value: BUCK MOUNTAIN RD
[2026-03-18 01:07:13] [INFO]   -> Set field 'incidentLocationCross' = "BUCK MOUNTAIN RD"
[2026-03-18 01:07:13] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 01:07:13] [INFO]   -> Found value: TK12
[2026-03-18 01:07:13] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-18 01:07:13] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 01:07:13] [INFO]   -> Found value: 2026-03-17 20:06:59
[2026-03-18 01:07:13] [INFO]   -> Set field 'timedispatch' = "2026-03-17 20:06:59"
[2026-03-18 01:07:13] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 01:07:13] [INFO]   -> Found value: 2026-03-17 20:06:59
[2026-03-18 01:07:13] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 20:06:59"
[2026-03-18 01:07:13] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 01:07:13] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:13] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 01:07:13] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:13] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 01:07:13] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:13] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 01:07:13] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 01:07:13] [INFO]   -> Found value: 20260029199
[2026-03-18 01:07:13] [INFO]   -> Set field 'policeReportNumber' = "20260029199"
[2026-03-18 01:07:13] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 01:07:13] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [03/17/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC ...
[2026-03-18 01:07:13] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [03\/17\/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC HUSBAND UNABLE TO GET HER UP  [03\/17\/26 20:04:13 DSWINK]]"
[2026-03-18 01:07:13] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [03\/17\/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC HUSBAND UNABLE TO GET HER UP  [03\/17\/26 20:04:13 DSWINK]]"
[2026-03-18 01:07:13] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 01:07:13] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 01:07:13] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 01:07:13] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 01:07:13] [INFO]   -> Found value: WHITES POINT
[2026-03-18 01:07:13] [INFO]   -> Set field 'streetName' = "WHITES POINT"
[2026-03-18 01:07:13] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 01:07:13] [INFO]   -> Found value: DR
[2026-03-18 01:07:13] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-18 01:07:13] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 01:07:13] [INFO]   -> Found value: 141 WHITES POINT DR
[2026-03-18 01:07:13] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "141 WHITES POINT DR"
[2026-03-18 01:07:13] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 01:07:13] [INFO] Concatenating street name and type
[2026-03-18 01:07:13] [INFO]   -> Combined street name: WHITES POINT DR
[2026-03-18 01:07:13] [INFO] Built locationCoordinates from lat/lng: 36.16574,-85.43137
[2026-03-18 01:07:13] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC\nPF","incidentInternalId":"2026000726","dispatchRunNumber":"2026000726","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":141,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.165739999999999554347596131265163421630859375,"nERISIncidentLongitude":-85.4313700000000011414158507250249385833740234375,"alarm":"2026-03-17 20:05:10","dispatched":"2026-03-17 20:05:16","enroute":"2026-03-17 20:06:59","incidentLocationCross":"BUCK MOUNTAIN RD","cADVehicleID":"TK12","timedispatch":"2026-03-17 20:06:59","timeenroutetoscene":"2026-03-17 20:06:59","policeReportNumber":"20260029199","dispatchNotes":"Event spawned from FALL VICTIM.  [03\/17\/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC HUSBAND UNABLE TO GET HER UP  [03\/17\/26 20:04:13 DSWINK]]","cADLog":"Event spawned from FALL VICTIM.  [03\/17\/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC HUSBAND UNABLE TO GET HER UP  [03\/17\/26 20:04:13 DSWINK]]","incidentLocationCity":"COOKEVILLE","streetName":"WHITES POINT DR","incidentAddressTextVersionStreet":"141 WHITES POINT DR","locationCoordinates":"36.16574,-85.43137"}
[2026-03-18 01:07:13] [INFO] Number of extracted fields: 23
[2026-03-18 01:07:13] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC
PF'
[2026-03-18 01:07:13] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC
PF', Parsed IDs = ["PCFD","EMS","RESC","PF"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-18 01:07:13] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC","PF"]
[2026-03-18 01:07:13] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 01:07:13] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 01:07:13] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PF"]
[2026-03-18 01:07:13] [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-03-18 01:07:13] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 01:07:13] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 01:07:13] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 01:07:13] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 01:07:13] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-18 01:07:13] [INFO] Found existing Dispatch with cADNumber '2026000726', ID: 69b9fa518a047d694 - will update instead of create
[2026-03-18 01:07:14] [INFO] Updated existing Dispatches record with ID: 69b9fa518a047d694
[2026-03-18 01:07:14] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029199_20260318_010711_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029199_20260318_010711_1.XML
[2026-03-18 01:07:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029199_20260318_010711_1.XML
[2026-03-18 01:07:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029199_20260318_010711_2.XML
[2026-03-18 01:07:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029199_20260318_010711_2.XML for user: 68f1466aed072ad4a
[2026-03-18 01:07:14] [INFO] File size: 6138 bytes
[2026-03-18 01:07:14] [INFO] Created FTPFiles record with ID: 69b9fac2853f3498f
[2026-03-18 01:07:14] [INFO] About to extract fields from XML. File size: 6138 bytes
[2026-03-18 01:07:14] [INFO] Number of mappings: 28
[2026-03-18 01:07:14] [INFO] Starting XML parsing. Content length: 6138
[2026-03-18 01:07:14] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 01:07:14] [INFO] Processing 28 field mappings
[2026-03-18 01:07:14] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 01:07:14] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 01:07:14] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 01:07:14] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 01:07:14] [INFO]   -> Found value: PCFD
EMS
RESC
PF
[2026-03-18 01:07:14] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC\nPF"
[2026-03-18 01:07:14] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 01:07:14] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 01:07:14] [INFO]   -> Found value: 2026000726
[2026-03-18 01:07:14] [INFO]   -> Set field 'incidentInternalId' = "2026000726"
[2026-03-18 01:07:14] [INFO]   -> Set field 'dispatchRunNumber' = "2026000726"
[2026-03-18 01:07:14] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 01:07:14] [INFO]   -> Found value: FALL VICTIM
[2026-03-18 01:07:14] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-18 01:07:14] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 01:07:14] [INFO]   -> Found value: 141
[2026-03-18 01:07:14] [INFO]   -> Set field 'incidentLocationStreetNumber' = 141
[2026-03-18 01:07:14] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 01:07:14] [INFO]   -> Found value: TN
[2026-03-18 01:07:14] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 01:07:14] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 01:07:14] [INFO]   -> Found value: 38506
[2026-03-18 01:07:14] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 01:07:14] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 01:07:14] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:14] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 01:07:14] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:14] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 01:07:14] [INFO]   -> Found value: 36.16574
[2026-03-18 01:07:14] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.165739999999999554347596131265163421630859375
[2026-03-18 01:07:14] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 01:07:14] [INFO]   -> Found value: -85.43137
[2026-03-18 01:07:14] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4313700000000011414158507250249385833740234375
[2026-03-18 01:07:14] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 01:07:14] [INFO]   -> Found value: 2026-03-17 20:05:10
[2026-03-18 01:07:14] [INFO]   -> Set field 'alarm' = "2026-03-17 20:05:10"
[2026-03-18 01:07:14] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 01:07:14] [INFO]   -> Found value: 2026-03-17 20:05:16
[2026-03-18 01:07:14] [INFO]   -> Set field 'dispatched' = "2026-03-17 20:05:16"
[2026-03-18 01:07:14] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 01:07:14] [INFO]   -> Found value: 2026-03-17 20:06:59
[2026-03-18 01:07:14] [INFO]   -> Set field 'enroute' = "2026-03-17 20:06:59"
[2026-03-18 01:07:14] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 01:07:14] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:14] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 01:07:14] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:14] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 01:07:14] [INFO]   -> Found value: BUCK MOUNTAIN RD
[2026-03-18 01:07:14] [INFO]   -> Set field 'incidentLocationCross' = "BUCK MOUNTAIN RD"
[2026-03-18 01:07:14] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 01:07:14] [INFO]   -> Found value: TK12
[2026-03-18 01:07:14] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-18 01:07:14] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 01:07:14] [INFO]   -> Found value: 2026-03-17 20:06:59
[2026-03-18 01:07:14] [INFO]   -> Set field 'timedispatch' = "2026-03-17 20:06:59"
[2026-03-18 01:07:14] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 01:07:14] [INFO]   -> Found value: 2026-03-17 20:06:59
[2026-03-18 01:07:14] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 20:06:59"
[2026-03-18 01:07:14] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 01:07:14] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:14] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 01:07:14] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:14] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 01:07:14] [INFO]   -> No value found (null or empty)
[2026-03-18 01:07:14] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 01:07:14] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 01:07:14] [INFO]   -> Found value: 20260029199
[2026-03-18 01:07:14] [INFO]   -> Set field 'policeReportNumber' = "20260029199"
[2026-03-18 01:07:14] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 01:07:14] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [03/17/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC ...
[2026-03-18 01:07:14] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [03\/17\/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC HUSBAND UNABLE TO GET HER UP  [03\/17\/26 20:04:13 DSWINK]]"
[2026-03-18 01:07:14] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [03\/17\/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC HUSBAND UNABLE TO GET HER UP  [03\/17\/26 20:04:13 DSWINK]]"
[2026-03-18 01:07:14] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 01:07:14] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 01:07:14] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 01:07:14] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 01:07:14] [INFO]   -> Found value: WHITES POINT
[2026-03-18 01:07:14] [INFO]   -> Set field 'streetName' = "WHITES POINT"
[2026-03-18 01:07:14] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 01:07:14] [INFO]   -> Found value: DR
[2026-03-18 01:07:14] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-18 01:07:14] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 01:07:14] [INFO]   -> Found value: 141 WHITES POINT DR
[2026-03-18 01:07:14] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "141 WHITES POINT DR"
[2026-03-18 01:07:14] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 01:07:14] [INFO] Concatenating street name and type
[2026-03-18 01:07:14] [INFO]   -> Combined street name: WHITES POINT DR
[2026-03-18 01:07:14] [INFO] Built locationCoordinates from lat/lng: 36.16574,-85.43137
[2026-03-18 01:07:14] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC\nPF","incidentInternalId":"2026000726","dispatchRunNumber":"2026000726","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":141,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.165739999999999554347596131265163421630859375,"nERISIncidentLongitude":-85.4313700000000011414158507250249385833740234375,"alarm":"2026-03-17 20:05:10","dispatched":"2026-03-17 20:05:16","enroute":"2026-03-17 20:06:59","incidentLocationCross":"BUCK MOUNTAIN RD","cADVehicleID":"TK12","timedispatch":"2026-03-17 20:06:59","timeenroutetoscene":"2026-03-17 20:06:59","policeReportNumber":"20260029199","dispatchNotes":"Event spawned from FALL VICTIM.  [03\/17\/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC HUSBAND UNABLE TO GET HER UP  [03\/17\/26 20:04:13 DSWINK]]","cADLog":"Event spawned from FALL VICTIM.  [03\/17\/2026 20:05:10 DSWINK] BLEEDING FROM AROUND THE EYE - NO LOC HUSBAND UNABLE TO GET HER UP  [03\/17\/26 20:04:13 DSWINK]]","incidentLocationCity":"COOKEVILLE","streetName":"WHITES POINT DR","incidentAddressTextVersionStreet":"141 WHITES POINT DR","locationCoordinates":"36.16574,-85.43137"}
[2026-03-18 01:07:14] [INFO] Number of extracted fields: 23
[2026-03-18 01:07:14] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC
PF'
[2026-03-18 01:07:14] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC
PF', Parsed IDs = ["PCFD","EMS","RESC","PF"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-18 01:07:14] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC","PF"]
[2026-03-18 01:07:14] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 01:07:14] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 01:07:14] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PF"]
[2026-03-18 01:07:14] [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-03-18 01:07:14] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 01:07:14] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 01:07:14] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 01:07:14] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 01:07:15] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-18 01:07:15] [INFO] Found existing Dispatch with cADNumber '2026000726', ID: 69b9fa518a047d694 - will update instead of create
[2026-03-18 01:07:15] [INFO] Updated existing Dispatches record with ID: 69b9fa518a047d694
[2026-03-18 01:07:15] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029199_20260318_010711_2.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029199_20260318_010711_2.XML
[2026-03-18 01:07:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029199_20260318_010711_2.XML
[2026-03-18 01:53:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029208_20260318_015328.XML
[2026-03-18 01:53:28] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029208_20260318_015328.XML for user: 68f1466aed072ad4a
[2026-03-18 01:53:28] [INFO] File size: 5810 bytes
[2026-03-18 01:53:29] [INFO] Created FTPFiles record with ID: 69ba059902864a411
[2026-03-18 01:53:29] [INFO] About to extract fields from XML. File size: 5810 bytes
[2026-03-18 01:53:29] [INFO] Number of mappings: 28
[2026-03-18 01:53:29] [INFO] Starting XML parsing. Content length: 5810
[2026-03-18 01:53:29] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 01:53:29] [INFO] Processing 28 field mappings
[2026-03-18 01:53:29] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 01:53:29] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 01:53:29] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 01:53:29] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-18 01:53:29] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
PF
[2026-03-18 01:53:29] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC\nPF"
[2026-03-18 01:53:29] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 01:53:29] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-18 01:53:29] [INFO]   -> Found value: 2026000727
[2026-03-18 01:53:29] [INFO]   -> Set field 'incidentInternalId' = "2026000727"
[2026-03-18 01:53:29] [INFO]   -> Set field 'dispatchRunNumber' = "2026000727"
[2026-03-18 01:53:29] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 01:53:29] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-18 01:53:29] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-18 01:53:29] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 01:53:29] [INFO]   -> Found value: 3572
[2026-03-18 01:53:29] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3572
[2026-03-18 01:53:29] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 01:53:29] [INFO]   -> Found value: TN
[2026-03-18 01:53:29] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 01:53:29] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 01:53:29] [INFO]   -> Found value: 38506
[2026-03-18 01:53:29] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 01:53:29] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 01:53:29] [INFO]   -> No value found (null or empty)
[2026-03-18 01:53:29] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 01:53:29] [INFO]   -> No value found (null or empty)
[2026-03-18 01:53:29] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 01:53:29] [INFO]   -> Found value: 36.11169
[2026-03-18 01:53:29] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11169000000000295358404400758445262908935546875
[2026-03-18 01:53:29] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 01:53:29] [INFO]   -> Found value: -85.45947
[2026-03-18 01:53:29] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4594699999999960482455207966268062591552734375
[2026-03-18 01:53:29] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 01:53:29] [INFO]   -> Found value: 2026-03-17 20:53:16
[2026-03-18 01:53:29] [INFO]   -> Set field 'alarm' = "2026-03-17 20:53:16"
[2026-03-18 01:53:29] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 01:53:29] [INFO]   -> Found value: 2026-03-17 20:53:21
[2026-03-18 01:53:29] [INFO]   -> Set field 'dispatched' = "2026-03-17 20:53:21"
[2026-03-18 01:53:29] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 01:53:29] [INFO]   -> No value found (null or empty)
[2026-03-18 01:53:29] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 01:53:29] [INFO]   -> No value found (null or empty)
[2026-03-18 01:53:29] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 01:53:29] [INFO]   -> No value found (null or empty)
[2026-03-18 01:53:29] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 01:53:29] [INFO]   -> Found value: CEDAR SPRINGS DR/HWY 70 E
[2026-03-18 01:53:29] [INFO]   -> Set field 'incidentLocationCross' = "CEDAR SPRINGS DR\/HWY 70 E"
[2026-03-18 01:53:29] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 01:53:29] [INFO]   -> Found value: PCFR
[2026-03-18 01:53:29] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-18 01:53:29] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 01:53:29] [INFO]   -> Found value: 2026-03-17 20:53:21
[2026-03-18 01:53:29] [INFO]   -> Set field 'timedispatch' = "2026-03-17 20:53:21"
[2026-03-18 01:53:29] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 01:53:29] [INFO]   -> No value found (null or empty)
[2026-03-18 01:53:29] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 01:53:29] [INFO]   -> No value found (null or empty)
[2026-03-18 01:53:29] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 01:53:29] [INFO]   -> No value found (null or empty)
[2026-03-18 01:53:29] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 01:53:29] [INFO]   -> No value found (null or empty)
[2026-03-18 01:53:29] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 01:53:29] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 01:53:29] [INFO]   -> Found value: 20260029208
[2026-03-18 01:53:29] [INFO]   -> Set field 'policeReportNumber' = "20260029208"
[2026-03-18 01:53:29] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 01:53:29] [INFO]   -> Found value: [EMS] 75 YOM - NEVER HAPPENED BEFORE  [03/17/26 20:53:20 DSWINK] Event spawned from UNCONSCIOUS.  [0...
[2026-03-18 01:53:29] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 75 YOM - NEVER HAPPENED BEFORE  [03\/17\/26 20:53:20 DSWINK] Event spawned from UNCONSCIOUS.  [03\/17\/2026 20:53:16 EALMENDAREZ] NOT RESPONDING TO WIFE  JUST MOANING  [03\/17\/26 20:53:07 DSWINK] PASSED OUT AND HIT A TABLE - NOT BLEEDING  [03\/17\/26 20:52:53 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 20:52:27 BAHARRIS]"
[2026-03-18 01:53:29] [INFO]   -> Set field 'cADLog' = "[EMS] 75 YOM - NEVER HAPPENED BEFORE  [03\/17\/26 20:53:20 DSWINK] Event spawned from UNCONSCIOUS.  [03\/17\/2026 20:53:16 EALMENDAREZ] NOT RESPONDING TO WIFE  JUST MOANING  [03\/17\/26 20:53:07 DSWINK] PASSED OUT AND HIT A TABLE - NOT BLEEDING  [03\/17\/26 20:52:53 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 20:52:27 BAHARRIS]"
[2026-03-18 01:53:29] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 01:53:29] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 01:53:29] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 01:53:29] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 01:53:29] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-18 01:53:29] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-18 01:53:29] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 01:53:29] [INFO]   -> Found value: RD
[2026-03-18 01:53:29] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 01:53:29] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 01:53:29] [INFO]   -> Found value: 3572 SEVEN SPRINGS RD
[2026-03-18 01:53:29] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3572 SEVEN SPRINGS RD"
[2026-03-18 01:53:29] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-18 01:53:29] [INFO] Concatenating street name and type
[2026-03-18 01:53:29] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-18 01:53:29] [INFO] Built locationCoordinates from lat/lng: 36.11169,-85.45947
[2026-03-18 01:53:29] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC\nPF","incidentInternalId":"2026000727","dispatchRunNumber":"2026000727","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":3572,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.11169000000000295358404400758445262908935546875,"nERISIncidentLongitude":-85.4594699999999960482455207966268062591552734375,"alarm":"2026-03-17 20:53:16","dispatched":"2026-03-17 20:53:21","incidentLocationCross":"CEDAR SPRINGS DR\/HWY 70 E","cADVehicleID":"PCFR","timedispatch":"2026-03-17 20:53:21","policeReportNumber":"20260029208","dispatchNotes":"[EMS] 75 YOM - NEVER HAPPENED BEFORE  [03\/17\/26 20:53:20 DSWINK] Event spawned from UNCONSCIOUS.  [03\/17\/2026 20:53:16 EALMENDAREZ] NOT RESPONDING TO WIFE  JUST MOANING  [03\/17\/26 20:53:07 DSWINK] PASSED OUT AND HIT A TABLE - NOT BLEEDING  [03\/17\/26 20:52:53 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 20:52:27 BAHARRIS]","cADLog":"[EMS] 75 YOM - NEVER HAPPENED BEFORE  [03\/17\/26 20:53:20 DSWINK] Event spawned from UNCONSCIOUS.  [03\/17\/2026 20:53:16 EALMENDAREZ] NOT RESPONDING TO WIFE  JUST MOANING  [03\/17\/26 20:53:07 DSWINK] PASSED OUT AND HIT A TABLE - NOT BLEEDING  [03\/17\/26 20:52:53 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 20:52:27 BAHARRIS]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"3572 SEVEN SPRINGS RD","locationCoordinates":"36.11169,-85.45947"}
[2026-03-18 01:53:29] [INFO] Number of extracted fields: 21
[2026-03-18 01:53:29] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC
PF'
[2026-03-18 01:53:29] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC
PF', Parsed IDs = ["PCFD","EMS","PCSO","RESC","PF"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-18 01:53:29] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC","PF"]
[2026-03-18 01:53:29] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 01:53:29] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 01:53:29] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC","PF"]
[2026-03-18 01:53: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-03-18 01:53:29] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 01:53:29] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-18 01:53:29] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 01:53:29] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 01:53:29] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-18 01:53:39] [INFO] Created new Dispatches record with ID: 69ba0599dbc1f5461
[2026-03-18 01:53:39] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029208_20260318_015328.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029208_20260318_015328.XML
[2026-03-18 01:53:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029208_20260318_015328.XML
[2026-03-18 01:55:00] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029208_20260318_015500.XML
[2026-03-18 01:55:00] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029208_20260318_015500.XML for user: 68f1466aed072ad4a
[2026-03-18 01:55:00] [INFO] File size: 6781 bytes
[2026-03-18 01:55:00] [INFO] Created FTPFiles record with ID: 69ba05f49823fe9fd
[2026-03-18 01:55:00] [INFO] About to extract fields from XML. File size: 6781 bytes
[2026-03-18 01:55:00] [INFO] Number of mappings: 28
[2026-03-18 01:55:00] [INFO] Starting XML parsing. Content length: 6781
[2026-03-18 01:55:00] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 01:55:00] [INFO] Processing 28 field mappings
[2026-03-18 01:55:00] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 01:55:00] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 01:55:00] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 01:55:00] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-18 01:55:00] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
PF
[2026-03-18 01:55:00] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC\nPF"
[2026-03-18 01:55:00] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 01:55:00] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-18 01:55:00] [INFO]   -> Found value: 2026000727
[2026-03-18 01:55:00] [INFO]   -> Set field 'incidentInternalId' = "2026000727"
[2026-03-18 01:55:00] [INFO]   -> Set field 'dispatchRunNumber' = "2026000727"
[2026-03-18 01:55:00] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 01:55:00] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-18 01:55:00] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-18 01:55:00] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 01:55:00] [INFO]   -> Found value: 3572
[2026-03-18 01:55:00] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3572
[2026-03-18 01:55:00] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 01:55:00] [INFO]   -> Found value: TN
[2026-03-18 01:55:00] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 01:55:00] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 01:55:00] [INFO]   -> Found value: 38506
[2026-03-18 01:55:00] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 01:55:00] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 01:55:00] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:00] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 01:55:00] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:00] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 01:55:00] [INFO]   -> Found value: 36.11169
[2026-03-18 01:55:00] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11169000000000295358404400758445262908935546875
[2026-03-18 01:55:00] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 01:55:00] [INFO]   -> Found value: -85.45947
[2026-03-18 01:55:00] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4594699999999960482455207966268062591552734375
[2026-03-18 01:55:00] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 01:55:00] [INFO]   -> Found value: 2026-03-17 20:53:16
[2026-03-18 01:55:00] [INFO]   -> Set field 'alarm' = "2026-03-17 20:53:16"
[2026-03-18 01:55:00] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 01:55:00] [INFO]   -> Found value: 2026-03-17 20:53:21
[2026-03-18 01:55:00] [INFO]   -> Set field 'dispatched' = "2026-03-17 20:53:21"
[2026-03-18 01:55:00] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 01:55:00] [INFO]   -> Found value: 2026-03-17 20:54:48
[2026-03-18 01:55:00] [INFO]   -> Set field 'enroute' = "2026-03-17 20:54:48"
[2026-03-18 01:55:00] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 01:55:00] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:00] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 01:55:00] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:00] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 01:55:00] [INFO]   -> Found value: CEDAR SPRINGS DR/HWY 70 E
[2026-03-18 01:55:00] [INFO]   -> Set field 'incidentLocationCross' = "CEDAR SPRINGS DR\/HWY 70 E"
[2026-03-18 01:55:00] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 01:55:00] [INFO]   -> Found value: SQ11
[2026-03-18 01:55:00] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-18 01:55:00] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 01:55:00] [INFO]   -> Found value: 2026-03-17 20:54:48
[2026-03-18 01:55:00] [INFO]   -> Set field 'timedispatch' = "2026-03-17 20:54:48"
[2026-03-18 01:55:00] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 01:55:00] [INFO]   -> Found value: 2026-03-17 20:54:48
[2026-03-18 01:55:00] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 20:54:48"
[2026-03-18 01:55:00] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 01:55:00] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:00] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 01:55:00] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:00] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 01:55:00] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:00] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 01:55:00] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 01:55:00] [INFO]   -> Found value: 20260029208
[2026-03-18 01:55:00] [INFO]   -> Set field 'policeReportNumber' = "20260029208"
[2026-03-18 01:55:00] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 01:55:00] [INFO]   -> Found value: [EMS] BREATHING - WIFE PLACED HIM ON OXYGEN  [03/17/26 20:54:43 DSWINK] [EMS] FRONT DOOR ENTRANCE  [...
[2026-03-18 01:55:00] [INFO]   -> Set field 'dispatchNotes' = "[EMS] BREATHING - WIFE PLACED HIM ON OXYGEN  [03\/17\/26 20:54:43 DSWINK] [EMS] FRONT DOOR ENTRANCE  [03\/17\/26 20:54:02 DSWINK] [EMS] HEART DISEASE  PULMONARY FIBROSIS  [03\/17\/26 20:53:47 DSWINK] [EMS] 75 YOM - NEVER HAPPENED BEFORE  [03\/17\/26 20:53:20 DSWINK] Event spawned from UNCONSCIOUS.  [03\/17\/2026 20:53:16 EALMENDAREZ] NOT RESPONDING TO WIFE  JUST MOANING  [03\/17\/26 20:53:07 DSWINK] PASSED OUT AND HIT A TABLE - NOT BLEEDING  [03\/17\/26 20:52:53 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 20:52:27 BAHARRIS]"
[2026-03-18 01:55:00] [INFO]   -> Set field 'cADLog' = "[EMS] BREATHING - WIFE PLACED HIM ON OXYGEN  [03\/17\/26 20:54:43 DSWINK] [EMS] FRONT DOOR ENTRANCE  [03\/17\/26 20:54:02 DSWINK] [EMS] HEART DISEASE  PULMONARY FIBROSIS  [03\/17\/26 20:53:47 DSWINK] [EMS] 75 YOM - NEVER HAPPENED BEFORE  [03\/17\/26 20:53:20 DSWINK] Event spawned from UNCONSCIOUS.  [03\/17\/2026 20:53:16 EALMENDAREZ] NOT RESPONDING TO WIFE  JUST MOANING  [03\/17\/26 20:53:07 DSWINK] PASSED OUT AND HIT A TABLE - NOT BLEEDING  [03\/17\/26 20:52:53 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 20:52:27 BAHARRIS]"
[2026-03-18 01:55:00] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 01:55:00] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 01:55:00] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 01:55:00] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 01:55:00] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-18 01:55:00] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-18 01:55:00] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 01:55:00] [INFO]   -> Found value: RD
[2026-03-18 01:55:00] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 01:55:00] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 01:55:00] [INFO]   -> Found value: 3572 SEVEN SPRINGS RD
[2026-03-18 01:55:00] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3572 SEVEN SPRINGS RD"
[2026-03-18 01:55:00] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 01:55:00] [INFO] Concatenating street name and type
[2026-03-18 01:55:00] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-18 01:55:00] [INFO] Built locationCoordinates from lat/lng: 36.11169,-85.45947
[2026-03-18 01:55:00] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC\nPF","incidentInternalId":"2026000727","dispatchRunNumber":"2026000727","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":3572,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.11169000000000295358404400758445262908935546875,"nERISIncidentLongitude":-85.4594699999999960482455207966268062591552734375,"alarm":"2026-03-17 20:53:16","dispatched":"2026-03-17 20:53:21","enroute":"2026-03-17 20:54:48","incidentLocationCross":"CEDAR SPRINGS DR\/HWY 70 E","cADVehicleID":"SQ11","timedispatch":"2026-03-17 20:54:48","timeenroutetoscene":"2026-03-17 20:54:48","policeReportNumber":"20260029208","dispatchNotes":"[EMS] BREATHING - WIFE PLACED HIM ON OXYGEN  [03\/17\/26 20:54:43 DSWINK] [EMS] FRONT DOOR ENTRANCE  [03\/17\/26 20:54:02 DSWINK] [EMS] HEART DISEASE  PULMONARY FIBROSIS  [03\/17\/26 20:53:47 DSWINK] [EMS] 75 YOM - NEVER HAPPENED BEFORE  [03\/17\/26 20:53:20 DSWINK] Event spawned from UNCONSCIOUS.  [03\/17\/2026 20:53:16 EALMENDAREZ] NOT RESPONDING TO WIFE  JUST MOANING  [03\/17\/26 20:53:07 DSWINK] PASSED OUT AND HIT A TABLE - NOT BLEEDING  [03\/17\/26 20:52:53 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 20:52:27 BAHARRIS]","cADLog":"[EMS] BREATHING - WIFE PLACED HIM ON OXYGEN  [03\/17\/26 20:54:43 DSWINK] [EMS] FRONT DOOR ENTRANCE  [03\/17\/26 20:54:02 DSWINK] [EMS] HEART DISEASE  PULMONARY FIBROSIS  [03\/17\/26 20:53:47 DSWINK] [EMS] 75 YOM - NEVER HAPPENED BEFORE  [03\/17\/26 20:53:20 DSWINK] Event spawned from UNCONSCIOUS.  [03\/17\/2026 20:53:16 EALMENDAREZ] NOT RESPONDING TO WIFE  JUST MOANING  [03\/17\/26 20:53:07 DSWINK] PASSED OUT AND HIT A TABLE - NOT BLEEDING  [03\/17\/26 20:52:53 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 20:52:27 BAHARRIS]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"3572 SEVEN SPRINGS RD","locationCoordinates":"36.11169,-85.45947"}
[2026-03-18 01:55:00] [INFO] Number of extracted fields: 23
[2026-03-18 01:55:00] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC
PF'
[2026-03-18 01:55:00] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC
PF', Parsed IDs = ["PCFD","EMS","PCSO","RESC","PF"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-18 01:55:00] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC","PF"]
[2026-03-18 01:55:00] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 01:55:00] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 01:55:00] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC","PF"]
[2026-03-18 01:55: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-03-18 01:55:01] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 01:55:01] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-18 01:55:01] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 01:55:01] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 01:55:01] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-18 01:55:01] [INFO] Found existing Dispatch with cADNumber '2026000727', ID: 69ba0599dbc1f5461 - will update instead of create
[2026-03-18 01:55:01] [INFO] Updated existing Dispatches record with ID: 69ba0599dbc1f5461
[2026-03-18 01:55:01] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029208_20260318_015500.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029208_20260318_015500.XML
[2026-03-18 01:55:01] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029208_20260318_015500.XML
[2026-03-18 01:55:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029208_20260318_015501.XML
[2026-03-18 01:55:01] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029208_20260318_015501.XML for user: 68f1466aed072ad4a
[2026-03-18 01:55:01] [INFO] File size: 6781 bytes
[2026-03-18 01:55:02] [INFO] Created FTPFiles record with ID: 69ba05f64bfb6d782
[2026-03-18 01:55:02] [INFO] About to extract fields from XML. File size: 6781 bytes
[2026-03-18 01:55:02] [INFO] Number of mappings: 28
[2026-03-18 01:55:02] [INFO] Starting XML parsing. Content length: 6781
[2026-03-18 01:55:02] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 01:55:02] [INFO] Processing 28 field mappings
[2026-03-18 01:55:02] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 01:55:02] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 01:55:02] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 01:55:02] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-18 01:55:02] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
PF
[2026-03-18 01:55:02] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC\nPF"
[2026-03-18 01:55:02] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 01:55:02] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-18 01:55:02] [INFO]   -> Found value: 2026000727
[2026-03-18 01:55:02] [INFO]   -> Set field 'incidentInternalId' = "2026000727"
[2026-03-18 01:55:02] [INFO]   -> Set field 'dispatchRunNumber' = "2026000727"
[2026-03-18 01:55:02] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 01:55:02] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-18 01:55:02] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-18 01:55:02] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 01:55:02] [INFO]   -> Found value: 3572
[2026-03-18 01:55:02] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3572
[2026-03-18 01:55:02] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 01:55:02] [INFO]   -> Found value: TN
[2026-03-18 01:55:02] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 01:55:02] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 01:55:02] [INFO]   -> Found value: 38506
[2026-03-18 01:55:02] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 01:55:02] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 01:55:02] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:02] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 01:55:02] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:02] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 01:55:02] [INFO]   -> Found value: 36.11169
[2026-03-18 01:55:02] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11169000000000295358404400758445262908935546875
[2026-03-18 01:55:02] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 01:55:02] [INFO]   -> Found value: -85.45947
[2026-03-18 01:55:02] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4594699999999960482455207966268062591552734375
[2026-03-18 01:55:02] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 01:55:02] [INFO]   -> Found value: 2026-03-17 20:53:16
[2026-03-18 01:55:02] [INFO]   -> Set field 'alarm' = "2026-03-17 20:53:16"
[2026-03-18 01:55:02] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 01:55:02] [INFO]   -> Found value: 2026-03-17 20:53:21
[2026-03-18 01:55:02] [INFO]   -> Set field 'dispatched' = "2026-03-17 20:53:21"
[2026-03-18 01:55:02] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 01:55:02] [INFO]   -> Found value: 2026-03-17 20:54:48
[2026-03-18 01:55:02] [INFO]   -> Set field 'enroute' = "2026-03-17 20:54:48"
[2026-03-18 01:55:02] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 01:55:02] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:02] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 01:55:02] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:02] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 01:55:02] [INFO]   -> Found value: CEDAR SPRINGS DR/HWY 70 E
[2026-03-18 01:55:02] [INFO]   -> Set field 'incidentLocationCross' = "CEDAR SPRINGS DR\/HWY 70 E"
[2026-03-18 01:55:02] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 01:55:02] [INFO]   -> Found value: SQ11
[2026-03-18 01:55:02] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-18 01:55:02] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 01:55:02] [INFO]   -> Found value: 2026-03-17 20:54:48
[2026-03-18 01:55:02] [INFO]   -> Set field 'timedispatch' = "2026-03-17 20:54:48"
[2026-03-18 01:55:02] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 01:55:02] [INFO]   -> Found value: 2026-03-17 20:54:48
[2026-03-18 01:55:02] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 20:54:48"
[2026-03-18 01:55:02] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 01:55:02] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:02] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 01:55:02] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:02] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 01:55:02] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:02] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 01:55:02] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 01:55:02] [INFO]   -> Found value: 20260029208
[2026-03-18 01:55:02] [INFO]   -> Set field 'policeReportNumber' = "20260029208"
[2026-03-18 01:55:02] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 01:55:02] [INFO]   -> Found value: [EMS] BREATHING - WIFE PLACED HIM ON OXYGEN  [03/17/26 20:54:43 DSWINK] [EMS] FRONT DOOR ENTRANCE  [...
[2026-03-18 01:55:02] [INFO]   -> Set field 'dispatchNotes' = "[EMS] BREATHING - WIFE PLACED HIM ON OXYGEN  [03\/17\/26 20:54:43 DSWINK] [EMS] FRONT DOOR ENTRANCE  [03\/17\/26 20:54:02 DSWINK] [EMS] HEART DISEASE  PULMONARY FIBROSIS  [03\/17\/26 20:53:47 DSWINK] [EMS] 75 YOM - NEVER HAPPENED BEFORE  [03\/17\/26 20:53:20 DSWINK] Event spawned from UNCONSCIOUS.  [03\/17\/2026 20:53:16 EALMENDAREZ] NOT RESPONDING TO WIFE  JUST MOANING  [03\/17\/26 20:53:07 DSWINK] PASSED OUT AND HIT A TABLE - NOT BLEEDING  [03\/17\/26 20:52:53 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 20:52:27 BAHARRIS]"
[2026-03-18 01:55:02] [INFO]   -> Set field 'cADLog' = "[EMS] BREATHING - WIFE PLACED HIM ON OXYGEN  [03\/17\/26 20:54:43 DSWINK] [EMS] FRONT DOOR ENTRANCE  [03\/17\/26 20:54:02 DSWINK] [EMS] HEART DISEASE  PULMONARY FIBROSIS  [03\/17\/26 20:53:47 DSWINK] [EMS] 75 YOM - NEVER HAPPENED BEFORE  [03\/17\/26 20:53:20 DSWINK] Event spawned from UNCONSCIOUS.  [03\/17\/2026 20:53:16 EALMENDAREZ] NOT RESPONDING TO WIFE  JUST MOANING  [03\/17\/26 20:53:07 DSWINK] PASSED OUT AND HIT A TABLE - NOT BLEEDING  [03\/17\/26 20:52:53 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 20:52:27 BAHARRIS]"
[2026-03-18 01:55:02] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 01:55:02] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 01:55:02] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 01:55:02] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 01:55:02] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-18 01:55:02] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-18 01:55:02] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 01:55:02] [INFO]   -> Found value: RD
[2026-03-18 01:55:02] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 01:55:02] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 01:55:02] [INFO]   -> Found value: 3572 SEVEN SPRINGS RD
[2026-03-18 01:55:02] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3572 SEVEN SPRINGS RD"
[2026-03-18 01:55:02] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 01:55:02] [INFO] Concatenating street name and type
[2026-03-18 01:55:02] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-18 01:55:02] [INFO] Built locationCoordinates from lat/lng: 36.11169,-85.45947
[2026-03-18 01:55:02] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC\nPF","incidentInternalId":"2026000727","dispatchRunNumber":"2026000727","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":3572,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.11169000000000295358404400758445262908935546875,"nERISIncidentLongitude":-85.4594699999999960482455207966268062591552734375,"alarm":"2026-03-17 20:53:16","dispatched":"2026-03-17 20:53:21","enroute":"2026-03-17 20:54:48","incidentLocationCross":"CEDAR SPRINGS DR\/HWY 70 E","cADVehicleID":"SQ11","timedispatch":"2026-03-17 20:54:48","timeenroutetoscene":"2026-03-17 20:54:48","policeReportNumber":"20260029208","dispatchNotes":"[EMS] BREATHING - WIFE PLACED HIM ON OXYGEN  [03\/17\/26 20:54:43 DSWINK] [EMS] FRONT DOOR ENTRANCE  [03\/17\/26 20:54:02 DSWINK] [EMS] HEART DISEASE  PULMONARY FIBROSIS  [03\/17\/26 20:53:47 DSWINK] [EMS] 75 YOM - NEVER HAPPENED BEFORE  [03\/17\/26 20:53:20 DSWINK] Event spawned from UNCONSCIOUS.  [03\/17\/2026 20:53:16 EALMENDAREZ] NOT RESPONDING TO WIFE  JUST MOANING  [03\/17\/26 20:53:07 DSWINK] PASSED OUT AND HIT A TABLE - NOT BLEEDING  [03\/17\/26 20:52:53 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 20:52:27 BAHARRIS]","cADLog":"[EMS] BREATHING - WIFE PLACED HIM ON OXYGEN  [03\/17\/26 20:54:43 DSWINK] [EMS] FRONT DOOR ENTRANCE  [03\/17\/26 20:54:02 DSWINK] [EMS] HEART DISEASE  PULMONARY FIBROSIS  [03\/17\/26 20:53:47 DSWINK] [EMS] 75 YOM - NEVER HAPPENED BEFORE  [03\/17\/26 20:53:20 DSWINK] Event spawned from UNCONSCIOUS.  [03\/17\/2026 20:53:16 EALMENDAREZ] NOT RESPONDING TO WIFE  JUST MOANING  [03\/17\/26 20:53:07 DSWINK] PASSED OUT AND HIT A TABLE - NOT BLEEDING  [03\/17\/26 20:52:53 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 20:52:27 BAHARRIS]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"3572 SEVEN SPRINGS RD","locationCoordinates":"36.11169,-85.45947"}
[2026-03-18 01:55:02] [INFO] Number of extracted fields: 23
[2026-03-18 01:55:02] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC
PF'
[2026-03-18 01:55:02] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC
PF', Parsed IDs = ["PCFD","EMS","PCSO","RESC","PF"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-18 01:55:02] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC","PF"]
[2026-03-18 01:55:02] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 01:55:02] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 01:55:02] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC","PF"]
[2026-03-18 01:55:02] [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-03-18 01:55:02] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 01:55:02] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-18 01:55:02] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 01:55:02] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 01:55:02] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-18 01:55:03] [INFO] Found existing Dispatch with cADNumber '2026000727', ID: 69ba0599dbc1f5461 - will update instead of create
[2026-03-18 01:55:03] [INFO] Updated existing Dispatches record with ID: 69ba0599dbc1f5461
[2026-03-18 01:55:03] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029208_20260318_015501.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029208_20260318_015501.XML
[2026-03-18 01:55:03] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029208_20260318_015501.XML
[2026-03-18 01:55:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029208_20260318_015502.XML
[2026-03-18 01:55:03] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029208_20260318_015502.XML for user: 68f1466aed072ad4a
[2026-03-18 01:55:03] [INFO] File size: 6781 bytes
[2026-03-18 01:55:03] [INFO] Created FTPFiles record with ID: 69ba05f7bbaf3826e
[2026-03-18 01:55:03] [INFO] About to extract fields from XML. File size: 6781 bytes
[2026-03-18 01:55:03] [INFO] Number of mappings: 28
[2026-03-18 01:55:03] [INFO] Starting XML parsing. Content length: 6781
[2026-03-18 01:55:03] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 01:55:03] [INFO] Processing 28 field mappings
[2026-03-18 01:55:03] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 01:55:03] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 01:55:03] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 01:55:03] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-18 01:55:03] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
PF
[2026-03-18 01:55:03] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC\nPF"
[2026-03-18 01:55:03] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 01:55:03] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-18 01:55:03] [INFO]   -> Found value: 2026000727
[2026-03-18 01:55:03] [INFO]   -> Set field 'incidentInternalId' = "2026000727"
[2026-03-18 01:55:03] [INFO]   -> Set field 'dispatchRunNumber' = "2026000727"
[2026-03-18 01:55:03] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 01:55:03] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-18 01:55:03] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-18 01:55:03] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 01:55:03] [INFO]   -> Found value: 3572
[2026-03-18 01:55:03] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3572
[2026-03-18 01:55:03] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 01:55:03] [INFO]   -> Found value: TN
[2026-03-18 01:55:03] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 01:55:03] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 01:55:03] [INFO]   -> Found value: 38506
[2026-03-18 01:55:03] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 01:55:03] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 01:55:03] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:03] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 01:55:03] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:03] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 01:55:03] [INFO]   -> Found value: 36.11169
[2026-03-18 01:55:03] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11169000000000295358404400758445262908935546875
[2026-03-18 01:55:03] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 01:55:03] [INFO]   -> Found value: -85.45947
[2026-03-18 01:55:03] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4594699999999960482455207966268062591552734375
[2026-03-18 01:55:03] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 01:55:03] [INFO]   -> Found value: 2026-03-17 20:53:16
[2026-03-18 01:55:03] [INFO]   -> Set field 'alarm' = "2026-03-17 20:53:16"
[2026-03-18 01:55:03] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 01:55:03] [INFO]   -> Found value: 2026-03-17 20:53:21
[2026-03-18 01:55:03] [INFO]   -> Set field 'dispatched' = "2026-03-17 20:53:21"
[2026-03-18 01:55:03] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 01:55:03] [INFO]   -> Found value: 2026-03-17 20:54:48
[2026-03-18 01:55:03] [INFO]   -> Set field 'enroute' = "2026-03-17 20:54:48"
[2026-03-18 01:55:03] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 01:55:03] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:03] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 01:55:03] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:03] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 01:55:03] [INFO]   -> Found value: CEDAR SPRINGS DR/HWY 70 E
[2026-03-18 01:55:03] [INFO]   -> Set field 'incidentLocationCross' = "CEDAR SPRINGS DR\/HWY 70 E"
[2026-03-18 01:55:03] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 01:55:03] [INFO]   -> Found value: SQ11
[2026-03-18 01:55:03] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-18 01:55:03] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 01:55:03] [INFO]   -> Found value: 2026-03-17 20:54:48
[2026-03-18 01:55:03] [INFO]   -> Set field 'timedispatch' = "2026-03-17 20:54:48"
[2026-03-18 01:55:03] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 01:55:03] [INFO]   -> Found value: 2026-03-17 20:54:48
[2026-03-18 01:55:03] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 20:54:48"
[2026-03-18 01:55:03] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 01:55:03] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:03] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 01:55:03] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:03] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 01:55:03] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:03] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 01:55:03] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 01:55:03] [INFO]   -> Found value: 20260029208
[2026-03-18 01:55:03] [INFO]   -> Set field 'policeReportNumber' = "20260029208"
[2026-03-18 01:55:03] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 01:55:03] [INFO]   -> Found value: [EMS] BREATHING - WIFE PLACED HIM ON OXYGEN  [03/17/26 20:54:43 DSWINK] [EMS] FRONT DOOR ENTRANCE  [...
[2026-03-18 01:55:03] [INFO]   -> Set field 'dispatchNotes' = "[EMS] BREATHING - WIFE PLACED HIM ON OXYGEN  [03\/17\/26 20:54:43 DSWINK] [EMS] FRONT DOOR ENTRANCE  [03\/17\/26 20:54:02 DSWINK] [EMS] HEART DISEASE  PULMONARY FIBROSIS  [03\/17\/26 20:53:47 DSWINK] [EMS] 75 YOM - NEVER HAPPENED BEFORE  [03\/17\/26 20:53:20 DSWINK] Event spawned from UNCONSCIOUS.  [03\/17\/2026 20:53:16 EALMENDAREZ] NOT RESPONDING TO WIFE  JUST MOANING  [03\/17\/26 20:53:07 DSWINK] PASSED OUT AND HIT A TABLE - NOT BLEEDING  [03\/17\/26 20:52:53 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 20:52:27 BAHARRIS]"
[2026-03-18 01:55:03] [INFO]   -> Set field 'cADLog' = "[EMS] BREATHING - WIFE PLACED HIM ON OXYGEN  [03\/17\/26 20:54:43 DSWINK] [EMS] FRONT DOOR ENTRANCE  [03\/17\/26 20:54:02 DSWINK] [EMS] HEART DISEASE  PULMONARY FIBROSIS  [03\/17\/26 20:53:47 DSWINK] [EMS] 75 YOM - NEVER HAPPENED BEFORE  [03\/17\/26 20:53:20 DSWINK] Event spawned from UNCONSCIOUS.  [03\/17\/2026 20:53:16 EALMENDAREZ] NOT RESPONDING TO WIFE  JUST MOANING  [03\/17\/26 20:53:07 DSWINK] PASSED OUT AND HIT A TABLE - NOT BLEEDING  [03\/17\/26 20:52:53 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 20:52:27 BAHARRIS]"
[2026-03-18 01:55:03] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 01:55:03] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 01:55:03] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 01:55:03] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 01:55:03] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-18 01:55:03] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-18 01:55:03] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 01:55:03] [INFO]   -> Found value: RD
[2026-03-18 01:55:03] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 01:55:03] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 01:55:03] [INFO]   -> Found value: 3572 SEVEN SPRINGS RD
[2026-03-18 01:55:03] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3572 SEVEN SPRINGS RD"
[2026-03-18 01:55:03] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 01:55:03] [INFO] Concatenating street name and type
[2026-03-18 01:55:03] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-18 01:55:03] [INFO] Built locationCoordinates from lat/lng: 36.11169,-85.45947
[2026-03-18 01:55:03] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC\nPF","incidentInternalId":"2026000727","dispatchRunNumber":"2026000727","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":3572,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.11169000000000295358404400758445262908935546875,"nERISIncidentLongitude":-85.4594699999999960482455207966268062591552734375,"alarm":"2026-03-17 20:53:16","dispatched":"2026-03-17 20:53:21","enroute":"2026-03-17 20:54:48","incidentLocationCross":"CEDAR SPRINGS DR\/HWY 70 E","cADVehicleID":"SQ11","timedispatch":"2026-03-17 20:54:48","timeenroutetoscene":"2026-03-17 20:54:48","policeReportNumber":"20260029208","dispatchNotes":"[EMS] BREATHING - WIFE PLACED HIM ON OXYGEN  [03\/17\/26 20:54:43 DSWINK] [EMS] FRONT DOOR ENTRANCE  [03\/17\/26 20:54:02 DSWINK] [EMS] HEART DISEASE  PULMONARY FIBROSIS  [03\/17\/26 20:53:47 DSWINK] [EMS] 75 YOM - NEVER HAPPENED BEFORE  [03\/17\/26 20:53:20 DSWINK] Event spawned from UNCONSCIOUS.  [03\/17\/2026 20:53:16 EALMENDAREZ] NOT RESPONDING TO WIFE  JUST MOANING  [03\/17\/26 20:53:07 DSWINK] PASSED OUT AND HIT A TABLE - NOT BLEEDING  [03\/17\/26 20:52:53 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 20:52:27 BAHARRIS]","cADLog":"[EMS] BREATHING - WIFE PLACED HIM ON OXYGEN  [03\/17\/26 20:54:43 DSWINK] [EMS] FRONT DOOR ENTRANCE  [03\/17\/26 20:54:02 DSWINK] [EMS] HEART DISEASE  PULMONARY FIBROSIS  [03\/17\/26 20:53:47 DSWINK] [EMS] 75 YOM - NEVER HAPPENED BEFORE  [03\/17\/26 20:53:20 DSWINK] Event spawned from UNCONSCIOUS.  [03\/17\/2026 20:53:16 EALMENDAREZ] NOT RESPONDING TO WIFE  JUST MOANING  [03\/17\/26 20:53:07 DSWINK] PASSED OUT AND HIT A TABLE - NOT BLEEDING  [03\/17\/26 20:52:53 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 20:52:27 BAHARRIS]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"3572 SEVEN SPRINGS RD","locationCoordinates":"36.11169,-85.45947"}
[2026-03-18 01:55:03] [INFO] Number of extracted fields: 23
[2026-03-18 01:55:03] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC
PF'
[2026-03-18 01:55:03] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC
PF', Parsed IDs = ["PCFD","EMS","PCSO","RESC","PF"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-18 01:55:03] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC","PF"]
[2026-03-18 01:55:03] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 01:55:03] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 01:55:03] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC","PF"]
[2026-03-18 01:55:04] [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-03-18 01:55:04] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 01:55:04] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-18 01:55:04] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 01:55:04] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 01:55:04] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-18 01:55:04] [INFO] Found existing Dispatch with cADNumber '2026000727', ID: 69ba0599dbc1f5461 - will update instead of create
[2026-03-18 01:55:04] [INFO] Updated existing Dispatches record with ID: 69ba0599dbc1f5461
[2026-03-18 01:55:04] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029208_20260318_015502.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029208_20260318_015502.XML
[2026-03-18 01:55:04] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029208_20260318_015502.XML
[2026-03-18 01:55:04] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029208_20260318_015502_1.XML
[2026-03-18 01:55:04] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029208_20260318_015502_1.XML for user: 68f1466aed072ad4a
[2026-03-18 01:55:04] [INFO] File size: 6781 bytes
[2026-03-18 01:55:05] [INFO] Created FTPFiles record with ID: 69ba05f925b5ac4bf
[2026-03-18 01:55:05] [INFO] About to extract fields from XML. File size: 6781 bytes
[2026-03-18 01:55:05] [INFO] Number of mappings: 28
[2026-03-18 01:55:05] [INFO] Starting XML parsing. Content length: 6781
[2026-03-18 01:55:05] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 01:55:05] [INFO] Processing 28 field mappings
[2026-03-18 01:55:05] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 01:55:05] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 01:55:05] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 01:55:05] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-18 01:55:05] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
PF
[2026-03-18 01:55:05] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC\nPF"
[2026-03-18 01:55:05] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 01:55:05] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-18 01:55:05] [INFO]   -> Found value: 2026000727
[2026-03-18 01:55:05] [INFO]   -> Set field 'incidentInternalId' = "2026000727"
[2026-03-18 01:55:05] [INFO]   -> Set field 'dispatchRunNumber' = "2026000727"
[2026-03-18 01:55:05] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 01:55:05] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-18 01:55:05] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-18 01:55:05] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 01:55:05] [INFO]   -> Found value: 3572
[2026-03-18 01:55:05] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3572
[2026-03-18 01:55:05] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 01:55:05] [INFO]   -> Found value: TN
[2026-03-18 01:55:05] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 01:55:05] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 01:55:05] [INFO]   -> Found value: 38506
[2026-03-18 01:55:05] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 01:55:05] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 01:55:05] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:05] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 01:55:05] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:05] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 01:55:05] [INFO]   -> Found value: 36.11169
[2026-03-18 01:55:05] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11169000000000295358404400758445262908935546875
[2026-03-18 01:55:05] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 01:55:05] [INFO]   -> Found value: -85.45947
[2026-03-18 01:55:05] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4594699999999960482455207966268062591552734375
[2026-03-18 01:55:05] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 01:55:05] [INFO]   -> Found value: 2026-03-17 20:53:16
[2026-03-18 01:55:05] [INFO]   -> Set field 'alarm' = "2026-03-17 20:53:16"
[2026-03-18 01:55:05] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 01:55:05] [INFO]   -> Found value: 2026-03-17 20:53:21
[2026-03-18 01:55:05] [INFO]   -> Set field 'dispatched' = "2026-03-17 20:53:21"
[2026-03-18 01:55:05] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 01:55:05] [INFO]   -> Found value: 2026-03-17 20:54:48
[2026-03-18 01:55:05] [INFO]   -> Set field 'enroute' = "2026-03-17 20:54:48"
[2026-03-18 01:55:05] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 01:55:05] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:05] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 01:55:05] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:05] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 01:55:05] [INFO]   -> Found value: CEDAR SPRINGS DR/HWY 70 E
[2026-03-18 01:55:05] [INFO]   -> Set field 'incidentLocationCross' = "CEDAR SPRINGS DR\/HWY 70 E"
[2026-03-18 01:55:05] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 01:55:05] [INFO]   -> Found value: SQ11
[2026-03-18 01:55:05] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-18 01:55:05] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 01:55:05] [INFO]   -> Found value: 2026-03-17 20:54:48
[2026-03-18 01:55:05] [INFO]   -> Set field 'timedispatch' = "2026-03-17 20:54:48"
[2026-03-18 01:55:05] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 01:55:05] [INFO]   -> Found value: 2026-03-17 20:54:48
[2026-03-18 01:55:05] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 20:54:48"
[2026-03-18 01:55:05] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 01:55:05] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:05] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 01:55:05] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:05] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 01:55:05] [INFO]   -> No value found (null or empty)
[2026-03-18 01:55:05] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 01:55:05] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 01:55:05] [INFO]   -> Found value: 20260029208
[2026-03-18 01:55:05] [INFO]   -> Set field 'policeReportNumber' = "20260029208"
[2026-03-18 01:55:05] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 01:55:05] [INFO]   -> Found value: [EMS] BREATHING - WIFE PLACED HIM ON OXYGEN  [03/17/26 20:54:43 DSWINK] [EMS] FRONT DOOR ENTRANCE  [...
[2026-03-18 01:55:05] [INFO]   -> Set field 'dispatchNotes' = "[EMS] BREATHING - WIFE PLACED HIM ON OXYGEN  [03\/17\/26 20:54:43 DSWINK] [EMS] FRONT DOOR ENTRANCE  [03\/17\/26 20:54:02 DSWINK] [EMS] HEART DISEASE  PULMONARY FIBROSIS  [03\/17\/26 20:53:47 DSWINK] [EMS] 75 YOM - NEVER HAPPENED BEFORE  [03\/17\/26 20:53:20 DSWINK] Event spawned from UNCONSCIOUS.  [03\/17\/2026 20:53:16 EALMENDAREZ] NOT RESPONDING TO WIFE  JUST MOANING  [03\/17\/26 20:53:07 DSWINK] PASSED OUT AND HIT A TABLE - NOT BLEEDING  [03\/17\/26 20:52:53 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 20:52:27 BAHARRIS]"
[2026-03-18 01:55:05] [INFO]   -> Set field 'cADLog' = "[EMS] BREATHING - WIFE PLACED HIM ON OXYGEN  [03\/17\/26 20:54:43 DSWINK] [EMS] FRONT DOOR ENTRANCE  [03\/17\/26 20:54:02 DSWINK] [EMS] HEART DISEASE  PULMONARY FIBROSIS  [03\/17\/26 20:53:47 DSWINK] [EMS] 75 YOM - NEVER HAPPENED BEFORE  [03\/17\/26 20:53:20 DSWINK] Event spawned from UNCONSCIOUS.  [03\/17\/2026 20:53:16 EALMENDAREZ] NOT RESPONDING TO WIFE  JUST MOANING  [03\/17\/26 20:53:07 DSWINK] PASSED OUT AND HIT A TABLE - NOT BLEEDING  [03\/17\/26 20:52:53 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 20:52:27 BAHARRIS]"
[2026-03-18 01:55:05] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 01:55:05] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 01:55:05] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 01:55:05] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 01:55:05] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-18 01:55:05] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-18 01:55:05] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 01:55:05] [INFO]   -> Found value: RD
[2026-03-18 01:55:05] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 01:55:05] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 01:55:05] [INFO]   -> Found value: 3572 SEVEN SPRINGS RD
[2026-03-18 01:55:05] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3572 SEVEN SPRINGS RD"
[2026-03-18 01:55:05] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 01:55:05] [INFO] Concatenating street name and type
[2026-03-18 01:55:05] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-18 01:55:05] [INFO] Built locationCoordinates from lat/lng: 36.11169,-85.45947
[2026-03-18 01:55:05] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC\nPF","incidentInternalId":"2026000727","dispatchRunNumber":"2026000727","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":3572,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.11169000000000295358404400758445262908935546875,"nERISIncidentLongitude":-85.4594699999999960482455207966268062591552734375,"alarm":"2026-03-17 20:53:16","dispatched":"2026-03-17 20:53:21","enroute":"2026-03-17 20:54:48","incidentLocationCross":"CEDAR SPRINGS DR\/HWY 70 E","cADVehicleID":"SQ11","timedispatch":"2026-03-17 20:54:48","timeenroutetoscene":"2026-03-17 20:54:48","policeReportNumber":"20260029208","dispatchNotes":"[EMS] BREATHING - WIFE PLACED HIM ON OXYGEN  [03\/17\/26 20:54:43 DSWINK] [EMS] FRONT DOOR ENTRANCE  [03\/17\/26 20:54:02 DSWINK] [EMS] HEART DISEASE  PULMONARY FIBROSIS  [03\/17\/26 20:53:47 DSWINK] [EMS] 75 YOM - NEVER HAPPENED BEFORE  [03\/17\/26 20:53:20 DSWINK] Event spawned from UNCONSCIOUS.  [03\/17\/2026 20:53:16 EALMENDAREZ] NOT RESPONDING TO WIFE  JUST MOANING  [03\/17\/26 20:53:07 DSWINK] PASSED OUT AND HIT A TABLE - NOT BLEEDING  [03\/17\/26 20:52:53 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 20:52:27 BAHARRIS]","cADLog":"[EMS] BREATHING - WIFE PLACED HIM ON OXYGEN  [03\/17\/26 20:54:43 DSWINK] [EMS] FRONT DOOR ENTRANCE  [03\/17\/26 20:54:02 DSWINK] [EMS] HEART DISEASE  PULMONARY FIBROSIS  [03\/17\/26 20:53:47 DSWINK] [EMS] 75 YOM - NEVER HAPPENED BEFORE  [03\/17\/26 20:53:20 DSWINK] Event spawned from UNCONSCIOUS.  [03\/17\/2026 20:53:16 EALMENDAREZ] NOT RESPONDING TO WIFE  JUST MOANING  [03\/17\/26 20:53:07 DSWINK] PASSED OUT AND HIT A TABLE - NOT BLEEDING  [03\/17\/26 20:52:53 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 20:52:27 BAHARRIS]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"3572 SEVEN SPRINGS RD","locationCoordinates":"36.11169,-85.45947"}
[2026-03-18 01:55:05] [INFO] Number of extracted fields: 23
[2026-03-18 01:55:05] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC
PF'
[2026-03-18 01:55:05] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC
PF', Parsed IDs = ["PCFD","EMS","PCSO","RESC","PF"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-18 01:55:05] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC","PF"]
[2026-03-18 01:55:05] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 01:55:05] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 01:55:05] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC","PF"]
[2026-03-18 01:55:05] [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-03-18 01:55:05] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 01:55:05] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-18 01:55:05] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 01:55:05] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 01:55:05] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-18 01:55:05] [INFO] Found existing Dispatch with cADNumber '2026000727', ID: 69ba0599dbc1f5461 - will update instead of create
[2026-03-18 01:55:06] [INFO] Updated existing Dispatches record with ID: 69ba0599dbc1f5461
[2026-03-18 01:55:06] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029208_20260318_015502_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029208_20260318_015502_1.XML
[2026-03-18 01:55:06] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029208_20260318_015502_1.XML
[2026-03-18 03:48:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08123.xml
[2026-03-18 03:48:28] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08123.xml for user: 68d56363ec1209189
[2026-03-18 03:48:28] [INFO] File size: 1783 bytes
[2026-03-18 03:48:28] [INFO] Created FTPFiles record with ID: 69ba208cb30e11e57
[2026-03-18 03:48:28] [INFO] About to extract fields from XML. File size: 1783 bytes
[2026-03-18 03:48:28] [INFO] Number of mappings: 21
[2026-03-18 03:48:28] [INFO] Starting XML parsing. Content length: 1783
[2026-03-18 03:48:28] [INFO] XML parsed successfully. Root element: Incident
[2026-03-18 03:48:28] [INFO] Processing 21 field mappings
[2026-03-18 03:48:28] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-18 03:48:28] [INFO]   -> Found value: 26-08123
[2026-03-18 03:48:28] [INFO]   -> Set field 'dispatchRunNumber' = "26-08123"
[2026-03-18 03:48:28] [INFO]   -> Set field 'cADNumber' = "26-08123"
[2026-03-18 03:48:28] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-18 03:48:28] [INFO]   -> Found value: 213
[2026-03-18 03:48:28] [INFO]   -> Set field 'incidentLocationStreetNumber' = 213
[2026-03-18 03:48:28] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-18 03:48:28] [INFO]   -> Found value: E HARDING ST
[2026-03-18 03:48:28] [INFO]   -> Set field 'streetName' = "E HARDING ST"
[2026-03-18 03:48:28] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-18 03:48:28] [INFO]   -> No value found (null or empty)
[2026-03-18 03:48:28] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-18 03:48:28] [INFO]   -> Found value: MORLEY
[2026-03-18 03:48:28] [INFO]   -> Set field 'incidentLocationCity' = "MORLEY"
[2026-03-18 03:48:28] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-18 03:48:28] [INFO]   -> No value found (null or empty)
[2026-03-18 03:48:28] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-18 03:48:28] [INFO]   -> No value found (null or empty)
[2026-03-18 03:48:28] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-18 03:48:28] [INFO]   -> No value found (null or empty)
[2026-03-18 03:48:28] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-18 03:48:28] [INFO]   -> Found value: 0
[2026-03-18 03:48:28] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-18 03:48:28] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-18 03:48:28] [INFO]   -> Found value: 0
[2026-03-18 03:48:28] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-18 03:48:28] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-18 03:48:28] [INFO]   -> Found value: MEDICAL
[2026-03-18 03:48:28] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL"
[2026-03-18 03:48:28] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-18 03:48:28] [INFO]   -> Found value: 03-17-2026 22:24:46|RAPIDSOS RECEIVED 03-17-2026 22:24:58|ATTEMPTING CONTACT X2 03-17-2026 22:25:15|...
[2026-03-18 03:48:28] [INFO]   -> Set field 'dispatchNotes' = "03-17-2026 22:24:46|RAPIDSOS RECEIVED 03-17-2026 22:24:58|ATTEMPTING CONTACT X2 03-17-2026 22:25:15|CALLER CALLE BACK 03-17-2026 22:25:30|41 YO FEMALE PASSED OUT 03-17-2026 22:25:46|FEMALE IS CONSCIOUS BUT STILL FEELS UNWELL 03-17-2026 22:29:27|7 YO MALE WITH HEAD INJURY 03-17-2026 22:32:41|1707 ON SCENE 03-17-2026 22:34:04|FEMALE CONSCIOUS BUT LETHARGIC 03-17-2026 22:34:37|BRUISE FORMING ON THE MALE'S HEAD 03-17-2026 22:47:53|NSCAD TRANSPORTING X2 03-17-2026 22:48:06|ALL RURAL PERSONNEL CLEAR THE SCENE DEPARTING"
[2026-03-18 03:48:28] [INFO]   -> Set field 'cADLog' = "03-17-2026 22:24:46|RAPIDSOS RECEIVED 03-17-2026 22:24:58|ATTEMPTING CONTACT X2 03-17-2026 22:25:15|CALLER CALLE BACK 03-17-2026 22:25:30|41 YO FEMALE PASSED OUT 03-17-2026 22:25:46|FEMALE IS CONSCIOUS BUT STILL FEELS UNWELL 03-17-2026 22:29:27|7 YO MALE WITH HEAD INJURY 03-17-2026 22:32:41|1707 ON SCENE 03-17-2026 22:34:04|FEMALE CONSCIOUS BUT LETHARGIC 03-17-2026 22:34:37|BRUISE FORMING ON THE MALE'S HEAD 03-17-2026 22:47:53|NSCAD TRANSPORTING X2 03-17-2026 22:48:06|ALL RURAL PERSONNEL CLEAR THE SCENE DEPARTING"
[2026-03-18 03:48:28] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-18 03:48:28] [INFO]   -> Found value: 03-17-2026T22:28:09
[2026-03-18 03:48:28] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T22:28:09
[2026-03-18 03:48:28] [ERROR] Error formatting datetime '2026-17-03T22:28:09': Failed to parse time string (2026-17-03T22:28:09) at position 6 (7): Unexpected character
[2026-03-18 03:48:28] [INFO]   -> Set field 'alarm' = null
[2026-03-18 03:48:28] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T22:28:09
[2026-03-18 03:48:28] [ERROR] Error formatting datetime '2026-17-03T22:28:09': Failed to parse time string (2026-17-03T22:28:09) at position 6 (7): Unexpected character
[2026-03-18 03:48:28] [INFO]   -> Set field 'dispatched' = null
[2026-03-18 03:48:28] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-18 03:48:28] [INFO]   -> Found value: 03-17-2026T22:33:26
[2026-03-18 03:48:28] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T22:33:26
[2026-03-18 03:48:28] [ERROR] Error formatting datetime '2026-17-03T22:33:26': Failed to parse time string (2026-17-03T22:33:26) at position 6 (7): Unexpected character
[2026-03-18 03:48:28] [INFO]   -> Set field 'onScene' = null
[2026-03-18 03:48:28] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-18 03:48:28] [INFO]   -> No value found (null or empty)
[2026-03-18 03:48:28] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-18 03:48:28] [INFO]   -> Found value: RURAL PAGE
[2026-03-18 03:48:28] [INFO]   -> Set field 'cADVehicleID' = "RURAL PAGE"
[2026-03-18 03:48:28] [INFO]   -> Set field 'name' = "RURAL PAGE"
[2026-03-18 03:48:28] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-18 03:48:28] [INFO]   -> No value found (null or empty)
[2026-03-18 03:48:28] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-18 03:48:28] [INFO]   -> No value found (null or empty)
[2026-03-18 03:48:28] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-18 03:48:28] [INFO]   -> Found value: 03-17-2026T22:48:09
[2026-03-18 03:48:28] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T22:48:09
[2026-03-18 03:48:28] [ERROR] Error formatting datetime '2026-17-03T22:48:09': Failed to parse time string (2026-17-03T22:48:09) at position 6 (7): Unexpected character
[2026-03-18 03:48:28] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-18 03:48:28] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-18 03:48:28] [INFO]   -> Found value: 03-17-2026T22:30:45
[2026-03-18 03:48:28] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T22:30:45
[2026-03-18 03:48:28] [ERROR] Error formatting datetime '2026-17-03T22:30:45': Failed to parse time string (2026-17-03T22:30:45) at position 6 (7): Unexpected character
[2026-03-18 03:48:28] [INFO]   -> Set field 'timedispatch' = null
[2026-03-18 03:48:28] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-18 03:48:28] [INFO]   -> Found value: SCRFD
[2026-03-18 03:48:28] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-03-18 03:48:28] [INFO] Finished extracting fields. Total fields extracted: 18
[2026-03-18 03:48:28] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-18 03:48:28] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-08123","cADNumber":"26-08123","incidentLocationStreetNumber":213,"streetName":"E HARDING ST","incidentLocationCity":"MORLEY","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"MEDICAL","dispatchNotes":"03-17-2026 22:24:46|RAPIDSOS RECEIVED 03-17-2026 22:24:58|ATTEMPTING CONTACT X2 03-17-2026 22:25:15|CALLER CALLE BACK 03-17-2026 22:25:30|41 YO FEMALE PASSED OUT 03-17-2026 22:25:46|FEMALE IS CONSCIOUS BUT STILL FEELS UNWELL 03-17-2026 22:29:27|7 YO MALE WITH HEAD INJURY 03-17-2026 22:32:41|1707 ON SCENE 03-17-2026 22:34:04|FEMALE CONSCIOUS BUT LETHARGIC 03-17-2026 22:34:37|BRUISE FORMING ON THE MALE'S HEAD 03-17-2026 22:47:53|NSCAD TRANSPORTING X2 03-17-2026 22:48:06|ALL RURAL PERSONNEL CLEAR THE SCENE DEPARTING","cADLog":"03-17-2026 22:24:46|RAPIDSOS RECEIVED 03-17-2026 22:24:58|ATTEMPTING CONTACT X2 03-17-2026 22:25:15|CALLER CALLE BACK 03-17-2026 22:25:30|41 YO FEMALE PASSED OUT 03-17-2026 22:25:46|FEMALE IS CONSCIOUS BUT STILL FEELS UNWELL 03-17-2026 22:29:27|7 YO MALE WITH HEAD INJURY 03-17-2026 22:32:41|1707 ON SCENE 03-17-2026 22:34:04|FEMALE CONSCIOUS BUT LETHARGIC 03-17-2026 22:34:37|BRUISE FORMING ON THE MALE'S HEAD 03-17-2026 22:47:53|NSCAD TRANSPORTING X2 03-17-2026 22:48:06|ALL RURAL PERSONNEL CLEAR THE SCENE DEPARTING","alarm":null,"dispatched":null,"onScene":null,"cADVehicleID":"RURAL PAGE","name":"RURAL PAGE","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-03-18 03:48:28] [INFO] Number of extracted fields: 19
[2026-03-18 03:48:28] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-03-18 03:48:28] [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-03-18 03:48:28] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-03-18 03:48:28] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-03-18 03:48:28] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-03-18 03:48:29] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-03-18 03:48:29] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-03-18 03:48:29] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-03-18 03:48:29] [INFO] Found existing IncidentTypeMapping with ID: 6979040ce473322a8
[2026-03-18 03:48:29] [INFO] Found existing Dispatch with cADNumber '26-08123', ID: 69ba1c6925248896a - will update instead of create
[2026-03-18 03:48:29] [INFO] Updated existing Dispatches record with ID: 69ba1c6925248896a
[2026-03-18 03:48:29] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-18
[2026-03-18 03:48:29] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08123.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-18/SCRFD_26-08123.xml
[2026-03-18 03:48:29] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08123.xml
[2026-03-18 06:04:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029259_20260318_060409.XML
[2026-03-18 06:04:09] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029259_20260318_060409.XML for user: 68f1466aed072ad4a
[2026-03-18 06:04:09] [INFO] File size: 5539 bytes
[2026-03-18 06:04:09] [INFO] Created FTPFiles record with ID: 69ba4059c4e388e28
[2026-03-18 06:04:09] [INFO] About to extract fields from XML. File size: 5539 bytes
[2026-03-18 06:04:09] [INFO] Number of mappings: 28
[2026-03-18 06:04:09] [INFO] Starting XML parsing. Content length: 5539
[2026-03-18 06:04:09] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 06:04:09] [INFO] Processing 28 field mappings
[2026-03-18 06:04:09] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 06:04:09] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 06:04:09] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 06:04:09] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-18 06:04:09] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
PF
[2026-03-18 06:04:09] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC\nPF"
[2026-03-18 06:04:09] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 06:04:09] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-18 06:04:09] [INFO]   -> Found value: 2026000728
[2026-03-18 06:04:09] [INFO]   -> Set field 'incidentInternalId' = "2026000728"
[2026-03-18 06:04:09] [INFO]   -> Set field 'dispatchRunNumber' = "2026000728"
[2026-03-18 06:04:09] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 06:04:09] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-18 06:04:09] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-18 06:04:09] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 06:04:09] [INFO]   -> Found value: 273
[2026-03-18 06:04:09] [INFO]   -> Set field 'incidentLocationStreetNumber' = 273
[2026-03-18 06:04:09] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 06:04:09] [INFO]   -> Found value: TN
[2026-03-18 06:04:09] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 06:04:09] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 06:04:09] [INFO]   -> No value found (null or empty)
[2026-03-18 06:04:09] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 06:04:09] [INFO]   -> Found value: MM273E
[2026-03-18 06:04:09] [INFO]   -> Set field 'businessName' = "MM273E"
[2026-03-18 06:04:09] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 06:04:09] [INFO]   -> No value found (null or empty)
[2026-03-18 06:04:09] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 06:04:09] [INFO]   -> Found value: 36.09178
[2026-03-18 06:04:09] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.091779999999999972715158946812152862548828125
[2026-03-18 06:04:09] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 06:04:09] [INFO]   -> Found value: -85.72975
[2026-03-18 06:04:09] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.729749999999995679900166578590869903564453125
[2026-03-18 06:04:09] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 06:04:09] [INFO]   -> Found value: 2026-03-18 01:02:29
[2026-03-18 06:04:09] [INFO]   -> Set field 'alarm' = "2026-03-18 01:02:29"
[2026-03-18 06:04:09] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 06:04:09] [INFO]   -> Found value: 2026-03-18 01:04:02
[2026-03-18 06:04:09] [INFO]   -> Set field 'dispatched' = "2026-03-18 01:04:02"
[2026-03-18 06:04:09] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 06:04:09] [INFO]   -> Found value: 2026-03-18 01:04:04
[2026-03-18 06:04:09] [INFO]   -> Set field 'enroute' = "2026-03-18 01:04:04"
[2026-03-18 06:04:09] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 06:04:09] [INFO]   -> No value found (null or empty)
[2026-03-18 06:04:09] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 06:04:09] [INFO]   -> No value found (null or empty)
[2026-03-18 06:04:09] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 06:04:09] [INFO]   -> No value found (null or empty)
[2026-03-18 06:04:09] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 06:04:09] [INFO]   -> Found value: TK31
[2026-03-18 06:04:09] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-18 06:04:09] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 06:04:09] [INFO]   -> Found value: 2026-03-18 01:04:02
[2026-03-18 06:04:09] [INFO]   -> Set field 'timedispatch' = "2026-03-18 01:04:02"
[2026-03-18 06:04:09] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 06:04:09] [INFO]   -> Found value: 2026-03-18 01:04:04
[2026-03-18 06:04:09] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 01:04:04"
[2026-03-18 06:04:09] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 06:04:09] [INFO]   -> No value found (null or empty)
[2026-03-18 06:04:09] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 06:04:09] [INFO]   -> No value found (null or empty)
[2026-03-18 06:04:09] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 06:04:09] [INFO]   -> No value found (null or empty)
[2026-03-18 06:04:09] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 06:04:09] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 06:04:09] [INFO]   -> Found value: 20260029259
[2026-03-18 06:04:09] [INFO]   -> Set field 'policeReportNumber' = "20260029259"
[2026-03-18 06:04:09] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 06:04:09] [INFO]   -> Found value: Event spawned from MVC WITH INJURY.  [03/18/2026 01:02:29 JDICK] [LAW] UDTS: LAW CARD SEEN BY CPD-PC...
[2026-03-18 06:04:09] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from MVC WITH INJURY.  [03\/18\/2026 01:02:29 JDICK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 01:00:54 RJGIPSON] 273.8  SINGLE VEHICLE FROM PURSUIT  [03\/18\/26 01:00:37 JDICK]]"
[2026-03-18 06:04:09] [INFO]   -> Set field 'cADLog' = "Event spawned from MVC WITH INJURY.  [03\/18\/2026 01:02:29 JDICK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 01:00:54 RJGIPSON] 273.8  SINGLE VEHICLE FROM PURSUIT  [03\/18\/26 01:00:37 JDICK]]"
[2026-03-18 06:04:09] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 06:04:09] [INFO]   -> Found value: SILVER POINT
[2026-03-18 06:04:09] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-18 06:04:09] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 06:04:09] [INFO]   -> Found value: I 40
[2026-03-18 06:04:09] [INFO]   -> Set field 'streetName' = "I 40"
[2026-03-18 06:04:09] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 06:04:09] [INFO]   -> No value found (null or empty)
[2026-03-18 06:04:09] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 06:04:09] [INFO]   -> Found value: 273 E I 40
[2026-03-18 06:04:09] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "273 E I 40"
[2026-03-18 06:04:09] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-18 06:04:09] [INFO] Built locationCoordinates from lat/lng: 36.09178,-85.72975
[2026-03-18 06:04:09] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC\nPF","incidentInternalId":"2026000728","dispatchRunNumber":"2026000728","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":273,"incidentLocationStateName":"TN","businessName":"MM273E","nERISIncidentLatitude":36.091779999999999972715158946812152862548828125,"nERISIncidentLongitude":-85.729749999999995679900166578590869903564453125,"alarm":"2026-03-18 01:02:29","dispatched":"2026-03-18 01:04:02","enroute":"2026-03-18 01:04:04","cADVehicleID":"TK31","timedispatch":"2026-03-18 01:04:02","timeenroutetoscene":"2026-03-18 01:04:04","policeReportNumber":"20260029259","dispatchNotes":"Event spawned from MVC WITH INJURY.  [03\/18\/2026 01:02:29 JDICK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 01:00:54 RJGIPSON] 273.8  SINGLE VEHICLE FROM PURSUIT  [03\/18\/26 01:00:37 JDICK]]","cADLog":"Event spawned from MVC WITH INJURY.  [03\/18\/2026 01:02:29 JDICK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 01:00:54 RJGIPSON] 273.8  SINGLE VEHICLE FROM PURSUIT  [03\/18\/26 01:00:37 JDICK]]","incidentLocationCity":"SILVER POINT","streetName":"I 40","incidentAddressTextVersionStreet":"273 E I 40","locationCoordinates":"36.09178,-85.72975"}
[2026-03-18 06:04:09] [INFO] Number of extracted fields: 22
[2026-03-18 06:04:09] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC
PF'
[2026-03-18 06:04:09] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC
PF', Parsed IDs = ["PCFD","EMS","PCSO","RESC","PF"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-18 06:04:09] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC","PF"]
[2026-03-18 06:04:09] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 06:04:09] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 06:04:09] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC","PF"]
[2026-03-18 06:04: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-03-18 06:04:10] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 06:04:10] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-18 06:04:10] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 06:04:10] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 06:04:10] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-18 06:04:20] [INFO] Created new Dispatches record with ID: 69ba405aa9c21675e
[2026-03-18 06:04:20] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029259_20260318_060409.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029259_20260318_060409.XML
[2026-03-18 06:04:20] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029259_20260318_060409.XML
[2026-03-18 06:08:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029259_20260318_060822.XML
[2026-03-18 06:08:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029259_20260318_060822.XML for user: 68f1466aed072ad4a
[2026-03-18 06:08:22] [INFO] File size: 6296 bytes
[2026-03-18 06:08:22] [INFO] Created FTPFiles record with ID: 69ba4156bf0c17070
[2026-03-18 06:08:22] [INFO] About to extract fields from XML. File size: 6296 bytes
[2026-03-18 06:08:22] [INFO] Number of mappings: 28
[2026-03-18 06:08:22] [INFO] Starting XML parsing. Content length: 6296
[2026-03-18 06:08:22] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 06:08:22] [INFO] Processing 28 field mappings
[2026-03-18 06:08:22] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 06:08:22] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 06:08:22] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 06:08:22] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-18 06:08:22] [INFO]   -> Found value: PCFD
PCSO
EMS
RESC
PF
[2026-03-18 06:08:22] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS\nRESC\nPF"
[2026-03-18 06:08:22] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 06:08:22] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-18 06:08:22] [INFO]   -> Found value: 2026000728
[2026-03-18 06:08:22] [INFO]   -> Set field 'incidentInternalId' = "2026000728"
[2026-03-18 06:08:22] [INFO]   -> Set field 'dispatchRunNumber' = "2026000728"
[2026-03-18 06:08:22] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 06:08:22] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-18 06:08:22] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-18 06:08:22] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 06:08:22] [INFO]   -> Found value: 273
[2026-03-18 06:08:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 273
[2026-03-18 06:08:22] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 06:08:22] [INFO]   -> Found value: TN
[2026-03-18 06:08:22] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 06:08:22] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 06:08:22] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:22] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 06:08:22] [INFO]   -> Found value: MM273E
[2026-03-18 06:08:22] [INFO]   -> Set field 'businessName' = "MM273E"
[2026-03-18 06:08:22] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 06:08:22] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:22] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 06:08:22] [INFO]   -> Found value: 36.09178
[2026-03-18 06:08:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.091779999999999972715158946812152862548828125
[2026-03-18 06:08:22] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 06:08:22] [INFO]   -> Found value: -85.72975
[2026-03-18 06:08:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.729749999999995679900166578590869903564453125
[2026-03-18 06:08:22] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 06:08:22] [INFO]   -> Found value: 2026-03-18 01:02:29
[2026-03-18 06:08:22] [INFO]   -> Set field 'alarm' = "2026-03-18 01:02:29"
[2026-03-18 06:08:22] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 06:08:22] [INFO]   -> Found value: 2026-03-18 01:04:02
[2026-03-18 06:08:22] [INFO]   -> Set field 'dispatched' = "2026-03-18 01:04:02"
[2026-03-18 06:08:22] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 06:08:22] [INFO]   -> Found value: 2026-03-18 01:04:04
[2026-03-18 06:08:22] [INFO]   -> Set field 'enroute' = "2026-03-18 01:04:04"
[2026-03-18 06:08:22] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 06:08:22] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:22] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 06:08:22] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:22] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 06:08:22] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:22] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 06:08:22] [INFO]   -> Found value: EN33
[2026-03-18 06:08:22] [INFO]   -> Set field 'cADVehicleID' = "EN33"
[2026-03-18 06:08:22] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 06:08:22] [INFO]   -> Found value: 2026-03-18 01:08:19
[2026-03-18 06:08:22] [INFO]   -> Set field 'timedispatch' = "2026-03-18 01:08:19"
[2026-03-18 06:08:22] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 06:08:22] [INFO]   -> Found value: 2026-03-18 01:08:19
[2026-03-18 06:08:22] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 01:08:19"
[2026-03-18 06:08:22] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 06:08:22] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:22] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 06:08:22] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:22] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 06:08:22] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:22] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 06:08:22] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 06:08:22] [INFO]   -> Found value: 20260029259
[2026-03-18 06:08:22] [INFO]   -> Set field 'policeReportNumber' = "20260029259"
[2026-03-18 06:08:22] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 06:08:22] [INFO]   -> Found value: [LAW] PCSO UNITS ENR  [03/18/26 01:05:25 BAHARRIS] Event spawned from MVC WITH INJURY.  [03/18/2026 ...
[2026-03-18 06:08:22] [INFO]   -> Set field 'dispatchNotes' = "[LAW] PCSO UNITS ENR  [03\/18\/26 01:05:25 BAHARRIS] Event spawned from MVC WITH INJURY.  [03\/18\/2026 01:02:29 JDICK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 01:00:54 RJGIPSON] 273.8  SINGLE VEHICLE FROM PURSUIT  [03\/18\/26 01:00:37 JDICK]]"
[2026-03-18 06:08:22] [INFO]   -> Set field 'cADLog' = "[LAW] PCSO UNITS ENR  [03\/18\/26 01:05:25 BAHARRIS] Event spawned from MVC WITH INJURY.  [03\/18\/2026 01:02:29 JDICK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 01:00:54 RJGIPSON] 273.8  SINGLE VEHICLE FROM PURSUIT  [03\/18\/26 01:00:37 JDICK]]"
[2026-03-18 06:08:22] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 06:08:22] [INFO]   -> Found value: SILVER POINT
[2026-03-18 06:08:22] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-18 06:08:22] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 06:08:22] [INFO]   -> Found value: I 40
[2026-03-18 06:08:22] [INFO]   -> Set field 'streetName' = "I 40"
[2026-03-18 06:08:22] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 06:08:22] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:22] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 06:08:22] [INFO]   -> Found value: 273 E I 40
[2026-03-18 06:08:22] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "273 E I 40"
[2026-03-18 06:08:22] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-18 06:08:22] [INFO] Built locationCoordinates from lat/lng: 36.09178,-85.72975
[2026-03-18 06:08:22] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS\nRESC\nPF","incidentInternalId":"2026000728","dispatchRunNumber":"2026000728","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":273,"incidentLocationStateName":"TN","businessName":"MM273E","nERISIncidentLatitude":36.091779999999999972715158946812152862548828125,"nERISIncidentLongitude":-85.729749999999995679900166578590869903564453125,"alarm":"2026-03-18 01:02:29","dispatched":"2026-03-18 01:04:02","enroute":"2026-03-18 01:04:04","cADVehicleID":"EN33","timedispatch":"2026-03-18 01:08:19","timeenroutetoscene":"2026-03-18 01:08:19","policeReportNumber":"20260029259","dispatchNotes":"[LAW] PCSO UNITS ENR  [03\/18\/26 01:05:25 BAHARRIS] Event spawned from MVC WITH INJURY.  [03\/18\/2026 01:02:29 JDICK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 01:00:54 RJGIPSON] 273.8  SINGLE VEHICLE FROM PURSUIT  [03\/18\/26 01:00:37 JDICK]]","cADLog":"[LAW] PCSO UNITS ENR  [03\/18\/26 01:05:25 BAHARRIS] Event spawned from MVC WITH INJURY.  [03\/18\/2026 01:02:29 JDICK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 01:00:54 RJGIPSON] 273.8  SINGLE VEHICLE FROM PURSUIT  [03\/18\/26 01:00:37 JDICK]]","incidentLocationCity":"SILVER POINT","streetName":"I 40","incidentAddressTextVersionStreet":"273 E I 40","locationCoordinates":"36.09178,-85.72975"}
[2026-03-18 06:08:22] [INFO] Number of extracted fields: 22
[2026-03-18 06:08:22] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS
RESC
PF'
[2026-03-18 06:08:22] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS
RESC
PF', Parsed IDs = ["PCFD","PCSO","EMS","RESC","PF"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-18 06:08:22] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS","RESC","PF"]
[2026-03-18 06:08:22] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 06:08:22] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 06:08:22] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS","RESC","PF"]
[2026-03-18 06:08:23] [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-03-18 06:08:23] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 06:08:23] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-18 06:08:23] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 06:08:23] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 06:08:23] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-18 06:08:23] [INFO] Found existing Dispatch with cADNumber '2026000728', ID: 69ba405aa9c21675e - will update instead of create
[2026-03-18 06:08:23] [INFO] Updated existing Dispatches record with ID: 69ba405aa9c21675e
[2026-03-18 06:08:23] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029259_20260318_060822.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029259_20260318_060822.XML
[2026-03-18 06:08:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029259_20260318_060822.XML
[2026-03-18 06:08:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029259_20260318_060823.XML
[2026-03-18 06:08:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029259_20260318_060823.XML for user: 68f1466aed072ad4a
[2026-03-18 06:08:23] [INFO] File size: 6296 bytes
[2026-03-18 06:08:24] [INFO] Created FTPFiles record with ID: 69ba415817ba8a9ba
[2026-03-18 06:08:24] [INFO] About to extract fields from XML. File size: 6296 bytes
[2026-03-18 06:08:24] [INFO] Number of mappings: 28
[2026-03-18 06:08:24] [INFO] Starting XML parsing. Content length: 6296
[2026-03-18 06:08:24] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 06:08:24] [INFO] Processing 28 field mappings
[2026-03-18 06:08:24] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 06:08:24] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 06:08:24] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 06:08:24] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-18 06:08:24] [INFO]   -> Found value: PCFD
PCSO
EMS
RESC
PF
[2026-03-18 06:08:24] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS\nRESC\nPF"
[2026-03-18 06:08:24] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 06:08:24] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-18 06:08:24] [INFO]   -> Found value: 2026000728
[2026-03-18 06:08:24] [INFO]   -> Set field 'incidentInternalId' = "2026000728"
[2026-03-18 06:08:24] [INFO]   -> Set field 'dispatchRunNumber' = "2026000728"
[2026-03-18 06:08:24] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 06:08:24] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-18 06:08:24] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-18 06:08:24] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 06:08:24] [INFO]   -> Found value: 273
[2026-03-18 06:08:24] [INFO]   -> Set field 'incidentLocationStreetNumber' = 273
[2026-03-18 06:08:24] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 06:08:24] [INFO]   -> Found value: TN
[2026-03-18 06:08:24] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 06:08:24] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 06:08:24] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:24] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 06:08:24] [INFO]   -> Found value: MM273E
[2026-03-18 06:08:24] [INFO]   -> Set field 'businessName' = "MM273E"
[2026-03-18 06:08:24] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 06:08:24] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:24] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 06:08:24] [INFO]   -> Found value: 36.09178
[2026-03-18 06:08:24] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.091779999999999972715158946812152862548828125
[2026-03-18 06:08:24] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 06:08:24] [INFO]   -> Found value: -85.72975
[2026-03-18 06:08:24] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.729749999999995679900166578590869903564453125
[2026-03-18 06:08:24] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 06:08:24] [INFO]   -> Found value: 2026-03-18 01:02:29
[2026-03-18 06:08:24] [INFO]   -> Set field 'alarm' = "2026-03-18 01:02:29"
[2026-03-18 06:08:24] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 06:08:24] [INFO]   -> Found value: 2026-03-18 01:04:02
[2026-03-18 06:08:24] [INFO]   -> Set field 'dispatched' = "2026-03-18 01:04:02"
[2026-03-18 06:08:24] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 06:08:24] [INFO]   -> Found value: 2026-03-18 01:04:04
[2026-03-18 06:08:24] [INFO]   -> Set field 'enroute' = "2026-03-18 01:04:04"
[2026-03-18 06:08:24] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 06:08:24] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:24] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 06:08:24] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:24] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 06:08:24] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:24] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 06:08:24] [INFO]   -> Found value: EN33
[2026-03-18 06:08:24] [INFO]   -> Set field 'cADVehicleID' = "EN33"
[2026-03-18 06:08:24] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 06:08:24] [INFO]   -> Found value: 2026-03-18 01:08:19
[2026-03-18 06:08:24] [INFO]   -> Set field 'timedispatch' = "2026-03-18 01:08:19"
[2026-03-18 06:08:24] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 06:08:24] [INFO]   -> Found value: 2026-03-18 01:08:19
[2026-03-18 06:08:24] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 01:08:19"
[2026-03-18 06:08:24] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 06:08:24] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:24] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 06:08:24] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:24] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 06:08:24] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:24] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 06:08:24] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 06:08:24] [INFO]   -> Found value: 20260029259
[2026-03-18 06:08:24] [INFO]   -> Set field 'policeReportNumber' = "20260029259"
[2026-03-18 06:08:24] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 06:08:24] [INFO]   -> Found value: [LAW] PCSO UNITS ENR  [03/18/26 01:05:25 BAHARRIS] Event spawned from MVC WITH INJURY.  [03/18/2026 ...
[2026-03-18 06:08:24] [INFO]   -> Set field 'dispatchNotes' = "[LAW] PCSO UNITS ENR  [03\/18\/26 01:05:25 BAHARRIS] Event spawned from MVC WITH INJURY.  [03\/18\/2026 01:02:29 JDICK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 01:00:54 RJGIPSON] 273.8  SINGLE VEHICLE FROM PURSUIT  [03\/18\/26 01:00:37 JDICK]]"
[2026-03-18 06:08:24] [INFO]   -> Set field 'cADLog' = "[LAW] PCSO UNITS ENR  [03\/18\/26 01:05:25 BAHARRIS] Event spawned from MVC WITH INJURY.  [03\/18\/2026 01:02:29 JDICK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 01:00:54 RJGIPSON] 273.8  SINGLE VEHICLE FROM PURSUIT  [03\/18\/26 01:00:37 JDICK]]"
[2026-03-18 06:08:24] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 06:08:24] [INFO]   -> Found value: SILVER POINT
[2026-03-18 06:08:24] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-18 06:08:24] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 06:08:24] [INFO]   -> Found value: I 40
[2026-03-18 06:08:24] [INFO]   -> Set field 'streetName' = "I 40"
[2026-03-18 06:08:24] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 06:08:24] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:24] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 06:08:24] [INFO]   -> Found value: 273 E I 40
[2026-03-18 06:08:24] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "273 E I 40"
[2026-03-18 06:08:24] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-18 06:08:24] [INFO] Built locationCoordinates from lat/lng: 36.09178,-85.72975
[2026-03-18 06:08:24] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS\nRESC\nPF","incidentInternalId":"2026000728","dispatchRunNumber":"2026000728","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":273,"incidentLocationStateName":"TN","businessName":"MM273E","nERISIncidentLatitude":36.091779999999999972715158946812152862548828125,"nERISIncidentLongitude":-85.729749999999995679900166578590869903564453125,"alarm":"2026-03-18 01:02:29","dispatched":"2026-03-18 01:04:02","enroute":"2026-03-18 01:04:04","cADVehicleID":"EN33","timedispatch":"2026-03-18 01:08:19","timeenroutetoscene":"2026-03-18 01:08:19","policeReportNumber":"20260029259","dispatchNotes":"[LAW] PCSO UNITS ENR  [03\/18\/26 01:05:25 BAHARRIS] Event spawned from MVC WITH INJURY.  [03\/18\/2026 01:02:29 JDICK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 01:00:54 RJGIPSON] 273.8  SINGLE VEHICLE FROM PURSUIT  [03\/18\/26 01:00:37 JDICK]]","cADLog":"[LAW] PCSO UNITS ENR  [03\/18\/26 01:05:25 BAHARRIS] Event spawned from MVC WITH INJURY.  [03\/18\/2026 01:02:29 JDICK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 01:00:54 RJGIPSON] 273.8  SINGLE VEHICLE FROM PURSUIT  [03\/18\/26 01:00:37 JDICK]]","incidentLocationCity":"SILVER POINT","streetName":"I 40","incidentAddressTextVersionStreet":"273 E I 40","locationCoordinates":"36.09178,-85.72975"}
[2026-03-18 06:08:24] [INFO] Number of extracted fields: 22
[2026-03-18 06:08:24] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS
RESC
PF'
[2026-03-18 06:08:24] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS
RESC
PF', Parsed IDs = ["PCFD","PCSO","EMS","RESC","PF"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-18 06:08:24] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS","RESC","PF"]
[2026-03-18 06:08:24] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 06:08:24] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 06:08:24] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS","RESC","PF"]
[2026-03-18 06:08:24] [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-03-18 06:08:24] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 06:08:24] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-18 06:08:24] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 06:08:24] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 06:08:24] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-18 06:08:24] [INFO] Found existing Dispatch with cADNumber '2026000728', ID: 69ba405aa9c21675e - will update instead of create
[2026-03-18 06:08:25] [INFO] Updated existing Dispatches record with ID: 69ba405aa9c21675e
[2026-03-18 06:08:25] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029259_20260318_060823.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029259_20260318_060823.XML
[2026-03-18 06:08:25] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029259_20260318_060823.XML
[2026-03-18 06:08:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029259_20260318_060823_1.XML
[2026-03-18 06:08:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029259_20260318_060823_1.XML for user: 68f1466aed072ad4a
[2026-03-18 06:08:25] [INFO] File size: 6296 bytes
[2026-03-18 06:08:25] [INFO] Created FTPFiles record with ID: 69ba4159650eef9e1
[2026-03-18 06:08:25] [INFO] About to extract fields from XML. File size: 6296 bytes
[2026-03-18 06:08:25] [INFO] Number of mappings: 28
[2026-03-18 06:08:25] [INFO] Starting XML parsing. Content length: 6296
[2026-03-18 06:08:25] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 06:08:25] [INFO] Processing 28 field mappings
[2026-03-18 06:08:25] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 06:08:25] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 06:08:25] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 06:08:25] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-18 06:08:25] [INFO]   -> Found value: PCFD
PCSO
EMS
RESC
PF
[2026-03-18 06:08:25] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS\nRESC\nPF"
[2026-03-18 06:08:25] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 06:08:25] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-18 06:08:25] [INFO]   -> Found value: 2026000728
[2026-03-18 06:08:25] [INFO]   -> Set field 'incidentInternalId' = "2026000728"
[2026-03-18 06:08:25] [INFO]   -> Set field 'dispatchRunNumber' = "2026000728"
[2026-03-18 06:08:25] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 06:08:25] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-18 06:08:25] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-18 06:08:25] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 06:08:25] [INFO]   -> Found value: 273
[2026-03-18 06:08:25] [INFO]   -> Set field 'incidentLocationStreetNumber' = 273
[2026-03-18 06:08:25] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 06:08:25] [INFO]   -> Found value: TN
[2026-03-18 06:08:25] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 06:08:25] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 06:08:25] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:25] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 06:08:25] [INFO]   -> Found value: MM273E
[2026-03-18 06:08:25] [INFO]   -> Set field 'businessName' = "MM273E"
[2026-03-18 06:08:25] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 06:08:25] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:25] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 06:08:25] [INFO]   -> Found value: 36.09178
[2026-03-18 06:08:25] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.091779999999999972715158946812152862548828125
[2026-03-18 06:08:25] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 06:08:25] [INFO]   -> Found value: -85.72975
[2026-03-18 06:08:25] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.729749999999995679900166578590869903564453125
[2026-03-18 06:08:25] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 06:08:25] [INFO]   -> Found value: 2026-03-18 01:02:29
[2026-03-18 06:08:25] [INFO]   -> Set field 'alarm' = "2026-03-18 01:02:29"
[2026-03-18 06:08:25] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 06:08:25] [INFO]   -> Found value: 2026-03-18 01:04:02
[2026-03-18 06:08:25] [INFO]   -> Set field 'dispatched' = "2026-03-18 01:04:02"
[2026-03-18 06:08:25] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 06:08:25] [INFO]   -> Found value: 2026-03-18 01:04:04
[2026-03-18 06:08:25] [INFO]   -> Set field 'enroute' = "2026-03-18 01:04:04"
[2026-03-18 06:08:25] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 06:08:25] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:25] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 06:08:25] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:25] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 06:08:25] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:25] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 06:08:25] [INFO]   -> Found value: EN33
[2026-03-18 06:08:25] [INFO]   -> Set field 'cADVehicleID' = "EN33"
[2026-03-18 06:08:25] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 06:08:25] [INFO]   -> Found value: 2026-03-18 01:08:19
[2026-03-18 06:08:25] [INFO]   -> Set field 'timedispatch' = "2026-03-18 01:08:19"
[2026-03-18 06:08:25] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 06:08:25] [INFO]   -> Found value: 2026-03-18 01:08:19
[2026-03-18 06:08:25] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 01:08:19"
[2026-03-18 06:08:25] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 06:08:25] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:25] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 06:08:25] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:25] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 06:08:25] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:25] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 06:08:25] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 06:08:25] [INFO]   -> Found value: 20260029259
[2026-03-18 06:08:25] [INFO]   -> Set field 'policeReportNumber' = "20260029259"
[2026-03-18 06:08:25] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 06:08:25] [INFO]   -> Found value: [LAW] PCSO UNITS ENR  [03/18/26 01:05:25 BAHARRIS] Event spawned from MVC WITH INJURY.  [03/18/2026 ...
[2026-03-18 06:08:25] [INFO]   -> Set field 'dispatchNotes' = "[LAW] PCSO UNITS ENR  [03\/18\/26 01:05:25 BAHARRIS] Event spawned from MVC WITH INJURY.  [03\/18\/2026 01:02:29 JDICK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 01:00:54 RJGIPSON] 273.8  SINGLE VEHICLE FROM PURSUIT  [03\/18\/26 01:00:37 JDICK]]"
[2026-03-18 06:08:25] [INFO]   -> Set field 'cADLog' = "[LAW] PCSO UNITS ENR  [03\/18\/26 01:05:25 BAHARRIS] Event spawned from MVC WITH INJURY.  [03\/18\/2026 01:02:29 JDICK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 01:00:54 RJGIPSON] 273.8  SINGLE VEHICLE FROM PURSUIT  [03\/18\/26 01:00:37 JDICK]]"
[2026-03-18 06:08:25] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 06:08:25] [INFO]   -> Found value: SILVER POINT
[2026-03-18 06:08:25] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-18 06:08:25] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 06:08:25] [INFO]   -> Found value: I 40
[2026-03-18 06:08:25] [INFO]   -> Set field 'streetName' = "I 40"
[2026-03-18 06:08:25] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 06:08:25] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:25] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 06:08:25] [INFO]   -> Found value: 273 E I 40
[2026-03-18 06:08:25] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "273 E I 40"
[2026-03-18 06:08:25] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-18 06:08:25] [INFO] Built locationCoordinates from lat/lng: 36.09178,-85.72975
[2026-03-18 06:08:25] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS\nRESC\nPF","incidentInternalId":"2026000728","dispatchRunNumber":"2026000728","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":273,"incidentLocationStateName":"TN","businessName":"MM273E","nERISIncidentLatitude":36.091779999999999972715158946812152862548828125,"nERISIncidentLongitude":-85.729749999999995679900166578590869903564453125,"alarm":"2026-03-18 01:02:29","dispatched":"2026-03-18 01:04:02","enroute":"2026-03-18 01:04:04","cADVehicleID":"EN33","timedispatch":"2026-03-18 01:08:19","timeenroutetoscene":"2026-03-18 01:08:19","policeReportNumber":"20260029259","dispatchNotes":"[LAW] PCSO UNITS ENR  [03\/18\/26 01:05:25 BAHARRIS] Event spawned from MVC WITH INJURY.  [03\/18\/2026 01:02:29 JDICK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 01:00:54 RJGIPSON] 273.8  SINGLE VEHICLE FROM PURSUIT  [03\/18\/26 01:00:37 JDICK]]","cADLog":"[LAW] PCSO UNITS ENR  [03\/18\/26 01:05:25 BAHARRIS] Event spawned from MVC WITH INJURY.  [03\/18\/2026 01:02:29 JDICK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 01:00:54 RJGIPSON] 273.8  SINGLE VEHICLE FROM PURSUIT  [03\/18\/26 01:00:37 JDICK]]","incidentLocationCity":"SILVER POINT","streetName":"I 40","incidentAddressTextVersionStreet":"273 E I 40","locationCoordinates":"36.09178,-85.72975"}
[2026-03-18 06:08:25] [INFO] Number of extracted fields: 22
[2026-03-18 06:08:25] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS
RESC
PF'
[2026-03-18 06:08:25] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS
RESC
PF', Parsed IDs = ["PCFD","PCSO","EMS","RESC","PF"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-18 06:08:25] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS","RESC","PF"]
[2026-03-18 06:08:25] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 06:08:25] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 06:08:25] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS","RESC","PF"]
[2026-03-18 06:08:25] [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-03-18 06:08:25] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 06:08:25] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-18 06:08:25] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 06:08:25] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 06:08:25] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-18 06:08:26] [INFO] Found existing Dispatch with cADNumber '2026000728', ID: 69ba405aa9c21675e - will update instead of create
[2026-03-18 06:08:26] [INFO] Updated existing Dispatches record with ID: 69ba405aa9c21675e
[2026-03-18 06:08:26] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029259_20260318_060823_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029259_20260318_060823_1.XML
[2026-03-18 06:08:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029259_20260318_060823_1.XML
[2026-03-18 06:08:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029259_20260318_060830.XML
[2026-03-18 06:08:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029259_20260318_060830.XML for user: 68f1466aed072ad4a
[2026-03-18 06:08:30] [INFO] File size: 6296 bytes
[2026-03-18 06:08:31] [INFO] Created FTPFiles record with ID: 69ba415f23f856961
[2026-03-18 06:08:31] [INFO] About to extract fields from XML. File size: 6296 bytes
[2026-03-18 06:08:31] [INFO] Number of mappings: 28
[2026-03-18 06:08:31] [INFO] Starting XML parsing. Content length: 6296
[2026-03-18 06:08:31] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 06:08:31] [INFO] Processing 28 field mappings
[2026-03-18 06:08:31] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 06:08:31] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 06:08:31] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 06:08:31] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-18 06:08:31] [INFO]   -> Found value: PCFD
PCSO
EMS
RESC
PF
[2026-03-18 06:08:31] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS\nRESC\nPF"
[2026-03-18 06:08:31] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 06:08:31] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-18 06:08:31] [INFO]   -> Found value: 2026000728
[2026-03-18 06:08:31] [INFO]   -> Set field 'incidentInternalId' = "2026000728"
[2026-03-18 06:08:31] [INFO]   -> Set field 'dispatchRunNumber' = "2026000728"
[2026-03-18 06:08:31] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 06:08:31] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-18 06:08:31] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-18 06:08:31] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 06:08:31] [INFO]   -> Found value: 273
[2026-03-18 06:08:31] [INFO]   -> Set field 'incidentLocationStreetNumber' = 273
[2026-03-18 06:08:31] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 06:08:31] [INFO]   -> Found value: TN
[2026-03-18 06:08:31] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 06:08:31] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 06:08:31] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:31] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 06:08:31] [INFO]   -> Found value: MM273E
[2026-03-18 06:08:31] [INFO]   -> Set field 'businessName' = "MM273E"
[2026-03-18 06:08:31] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 06:08:31] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:31] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 06:08:31] [INFO]   -> Found value: 36.09178
[2026-03-18 06:08:31] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.091779999999999972715158946812152862548828125
[2026-03-18 06:08:31] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 06:08:31] [INFO]   -> Found value: -85.72975
[2026-03-18 06:08:31] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.729749999999995679900166578590869903564453125
[2026-03-18 06:08:31] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 06:08:31] [INFO]   -> Found value: 2026-03-18 01:02:29
[2026-03-18 06:08:31] [INFO]   -> Set field 'alarm' = "2026-03-18 01:02:29"
[2026-03-18 06:08:31] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 06:08:31] [INFO]   -> Found value: 2026-03-18 01:04:02
[2026-03-18 06:08:31] [INFO]   -> Set field 'dispatched' = "2026-03-18 01:04:02"
[2026-03-18 06:08:31] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 06:08:31] [INFO]   -> Found value: 2026-03-18 01:04:04
[2026-03-18 06:08:31] [INFO]   -> Set field 'enroute' = "2026-03-18 01:04:04"
[2026-03-18 06:08:31] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 06:08:31] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:31] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 06:08:31] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:31] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 06:08:31] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:31] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 06:08:31] [INFO]   -> Found value: EN33
[2026-03-18 06:08:31] [INFO]   -> Set field 'cADVehicleID' = "EN33"
[2026-03-18 06:08:31] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 06:08:31] [INFO]   -> Found value: 2026-03-18 01:08:19
[2026-03-18 06:08:31] [INFO]   -> Set field 'timedispatch' = "2026-03-18 01:08:19"
[2026-03-18 06:08:31] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 06:08:31] [INFO]   -> Found value: 2026-03-18 01:08:19
[2026-03-18 06:08:31] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 01:08:19"
[2026-03-18 06:08:31] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 06:08:31] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:31] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 06:08:31] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:31] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 06:08:31] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:31] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 06:08:31] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 06:08:31] [INFO]   -> Found value: 20260029259
[2026-03-18 06:08:31] [INFO]   -> Set field 'policeReportNumber' = "20260029259"
[2026-03-18 06:08:31] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 06:08:31] [INFO]   -> Found value: [LAW] PCSO UNITS ENR  [03/18/26 01:05:25 BAHARRIS] Event spawned from MVC WITH INJURY.  [03/18/2026 ...
[2026-03-18 06:08:31] [INFO]   -> Set field 'dispatchNotes' = "[LAW] PCSO UNITS ENR  [03\/18\/26 01:05:25 BAHARRIS] Event spawned from MVC WITH INJURY.  [03\/18\/2026 01:02:29 JDICK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 01:00:54 RJGIPSON] 273.8  SINGLE VEHICLE FROM PURSUIT  [03\/18\/26 01:00:37 JDICK]]"
[2026-03-18 06:08:31] [INFO]   -> Set field 'cADLog' = "[LAW] PCSO UNITS ENR  [03\/18\/26 01:05:25 BAHARRIS] Event spawned from MVC WITH INJURY.  [03\/18\/2026 01:02:29 JDICK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 01:00:54 RJGIPSON] 273.8  SINGLE VEHICLE FROM PURSUIT  [03\/18\/26 01:00:37 JDICK]]"
[2026-03-18 06:08:31] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 06:08:31] [INFO]   -> Found value: SILVER POINT
[2026-03-18 06:08:31] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-18 06:08:31] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 06:08:31] [INFO]   -> Found value: I 40
[2026-03-18 06:08:31] [INFO]   -> Set field 'streetName' = "I 40"
[2026-03-18 06:08:31] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 06:08:31] [INFO]   -> No value found (null or empty)
[2026-03-18 06:08:31] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 06:08:31] [INFO]   -> Found value: 273 E I 40
[2026-03-18 06:08:31] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "273 E I 40"
[2026-03-18 06:08:31] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-18 06:08:31] [INFO] Built locationCoordinates from lat/lng: 36.09178,-85.72975
[2026-03-18 06:08:31] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS\nRESC\nPF","incidentInternalId":"2026000728","dispatchRunNumber":"2026000728","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":273,"incidentLocationStateName":"TN","businessName":"MM273E","nERISIncidentLatitude":36.091779999999999972715158946812152862548828125,"nERISIncidentLongitude":-85.729749999999995679900166578590869903564453125,"alarm":"2026-03-18 01:02:29","dispatched":"2026-03-18 01:04:02","enroute":"2026-03-18 01:04:04","cADVehicleID":"EN33","timedispatch":"2026-03-18 01:08:19","timeenroutetoscene":"2026-03-18 01:08:19","policeReportNumber":"20260029259","dispatchNotes":"[LAW] PCSO UNITS ENR  [03\/18\/26 01:05:25 BAHARRIS] Event spawned from MVC WITH INJURY.  [03\/18\/2026 01:02:29 JDICK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 01:00:54 RJGIPSON] 273.8  SINGLE VEHICLE FROM PURSUIT  [03\/18\/26 01:00:37 JDICK]]","cADLog":"[LAW] PCSO UNITS ENR  [03\/18\/26 01:05:25 BAHARRIS] Event spawned from MVC WITH INJURY.  [03\/18\/2026 01:02:29 JDICK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 01:00:54 RJGIPSON] 273.8  SINGLE VEHICLE FROM PURSUIT  [03\/18\/26 01:00:37 JDICK]]","incidentLocationCity":"SILVER POINT","streetName":"I 40","incidentAddressTextVersionStreet":"273 E I 40","locationCoordinates":"36.09178,-85.72975"}
[2026-03-18 06:08:31] [INFO] Number of extracted fields: 22
[2026-03-18 06:08:31] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS
RESC
PF'
[2026-03-18 06:08:31] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS
RESC
PF', Parsed IDs = ["PCFD","PCSO","EMS","RESC","PF"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-18 06:08:31] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS","RESC","PF"]
[2026-03-18 06:08:31] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 06:08:31] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 06:08:31] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS","RESC","PF"]
[2026-03-18 06:08: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-03-18 06:08:31] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 06:08:31] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-18 06:08:31] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 06:08:31] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 06:08:31] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-18 06:08:31] [INFO] Found existing Dispatch with cADNumber '2026000728', ID: 69ba405aa9c21675e - will update instead of create
[2026-03-18 06:08:32] [INFO] Updated existing Dispatches record with ID: 69ba405aa9c21675e
[2026-03-18 06:08:32] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029259_20260318_060830.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029259_20260318_060830.XML
[2026-03-18 06:08:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029259_20260318_060830.XML
[2026-03-18 06:16:59] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029263_20260318_061659.XML
[2026-03-18 06:16:59] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029263_20260318_061659.XML for user: 68f1466aed072ad4a
[2026-03-18 06:16:59] [INFO] File size: 5423 bytes
[2026-03-18 06:16:59] [INFO] Created FTPFiles record with ID: 69ba435bae0d9ca55
[2026-03-18 06:16:59] [INFO] About to extract fields from XML. File size: 5423 bytes
[2026-03-18 06:16:59] [INFO] Number of mappings: 28
[2026-03-18 06:16:59] [INFO] Starting XML parsing. Content length: 5423
[2026-03-18 06:16:59] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 06:16:59] [INFO] Processing 28 field mappings
[2026-03-18 06:16:59] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 06:16:59] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 06:16:59] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 06:16:59] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 06:16:59] [INFO]   -> Found value: PCFD
EMS
RESC
PF
[2026-03-18 06:16:59] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC\nPF"
[2026-03-18 06:16:59] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 06:16:59] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 06:16:59] [INFO]   -> Found value: 2026000729
[2026-03-18 06:16:59] [INFO]   -> Set field 'incidentInternalId' = "2026000729"
[2026-03-18 06:16:59] [INFO]   -> Set field 'dispatchRunNumber' = "2026000729"
[2026-03-18 06:16:59] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 06:16:59] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-18 06:16:59] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-18 06:16:59] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 06:16:59] [INFO]   -> Found value: 7601
[2026-03-18 06:16:59] [INFO]   -> Set field 'incidentLocationStreetNumber' = 7601
[2026-03-18 06:16:59] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 06:16:59] [INFO]   -> Found value: TN
[2026-03-18 06:16:59] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 06:16:59] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 06:16:59] [INFO]   -> Found value: 38583
[2026-03-18 06:16:59] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38583
[2026-03-18 06:16:59] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 06:16:59] [INFO]   -> No value found (null or empty)
[2026-03-18 06:16:59] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 06:16:59] [INFO]   -> No value found (null or empty)
[2026-03-18 06:16:59] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 06:16:59] [INFO]   -> Found value: 36.07751
[2026-03-18 06:16:59] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.07750999999999663714334019459784030914306640625
[2026-03-18 06:16:59] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 06:16:59] [INFO]   -> Found value: -85.37920
[2026-03-18 06:16:59] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.379199999999997316990629769861698150634765625
[2026-03-18 06:16:59] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 06:16:59] [INFO]   -> Found value: 2026-03-18 01:16:44
[2026-03-18 06:16:59] [INFO]   -> Set field 'alarm' = "2026-03-18 01:16:44"
[2026-03-18 06:16:59] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 06:16:59] [INFO]   -> Found value: 2026-03-18 01:16:52
[2026-03-18 06:16:59] [INFO]   -> Set field 'dispatched' = "2026-03-18 01:16:52"
[2026-03-18 06:16:59] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 06:16:59] [INFO]   -> No value found (null or empty)
[2026-03-18 06:16:59] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 06:16:59] [INFO]   -> No value found (null or empty)
[2026-03-18 06:16:59] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 06:16:59] [INFO]   -> No value found (null or empty)
[2026-03-18 06:16:59] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 06:16:59] [INFO]   -> Found value: PLEASANT RIDGE RD
[2026-03-18 06:16:59] [INFO]   -> Set field 'incidentLocationCross' = "PLEASANT RIDGE RD"
[2026-03-18 06:16:59] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 06:16:59] [INFO]   -> Found value: PCFR
[2026-03-18 06:16:59] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-18 06:16:59] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 06:16:59] [INFO]   -> Found value: 2026-03-18 01:16:52
[2026-03-18 06:16:59] [INFO]   -> Set field 'timedispatch' = "2026-03-18 01:16:52"
[2026-03-18 06:16:59] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 06:16:59] [INFO]   -> No value found (null or empty)
[2026-03-18 06:16:59] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 06:16:59] [INFO]   -> No value found (null or empty)
[2026-03-18 06:16:59] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 06:16:59] [INFO]   -> No value found (null or empty)
[2026-03-18 06:16:59] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 06:16:59] [INFO]   -> No value found (null or empty)
[2026-03-18 06:16:59] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 06:16:59] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 06:16:59] [INFO]   -> Found value: 20260029263
[2026-03-18 06:16:59] [INFO]   -> Set field 'policeReportNumber' = "20260029263"
[2026-03-18 06:16:59] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 06:16:59] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/18/2026 01:16:44 DSWINK] CARDIAC HX  [03/18/26 01:16:07 ...
[2026-03-18 06:16:59] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/18\/2026 01:16:44 DSWINK] CARDIAC HX  [03\/18\/26 01:16:07 DSWINK] FRONT DOOR ENTRANCE  [03\/18\/26 01:15:54 DSWINK] 80S FEMALES  [03\/18\/26 01:15:46 DSWINK]"
[2026-03-18 06:16:59] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/18\/2026 01:16:44 DSWINK] CARDIAC HX  [03\/18\/26 01:16:07 DSWINK] FRONT DOOR ENTRANCE  [03\/18\/26 01:15:54 DSWINK] 80S FEMALES  [03\/18\/26 01:15:46 DSWINK]"
[2026-03-18 06:16:59] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 06:16:59] [INFO]   -> Found value: SPARTA
[2026-03-18 06:16:59] [INFO]   -> Set field 'incidentLocationCity' = "SPARTA"
[2026-03-18 06:16:59] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 06:16:59] [INFO]   -> Found value: BLUFF TOP
[2026-03-18 06:16:59] [INFO]   -> Set field 'streetName' = "BLUFF TOP"
[2026-03-18 06:16:59] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 06:16:59] [INFO]   -> Found value: RD
[2026-03-18 06:16:59] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 06:16:59] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 06:16:59] [INFO]   -> Found value: 7601 BLUFF TOP RD
[2026-03-18 06:16:59] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "7601 BLUFF TOP RD"
[2026-03-18 06:16:59] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-18 06:16:59] [INFO] Concatenating street name and type
[2026-03-18 06:16:59] [INFO]   -> Combined street name: BLUFF TOP RD
[2026-03-18 06:16:59] [INFO] Built locationCoordinates from lat/lng: 36.07751,-85.3792
[2026-03-18 06:16:59] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC\nPF","incidentInternalId":"2026000729","dispatchRunNumber":"2026000729","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":7601,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38583,"nERISIncidentLatitude":36.07750999999999663714334019459784030914306640625,"nERISIncidentLongitude":-85.379199999999997316990629769861698150634765625,"alarm":"2026-03-18 01:16:44","dispatched":"2026-03-18 01:16:52","incidentLocationCross":"PLEASANT RIDGE RD","cADVehicleID":"PCFR","timedispatch":"2026-03-18 01:16:52","policeReportNumber":"20260029263","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/18\/2026 01:16:44 DSWINK] CARDIAC HX  [03\/18\/26 01:16:07 DSWINK] FRONT DOOR ENTRANCE  [03\/18\/26 01:15:54 DSWINK] 80S FEMALES  [03\/18\/26 01:15:46 DSWINK]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/18\/2026 01:16:44 DSWINK] CARDIAC HX  [03\/18\/26 01:16:07 DSWINK] FRONT DOOR ENTRANCE  [03\/18\/26 01:15:54 DSWINK] 80S FEMALES  [03\/18\/26 01:15:46 DSWINK]","incidentLocationCity":"SPARTA","streetName":"BLUFF TOP RD","incidentAddressTextVersionStreet":"7601 BLUFF TOP RD","locationCoordinates":"36.07751,-85.3792"}
[2026-03-18 06:16:59] [INFO] Number of extracted fields: 21
[2026-03-18 06:16:59] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC
PF'
[2026-03-18 06:16:59] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC
PF', Parsed IDs = ["PCFD","EMS","RESC","PF"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-18 06:16:59] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC","PF"]
[2026-03-18 06:16:59] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 06:16:59] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 06:16:59] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PF"]
[2026-03-18 06:17: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-03-18 06:17:00] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 06:17:00] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 06:17:00] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 06:17:00] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 06:17:00] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-18 06:17:10] [INFO] Created new Dispatches record with ID: 69ba435c8d138a7f5
[2026-03-18 06:17:10] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029263_20260318_061659.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029263_20260318_061659.XML
[2026-03-18 06:17:10] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029263_20260318_061659.XML
[2026-03-18 06:22:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029263_20260318_062250.XML
[2026-03-18 06:22:50] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029263_20260318_062250.XML for user: 68f1466aed072ad4a
[2026-03-18 06:22:50] [INFO] File size: 6392 bytes
[2026-03-18 06:22:51] [INFO] Created FTPFiles record with ID: 69ba44bb472a2b520
[2026-03-18 06:22:51] [INFO] About to extract fields from XML. File size: 6392 bytes
[2026-03-18 06:22:51] [INFO] Number of mappings: 28
[2026-03-18 06:22:51] [INFO] Starting XML parsing. Content length: 6392
[2026-03-18 06:22:51] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 06:22:51] [INFO] Processing 28 field mappings
[2026-03-18 06:22:51] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 06:22:51] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 06:22:51] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 06:22:51] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 06:22:51] [INFO]   -> Found value: PCFD
EMS
RESC
PF
[2026-03-18 06:22:51] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC\nPF"
[2026-03-18 06:22:51] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 06:22:51] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 06:22:51] [INFO]   -> Found value: 2026000729
[2026-03-18 06:22:51] [INFO]   -> Set field 'incidentInternalId' = "2026000729"
[2026-03-18 06:22:51] [INFO]   -> Set field 'dispatchRunNumber' = "2026000729"
[2026-03-18 06:22:51] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 06:22:51] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-18 06:22:51] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-18 06:22:51] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 06:22:51] [INFO]   -> Found value: 7601
[2026-03-18 06:22:51] [INFO]   -> Set field 'incidentLocationStreetNumber' = 7601
[2026-03-18 06:22:51] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 06:22:51] [INFO]   -> Found value: TN
[2026-03-18 06:22:51] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 06:22:51] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 06:22:51] [INFO]   -> Found value: 38583
[2026-03-18 06:22:51] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38583
[2026-03-18 06:22:51] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 06:22:51] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:51] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 06:22:51] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:51] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 06:22:51] [INFO]   -> Found value: 36.07751
[2026-03-18 06:22:51] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.07750999999999663714334019459784030914306640625
[2026-03-18 06:22:51] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 06:22:51] [INFO]   -> Found value: -85.37920
[2026-03-18 06:22:51] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.379199999999997316990629769861698150634765625
[2026-03-18 06:22:51] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 06:22:51] [INFO]   -> Found value: 2026-03-18 01:16:44
[2026-03-18 06:22:51] [INFO]   -> Set field 'alarm' = "2026-03-18 01:16:44"
[2026-03-18 06:22:51] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 06:22:51] [INFO]   -> Found value: 2026-03-18 01:16:52
[2026-03-18 06:22:51] [INFO]   -> Set field 'dispatched' = "2026-03-18 01:16:52"
[2026-03-18 06:22:51] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 06:22:51] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:51] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 06:22:51] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:51] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 06:22:51] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:51] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 06:22:51] [INFO]   -> Found value: PLEASANT RIDGE RD
[2026-03-18 06:22:51] [INFO]   -> Set field 'incidentLocationCross' = "PLEASANT RIDGE RD"
[2026-03-18 06:22:51] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 06:22:51] [INFO]   -> Found value: PCFR
[2026-03-18 06:22:51] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-18 06:22:51] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 06:22:51] [INFO]   -> Found value: 2026-03-18 01:16:52
[2026-03-18 06:22:51] [INFO]   -> Set field 'timedispatch' = "2026-03-18 01:16:52"
[2026-03-18 06:22:51] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 06:22:51] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:51] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 06:22:51] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:51] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 06:22:51] [INFO]   -> Found value: 2026-03-18 01:22:41
[2026-03-18 06:22:51] [INFO]   -> Set field 'timeunitclear' = "2026-03-18 01:22:41"
[2026-03-18 06:22:51] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 06:22:51] [INFO]   -> Found value: 2026-03-18 01:22:41
[2026-03-18 06:22:51] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-18 01:22:41"
[2026-03-18 06:22:51] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 06:22:51] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 06:22:51] [INFO]   -> Found value: 20260029263
[2026-03-18 06:22:51] [INFO]   -> Set field 'policeReportNumber' = "20260029263"
[2026-03-18 06:22:51] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 06:22:51] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/18/2026 01:16:44 DSWINK] CARDIAC HX  [03/18/26 01:16:07 ...
[2026-03-18 06:22:51] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/18\/2026 01:16:44 DSWINK] CARDIAC HX  [03\/18\/26 01:16:07 DSWINK] FRONT DOOR ENTRANCE  [03\/18\/26 01:15:54 DSWINK] 80S FEMALES  [03\/18\/26 01:15:46 DSWINK]"
[2026-03-18 06:22:51] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/18\/2026 01:16:44 DSWINK] CARDIAC HX  [03\/18\/26 01:16:07 DSWINK] FRONT DOOR ENTRANCE  [03\/18\/26 01:15:54 DSWINK] 80S FEMALES  [03\/18\/26 01:15:46 DSWINK]"
[2026-03-18 06:22:51] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 06:22:51] [INFO]   -> Found value: SPARTA
[2026-03-18 06:22:51] [INFO]   -> Set field 'incidentLocationCity' = "SPARTA"
[2026-03-18 06:22:51] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 06:22:51] [INFO]   -> Found value: BLUFF TOP
[2026-03-18 06:22:51] [INFO]   -> Set field 'streetName' = "BLUFF TOP"
[2026-03-18 06:22:51] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 06:22:51] [INFO]   -> Found value: RD
[2026-03-18 06:22:51] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 06:22:51] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 06:22:51] [INFO]   -> Found value: 7601 BLUFF TOP RD
[2026-03-18 06:22:51] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "7601 BLUFF TOP RD"
[2026-03-18 06:22:51] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 06:22:51] [INFO] Concatenating street name and type
[2026-03-18 06:22:51] [INFO]   -> Combined street name: BLUFF TOP RD
[2026-03-18 06:22:51] [INFO] Built locationCoordinates from lat/lng: 36.07751,-85.3792
[2026-03-18 06:22:51] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC\nPF","incidentInternalId":"2026000729","dispatchRunNumber":"2026000729","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":7601,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38583,"nERISIncidentLatitude":36.07750999999999663714334019459784030914306640625,"nERISIncidentLongitude":-85.379199999999997316990629769861698150634765625,"alarm":"2026-03-18 01:16:44","dispatched":"2026-03-18 01:16:52","incidentLocationCross":"PLEASANT RIDGE RD","cADVehicleID":"PCFR","timedispatch":"2026-03-18 01:16:52","timeunitclear":"2026-03-18 01:22:41","timecanceledenroute":"2026-03-18 01:22:41","policeReportNumber":"20260029263","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/18\/2026 01:16:44 DSWINK] CARDIAC HX  [03\/18\/26 01:16:07 DSWINK] FRONT DOOR ENTRANCE  [03\/18\/26 01:15:54 DSWINK] 80S FEMALES  [03\/18\/26 01:15:46 DSWINK]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/18\/2026 01:16:44 DSWINK] CARDIAC HX  [03\/18\/26 01:16:07 DSWINK] FRONT DOOR ENTRANCE  [03\/18\/26 01:15:54 DSWINK] 80S FEMALES  [03\/18\/26 01:15:46 DSWINK]","incidentLocationCity":"SPARTA","streetName":"BLUFF TOP RD","incidentAddressTextVersionStreet":"7601 BLUFF TOP RD","locationCoordinates":"36.07751,-85.3792"}
[2026-03-18 06:22:51] [INFO] Number of extracted fields: 23
[2026-03-18 06:22:51] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC
PF'
[2026-03-18 06:22:51] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC
PF', Parsed IDs = ["PCFD","EMS","RESC","PF"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-18 06:22:51] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC","PF"]
[2026-03-18 06:22:51] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 06:22:51] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 06:22:51] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PF"]
[2026-03-18 06:22:51] [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-03-18 06:22:51] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 06:22:51] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 06:22:51] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 06:22:51] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 06:22:51] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-18 06:22:52] [INFO] Found existing Dispatch with cADNumber '2026000729', ID: 69ba435c8d138a7f5 - will update instead of create
[2026-03-18 06:22:52] [INFO] Updated existing Dispatches record with ID: 69ba435c8d138a7f5
[2026-03-18 06:22:52] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029263_20260318_062250.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029263_20260318_062250.XML
[2026-03-18 06:22:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029263_20260318_062250.XML
[2026-03-18 06:22:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029263_20260318_062252.XML
[2026-03-18 06:22:52] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029263_20260318_062252.XML for user: 68f1466aed072ad4a
[2026-03-18 06:22:52] [INFO] File size: 6392 bytes
[2026-03-18 06:22:52] [INFO] Created FTPFiles record with ID: 69ba44bcb87bf7c98
[2026-03-18 06:22:52] [INFO] About to extract fields from XML. File size: 6392 bytes
[2026-03-18 06:22:52] [INFO] Number of mappings: 28
[2026-03-18 06:22:52] [INFO] Starting XML parsing. Content length: 6392
[2026-03-18 06:22:52] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 06:22:52] [INFO] Processing 28 field mappings
[2026-03-18 06:22:52] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 06:22:52] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 06:22:52] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 06:22:52] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 06:22:52] [INFO]   -> Found value: PCFD
EMS
RESC
PF
[2026-03-18 06:22:52] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC\nPF"
[2026-03-18 06:22:52] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 06:22:52] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 06:22:52] [INFO]   -> Found value: 2026000729
[2026-03-18 06:22:52] [INFO]   -> Set field 'incidentInternalId' = "2026000729"
[2026-03-18 06:22:52] [INFO]   -> Set field 'dispatchRunNumber' = "2026000729"
[2026-03-18 06:22:52] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 06:22:52] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-18 06:22:52] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-18 06:22:52] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 06:22:52] [INFO]   -> Found value: 7601
[2026-03-18 06:22:52] [INFO]   -> Set field 'incidentLocationStreetNumber' = 7601
[2026-03-18 06:22:52] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 06:22:52] [INFO]   -> Found value: TN
[2026-03-18 06:22:52] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 06:22:52] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 06:22:52] [INFO]   -> Found value: 38583
[2026-03-18 06:22:52] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38583
[2026-03-18 06:22:52] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 06:22:52] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:52] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 06:22:52] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:52] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 06:22:52] [INFO]   -> Found value: 36.07751
[2026-03-18 06:22:52] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.07750999999999663714334019459784030914306640625
[2026-03-18 06:22:52] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 06:22:52] [INFO]   -> Found value: -85.37920
[2026-03-18 06:22:52] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.379199999999997316990629769861698150634765625
[2026-03-18 06:22:52] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 06:22:52] [INFO]   -> Found value: 2026-03-18 01:16:44
[2026-03-18 06:22:52] [INFO]   -> Set field 'alarm' = "2026-03-18 01:16:44"
[2026-03-18 06:22:52] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 06:22:52] [INFO]   -> Found value: 2026-03-18 01:16:52
[2026-03-18 06:22:52] [INFO]   -> Set field 'dispatched' = "2026-03-18 01:16:52"
[2026-03-18 06:22:52] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 06:22:52] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:52] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 06:22:52] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:52] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 06:22:52] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:52] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 06:22:52] [INFO]   -> Found value: PLEASANT RIDGE RD
[2026-03-18 06:22:52] [INFO]   -> Set field 'incidentLocationCross' = "PLEASANT RIDGE RD"
[2026-03-18 06:22:52] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 06:22:52] [INFO]   -> Found value: PCFR
[2026-03-18 06:22:52] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-18 06:22:52] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 06:22:52] [INFO]   -> Found value: 2026-03-18 01:16:52
[2026-03-18 06:22:52] [INFO]   -> Set field 'timedispatch' = "2026-03-18 01:16:52"
[2026-03-18 06:22:52] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 06:22:52] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:52] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 06:22:52] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:52] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 06:22:52] [INFO]   -> Found value: 2026-03-18 01:22:41
[2026-03-18 06:22:52] [INFO]   -> Set field 'timeunitclear' = "2026-03-18 01:22:41"
[2026-03-18 06:22:52] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 06:22:52] [INFO]   -> Found value: 2026-03-18 01:22:41
[2026-03-18 06:22:52] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-18 01:22:41"
[2026-03-18 06:22:52] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 06:22:52] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 06:22:52] [INFO]   -> Found value: 20260029263
[2026-03-18 06:22:52] [INFO]   -> Set field 'policeReportNumber' = "20260029263"
[2026-03-18 06:22:52] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 06:22:52] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/18/2026 01:16:44 DSWINK] CARDIAC HX  [03/18/26 01:16:07 ...
[2026-03-18 06:22:52] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/18\/2026 01:16:44 DSWINK] CARDIAC HX  [03\/18\/26 01:16:07 DSWINK] FRONT DOOR ENTRANCE  [03\/18\/26 01:15:54 DSWINK] 80S FEMALES  [03\/18\/26 01:15:46 DSWINK]"
[2026-03-18 06:22:52] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/18\/2026 01:16:44 DSWINK] CARDIAC HX  [03\/18\/26 01:16:07 DSWINK] FRONT DOOR ENTRANCE  [03\/18\/26 01:15:54 DSWINK] 80S FEMALES  [03\/18\/26 01:15:46 DSWINK]"
[2026-03-18 06:22:52] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 06:22:52] [INFO]   -> Found value: SPARTA
[2026-03-18 06:22:52] [INFO]   -> Set field 'incidentLocationCity' = "SPARTA"
[2026-03-18 06:22:52] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 06:22:52] [INFO]   -> Found value: BLUFF TOP
[2026-03-18 06:22:52] [INFO]   -> Set field 'streetName' = "BLUFF TOP"
[2026-03-18 06:22:52] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 06:22:52] [INFO]   -> Found value: RD
[2026-03-18 06:22:52] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 06:22:52] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 06:22:52] [INFO]   -> Found value: 7601 BLUFF TOP RD
[2026-03-18 06:22:52] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "7601 BLUFF TOP RD"
[2026-03-18 06:22:52] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 06:22:52] [INFO] Concatenating street name and type
[2026-03-18 06:22:52] [INFO]   -> Combined street name: BLUFF TOP RD
[2026-03-18 06:22:52] [INFO] Built locationCoordinates from lat/lng: 36.07751,-85.3792
[2026-03-18 06:22:52] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC\nPF","incidentInternalId":"2026000729","dispatchRunNumber":"2026000729","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":7601,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38583,"nERISIncidentLatitude":36.07750999999999663714334019459784030914306640625,"nERISIncidentLongitude":-85.379199999999997316990629769861698150634765625,"alarm":"2026-03-18 01:16:44","dispatched":"2026-03-18 01:16:52","incidentLocationCross":"PLEASANT RIDGE RD","cADVehicleID":"PCFR","timedispatch":"2026-03-18 01:16:52","timeunitclear":"2026-03-18 01:22:41","timecanceledenroute":"2026-03-18 01:22:41","policeReportNumber":"20260029263","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/18\/2026 01:16:44 DSWINK] CARDIAC HX  [03\/18\/26 01:16:07 DSWINK] FRONT DOOR ENTRANCE  [03\/18\/26 01:15:54 DSWINK] 80S FEMALES  [03\/18\/26 01:15:46 DSWINK]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/18\/2026 01:16:44 DSWINK] CARDIAC HX  [03\/18\/26 01:16:07 DSWINK] FRONT DOOR ENTRANCE  [03\/18\/26 01:15:54 DSWINK] 80S FEMALES  [03\/18\/26 01:15:46 DSWINK]","incidentLocationCity":"SPARTA","streetName":"BLUFF TOP RD","incidentAddressTextVersionStreet":"7601 BLUFF TOP RD","locationCoordinates":"36.07751,-85.3792"}
[2026-03-18 06:22:52] [INFO] Number of extracted fields: 23
[2026-03-18 06:22:52] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC
PF'
[2026-03-18 06:22:52] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC
PF', Parsed IDs = ["PCFD","EMS","RESC","PF"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-18 06:22:52] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC","PF"]
[2026-03-18 06:22:52] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 06:22:52] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 06:22:52] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PF"]
[2026-03-18 06:22: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-03-18 06:22:53] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 06:22:53] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 06:22:53] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 06:22:53] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 06:22:53] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-18 06:22:53] [INFO] Found existing Dispatch with cADNumber '2026000729', ID: 69ba435c8d138a7f5 - will update instead of create
[2026-03-18 06:22:53] [INFO] Updated existing Dispatches record with ID: 69ba435c8d138a7f5
[2026-03-18 06:22:53] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029263_20260318_062252.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029263_20260318_062252.XML
[2026-03-18 06:22:53] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029263_20260318_062252.XML
[2026-03-18 06:22:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029263_20260318_062253.XML
[2026-03-18 06:22:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029263_20260318_062253.XML for user: 68f1466aed072ad4a
[2026-03-18 06:22:53] [INFO] File size: 6459 bytes
[2026-03-18 06:22:54] [INFO] Created FTPFiles record with ID: 69ba44be09054a355
[2026-03-18 06:22:54] [INFO] About to extract fields from XML. File size: 6459 bytes
[2026-03-18 06:22:54] [INFO] Number of mappings: 28
[2026-03-18 06:22:54] [INFO] Starting XML parsing. Content length: 6459
[2026-03-18 06:22:54] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 06:22:54] [INFO] Processing 28 field mappings
[2026-03-18 06:22:54] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 06:22:54] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 06:22:54] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 06:22:54] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 06:22:54] [INFO]   -> Found value: PCFD
EMS
RESC
PF
[2026-03-18 06:22:54] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC\nPF"
[2026-03-18 06:22:54] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 06:22:54] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 06:22:54] [INFO]   -> Found value: 2026000729
[2026-03-18 06:22:54] [INFO]   -> Set field 'incidentInternalId' = "2026000729"
[2026-03-18 06:22:54] [INFO]   -> Set field 'dispatchRunNumber' = "2026000729"
[2026-03-18 06:22:54] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 06:22:54] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-18 06:22:54] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-18 06:22:54] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 06:22:54] [INFO]   -> Found value: 7601
[2026-03-18 06:22:54] [INFO]   -> Set field 'incidentLocationStreetNumber' = 7601
[2026-03-18 06:22:54] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 06:22:54] [INFO]   -> Found value: TN
[2026-03-18 06:22:54] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 06:22:54] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 06:22:54] [INFO]   -> Found value: 38583
[2026-03-18 06:22:54] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38583
[2026-03-18 06:22:54] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 06:22:54] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:54] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 06:22:54] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:54] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 06:22:54] [INFO]   -> Found value: 36.07751
[2026-03-18 06:22:54] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.07750999999999663714334019459784030914306640625
[2026-03-18 06:22:54] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 06:22:54] [INFO]   -> Found value: -85.37920
[2026-03-18 06:22:54] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.379199999999997316990629769861698150634765625
[2026-03-18 06:22:54] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 06:22:54] [INFO]   -> Found value: 2026-03-18 01:16:44
[2026-03-18 06:22:54] [INFO]   -> Set field 'alarm' = "2026-03-18 01:16:44"
[2026-03-18 06:22:54] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 06:22:54] [INFO]   -> Found value: 2026-03-18 01:16:52
[2026-03-18 06:22:54] [INFO]   -> Set field 'dispatched' = "2026-03-18 01:16:52"
[2026-03-18 06:22:54] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 06:22:54] [INFO]   -> Found value: 2026-03-18 01:22:50
[2026-03-18 06:22:54] [INFO]   -> Set field 'enroute' = "2026-03-18 01:22:50"
[2026-03-18 06:22:54] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 06:22:54] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:54] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 06:22:54] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:54] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 06:22:54] [INFO]   -> Found value: PLEASANT RIDGE RD
[2026-03-18 06:22:54] [INFO]   -> Set field 'incidentLocationCross' = "PLEASANT RIDGE RD"
[2026-03-18 06:22:54] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 06:22:54] [INFO]   -> Found value: TK21
[2026-03-18 06:22:54] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-18 06:22:54] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 06:22:54] [INFO]   -> Found value: 2026-03-18 01:22:41
[2026-03-18 06:22:54] [INFO]   -> Set field 'timedispatch' = "2026-03-18 01:22:41"
[2026-03-18 06:22:54] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 06:22:54] [INFO]   -> Found value: 2026-03-18 01:22:50
[2026-03-18 06:22:54] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 01:22:50"
[2026-03-18 06:22:54] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 06:22:54] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:54] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 06:22:54] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:54] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 06:22:54] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:54] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 06:22:54] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 06:22:54] [INFO]   -> Found value: 20260029263
[2026-03-18 06:22:54] [INFO]   -> Set field 'policeReportNumber' = "20260029263"
[2026-03-18 06:22:54] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 06:22:54] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/18/2026 01:16:44 DSWINK] CARDIAC HX  [03/18/26 01:16:07 ...
[2026-03-18 06:22:54] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/18\/2026 01:16:44 DSWINK] CARDIAC HX  [03\/18\/26 01:16:07 DSWINK] FRONT DOOR ENTRANCE  [03\/18\/26 01:15:54 DSWINK] 80S FEMALES  [03\/18\/26 01:15:46 DSWINK]"
[2026-03-18 06:22:54] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/18\/2026 01:16:44 DSWINK] CARDIAC HX  [03\/18\/26 01:16:07 DSWINK] FRONT DOOR ENTRANCE  [03\/18\/26 01:15:54 DSWINK] 80S FEMALES  [03\/18\/26 01:15:46 DSWINK]"
[2026-03-18 06:22:54] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 06:22:54] [INFO]   -> Found value: SPARTA
[2026-03-18 06:22:54] [INFO]   -> Set field 'incidentLocationCity' = "SPARTA"
[2026-03-18 06:22:54] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 06:22:54] [INFO]   -> Found value: BLUFF TOP
[2026-03-18 06:22:54] [INFO]   -> Set field 'streetName' = "BLUFF TOP"
[2026-03-18 06:22:54] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 06:22:54] [INFO]   -> Found value: RD
[2026-03-18 06:22:54] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 06:22:54] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 06:22:54] [INFO]   -> Found value: 7601 BLUFF TOP RD
[2026-03-18 06:22:54] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "7601 BLUFF TOP RD"
[2026-03-18 06:22:54] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 06:22:54] [INFO] Concatenating street name and type
[2026-03-18 06:22:54] [INFO]   -> Combined street name: BLUFF TOP RD
[2026-03-18 06:22:54] [INFO] Built locationCoordinates from lat/lng: 36.07751,-85.3792
[2026-03-18 06:22:54] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC\nPF","incidentInternalId":"2026000729","dispatchRunNumber":"2026000729","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":7601,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38583,"nERISIncidentLatitude":36.07750999999999663714334019459784030914306640625,"nERISIncidentLongitude":-85.379199999999997316990629769861698150634765625,"alarm":"2026-03-18 01:16:44","dispatched":"2026-03-18 01:16:52","enroute":"2026-03-18 01:22:50","incidentLocationCross":"PLEASANT RIDGE RD","cADVehicleID":"TK21","timedispatch":"2026-03-18 01:22:41","timeenroutetoscene":"2026-03-18 01:22:50","policeReportNumber":"20260029263","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/18\/2026 01:16:44 DSWINK] CARDIAC HX  [03\/18\/26 01:16:07 DSWINK] FRONT DOOR ENTRANCE  [03\/18\/26 01:15:54 DSWINK] 80S FEMALES  [03\/18\/26 01:15:46 DSWINK]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/18\/2026 01:16:44 DSWINK] CARDIAC HX  [03\/18\/26 01:16:07 DSWINK] FRONT DOOR ENTRANCE  [03\/18\/26 01:15:54 DSWINK] 80S FEMALES  [03\/18\/26 01:15:46 DSWINK]","incidentLocationCity":"SPARTA","streetName":"BLUFF TOP RD","incidentAddressTextVersionStreet":"7601 BLUFF TOP RD","locationCoordinates":"36.07751,-85.3792"}
[2026-03-18 06:22:54] [INFO] Number of extracted fields: 23
[2026-03-18 06:22:54] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC
PF'
[2026-03-18 06:22:54] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC
PF', Parsed IDs = ["PCFD","EMS","RESC","PF"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-18 06:22:54] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC","PF"]
[2026-03-18 06:22:54] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 06:22:54] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 06:22:54] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PF"]
[2026-03-18 06:22:54] [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-03-18 06:22:54] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 06:22:54] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 06:22:54] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 06:22:54] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 06:22:54] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-18 06:22:54] [INFO] Found existing Dispatch with cADNumber '2026000729', ID: 69ba435c8d138a7f5 - will update instead of create
[2026-03-18 06:22:54] [INFO] Updated existing Dispatches record with ID: 69ba435c8d138a7f5
[2026-03-18 06:22:54] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029263_20260318_062253.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029263_20260318_062253.XML
[2026-03-18 06:22:54] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029263_20260318_062253.XML
[2026-03-18 06:22:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029263_20260318_062253_1.XML
[2026-03-18 06:22:54] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029263_20260318_062253_1.XML for user: 68f1466aed072ad4a
[2026-03-18 06:22:54] [INFO] File size: 6459 bytes
[2026-03-18 06:22:55] [INFO] Created FTPFiles record with ID: 69ba44bf48a3f1c57
[2026-03-18 06:22:55] [INFO] About to extract fields from XML. File size: 6459 bytes
[2026-03-18 06:22:55] [INFO] Number of mappings: 28
[2026-03-18 06:22:55] [INFO] Starting XML parsing. Content length: 6459
[2026-03-18 06:22:55] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 06:22:55] [INFO] Processing 28 field mappings
[2026-03-18 06:22:55] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 06:22:55] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 06:22:55] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 06:22:55] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 06:22:55] [INFO]   -> Found value: PCFD
EMS
RESC
PF
[2026-03-18 06:22:55] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC\nPF"
[2026-03-18 06:22:55] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 06:22:55] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 06:22:55] [INFO]   -> Found value: 2026000729
[2026-03-18 06:22:55] [INFO]   -> Set field 'incidentInternalId' = "2026000729"
[2026-03-18 06:22:55] [INFO]   -> Set field 'dispatchRunNumber' = "2026000729"
[2026-03-18 06:22:55] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 06:22:55] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-18 06:22:55] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-18 06:22:55] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 06:22:55] [INFO]   -> Found value: 7601
[2026-03-18 06:22:55] [INFO]   -> Set field 'incidentLocationStreetNumber' = 7601
[2026-03-18 06:22:55] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 06:22:55] [INFO]   -> Found value: TN
[2026-03-18 06:22:55] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 06:22:55] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 06:22:55] [INFO]   -> Found value: 38583
[2026-03-18 06:22:55] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38583
[2026-03-18 06:22:55] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 06:22:55] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:55] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 06:22:55] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:55] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 06:22:55] [INFO]   -> Found value: 36.07751
[2026-03-18 06:22:55] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.07750999999999663714334019459784030914306640625
[2026-03-18 06:22:55] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 06:22:55] [INFO]   -> Found value: -85.37920
[2026-03-18 06:22:55] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.379199999999997316990629769861698150634765625
[2026-03-18 06:22:55] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 06:22:55] [INFO]   -> Found value: 2026-03-18 01:16:44
[2026-03-18 06:22:55] [INFO]   -> Set field 'alarm' = "2026-03-18 01:16:44"
[2026-03-18 06:22:55] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 06:22:55] [INFO]   -> Found value: 2026-03-18 01:16:52
[2026-03-18 06:22:55] [INFO]   -> Set field 'dispatched' = "2026-03-18 01:16:52"
[2026-03-18 06:22:55] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 06:22:55] [INFO]   -> Found value: 2026-03-18 01:22:50
[2026-03-18 06:22:55] [INFO]   -> Set field 'enroute' = "2026-03-18 01:22:50"
[2026-03-18 06:22:55] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 06:22:55] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:55] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 06:22:55] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:55] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 06:22:55] [INFO]   -> Found value: PLEASANT RIDGE RD
[2026-03-18 06:22:55] [INFO]   -> Set field 'incidentLocationCross' = "PLEASANT RIDGE RD"
[2026-03-18 06:22:55] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 06:22:55] [INFO]   -> Found value: TK21
[2026-03-18 06:22:55] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-18 06:22:55] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 06:22:55] [INFO]   -> Found value: 2026-03-18 01:22:41
[2026-03-18 06:22:55] [INFO]   -> Set field 'timedispatch' = "2026-03-18 01:22:41"
[2026-03-18 06:22:55] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 06:22:55] [INFO]   -> Found value: 2026-03-18 01:22:50
[2026-03-18 06:22:55] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 01:22:50"
[2026-03-18 06:22:55] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 06:22:55] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:55] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 06:22:55] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:55] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 06:22:55] [INFO]   -> No value found (null or empty)
[2026-03-18 06:22:55] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 06:22:55] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 06:22:55] [INFO]   -> Found value: 20260029263
[2026-03-18 06:22:55] [INFO]   -> Set field 'policeReportNumber' = "20260029263"
[2026-03-18 06:22:55] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 06:22:55] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/18/2026 01:16:44 DSWINK] CARDIAC HX  [03/18/26 01:16:07 ...
[2026-03-18 06:22:55] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/18\/2026 01:16:44 DSWINK] CARDIAC HX  [03\/18\/26 01:16:07 DSWINK] FRONT DOOR ENTRANCE  [03\/18\/26 01:15:54 DSWINK] 80S FEMALES  [03\/18\/26 01:15:46 DSWINK]"
[2026-03-18 06:22:55] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/18\/2026 01:16:44 DSWINK] CARDIAC HX  [03\/18\/26 01:16:07 DSWINK] FRONT DOOR ENTRANCE  [03\/18\/26 01:15:54 DSWINK] 80S FEMALES  [03\/18\/26 01:15:46 DSWINK]"
[2026-03-18 06:22:55] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 06:22:55] [INFO]   -> Found value: SPARTA
[2026-03-18 06:22:55] [INFO]   -> Set field 'incidentLocationCity' = "SPARTA"
[2026-03-18 06:22:55] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 06:22:55] [INFO]   -> Found value: BLUFF TOP
[2026-03-18 06:22:55] [INFO]   -> Set field 'streetName' = "BLUFF TOP"
[2026-03-18 06:22:55] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 06:22:55] [INFO]   -> Found value: RD
[2026-03-18 06:22:55] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 06:22:55] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 06:22:55] [INFO]   -> Found value: 7601 BLUFF TOP RD
[2026-03-18 06:22:55] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "7601 BLUFF TOP RD"
[2026-03-18 06:22:55] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 06:22:55] [INFO] Concatenating street name and type
[2026-03-18 06:22:55] [INFO]   -> Combined street name: BLUFF TOP RD
[2026-03-18 06:22:55] [INFO] Built locationCoordinates from lat/lng: 36.07751,-85.3792
[2026-03-18 06:22:55] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC\nPF","incidentInternalId":"2026000729","dispatchRunNumber":"2026000729","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":7601,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38583,"nERISIncidentLatitude":36.07750999999999663714334019459784030914306640625,"nERISIncidentLongitude":-85.379199999999997316990629769861698150634765625,"alarm":"2026-03-18 01:16:44","dispatched":"2026-03-18 01:16:52","enroute":"2026-03-18 01:22:50","incidentLocationCross":"PLEASANT RIDGE RD","cADVehicleID":"TK21","timedispatch":"2026-03-18 01:22:41","timeenroutetoscene":"2026-03-18 01:22:50","policeReportNumber":"20260029263","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/18\/2026 01:16:44 DSWINK] CARDIAC HX  [03\/18\/26 01:16:07 DSWINK] FRONT DOOR ENTRANCE  [03\/18\/26 01:15:54 DSWINK] 80S FEMALES  [03\/18\/26 01:15:46 DSWINK]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/18\/2026 01:16:44 DSWINK] CARDIAC HX  [03\/18\/26 01:16:07 DSWINK] FRONT DOOR ENTRANCE  [03\/18\/26 01:15:54 DSWINK] 80S FEMALES  [03\/18\/26 01:15:46 DSWINK]","incidentLocationCity":"SPARTA","streetName":"BLUFF TOP RD","incidentAddressTextVersionStreet":"7601 BLUFF TOP RD","locationCoordinates":"36.07751,-85.3792"}
[2026-03-18 06:22:55] [INFO] Number of extracted fields: 23
[2026-03-18 06:22:55] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC
PF'
[2026-03-18 06:22:55] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC
PF', Parsed IDs = ["PCFD","EMS","RESC","PF"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-18 06:22:55] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC","PF"]
[2026-03-18 06:22:55] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 06:22:55] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 06:22:55] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PF"]
[2026-03-18 06:22:55] [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-03-18 06:22:55] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 06:22:55] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 06:22:55] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 06:22:55] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 06:22:55] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-18 06:22:55] [INFO] Found existing Dispatch with cADNumber '2026000729', ID: 69ba435c8d138a7f5 - will update instead of create
[2026-03-18 06:22:56] [INFO] Updated existing Dispatches record with ID: 69ba435c8d138a7f5
[2026-03-18 06:22:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029263_20260318_062253_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029263_20260318_062253_1.XML
[2026-03-18 06:22:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029263_20260318_062253_1.XML
[2026-03-18 11:09:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07716.xml
[2026-03-18 11:09:20] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07716.xml for user: 68d56363ec1209189
[2026-03-18 11:09:20] [INFO] File size: 2491 bytes
[2026-03-18 11:09:20] [INFO] Created FTPFiles record with ID: 69ba87e0b9a052b3b
[2026-03-18 11:09:20] [INFO] About to extract fields from XML. File size: 2491 bytes
[2026-03-18 11:09:20] [INFO] Number of mappings: 21
[2026-03-18 11:09:20] [INFO] Starting XML parsing. Content length: 2491
[2026-03-18 11:09:20] [INFO] XML parsed successfully. Root element: Incident
[2026-03-18 11:09:20] [INFO] Processing 21 field mappings
[2026-03-18 11:09:20] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-18 11:09:20] [INFO]   -> Found value: 26-07716
[2026-03-18 11:09:20] [INFO]   -> Set field 'dispatchRunNumber' = "26-07716"
[2026-03-18 11:09:20] [INFO]   -> Set field 'cADNumber' = "26-07716"
[2026-03-18 11:09:20] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-18 11:09:20] [INFO]   -> No value found (null or empty)
[2026-03-18 11:09:20] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-18 11:09:20] [INFO]   -> Found value: COUNTY HIGHWAY 829
[2026-03-18 11:09:20] [INFO]   -> Set field 'streetName' = "COUNTY HIGHWAY 829"
[2026-03-18 11:09:20] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-18 11:09:20] [INFO]   -> No value found (null or empty)
[2026-03-18 11:09:20] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-18 11:09:20] [INFO]   -> No value found (null or empty)
[2026-03-18 11:09:20] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-18 11:09:20] [INFO]   -> No value found (null or empty)
[2026-03-18 11:09:20] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-18 11:09:20] [INFO]   -> No value found (null or empty)
[2026-03-18 11:09:20] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-18 11:09:20] [INFO]   -> No value found (null or empty)
[2026-03-18 11:09:20] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-18 11:09:20] [INFO]   -> Found value: 0
[2026-03-18 11:09:20] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-18 11:09:20] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-18 11:09:20] [INFO]   -> Found value: 0
[2026-03-18 11:09:20] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-18 11:09:20] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-18 11:09:20] [INFO]   -> Found value: FIRE-OUT OF TOWN
[2026-03-18 11:09:20] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-OUT OF TOWN"
[2026-03-18 11:09:20] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-18 11:09:20] [INFO]   -> Found value: 03-14-2026 02:23:29|STRUCTURE FIRE
UNK IF OCCUPIED 
 03-14-2026 02:28:34|NMCO DEPUTY ON SCENE FULLY ...
[2026-03-18 11:09:20] [INFO]   -> Set field 'dispatchNotes' = "03-14-2026 02:23:29|STRUCTURE FIRE\nUNK IF OCCUPIED \n 03-14-2026 02:28:34|NMCO DEPUTY ON SCENE FULLY INVOLVED STRUCTURE SHOWING FLAMES 03-14-2026 02:34:21|MORHOUSE RESCUE 1 ER 03-14-2026 02:37:07|PAGED ADDITIONAL 03-14-2026 02:46:15|ON, C84 03-14-2026 04:59:26|Disposition - MHSE FD:  RPT\nDisposition - SDPS FD:  RPT\nDisposition - SDPS PD:  NRN"
[2026-03-18 11:09:20] [INFO]   -> Set field 'cADLog' = "03-14-2026 02:23:29|STRUCTURE FIRE\nUNK IF OCCUPIED \n 03-14-2026 02:28:34|NMCO DEPUTY ON SCENE FULLY INVOLVED STRUCTURE SHOWING FLAMES 03-14-2026 02:34:21|MORHOUSE RESCUE 1 ER 03-14-2026 02:37:07|PAGED ADDITIONAL 03-14-2026 02:46:15|ON, C84 03-14-2026 04:59:26|Disposition - MHSE FD:  RPT\nDisposition - SDPS FD:  RPT\nDisposition - SDPS PD:  NRN"
[2026-03-18 11:09:20] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-18 11:09:20] [INFO]   -> Found value: 03-14-2026T02:27:32
[2026-03-18 11:09:20] [INFO] Reformatted DD-MM-YYYY date '03-14-2026' (day=03, month=14) to ISO: 2026-14-03T02:27:32
[2026-03-18 11:09:20] [ERROR] Error formatting datetime '2026-14-03T02:27:32': Failed to parse time string (2026-14-03T02:27:32) at position 6 (4): Unexpected character
[2026-03-18 11:09:20] [INFO]   -> Set field 'alarm' = null
[2026-03-18 11:09:20] [INFO] Reformatted DD-MM-YYYY date '03-14-2026' (day=03, month=14) to ISO: 2026-14-03T02:27:32
[2026-03-18 11:09:20] [ERROR] Error formatting datetime '2026-14-03T02:27:32': Failed to parse time string (2026-14-03T02:27:32) at position 6 (4): Unexpected character
[2026-03-18 11:09:20] [INFO]   -> Set field 'dispatched' = null
[2026-03-18 11:09:20] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-18 11:09:20] [INFO]   -> Found value: 03-14-2026T02:39:28
[2026-03-18 11:09:20] [INFO] Reformatted DD-MM-YYYY date '03-14-2026' (day=03, month=14) to ISO: 2026-14-03T02:39:28
[2026-03-18 11:09:20] [ERROR] Error formatting datetime '2026-14-03T02:39:28': Failed to parse time string (2026-14-03T02:39:28) at position 6 (4): Unexpected character
[2026-03-18 11:09:20] [INFO]   -> Set field 'onScene' = null
[2026-03-18 11:09:20] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-18 11:09:20] [INFO]   -> Found value: 03-14-2026T04:59:13
[2026-03-18 11:09:20] [INFO] Reformatted DD-MM-YYYY date '03-14-2026' (day=03, month=14) to ISO: 2026-14-03T04:59:13
[2026-03-18 11:09:20] [ERROR] Error formatting datetime '2026-14-03T04:59:13': Failed to parse time string (2026-14-03T04:59:13) at position 6 (4): Unexpected character
[2026-03-18 11:09:20] [INFO]   -> Set field 'cleared' = null
[2026-03-18 11:09:20] [INFO] Reformatted DD-MM-YYYY date '03-14-2026' (day=03, month=14) to ISO: 2026-14-03T04:59:13
[2026-03-18 11:09:20] [ERROR] Error formatting datetime '2026-14-03T04:59:13': Failed to parse time string (2026-14-03T04:59:13) at position 6 (4): Unexpected character
[2026-03-18 11:09:20] [INFO]   -> Set field 'inService' = null
[2026-03-18 11:09:20] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-18 11:09:20] [INFO]   -> Found value: ADD PERSONEL
[2026-03-18 11:09:20] [INFO]   -> Set field 'cADVehicleID' = "ADD PERSONEL"
[2026-03-18 11:09:20] [INFO]   -> Set field 'name' = "ADD PERSONEL"
[2026-03-18 11:09:20] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-18 11:09:20] [INFO]   -> No value found (null or empty)
[2026-03-18 11:09:20] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-18 11:09:20] [INFO]   -> No value found (null or empty)
[2026-03-18 11:09:20] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-18 11:09:20] [INFO]   -> Found value: 03-14-2026T04:10:28
[2026-03-18 11:09:20] [INFO] Reformatted DD-MM-YYYY date '03-14-2026' (day=03, month=14) to ISO: 2026-14-03T04:10:28
[2026-03-18 11:09:20] [ERROR] Error formatting datetime '2026-14-03T04:10:28': Failed to parse time string (2026-14-03T04:10:28) at position 6 (4): Unexpected character
[2026-03-18 11:09:20] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-18 11:09:20] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-18 11:09:20] [INFO]   -> Found value: 03-14-2026T02:37:36
[2026-03-18 11:09:20] [INFO] Reformatted DD-MM-YYYY date '03-14-2026' (day=03, month=14) to ISO: 2026-14-03T02:37:36
[2026-03-18 11:09:20] [ERROR] Error formatting datetime '2026-14-03T02:37:36': Failed to parse time string (2026-14-03T02:37:36) at position 6 (4): Unexpected character
[2026-03-18 11:09:20] [INFO]   -> Set field 'timedispatch' = null
[2026-03-18 11:09:20] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-18 11:09:20] [INFO]   -> Found value: SDPSFD
[2026-03-18 11:09:20] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-18 11:09:20] [INFO] Finished extracting fields. Total fields extracted: 18
[2026-03-18 11:09:20] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-18 11:09:20] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-07716","cADNumber":"26-07716","streetName":"COUNTY HIGHWAY 829","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-OUT OF TOWN","dispatchNotes":"03-14-2026 02:23:29|STRUCTURE FIRE\nUNK IF OCCUPIED \n 03-14-2026 02:28:34|NMCO DEPUTY ON SCENE FULLY INVOLVED STRUCTURE SHOWING FLAMES 03-14-2026 02:34:21|MORHOUSE RESCUE 1 ER 03-14-2026 02:37:07|PAGED ADDITIONAL 03-14-2026 02:46:15|ON, C84 03-14-2026 04:59:26|Disposition - MHSE FD:  RPT\nDisposition - SDPS FD:  RPT\nDisposition - SDPS PD:  NRN","cADLog":"03-14-2026 02:23:29|STRUCTURE FIRE\nUNK IF OCCUPIED \n 03-14-2026 02:28:34|NMCO DEPUTY ON SCENE FULLY INVOLVED STRUCTURE SHOWING FLAMES 03-14-2026 02:34:21|MORHOUSE RESCUE 1 ER 03-14-2026 02:37:07|PAGED ADDITIONAL 03-14-2026 02:46:15|ON, C84 03-14-2026 04:59:26|Disposition - MHSE FD:  RPT\nDisposition - SDPS FD:  RPT\nDisposition - SDPS PD:  NRN","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ADD PERSONEL","name":"ADD PERSONEL","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-03-18 11:09:20] [INFO] Number of extracted fields: 19
[2026-03-18 11:09:20] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-18 11:09:20] [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-03-18 11:09:20] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-18 11:09:20] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-18 11:09:20] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-18 11:09:21] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-18 11:09:21] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-18 11:09:21] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-18 11:09:21] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e878336f04
[2026-03-18 11:09:21] [INFO] Found existing Dispatch with cADNumber '26-07716', ID: 69b531b7c05a505ea - will update instead of create
[2026-03-18 11:09:21] [INFO] Updated existing Dispatches record with ID: 69b531b7c05a505ea
[2026-03-18 11:09:21] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07716.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-18/SDPSFD_26-07716.xml
[2026-03-18 11:09:21] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07716.xml
[2026-03-18 11:36:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029296_20260318_113630.XML
[2026-03-18 11:36:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029296_20260318_113630.XML for user: 68f1466aed072ad4a
[2026-03-18 11:36:30] [INFO] File size: 5396 bytes
[2026-03-18 11:36:30] [INFO] Created FTPFiles record with ID: 69ba8e3eca4a22f8e
[2026-03-18 11:36:30] [INFO] About to extract fields from XML. File size: 5396 bytes
[2026-03-18 11:36:30] [INFO] Number of mappings: 28
[2026-03-18 11:36:30] [INFO] Starting XML parsing. Content length: 5396
[2026-03-18 11:36:30] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 11:36:30] [INFO] Processing 28 field mappings
[2026-03-18 11:36:30] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 11:36:30] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 11:36:30] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 11:36:30] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-18 11:36:30] [INFO]   -> Found value: PCFD
PCSO
RESC
[2026-03-18 11:36:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nRESC"
[2026-03-18 11:36:30] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 11:36:30] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-18 11:36:30] [INFO]   -> Found value: 2026000730
[2026-03-18 11:36:30] [INFO]   -> Set field 'incidentInternalId' = "2026000730"
[2026-03-18 11:36:30] [INFO]   -> Set field 'dispatchRunNumber' = "2026000730"
[2026-03-18 11:36:30] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 11:36:30] [INFO]   -> Found value: CHEST PAIN
[2026-03-18 11:36:30] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-18 11:36:30] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 11:36:30] [INFO]   -> Found value: 8749
[2026-03-18 11:36:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8749
[2026-03-18 11:36:30] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 11:36:30] [INFO]   -> Found value: TN
[2026-03-18 11:36:30] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 11:36:30] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 11:36:30] [INFO]   -> Found value: 38544
[2026-03-18 11:36:30] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 11:36:30] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 11:36:30] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:30] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 11:36:30] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:30] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 11:36:30] [INFO]   -> Found value: 36.14003
[2026-03-18 11:36:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14003000000000298541635856963694095611572265625
[2026-03-18 11:36:30] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 11:36:30] [INFO]   -> Found value: -85.65532
[2026-03-18 11:36:30] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6553200000000032332536648027598857879638671875
[2026-03-18 11:36:30] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 11:36:30] [INFO]   -> Found value: 2026-03-18 06:36:16
[2026-03-18 11:36:30] [INFO]   -> Set field 'alarm' = "2026-03-18 06:36:16"
[2026-03-18 11:36:30] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 11:36:30] [INFO]   -> Found value: 2026-03-18 06:36:23
[2026-03-18 11:36:30] [INFO]   -> Set field 'dispatched' = "2026-03-18 06:36:23"
[2026-03-18 11:36:30] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 11:36:30] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:30] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 11:36:30] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:30] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 11:36:30] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:30] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 11:36:30] [INFO]   -> Found value: BROTHER IN LAW HILL RD/TUCKER OAKS RD
[2026-03-18 11:36:30] [INFO]   -> Set field 'incidentLocationCross' = "BROTHER IN LAW HILL RD\/TUCKER OAKS RD"
[2026-03-18 11:36:30] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 11:36:30] [INFO]   -> Found value: PCFR
[2026-03-18 11:36:30] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-18 11:36:30] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 11:36:30] [INFO]   -> Found value: 2026-03-18 06:36:23
[2026-03-18 11:36:30] [INFO]   -> Set field 'timedispatch' = "2026-03-18 06:36:23"
[2026-03-18 11:36:30] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 11:36:30] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:30] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 11:36:30] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:30] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 11:36:30] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:30] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 11:36:30] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:30] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 11:36:30] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 11:36:30] [INFO]   -> Found value: 20260029296
[2026-03-18 11:36:30] [INFO]   -> Set field 'policeReportNumber' = "20260029296"
[2026-03-18 11:36:30] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 11:36:30] [INFO]   -> Found value: Event spawned from CHEST PAIN.  [03/18/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03/18...
[2026-03-18 11:36:30] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from CHEST PAIN.  [03\/18\/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03\/18\/2026 06:34:41 KBURTON] [LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 06:34:18 BWILSON] ARM IS NUMB  CHEST PAIN  YUVON BURNETT  [03\/18\/26 06:33:45 KBURTON]"
[2026-03-18 11:36:30] [INFO]   -> Set field 'cADLog' = "Event spawned from CHEST PAIN.  [03\/18\/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03\/18\/2026 06:34:41 KBURTON] [LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 06:34:18 BWILSON] ARM IS NUMB  CHEST PAIN  YUVON BURNETT  [03\/18\/26 06:33:45 KBURTON]"
[2026-03-18 11:36:30] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 11:36:30] [INFO]   -> Found value: BAXTER
[2026-03-18 11:36:30] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 11:36:30] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 11:36:30] [INFO]   -> Found value: OLD BAXTER
[2026-03-18 11:36:30] [INFO]   -> Set field 'streetName' = "OLD BAXTER"
[2026-03-18 11:36:30] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 11:36:30] [INFO]   -> Found value: RD
[2026-03-18 11:36:30] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 11:36:30] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 11:36:30] [INFO]   -> Found value: 8749 OLD BAXTER RD
[2026-03-18 11:36:30] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8749 OLD BAXTER RD"
[2026-03-18 11:36:30] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-18 11:36:30] [INFO] Concatenating street name and type
[2026-03-18 11:36:30] [INFO]   -> Combined street name: OLD BAXTER RD
[2026-03-18 11:36:30] [INFO] Built locationCoordinates from lat/lng: 36.14003,-85.65532
[2026-03-18 11:36:30] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nRESC","incidentInternalId":"2026000730","dispatchRunNumber":"2026000730","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":8749,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.14003000000000298541635856963694095611572265625,"nERISIncidentLongitude":-85.6553200000000032332536648027598857879638671875,"alarm":"2026-03-18 06:36:16","dispatched":"2026-03-18 06:36:23","incidentLocationCross":"BROTHER IN LAW HILL RD\/TUCKER OAKS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-18 06:36:23","policeReportNumber":"20260029296","dispatchNotes":"Event spawned from CHEST PAIN.  [03\/18\/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03\/18\/2026 06:34:41 KBURTON] [LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 06:34:18 BWILSON] ARM IS NUMB  CHEST PAIN  YUVON BURNETT  [03\/18\/26 06:33:45 KBURTON]","cADLog":"Event spawned from CHEST PAIN.  [03\/18\/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03\/18\/2026 06:34:41 KBURTON] [LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 06:34:18 BWILSON] ARM IS NUMB  CHEST PAIN  YUVON BURNETT  [03\/18\/26 06:33:45 KBURTON]","incidentLocationCity":"BAXTER","streetName":"OLD BAXTER RD","incidentAddressTextVersionStreet":"8749 OLD BAXTER RD","locationCoordinates":"36.14003,-85.65532"}
[2026-03-18 11:36:30] [INFO] Number of extracted fields: 21
[2026-03-18 11:36:30] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
RESC'
[2026-03-18 11:36:30] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
RESC', Parsed IDs = ["PCFD","PCSO","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-18 11:36:30] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","RESC"]
[2026-03-18 11:36:30] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 11:36:31] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 11:36:31] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","RESC"]
[2026-03-18 11:36: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-03-18 11:36:31] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 11:36:31] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 11:36:31] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 11:36:31] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 11:36:31] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-18 11:36:41] [INFO] Created new Dispatches record with ID: 69ba8e3f9be8a9b2e
[2026-03-18 11:36:41] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029296_20260318_113630.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029296_20260318_113630.XML
[2026-03-18 11:36:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029296_20260318_113630.XML
[2026-03-18 11:36:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029296_20260318_113651.XML
[2026-03-18 11:36:51] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029296_20260318_113651.XML for user: 68f1466aed072ad4a
[2026-03-18 11:36:51] [INFO] File size: 6381 bytes
[2026-03-18 11:36:52] [INFO] Created FTPFiles record with ID: 69ba8e542f46cd3d3
[2026-03-18 11:36:52] [INFO] About to extract fields from XML. File size: 6381 bytes
[2026-03-18 11:36:52] [INFO] Number of mappings: 28
[2026-03-18 11:36:52] [INFO] Starting XML parsing. Content length: 6381
[2026-03-18 11:36:52] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 11:36:52] [INFO] Processing 28 field mappings
[2026-03-18 11:36:52] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 11:36:52] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 11:36:52] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 11:36:52] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 11:36:52] [INFO]   -> Found value: PCFD
PCSO
RESC
EMS
[2026-03-18 11:36:52] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nRESC\nEMS"
[2026-03-18 11:36:52] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 11:36:52] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 11:36:52] [INFO]   -> Found value: 2026000730
[2026-03-18 11:36:52] [INFO]   -> Set field 'incidentInternalId' = "2026000730"
[2026-03-18 11:36:52] [INFO]   -> Set field 'dispatchRunNumber' = "2026000730"
[2026-03-18 11:36:52] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 11:36:52] [INFO]   -> Found value: CHEST PAIN
[2026-03-18 11:36:52] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-18 11:36:52] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 11:36:52] [INFO]   -> Found value: 8749
[2026-03-18 11:36:52] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8749
[2026-03-18 11:36:52] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 11:36:52] [INFO]   -> Found value: TN
[2026-03-18 11:36:52] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 11:36:52] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 11:36:52] [INFO]   -> Found value: 38544
[2026-03-18 11:36:52] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 11:36:52] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 11:36:52] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:52] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 11:36:52] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:52] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 11:36:52] [INFO]   -> Found value: 36.14003
[2026-03-18 11:36:52] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14003000000000298541635856963694095611572265625
[2026-03-18 11:36:52] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 11:36:52] [INFO]   -> Found value: -85.65532
[2026-03-18 11:36:52] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6553200000000032332536648027598857879638671875
[2026-03-18 11:36:52] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 11:36:52] [INFO]   -> Found value: 2026-03-18 06:36:16
[2026-03-18 11:36:52] [INFO]   -> Set field 'alarm' = "2026-03-18 06:36:16"
[2026-03-18 11:36:52] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 11:36:52] [INFO]   -> Found value: 2026-03-18 06:36:23
[2026-03-18 11:36:52] [INFO]   -> Set field 'dispatched' = "2026-03-18 06:36:23"
[2026-03-18 11:36:52] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 11:36:52] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:52] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 11:36:52] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:52] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 11:36:52] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:52] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 11:36:52] [INFO]   -> Found value: BROTHER IN LAW HILL RD/TUCKER OAKS RD
[2026-03-18 11:36:52] [INFO]   -> Set field 'incidentLocationCross' = "BROTHER IN LAW HILL RD\/TUCKER OAKS RD"
[2026-03-18 11:36:52] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 11:36:52] [INFO]   -> Found value: PCFR
[2026-03-18 11:36:52] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-18 11:36:52] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 11:36:52] [INFO]   -> Found value: 2026-03-18 06:36:23
[2026-03-18 11:36:52] [INFO]   -> Set field 'timedispatch' = "2026-03-18 06:36:23"
[2026-03-18 11:36:52] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 11:36:52] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:52] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 11:36:52] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:52] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 11:36:52] [INFO]   -> Found value: 2026-03-18 06:36:48
[2026-03-18 11:36:52] [INFO]   -> Set field 'timeunitclear' = "2026-03-18 06:36:48"
[2026-03-18 11:36:52] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 11:36:52] [INFO]   -> Found value: 2026-03-18 06:36:48
[2026-03-18 11:36:52] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-18 06:36:48"
[2026-03-18 11:36:52] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 11:36:52] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 11:36:52] [INFO]   -> Found value: 20260029296
[2026-03-18 11:36:52] [INFO]   -> Set field 'policeReportNumber' = "20260029296"
[2026-03-18 11:36:52] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 11:36:52] [INFO]   -> Found value: Event spawned from CHEST PAIN.  [03/18/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03/18...
[2026-03-18 11:36:52] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from CHEST PAIN.  [03\/18\/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03\/18\/2026 06:34:41 KBURTON] [LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 06:34:18 BWILSON] ARM IS NUMB  CHEST PAIN  YUVON BURNETT  [03\/18\/26 06:33:45 KBURTON]"
[2026-03-18 11:36:52] [INFO]   -> Set field 'cADLog' = "Event spawned from CHEST PAIN.  [03\/18\/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03\/18\/2026 06:34:41 KBURTON] [LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 06:34:18 BWILSON] ARM IS NUMB  CHEST PAIN  YUVON BURNETT  [03\/18\/26 06:33:45 KBURTON]"
[2026-03-18 11:36:52] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 11:36:52] [INFO]   -> Found value: BAXTER
[2026-03-18 11:36:52] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 11:36:52] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 11:36:52] [INFO]   -> Found value: OLD BAXTER
[2026-03-18 11:36:52] [INFO]   -> Set field 'streetName' = "OLD BAXTER"
[2026-03-18 11:36:52] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 11:36:52] [INFO]   -> Found value: RD
[2026-03-18 11:36:52] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 11:36:52] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 11:36:52] [INFO]   -> Found value: 8749 OLD BAXTER RD
[2026-03-18 11:36:52] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8749 OLD BAXTER RD"
[2026-03-18 11:36:52] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 11:36:52] [INFO] Concatenating street name and type
[2026-03-18 11:36:52] [INFO]   -> Combined street name: OLD BAXTER RD
[2026-03-18 11:36:52] [INFO] Built locationCoordinates from lat/lng: 36.14003,-85.65532
[2026-03-18 11:36:52] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nRESC\nEMS","incidentInternalId":"2026000730","dispatchRunNumber":"2026000730","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":8749,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.14003000000000298541635856963694095611572265625,"nERISIncidentLongitude":-85.6553200000000032332536648027598857879638671875,"alarm":"2026-03-18 06:36:16","dispatched":"2026-03-18 06:36:23","incidentLocationCross":"BROTHER IN LAW HILL RD\/TUCKER OAKS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-18 06:36:23","timeunitclear":"2026-03-18 06:36:48","timecanceledenroute":"2026-03-18 06:36:48","policeReportNumber":"20260029296","dispatchNotes":"Event spawned from CHEST PAIN.  [03\/18\/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03\/18\/2026 06:34:41 KBURTON] [LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 06:34:18 BWILSON] ARM IS NUMB  CHEST PAIN  YUVON BURNETT  [03\/18\/26 06:33:45 KBURTON]","cADLog":"Event spawned from CHEST PAIN.  [03\/18\/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03\/18\/2026 06:34:41 KBURTON] [LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 06:34:18 BWILSON] ARM IS NUMB  CHEST PAIN  YUVON BURNETT  [03\/18\/26 06:33:45 KBURTON]","incidentLocationCity":"BAXTER","streetName":"OLD BAXTER RD","incidentAddressTextVersionStreet":"8749 OLD BAXTER RD","locationCoordinates":"36.14003,-85.65532"}
[2026-03-18 11:36:52] [INFO] Number of extracted fields: 23
[2026-03-18 11:36:52] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
RESC
EMS'
[2026-03-18 11:36:52] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
RESC
EMS', Parsed IDs = ["PCFD","PCSO","RESC","EMS"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-18 11:36:52] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","RESC","EMS"]
[2026-03-18 11:36:52] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 11:36:52] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 11:36:52] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","RESC","EMS"]
[2026-03-18 11:36:52] [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-03-18 11:36:52] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 11:36:52] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 11:36:52] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 11:36:52] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 11:36:52] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-18 11:36:52] [INFO] Found existing Dispatch with cADNumber '2026000730', ID: 69ba8e3f9be8a9b2e - will update instead of create
[2026-03-18 11:36:53] [INFO] Updated existing Dispatches record with ID: 69ba8e3f9be8a9b2e
[2026-03-18 11:36:53] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029296_20260318_113651.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029296_20260318_113651.XML
[2026-03-18 11:36:53] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029296_20260318_113651.XML
[2026-03-18 11:36:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029296_20260318_113653.XML
[2026-03-18 11:36:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029296_20260318_113653.XML for user: 68f1466aed072ad4a
[2026-03-18 11:36:53] [INFO] File size: 6381 bytes
[2026-03-18 11:36:53] [INFO] Created FTPFiles record with ID: 69ba8e5584362c52a
[2026-03-18 11:36:53] [INFO] About to extract fields from XML. File size: 6381 bytes
[2026-03-18 11:36:53] [INFO] Number of mappings: 28
[2026-03-18 11:36:53] [INFO] Starting XML parsing. Content length: 6381
[2026-03-18 11:36:53] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 11:36:53] [INFO] Processing 28 field mappings
[2026-03-18 11:36:53] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 11:36:53] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 11:36:53] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 11:36:53] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 11:36:53] [INFO]   -> Found value: PCFD
PCSO
RESC
EMS
[2026-03-18 11:36:53] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nRESC\nEMS"
[2026-03-18 11:36:53] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 11:36:53] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 11:36:53] [INFO]   -> Found value: 2026000730
[2026-03-18 11:36:53] [INFO]   -> Set field 'incidentInternalId' = "2026000730"
[2026-03-18 11:36:53] [INFO]   -> Set field 'dispatchRunNumber' = "2026000730"
[2026-03-18 11:36:53] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 11:36:53] [INFO]   -> Found value: CHEST PAIN
[2026-03-18 11:36:53] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-18 11:36:53] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 11:36:53] [INFO]   -> Found value: 8749
[2026-03-18 11:36:53] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8749
[2026-03-18 11:36:53] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 11:36:53] [INFO]   -> Found value: TN
[2026-03-18 11:36:53] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 11:36:53] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 11:36:53] [INFO]   -> Found value: 38544
[2026-03-18 11:36:53] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 11:36:53] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 11:36:53] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:53] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 11:36:53] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:53] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 11:36:53] [INFO]   -> Found value: 36.14003
[2026-03-18 11:36:53] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14003000000000298541635856963694095611572265625
[2026-03-18 11:36:53] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 11:36:53] [INFO]   -> Found value: -85.65532
[2026-03-18 11:36:53] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6553200000000032332536648027598857879638671875
[2026-03-18 11:36:53] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 11:36:53] [INFO]   -> Found value: 2026-03-18 06:36:16
[2026-03-18 11:36:53] [INFO]   -> Set field 'alarm' = "2026-03-18 06:36:16"
[2026-03-18 11:36:53] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 11:36:53] [INFO]   -> Found value: 2026-03-18 06:36:23
[2026-03-18 11:36:53] [INFO]   -> Set field 'dispatched' = "2026-03-18 06:36:23"
[2026-03-18 11:36:53] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 11:36:53] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:53] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 11:36:53] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:53] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 11:36:53] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:53] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 11:36:53] [INFO]   -> Found value: BROTHER IN LAW HILL RD/TUCKER OAKS RD
[2026-03-18 11:36:53] [INFO]   -> Set field 'incidentLocationCross' = "BROTHER IN LAW HILL RD\/TUCKER OAKS RD"
[2026-03-18 11:36:53] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 11:36:53] [INFO]   -> Found value: PCFR
[2026-03-18 11:36:53] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-18 11:36:53] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 11:36:53] [INFO]   -> Found value: 2026-03-18 06:36:23
[2026-03-18 11:36:53] [INFO]   -> Set field 'timedispatch' = "2026-03-18 06:36:23"
[2026-03-18 11:36:53] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 11:36:53] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:53] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 11:36:53] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:53] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 11:36:53] [INFO]   -> Found value: 2026-03-18 06:36:48
[2026-03-18 11:36:53] [INFO]   -> Set field 'timeunitclear' = "2026-03-18 06:36:48"
[2026-03-18 11:36:53] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 11:36:53] [INFO]   -> Found value: 2026-03-18 06:36:48
[2026-03-18 11:36:53] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-18 06:36:48"
[2026-03-18 11:36:53] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 11:36:53] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 11:36:53] [INFO]   -> Found value: 20260029296
[2026-03-18 11:36:53] [INFO]   -> Set field 'policeReportNumber' = "20260029296"
[2026-03-18 11:36:53] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 11:36:53] [INFO]   -> Found value: Event spawned from CHEST PAIN.  [03/18/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03/18...
[2026-03-18 11:36:53] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from CHEST PAIN.  [03\/18\/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03\/18\/2026 06:34:41 KBURTON] [LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 06:34:18 BWILSON] ARM IS NUMB  CHEST PAIN  YUVON BURNETT  [03\/18\/26 06:33:45 KBURTON]"
[2026-03-18 11:36:53] [INFO]   -> Set field 'cADLog' = "Event spawned from CHEST PAIN.  [03\/18\/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03\/18\/2026 06:34:41 KBURTON] [LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 06:34:18 BWILSON] ARM IS NUMB  CHEST PAIN  YUVON BURNETT  [03\/18\/26 06:33:45 KBURTON]"
[2026-03-18 11:36:53] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 11:36:53] [INFO]   -> Found value: BAXTER
[2026-03-18 11:36:53] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 11:36:53] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 11:36:53] [INFO]   -> Found value: OLD BAXTER
[2026-03-18 11:36:53] [INFO]   -> Set field 'streetName' = "OLD BAXTER"
[2026-03-18 11:36:53] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 11:36:53] [INFO]   -> Found value: RD
[2026-03-18 11:36:53] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 11:36:53] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 11:36:53] [INFO]   -> Found value: 8749 OLD BAXTER RD
[2026-03-18 11:36:53] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8749 OLD BAXTER RD"
[2026-03-18 11:36:53] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 11:36:53] [INFO] Concatenating street name and type
[2026-03-18 11:36:53] [INFO]   -> Combined street name: OLD BAXTER RD
[2026-03-18 11:36:53] [INFO] Built locationCoordinates from lat/lng: 36.14003,-85.65532
[2026-03-18 11:36:53] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nRESC\nEMS","incidentInternalId":"2026000730","dispatchRunNumber":"2026000730","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":8749,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.14003000000000298541635856963694095611572265625,"nERISIncidentLongitude":-85.6553200000000032332536648027598857879638671875,"alarm":"2026-03-18 06:36:16","dispatched":"2026-03-18 06:36:23","incidentLocationCross":"BROTHER IN LAW HILL RD\/TUCKER OAKS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-18 06:36:23","timeunitclear":"2026-03-18 06:36:48","timecanceledenroute":"2026-03-18 06:36:48","policeReportNumber":"20260029296","dispatchNotes":"Event spawned from CHEST PAIN.  [03\/18\/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03\/18\/2026 06:34:41 KBURTON] [LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 06:34:18 BWILSON] ARM IS NUMB  CHEST PAIN  YUVON BURNETT  [03\/18\/26 06:33:45 KBURTON]","cADLog":"Event spawned from CHEST PAIN.  [03\/18\/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03\/18\/2026 06:34:41 KBURTON] [LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 06:34:18 BWILSON] ARM IS NUMB  CHEST PAIN  YUVON BURNETT  [03\/18\/26 06:33:45 KBURTON]","incidentLocationCity":"BAXTER","streetName":"OLD BAXTER RD","incidentAddressTextVersionStreet":"8749 OLD BAXTER RD","locationCoordinates":"36.14003,-85.65532"}
[2026-03-18 11:36:53] [INFO] Number of extracted fields: 23
[2026-03-18 11:36:53] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
RESC
EMS'
[2026-03-18 11:36:53] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
RESC
EMS', Parsed IDs = ["PCFD","PCSO","RESC","EMS"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-18 11:36:53] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","RESC","EMS"]
[2026-03-18 11:36:53] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 11:36:53] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 11:36:53] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","RESC","EMS"]
[2026-03-18 11:36: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-03-18 11:36:53] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 11:36:53] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 11:36:53] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 11:36:53] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 11:36:54] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-18 11:36:54] [INFO] Found existing Dispatch with cADNumber '2026000730', ID: 69ba8e3f9be8a9b2e - will update instead of create
[2026-03-18 11:36:54] [INFO] Updated existing Dispatches record with ID: 69ba8e3f9be8a9b2e
[2026-03-18 11:36:54] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029296_20260318_113653.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029296_20260318_113653.XML
[2026-03-18 11:36:54] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029296_20260318_113653.XML
[2026-03-18 11:36:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029296_20260318_113654.XML
[2026-03-18 11:36:54] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029296_20260318_113654.XML for user: 68f1466aed072ad4a
[2026-03-18 11:36:54] [INFO] File size: 6381 bytes
[2026-03-18 11:36:54] [INFO] Created FTPFiles record with ID: 69ba8e56a93925cd0
[2026-03-18 11:36:54] [INFO] About to extract fields from XML. File size: 6381 bytes
[2026-03-18 11:36:54] [INFO] Number of mappings: 28
[2026-03-18 11:36:54] [INFO] Starting XML parsing. Content length: 6381
[2026-03-18 11:36:54] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 11:36:54] [INFO] Processing 28 field mappings
[2026-03-18 11:36:54] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 11:36:54] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 11:36:54] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 11:36:54] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 11:36:54] [INFO]   -> Found value: PCFD
PCSO
RESC
EMS
[2026-03-18 11:36:54] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nRESC\nEMS"
[2026-03-18 11:36:54] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 11:36:54] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 11:36:54] [INFO]   -> Found value: 2026000730
[2026-03-18 11:36:54] [INFO]   -> Set field 'incidentInternalId' = "2026000730"
[2026-03-18 11:36:54] [INFO]   -> Set field 'dispatchRunNumber' = "2026000730"
[2026-03-18 11:36:54] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 11:36:54] [INFO]   -> Found value: CHEST PAIN
[2026-03-18 11:36:54] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-18 11:36:54] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 11:36:54] [INFO]   -> Found value: 8749
[2026-03-18 11:36:54] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8749
[2026-03-18 11:36:54] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 11:36:54] [INFO]   -> Found value: TN
[2026-03-18 11:36:54] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 11:36:54] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 11:36:54] [INFO]   -> Found value: 38544
[2026-03-18 11:36:54] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 11:36:54] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 11:36:54] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:54] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 11:36:54] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:54] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 11:36:54] [INFO]   -> Found value: 36.14003
[2026-03-18 11:36:54] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14003000000000298541635856963694095611572265625
[2026-03-18 11:36:54] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 11:36:54] [INFO]   -> Found value: -85.65532
[2026-03-18 11:36:54] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6553200000000032332536648027598857879638671875
[2026-03-18 11:36:54] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 11:36:54] [INFO]   -> Found value: 2026-03-18 06:36:16
[2026-03-18 11:36:54] [INFO]   -> Set field 'alarm' = "2026-03-18 06:36:16"
[2026-03-18 11:36:54] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 11:36:54] [INFO]   -> Found value: 2026-03-18 06:36:23
[2026-03-18 11:36:54] [INFO]   -> Set field 'dispatched' = "2026-03-18 06:36:23"
[2026-03-18 11:36:54] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 11:36:54] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:54] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 11:36:54] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:54] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 11:36:54] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:54] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 11:36:54] [INFO]   -> Found value: BROTHER IN LAW HILL RD/TUCKER OAKS RD
[2026-03-18 11:36:54] [INFO]   -> Set field 'incidentLocationCross' = "BROTHER IN LAW HILL RD\/TUCKER OAKS RD"
[2026-03-18 11:36:54] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 11:36:54] [INFO]   -> Found value: PCFR
[2026-03-18 11:36:54] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-18 11:36:54] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 11:36:54] [INFO]   -> Found value: 2026-03-18 06:36:23
[2026-03-18 11:36:54] [INFO]   -> Set field 'timedispatch' = "2026-03-18 06:36:23"
[2026-03-18 11:36:54] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 11:36:54] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:54] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 11:36:54] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:54] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 11:36:54] [INFO]   -> Found value: 2026-03-18 06:36:48
[2026-03-18 11:36:54] [INFO]   -> Set field 'timeunitclear' = "2026-03-18 06:36:48"
[2026-03-18 11:36:54] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 11:36:54] [INFO]   -> Found value: 2026-03-18 06:36:48
[2026-03-18 11:36:54] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-18 06:36:48"
[2026-03-18 11:36:54] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 11:36:54] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 11:36:54] [INFO]   -> Found value: 20260029296
[2026-03-18 11:36:54] [INFO]   -> Set field 'policeReportNumber' = "20260029296"
[2026-03-18 11:36:54] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 11:36:54] [INFO]   -> Found value: Event spawned from CHEST PAIN.  [03/18/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03/18...
[2026-03-18 11:36:54] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from CHEST PAIN.  [03\/18\/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03\/18\/2026 06:34:41 KBURTON] [LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 06:34:18 BWILSON] ARM IS NUMB  CHEST PAIN  YUVON BURNETT  [03\/18\/26 06:33:45 KBURTON]"
[2026-03-18 11:36:54] [INFO]   -> Set field 'cADLog' = "Event spawned from CHEST PAIN.  [03\/18\/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03\/18\/2026 06:34:41 KBURTON] [LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 06:34:18 BWILSON] ARM IS NUMB  CHEST PAIN  YUVON BURNETT  [03\/18\/26 06:33:45 KBURTON]"
[2026-03-18 11:36:54] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 11:36:54] [INFO]   -> Found value: BAXTER
[2026-03-18 11:36:54] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 11:36:54] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 11:36:54] [INFO]   -> Found value: OLD BAXTER
[2026-03-18 11:36:54] [INFO]   -> Set field 'streetName' = "OLD BAXTER"
[2026-03-18 11:36:54] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 11:36:54] [INFO]   -> Found value: RD
[2026-03-18 11:36:54] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 11:36:54] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 11:36:54] [INFO]   -> Found value: 8749 OLD BAXTER RD
[2026-03-18 11:36:54] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8749 OLD BAXTER RD"
[2026-03-18 11:36:54] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 11:36:54] [INFO] Concatenating street name and type
[2026-03-18 11:36:54] [INFO]   -> Combined street name: OLD BAXTER RD
[2026-03-18 11:36:54] [INFO] Built locationCoordinates from lat/lng: 36.14003,-85.65532
[2026-03-18 11:36:54] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nRESC\nEMS","incidentInternalId":"2026000730","dispatchRunNumber":"2026000730","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":8749,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.14003000000000298541635856963694095611572265625,"nERISIncidentLongitude":-85.6553200000000032332536648027598857879638671875,"alarm":"2026-03-18 06:36:16","dispatched":"2026-03-18 06:36:23","incidentLocationCross":"BROTHER IN LAW HILL RD\/TUCKER OAKS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-18 06:36:23","timeunitclear":"2026-03-18 06:36:48","timecanceledenroute":"2026-03-18 06:36:48","policeReportNumber":"20260029296","dispatchNotes":"Event spawned from CHEST PAIN.  [03\/18\/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03\/18\/2026 06:34:41 KBURTON] [LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 06:34:18 BWILSON] ARM IS NUMB  CHEST PAIN  YUVON BURNETT  [03\/18\/26 06:33:45 KBURTON]","cADLog":"Event spawned from CHEST PAIN.  [03\/18\/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03\/18\/2026 06:34:41 KBURTON] [LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 06:34:18 BWILSON] ARM IS NUMB  CHEST PAIN  YUVON BURNETT  [03\/18\/26 06:33:45 KBURTON]","incidentLocationCity":"BAXTER","streetName":"OLD BAXTER RD","incidentAddressTextVersionStreet":"8749 OLD BAXTER RD","locationCoordinates":"36.14003,-85.65532"}
[2026-03-18 11:36:54] [INFO] Number of extracted fields: 23
[2026-03-18 11:36:54] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
RESC
EMS'
[2026-03-18 11:36:54] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
RESC
EMS', Parsed IDs = ["PCFD","PCSO","RESC","EMS"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-18 11:36:54] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","RESC","EMS"]
[2026-03-18 11:36:54] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 11:36:54] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 11:36:54] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","RESC","EMS"]
[2026-03-18 11:36:54] [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-03-18 11:36:54] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 11:36:54] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 11:36:54] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 11:36:54] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 11:36:55] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-18 11:36:55] [INFO] Found existing Dispatch with cADNumber '2026000730', ID: 69ba8e3f9be8a9b2e - will update instead of create
[2026-03-18 11:36:55] [INFO] Updated existing Dispatches record with ID: 69ba8e3f9be8a9b2e
[2026-03-18 11:36:55] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029296_20260318_113654.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029296_20260318_113654.XML
[2026-03-18 11:36:55] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029296_20260318_113654.XML
[2026-03-18 11:36:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029296_20260318_113654_1.XML
[2026-03-18 11:36:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029296_20260318_113654_1.XML for user: 68f1466aed072ad4a
[2026-03-18 11:36:55] [INFO] File size: 6381 bytes
[2026-03-18 11:36:55] [INFO] Created FTPFiles record with ID: 69ba8e57d45939333
[2026-03-18 11:36:55] [INFO] About to extract fields from XML. File size: 6381 bytes
[2026-03-18 11:36:55] [INFO] Number of mappings: 28
[2026-03-18 11:36:55] [INFO] Starting XML parsing. Content length: 6381
[2026-03-18 11:36:55] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 11:36:55] [INFO] Processing 28 field mappings
[2026-03-18 11:36:55] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 11:36:55] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 11:36:55] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 11:36:55] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 11:36:55] [INFO]   -> Found value: PCFD
PCSO
RESC
EMS
[2026-03-18 11:36:55] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nRESC\nEMS"
[2026-03-18 11:36:55] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 11:36:55] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 11:36:55] [INFO]   -> Found value: 2026000730
[2026-03-18 11:36:55] [INFO]   -> Set field 'incidentInternalId' = "2026000730"
[2026-03-18 11:36:55] [INFO]   -> Set field 'dispatchRunNumber' = "2026000730"
[2026-03-18 11:36:55] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 11:36:55] [INFO]   -> Found value: CHEST PAIN
[2026-03-18 11:36:55] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-18 11:36:55] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 11:36:55] [INFO]   -> Found value: 8749
[2026-03-18 11:36:55] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8749
[2026-03-18 11:36:55] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 11:36:55] [INFO]   -> Found value: TN
[2026-03-18 11:36:55] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 11:36:55] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 11:36:55] [INFO]   -> Found value: 38544
[2026-03-18 11:36:55] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 11:36:55] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 11:36:55] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:55] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 11:36:55] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:55] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 11:36:55] [INFO]   -> Found value: 36.14003
[2026-03-18 11:36:55] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14003000000000298541635856963694095611572265625
[2026-03-18 11:36:55] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 11:36:55] [INFO]   -> Found value: -85.65532
[2026-03-18 11:36:55] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6553200000000032332536648027598857879638671875
[2026-03-18 11:36:55] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 11:36:55] [INFO]   -> Found value: 2026-03-18 06:36:16
[2026-03-18 11:36:55] [INFO]   -> Set field 'alarm' = "2026-03-18 06:36:16"
[2026-03-18 11:36:55] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 11:36:55] [INFO]   -> Found value: 2026-03-18 06:36:23
[2026-03-18 11:36:55] [INFO]   -> Set field 'dispatched' = "2026-03-18 06:36:23"
[2026-03-18 11:36:55] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 11:36:55] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:55] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 11:36:55] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:55] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 11:36:55] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:55] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 11:36:55] [INFO]   -> Found value: BROTHER IN LAW HILL RD/TUCKER OAKS RD
[2026-03-18 11:36:55] [INFO]   -> Set field 'incidentLocationCross' = "BROTHER IN LAW HILL RD\/TUCKER OAKS RD"
[2026-03-18 11:36:55] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 11:36:55] [INFO]   -> Found value: PCFR
[2026-03-18 11:36:55] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-18 11:36:55] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 11:36:55] [INFO]   -> Found value: 2026-03-18 06:36:23
[2026-03-18 11:36:55] [INFO]   -> Set field 'timedispatch' = "2026-03-18 06:36:23"
[2026-03-18 11:36:55] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 11:36:55] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:55] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 11:36:55] [INFO]   -> No value found (null or empty)
[2026-03-18 11:36:55] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 11:36:55] [INFO]   -> Found value: 2026-03-18 06:36:48
[2026-03-18 11:36:55] [INFO]   -> Set field 'timeunitclear' = "2026-03-18 06:36:48"
[2026-03-18 11:36:55] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 11:36:55] [INFO]   -> Found value: 2026-03-18 06:36:48
[2026-03-18 11:36:55] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-18 06:36:48"
[2026-03-18 11:36:55] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 11:36:55] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 11:36:55] [INFO]   -> Found value: 20260029296
[2026-03-18 11:36:55] [INFO]   -> Set field 'policeReportNumber' = "20260029296"
[2026-03-18 11:36:55] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 11:36:55] [INFO]   -> Found value: Event spawned from CHEST PAIN.  [03/18/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03/18...
[2026-03-18 11:36:55] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from CHEST PAIN.  [03\/18\/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03\/18\/2026 06:34:41 KBURTON] [LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 06:34:18 BWILSON] ARM IS NUMB  CHEST PAIN  YUVON BURNETT  [03\/18\/26 06:33:45 KBURTON]"
[2026-03-18 11:36:55] [INFO]   -> Set field 'cADLog' = "Event spawned from CHEST PAIN.  [03\/18\/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03\/18\/2026 06:34:41 KBURTON] [LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 06:34:18 BWILSON] ARM IS NUMB  CHEST PAIN  YUVON BURNETT  [03\/18\/26 06:33:45 KBURTON]"
[2026-03-18 11:36:55] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 11:36:55] [INFO]   -> Found value: BAXTER
[2026-03-18 11:36:55] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 11:36:55] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 11:36:55] [INFO]   -> Found value: OLD BAXTER
[2026-03-18 11:36:55] [INFO]   -> Set field 'streetName' = "OLD BAXTER"
[2026-03-18 11:36:55] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 11:36:55] [INFO]   -> Found value: RD
[2026-03-18 11:36:55] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 11:36:55] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 11:36:55] [INFO]   -> Found value: 8749 OLD BAXTER RD
[2026-03-18 11:36:55] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8749 OLD BAXTER RD"
[2026-03-18 11:36:55] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 11:36:55] [INFO] Concatenating street name and type
[2026-03-18 11:36:55] [INFO]   -> Combined street name: OLD BAXTER RD
[2026-03-18 11:36:55] [INFO] Built locationCoordinates from lat/lng: 36.14003,-85.65532
[2026-03-18 11:36:55] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nRESC\nEMS","incidentInternalId":"2026000730","dispatchRunNumber":"2026000730","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":8749,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.14003000000000298541635856963694095611572265625,"nERISIncidentLongitude":-85.6553200000000032332536648027598857879638671875,"alarm":"2026-03-18 06:36:16","dispatched":"2026-03-18 06:36:23","incidentLocationCross":"BROTHER IN LAW HILL RD\/TUCKER OAKS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-18 06:36:23","timeunitclear":"2026-03-18 06:36:48","timecanceledenroute":"2026-03-18 06:36:48","policeReportNumber":"20260029296","dispatchNotes":"Event spawned from CHEST PAIN.  [03\/18\/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03\/18\/2026 06:34:41 KBURTON] [LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 06:34:18 BWILSON] ARM IS NUMB  CHEST PAIN  YUVON BURNETT  [03\/18\/26 06:33:45 KBURTON]","cADLog":"Event spawned from CHEST PAIN.  [03\/18\/2026 06:36:16 KBURTON] Event spawned from CHEST PAIN.  [03\/18\/2026 06:34:41 KBURTON] [LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 06:34:18 BWILSON] ARM IS NUMB  CHEST PAIN  YUVON BURNETT  [03\/18\/26 06:33:45 KBURTON]","incidentLocationCity":"BAXTER","streetName":"OLD BAXTER RD","incidentAddressTextVersionStreet":"8749 OLD BAXTER RD","locationCoordinates":"36.14003,-85.65532"}
[2026-03-18 11:36:55] [INFO] Number of extracted fields: 23
[2026-03-18 11:36:55] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
RESC
EMS'
[2026-03-18 11:36:55] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
RESC
EMS', Parsed IDs = ["PCFD","PCSO","RESC","EMS"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-18 11:36:55] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","RESC","EMS"]
[2026-03-18 11:36:55] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 11:36:56] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 11:36:56] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","RESC","EMS"]
[2026-03-18 11:36:56] [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-03-18 11:36:56] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 11:36:56] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 11:36:56] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 11:36:56] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 11:36:56] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-18 11:36:56] [INFO] Found existing Dispatch with cADNumber '2026000730', ID: 69ba8e3f9be8a9b2e - will update instead of create
[2026-03-18 11:36:56] [INFO] Updated existing Dispatches record with ID: 69ba8e3f9be8a9b2e
[2026-03-18 11:36:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029296_20260318_113654_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029296_20260318_113654_1.XML
[2026-03-18 11:36:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029296_20260318_113654_1.XML
[2026-03-18 12:57:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029316_20260318_125732.XML
[2026-03-18 12:57:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029316_20260318_125732.XML for user: 68f1466aed072ad4a
[2026-03-18 12:57:32] [INFO] File size: 5278 bytes
[2026-03-18 12:57:32] [INFO] Created FTPFiles record with ID: 69baa13cd04370050
[2026-03-18 12:57:32] [INFO] About to extract fields from XML. File size: 5278 bytes
[2026-03-18 12:57:32] [INFO] Number of mappings: 28
[2026-03-18 12:57:32] [INFO] Starting XML parsing. Content length: 5278
[2026-03-18 12:57:32] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 12:57:32] [INFO] Processing 28 field mappings
[2026-03-18 12:57:32] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 12:57:32] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 12:57:32] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 12:57:32] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-18 12:57:32] [INFO]   -> Found value: BFD
EMS
BAXT
[2026-03-18 12:57:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS\nBAXT"
[2026-03-18 12:57:32] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 12:57:32] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-18 12:57:32] [INFO]   -> Found value: 2026000092
[2026-03-18 12:57:32] [INFO]   -> Set field 'incidentInternalId' = "2026000092"
[2026-03-18 12:57:32] [INFO]   -> Set field 'dispatchRunNumber' = "2026000092"
[2026-03-18 12:57:32] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 12:57:32] [INFO]   -> Found value: MEDICAL CALL
[2026-03-18 12:57:32] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-03-18 12:57:32] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 12:57:32] [INFO]   -> Found value: 636
[2026-03-18 12:57:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 636
[2026-03-18 12:57:32] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 12:57:32] [INFO]   -> Found value: TN
[2026-03-18 12:57:32] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 12:57:32] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 12:57:32] [INFO]   -> Found value: 38544
[2026-03-18 12:57:32] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 12:57:32] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 12:57:32] [INFO]   -> No value found (null or empty)
[2026-03-18 12:57:32] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 12:57:32] [INFO]   -> No value found (null or empty)
[2026-03-18 12:57:32] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 12:57:32] [INFO]   -> Found value: 36.14315
[2026-03-18 12:57:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14314999999999855617716093547642230987548828125
[2026-03-18 12:57:32] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 12:57:32] [INFO]   -> Found value: -85.63332
[2026-03-18 12:57:32] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.633319999999997662598616443574428558349609375
[2026-03-18 12:57:32] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 12:57:32] [INFO]   -> Found value: 2026-03-18 07:56:59
[2026-03-18 12:57:32] [INFO]   -> Set field 'alarm' = "2026-03-18 07:56:59"
[2026-03-18 12:57:32] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 12:57:32] [INFO]   -> Found value: 2026-03-18 07:57:29
[2026-03-18 12:57:32] [INFO]   -> Set field 'dispatched' = "2026-03-18 07:57:29"
[2026-03-18 12:57:32] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 12:57:32] [INFO]   -> No value found (null or empty)
[2026-03-18 12:57:32] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 12:57:32] [INFO]   -> No value found (null or empty)
[2026-03-18 12:57:32] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 12:57:32] [INFO]   -> No value found (null or empty)
[2026-03-18 12:57:32] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 12:57:32] [INFO]   -> Found value: PUMP HOUSE RD/FAST LN
[2026-03-18 12:57:32] [INFO]   -> Set field 'incidentLocationCross' = "PUMP HOUSE RD\/FAST LN"
[2026-03-18 12:57:32] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 12:57:32] [INFO]   -> Found value: BEN2
[2026-03-18 12:57:32] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-18 12:57:32] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 12:57:32] [INFO]   -> Found value: 2026-03-18 07:57:29
[2026-03-18 12:57:32] [INFO]   -> Set field 'timedispatch' = "2026-03-18 07:57:29"
[2026-03-18 12:57:32] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 12:57:32] [INFO]   -> No value found (null or empty)
[2026-03-18 12:57:32] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 12:57:32] [INFO]   -> No value found (null or empty)
[2026-03-18 12:57:32] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 12:57:32] [INFO]   -> No value found (null or empty)
[2026-03-18 12:57:32] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 12:57:32] [INFO]   -> No value found (null or empty)
[2026-03-18 12:57:32] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 12:57:32] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 12:57:32] [INFO]   -> Found value: 20260029316
[2026-03-18 12:57:32] [INFO]   -> Set field 'policeReportNumber' = "20260029316"
[2026-03-18 12:57:32] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 12:57:32] [INFO]   -> Found value: Event spawned from SICK PERSON.  [03/18/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SL...
[2026-03-18 12:57:32] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from SICK PERSON.  [03\/18\/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SLURRED SPEACH  RECENT FEVER  [03\/18\/26 07:54:25 KBURTON]]"
[2026-03-18 12:57:32] [INFO]   -> Set field 'cADLog' = "Event spawned from SICK PERSON.  [03\/18\/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SLURRED SPEACH  RECENT FEVER  [03\/18\/26 07:54:25 KBURTON]]"
[2026-03-18 12:57:32] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 12:57:32] [INFO]   -> Found value: BAXTER
[2026-03-18 12:57:32] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 12:57:32] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 12:57:32] [INFO]   -> Found value: FIRST
[2026-03-18 12:57:32] [INFO]   -> Set field 'streetName' = "FIRST"
[2026-03-18 12:57:32] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 12:57:32] [INFO]   -> Found value: AVE
[2026-03-18 12:57:32] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-18 12:57:32] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 12:57:32] [INFO]   -> Found value: 636 FIRST AVE S
[2026-03-18 12:57:32] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "636 FIRST AVE S"
[2026-03-18 12:57:32] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-18 12:57:32] [INFO] Concatenating street name and type
[2026-03-18 12:57:32] [INFO]   -> Combined street name: FIRST AVE
[2026-03-18 12:57:32] [INFO] Built locationCoordinates from lat/lng: 36.14315,-85.63332
[2026-03-18 12:57:32] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS\nBAXT","incidentInternalId":"2026000092","dispatchRunNumber":"2026000092","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":636,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.14314999999999855617716093547642230987548828125,"nERISIncidentLongitude":-85.633319999999997662598616443574428558349609375,"alarm":"2026-03-18 07:56:59","dispatched":"2026-03-18 07:57:29","incidentLocationCross":"PUMP HOUSE RD\/FAST LN","cADVehicleID":"BEN2","timedispatch":"2026-03-18 07:57:29","policeReportNumber":"20260029316","dispatchNotes":"Event spawned from SICK PERSON.  [03\/18\/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SLURRED SPEACH  RECENT FEVER  [03\/18\/26 07:54:25 KBURTON]]","cADLog":"Event spawned from SICK PERSON.  [03\/18\/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SLURRED SPEACH  RECENT FEVER  [03\/18\/26 07:54:25 KBURTON]]","incidentLocationCity":"BAXTER","streetName":"FIRST AVE","incidentAddressTextVersionStreet":"636 FIRST AVE S","locationCoordinates":"36.14315,-85.63332"}
[2026-03-18 12:57:32] [INFO] Number of extracted fields: 21
[2026-03-18 12:57:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS
BAXT'
[2026-03-18 12:57:32] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS
BAXT', Parsed IDs = ["BFD","EMS","BAXT"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-18 12:57:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS","BAXT"]
[2026-03-18 12:57:32] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-18 12:57:33] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-18 12:57:33] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","BAXT"]
[2026-03-18 12:57:33] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-18 12:57:33] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-18 12:57:33] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 12:57:33] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-18 12:57:33] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-18 12:57:33] [INFO] Found existing IncidentTypeMapping with ID: 695043510618737fe
[2026-03-18 12:57:38] [INFO] Created new Dispatches record with ID: 69baa13dd0e6f15d3
[2026-03-18 12:57:38] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029316_20260318_125732.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/BFD_20260029316_20260318_125732.XML
[2026-03-18 12:57:38] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029316_20260318_125732.XML
[2026-03-18 12:58:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029316_20260318_125840.XML
[2026-03-18 12:58:40] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029316_20260318_125840.XML for user: 68f1466aed072ad4a
[2026-03-18 12:58:40] [INFO] File size: 5345 bytes
[2026-03-18 12:58:41] [INFO] Created FTPFiles record with ID: 69baa180f38d470db
[2026-03-18 12:58:41] [INFO] About to extract fields from XML. File size: 5345 bytes
[2026-03-18 12:58:41] [INFO] Number of mappings: 28
[2026-03-18 12:58:41] [INFO] Starting XML parsing. Content length: 5345
[2026-03-18 12:58:41] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 12:58:41] [INFO] Processing 28 field mappings
[2026-03-18 12:58:41] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 12:58:41] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 12:58:41] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 12:58:41] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-18 12:58:41] [INFO]   -> Found value: BFD
EMS
BAXT
[2026-03-18 12:58:41] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS\nBAXT"
[2026-03-18 12:58:41] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 12:58:41] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-18 12:58:41] [INFO]   -> Found value: 2026000092
[2026-03-18 12:58:41] [INFO]   -> Set field 'incidentInternalId' = "2026000092"
[2026-03-18 12:58:41] [INFO]   -> Set field 'dispatchRunNumber' = "2026000092"
[2026-03-18 12:58:41] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 12:58:41] [INFO]   -> Found value: MEDICAL CALL
[2026-03-18 12:58:41] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-03-18 12:58:41] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 12:58:41] [INFO]   -> Found value: 636
[2026-03-18 12:58:41] [INFO]   -> Set field 'incidentLocationStreetNumber' = 636
[2026-03-18 12:58:41] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 12:58:41] [INFO]   -> Found value: TN
[2026-03-18 12:58:41] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 12:58:41] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 12:58:41] [INFO]   -> Found value: 38544
[2026-03-18 12:58:41] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 12:58:41] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 12:58:41] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:41] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 12:58:41] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:41] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 12:58:41] [INFO]   -> Found value: 36.14315
[2026-03-18 12:58:41] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14314999999999855617716093547642230987548828125
[2026-03-18 12:58:41] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 12:58:41] [INFO]   -> Found value: -85.63332
[2026-03-18 12:58:41] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.633319999999997662598616443574428558349609375
[2026-03-18 12:58:41] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 12:58:41] [INFO]   -> Found value: 2026-03-18 07:56:59
[2026-03-18 12:58:41] [INFO]   -> Set field 'alarm' = "2026-03-18 07:56:59"
[2026-03-18 12:58:41] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 12:58:41] [INFO]   -> Found value: 2026-03-18 07:57:29
[2026-03-18 12:58:41] [INFO]   -> Set field 'dispatched' = "2026-03-18 07:57:29"
[2026-03-18 12:58:41] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 12:58:41] [INFO]   -> Found value: 2026-03-18 07:58:32
[2026-03-18 12:58:41] [INFO]   -> Set field 'enroute' = "2026-03-18 07:58:32"
[2026-03-18 12:58:41] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 12:58:41] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:41] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 12:58:41] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:41] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 12:58:41] [INFO]   -> Found value: PUMP HOUSE RD/FAST LN
[2026-03-18 12:58:41] [INFO]   -> Set field 'incidentLocationCross' = "PUMP HOUSE RD\/FAST LN"
[2026-03-18 12:58:41] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 12:58:41] [INFO]   -> Found value: BEN2
[2026-03-18 12:58:41] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-18 12:58:41] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 12:58:41] [INFO]   -> Found value: 2026-03-18 07:57:29
[2026-03-18 12:58:41] [INFO]   -> Set field 'timedispatch' = "2026-03-18 07:57:29"
[2026-03-18 12:58:41] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 12:58:41] [INFO]   -> Found value: 2026-03-18 07:58:32
[2026-03-18 12:58:41] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 07:58:32"
[2026-03-18 12:58:41] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 12:58:41] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:41] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 12:58:41] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:41] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 12:58:41] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:41] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 12:58:41] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 12:58:41] [INFO]   -> Found value: 20260029316
[2026-03-18 12:58:41] [INFO]   -> Set field 'policeReportNumber' = "20260029316"
[2026-03-18 12:58:41] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 12:58:41] [INFO]   -> Found value: Event spawned from SICK PERSON.  [03/18/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SL...
[2026-03-18 12:58:41] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from SICK PERSON.  [03\/18\/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SLURRED SPEACH  RECENT FEVER  [03\/18\/26 07:54:25 KBURTON]]"
[2026-03-18 12:58:41] [INFO]   -> Set field 'cADLog' = "Event spawned from SICK PERSON.  [03\/18\/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SLURRED SPEACH  RECENT FEVER  [03\/18\/26 07:54:25 KBURTON]]"
[2026-03-18 12:58:41] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 12:58:41] [INFO]   -> Found value: BAXTER
[2026-03-18 12:58:41] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 12:58:41] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 12:58:41] [INFO]   -> Found value: FIRST
[2026-03-18 12:58:41] [INFO]   -> Set field 'streetName' = "FIRST"
[2026-03-18 12:58:41] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 12:58:41] [INFO]   -> Found value: AVE
[2026-03-18 12:58:41] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-18 12:58:41] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 12:58:41] [INFO]   -> Found value: 636 FIRST AVE S
[2026-03-18 12:58:41] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "636 FIRST AVE S"
[2026-03-18 12:58:41] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 12:58:41] [INFO] Concatenating street name and type
[2026-03-18 12:58:41] [INFO]   -> Combined street name: FIRST AVE
[2026-03-18 12:58:41] [INFO] Built locationCoordinates from lat/lng: 36.14315,-85.63332
[2026-03-18 12:58:41] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS\nBAXT","incidentInternalId":"2026000092","dispatchRunNumber":"2026000092","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":636,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.14314999999999855617716093547642230987548828125,"nERISIncidentLongitude":-85.633319999999997662598616443574428558349609375,"alarm":"2026-03-18 07:56:59","dispatched":"2026-03-18 07:57:29","enroute":"2026-03-18 07:58:32","incidentLocationCross":"PUMP HOUSE RD\/FAST LN","cADVehicleID":"BEN2","timedispatch":"2026-03-18 07:57:29","timeenroutetoscene":"2026-03-18 07:58:32","policeReportNumber":"20260029316","dispatchNotes":"Event spawned from SICK PERSON.  [03\/18\/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SLURRED SPEACH  RECENT FEVER  [03\/18\/26 07:54:25 KBURTON]]","cADLog":"Event spawned from SICK PERSON.  [03\/18\/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SLURRED SPEACH  RECENT FEVER  [03\/18\/26 07:54:25 KBURTON]]","incidentLocationCity":"BAXTER","streetName":"FIRST AVE","incidentAddressTextVersionStreet":"636 FIRST AVE S","locationCoordinates":"36.14315,-85.63332"}
[2026-03-18 12:58:41] [INFO] Number of extracted fields: 23
[2026-03-18 12:58:41] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS
BAXT'
[2026-03-18 12:58:41] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS
BAXT', Parsed IDs = ["BFD","EMS","BAXT"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-18 12:58:41] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS","BAXT"]
[2026-03-18 12:58:41] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-18 12:58:41] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-18 12:58:41] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","BAXT"]
[2026-03-18 12:58:41] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-18 12:58:41] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-18 12:58:41] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 12:58:41] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-18 12:58:41] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-18 12:58:41] [INFO] Found existing IncidentTypeMapping with ID: 695043510618737fe
[2026-03-18 12:58:41] [INFO] Found existing Dispatch with cADNumber '2026000092', ID: 69baa13dd0e6f15d3 - will update instead of create
[2026-03-18 12:58:41] [INFO] Updated existing Dispatches record with ID: 69baa13dd0e6f15d3
[2026-03-18 12:58:41] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029316_20260318_125840.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/BFD_20260029316_20260318_125840.XML
[2026-03-18 12:58:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029316_20260318_125840.XML
[2026-03-18 12:58:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029316_20260318_125843.XML
[2026-03-18 12:58:43] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029316_20260318_125843.XML for user: 68f1466aed072ad4a
[2026-03-18 12:58:43] [INFO] File size: 5345 bytes
[2026-03-18 12:58:43] [INFO] Created FTPFiles record with ID: 69baa183ad924ca19
[2026-03-18 12:58:43] [INFO] About to extract fields from XML. File size: 5345 bytes
[2026-03-18 12:58:43] [INFO] Number of mappings: 28
[2026-03-18 12:58:43] [INFO] Starting XML parsing. Content length: 5345
[2026-03-18 12:58:43] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 12:58:43] [INFO] Processing 28 field mappings
[2026-03-18 12:58:43] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 12:58:43] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 12:58:43] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 12:58:43] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-18 12:58:43] [INFO]   -> Found value: BFD
EMS
BAXT
[2026-03-18 12:58:43] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS\nBAXT"
[2026-03-18 12:58:43] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 12:58:43] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-18 12:58:43] [INFO]   -> Found value: 2026000092
[2026-03-18 12:58:43] [INFO]   -> Set field 'incidentInternalId' = "2026000092"
[2026-03-18 12:58:43] [INFO]   -> Set field 'dispatchRunNumber' = "2026000092"
[2026-03-18 12:58:43] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 12:58:43] [INFO]   -> Found value: MEDICAL CALL
[2026-03-18 12:58:43] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-03-18 12:58:43] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 12:58:43] [INFO]   -> Found value: 636
[2026-03-18 12:58:43] [INFO]   -> Set field 'incidentLocationStreetNumber' = 636
[2026-03-18 12:58:43] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 12:58:43] [INFO]   -> Found value: TN
[2026-03-18 12:58:43] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 12:58:43] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 12:58:43] [INFO]   -> Found value: 38544
[2026-03-18 12:58:43] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 12:58:43] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 12:58:43] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:43] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 12:58:43] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:43] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 12:58:43] [INFO]   -> Found value: 36.14315
[2026-03-18 12:58:43] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14314999999999855617716093547642230987548828125
[2026-03-18 12:58:43] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 12:58:43] [INFO]   -> Found value: -85.63332
[2026-03-18 12:58:43] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.633319999999997662598616443574428558349609375
[2026-03-18 12:58:43] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 12:58:43] [INFO]   -> Found value: 2026-03-18 07:56:59
[2026-03-18 12:58:43] [INFO]   -> Set field 'alarm' = "2026-03-18 07:56:59"
[2026-03-18 12:58:43] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 12:58:43] [INFO]   -> Found value: 2026-03-18 07:57:29
[2026-03-18 12:58:43] [INFO]   -> Set field 'dispatched' = "2026-03-18 07:57:29"
[2026-03-18 12:58:43] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 12:58:43] [INFO]   -> Found value: 2026-03-18 07:58:32
[2026-03-18 12:58:43] [INFO]   -> Set field 'enroute' = "2026-03-18 07:58:32"
[2026-03-18 12:58:43] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 12:58:43] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:43] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 12:58:43] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:43] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 12:58:43] [INFO]   -> Found value: PUMP HOUSE RD/FAST LN
[2026-03-18 12:58:43] [INFO]   -> Set field 'incidentLocationCross' = "PUMP HOUSE RD\/FAST LN"
[2026-03-18 12:58:43] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 12:58:43] [INFO]   -> Found value: BEN2
[2026-03-18 12:58:43] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-18 12:58:43] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 12:58:43] [INFO]   -> Found value: 2026-03-18 07:57:29
[2026-03-18 12:58:43] [INFO]   -> Set field 'timedispatch' = "2026-03-18 07:57:29"
[2026-03-18 12:58:43] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 12:58:43] [INFO]   -> Found value: 2026-03-18 07:58:32
[2026-03-18 12:58:43] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 07:58:32"
[2026-03-18 12:58:43] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 12:58:43] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:43] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 12:58:43] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:43] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 12:58:43] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:43] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 12:58:43] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 12:58:43] [INFO]   -> Found value: 20260029316
[2026-03-18 12:58:43] [INFO]   -> Set field 'policeReportNumber' = "20260029316"
[2026-03-18 12:58:43] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 12:58:43] [INFO]   -> Found value: Event spawned from SICK PERSON.  [03/18/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SL...
[2026-03-18 12:58:43] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from SICK PERSON.  [03\/18\/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SLURRED SPEACH  RECENT FEVER  [03\/18\/26 07:54:25 KBURTON]]"
[2026-03-18 12:58:43] [INFO]   -> Set field 'cADLog' = "Event spawned from SICK PERSON.  [03\/18\/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SLURRED SPEACH  RECENT FEVER  [03\/18\/26 07:54:25 KBURTON]]"
[2026-03-18 12:58:43] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 12:58:43] [INFO]   -> Found value: BAXTER
[2026-03-18 12:58:43] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 12:58:43] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 12:58:43] [INFO]   -> Found value: FIRST
[2026-03-18 12:58:43] [INFO]   -> Set field 'streetName' = "FIRST"
[2026-03-18 12:58:43] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 12:58:43] [INFO]   -> Found value: AVE
[2026-03-18 12:58:43] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-18 12:58:43] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 12:58:43] [INFO]   -> Found value: 636 FIRST AVE S
[2026-03-18 12:58:43] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "636 FIRST AVE S"
[2026-03-18 12:58:43] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 12:58:43] [INFO] Concatenating street name and type
[2026-03-18 12:58:43] [INFO]   -> Combined street name: FIRST AVE
[2026-03-18 12:58:43] [INFO] Built locationCoordinates from lat/lng: 36.14315,-85.63332
[2026-03-18 12:58:43] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS\nBAXT","incidentInternalId":"2026000092","dispatchRunNumber":"2026000092","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":636,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.14314999999999855617716093547642230987548828125,"nERISIncidentLongitude":-85.633319999999997662598616443574428558349609375,"alarm":"2026-03-18 07:56:59","dispatched":"2026-03-18 07:57:29","enroute":"2026-03-18 07:58:32","incidentLocationCross":"PUMP HOUSE RD\/FAST LN","cADVehicleID":"BEN2","timedispatch":"2026-03-18 07:57:29","timeenroutetoscene":"2026-03-18 07:58:32","policeReportNumber":"20260029316","dispatchNotes":"Event spawned from SICK PERSON.  [03\/18\/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SLURRED SPEACH  RECENT FEVER  [03\/18\/26 07:54:25 KBURTON]]","cADLog":"Event spawned from SICK PERSON.  [03\/18\/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SLURRED SPEACH  RECENT FEVER  [03\/18\/26 07:54:25 KBURTON]]","incidentLocationCity":"BAXTER","streetName":"FIRST AVE","incidentAddressTextVersionStreet":"636 FIRST AVE S","locationCoordinates":"36.14315,-85.63332"}
[2026-03-18 12:58:43] [INFO] Number of extracted fields: 23
[2026-03-18 12:58:43] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS
BAXT'
[2026-03-18 12:58:43] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS
BAXT', Parsed IDs = ["BFD","EMS","BAXT"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-18 12:58:43] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS","BAXT"]
[2026-03-18 12:58:43] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-18 12:58:43] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-18 12:58:43] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","BAXT"]
[2026-03-18 12:58:44] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-18 12:58:44] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-18 12:58:44] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 12:58:44] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-18 12:58:44] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-18 12:58:44] [INFO] Found existing IncidentTypeMapping with ID: 695043510618737fe
[2026-03-18 12:58:44] [INFO] Found existing Dispatch with cADNumber '2026000092', ID: 69baa13dd0e6f15d3 - will update instead of create
[2026-03-18 12:58:44] [INFO] Updated existing Dispatches record with ID: 69baa13dd0e6f15d3
[2026-03-18 12:58:44] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029316_20260318_125843.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/BFD_20260029316_20260318_125843.XML
[2026-03-18 12:58:44] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029316_20260318_125843.XML
[2026-03-18 12:58:44] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029316_20260318_125844.XML
[2026-03-18 12:58:44] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029316_20260318_125844.XML for user: 68f1466aed072ad4a
[2026-03-18 12:58:44] [INFO] File size: 5345 bytes
[2026-03-18 12:58:45] [INFO] Created FTPFiles record with ID: 69baa185103e11c39
[2026-03-18 12:58:45] [INFO] About to extract fields from XML. File size: 5345 bytes
[2026-03-18 12:58:45] [INFO] Number of mappings: 28
[2026-03-18 12:58:45] [INFO] Starting XML parsing. Content length: 5345
[2026-03-18 12:58:45] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 12:58:45] [INFO] Processing 28 field mappings
[2026-03-18 12:58:45] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 12:58:45] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 12:58:45] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 12:58:45] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-18 12:58:45] [INFO]   -> Found value: BFD
EMS
BAXT
[2026-03-18 12:58:45] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS\nBAXT"
[2026-03-18 12:58:45] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 12:58:45] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-18 12:58:45] [INFO]   -> Found value: 2026000092
[2026-03-18 12:58:45] [INFO]   -> Set field 'incidentInternalId' = "2026000092"
[2026-03-18 12:58:45] [INFO]   -> Set field 'dispatchRunNumber' = "2026000092"
[2026-03-18 12:58:45] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 12:58:45] [INFO]   -> Found value: MEDICAL CALL
[2026-03-18 12:58:45] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-03-18 12:58:45] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 12:58:45] [INFO]   -> Found value: 636
[2026-03-18 12:58:45] [INFO]   -> Set field 'incidentLocationStreetNumber' = 636
[2026-03-18 12:58:45] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 12:58:45] [INFO]   -> Found value: TN
[2026-03-18 12:58:45] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 12:58:45] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 12:58:45] [INFO]   -> Found value: 38544
[2026-03-18 12:58:45] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 12:58:45] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 12:58:45] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:45] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 12:58:45] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:45] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 12:58:45] [INFO]   -> Found value: 36.14315
[2026-03-18 12:58:45] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14314999999999855617716093547642230987548828125
[2026-03-18 12:58:45] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 12:58:45] [INFO]   -> Found value: -85.63332
[2026-03-18 12:58:45] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.633319999999997662598616443574428558349609375
[2026-03-18 12:58:45] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 12:58:45] [INFO]   -> Found value: 2026-03-18 07:56:59
[2026-03-18 12:58:45] [INFO]   -> Set field 'alarm' = "2026-03-18 07:56:59"
[2026-03-18 12:58:45] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 12:58:45] [INFO]   -> Found value: 2026-03-18 07:57:29
[2026-03-18 12:58:45] [INFO]   -> Set field 'dispatched' = "2026-03-18 07:57:29"
[2026-03-18 12:58:45] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 12:58:45] [INFO]   -> Found value: 2026-03-18 07:58:32
[2026-03-18 12:58:45] [INFO]   -> Set field 'enroute' = "2026-03-18 07:58:32"
[2026-03-18 12:58:45] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 12:58:45] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:45] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 12:58:45] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:45] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 12:58:45] [INFO]   -> Found value: PUMP HOUSE RD/FAST LN
[2026-03-18 12:58:45] [INFO]   -> Set field 'incidentLocationCross' = "PUMP HOUSE RD\/FAST LN"
[2026-03-18 12:58:45] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 12:58:45] [INFO]   -> Found value: BEN2
[2026-03-18 12:58:45] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-18 12:58:45] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 12:58:45] [INFO]   -> Found value: 2026-03-18 07:57:29
[2026-03-18 12:58:45] [INFO]   -> Set field 'timedispatch' = "2026-03-18 07:57:29"
[2026-03-18 12:58:45] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 12:58:45] [INFO]   -> Found value: 2026-03-18 07:58:32
[2026-03-18 12:58:45] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 07:58:32"
[2026-03-18 12:58:45] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 12:58:45] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:45] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 12:58:45] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:45] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 12:58:45] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:45] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 12:58:45] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 12:58:45] [INFO]   -> Found value: 20260029316
[2026-03-18 12:58:45] [INFO]   -> Set field 'policeReportNumber' = "20260029316"
[2026-03-18 12:58:45] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 12:58:45] [INFO]   -> Found value: Event spawned from SICK PERSON.  [03/18/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SL...
[2026-03-18 12:58:45] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from SICK PERSON.  [03\/18\/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SLURRED SPEACH  RECENT FEVER  [03\/18\/26 07:54:25 KBURTON]]"
[2026-03-18 12:58:45] [INFO]   -> Set field 'cADLog' = "Event spawned from SICK PERSON.  [03\/18\/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SLURRED SPEACH  RECENT FEVER  [03\/18\/26 07:54:25 KBURTON]]"
[2026-03-18 12:58:45] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 12:58:45] [INFO]   -> Found value: BAXTER
[2026-03-18 12:58:45] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 12:58:45] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 12:58:45] [INFO]   -> Found value: FIRST
[2026-03-18 12:58:45] [INFO]   -> Set field 'streetName' = "FIRST"
[2026-03-18 12:58:45] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 12:58:45] [INFO]   -> Found value: AVE
[2026-03-18 12:58:45] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-18 12:58:45] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 12:58:45] [INFO]   -> Found value: 636 FIRST AVE S
[2026-03-18 12:58:45] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "636 FIRST AVE S"
[2026-03-18 12:58:45] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 12:58:45] [INFO] Concatenating street name and type
[2026-03-18 12:58:45] [INFO]   -> Combined street name: FIRST AVE
[2026-03-18 12:58:45] [INFO] Built locationCoordinates from lat/lng: 36.14315,-85.63332
[2026-03-18 12:58:45] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS\nBAXT","incidentInternalId":"2026000092","dispatchRunNumber":"2026000092","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":636,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.14314999999999855617716093547642230987548828125,"nERISIncidentLongitude":-85.633319999999997662598616443574428558349609375,"alarm":"2026-03-18 07:56:59","dispatched":"2026-03-18 07:57:29","enroute":"2026-03-18 07:58:32","incidentLocationCross":"PUMP HOUSE RD\/FAST LN","cADVehicleID":"BEN2","timedispatch":"2026-03-18 07:57:29","timeenroutetoscene":"2026-03-18 07:58:32","policeReportNumber":"20260029316","dispatchNotes":"Event spawned from SICK PERSON.  [03\/18\/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SLURRED SPEACH  RECENT FEVER  [03\/18\/26 07:54:25 KBURTON]]","cADLog":"Event spawned from SICK PERSON.  [03\/18\/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SLURRED SPEACH  RECENT FEVER  [03\/18\/26 07:54:25 KBURTON]]","incidentLocationCity":"BAXTER","streetName":"FIRST AVE","incidentAddressTextVersionStreet":"636 FIRST AVE S","locationCoordinates":"36.14315,-85.63332"}
[2026-03-18 12:58:45] [INFO] Number of extracted fields: 23
[2026-03-18 12:58:45] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS
BAXT'
[2026-03-18 12:58:45] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS
BAXT', Parsed IDs = ["BFD","EMS","BAXT"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-18 12:58:45] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS","BAXT"]
[2026-03-18 12:58:45] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-18 12:58:45] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-18 12:58:45] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","BAXT"]
[2026-03-18 12:58:45] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-18 12:58:45] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-18 12:58:45] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 12:58:45] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-18 12:58:45] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-18 12:58:45] [INFO] Found existing IncidentTypeMapping with ID: 695043510618737fe
[2026-03-18 12:58:45] [INFO] Found existing Dispatch with cADNumber '2026000092', ID: 69baa13dd0e6f15d3 - will update instead of create
[2026-03-18 12:58:46] [INFO] Updated existing Dispatches record with ID: 69baa13dd0e6f15d3
[2026-03-18 12:58:46] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029316_20260318_125844.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/BFD_20260029316_20260318_125844.XML
[2026-03-18 12:58:46] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029316_20260318_125844.XML
[2026-03-18 12:58:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029316_20260318_125844_1.XML
[2026-03-18 12:58:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029316_20260318_125844_1.XML for user: 68f1466aed072ad4a
[2026-03-18 12:58:46] [INFO] File size: 5345 bytes
[2026-03-18 12:58:46] [INFO] Created FTPFiles record with ID: 69baa18677ff3afbb
[2026-03-18 12:58:46] [INFO] About to extract fields from XML. File size: 5345 bytes
[2026-03-18 12:58:46] [INFO] Number of mappings: 28
[2026-03-18 12:58:46] [INFO] Starting XML parsing. Content length: 5345
[2026-03-18 12:58:46] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 12:58:46] [INFO] Processing 28 field mappings
[2026-03-18 12:58:46] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 12:58:46] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 12:58:46] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 12:58:46] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-18 12:58:46] [INFO]   -> Found value: BFD
EMS
BAXT
[2026-03-18 12:58:46] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS\nBAXT"
[2026-03-18 12:58:46] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 12:58:46] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-18 12:58:46] [INFO]   -> Found value: 2026000092
[2026-03-18 12:58:46] [INFO]   -> Set field 'incidentInternalId' = "2026000092"
[2026-03-18 12:58:46] [INFO]   -> Set field 'dispatchRunNumber' = "2026000092"
[2026-03-18 12:58:46] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 12:58:46] [INFO]   -> Found value: MEDICAL CALL
[2026-03-18 12:58:46] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-03-18 12:58:46] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 12:58:46] [INFO]   -> Found value: 636
[2026-03-18 12:58:46] [INFO]   -> Set field 'incidentLocationStreetNumber' = 636
[2026-03-18 12:58:46] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 12:58:46] [INFO]   -> Found value: TN
[2026-03-18 12:58:46] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 12:58:46] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 12:58:46] [INFO]   -> Found value: 38544
[2026-03-18 12:58:46] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 12:58:46] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 12:58:46] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:46] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 12:58:46] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:46] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 12:58:46] [INFO]   -> Found value: 36.14315
[2026-03-18 12:58:46] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14314999999999855617716093547642230987548828125
[2026-03-18 12:58:46] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 12:58:46] [INFO]   -> Found value: -85.63332
[2026-03-18 12:58:46] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.633319999999997662598616443574428558349609375
[2026-03-18 12:58:46] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 12:58:46] [INFO]   -> Found value: 2026-03-18 07:56:59
[2026-03-18 12:58:46] [INFO]   -> Set field 'alarm' = "2026-03-18 07:56:59"
[2026-03-18 12:58:46] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 12:58:46] [INFO]   -> Found value: 2026-03-18 07:57:29
[2026-03-18 12:58:46] [INFO]   -> Set field 'dispatched' = "2026-03-18 07:57:29"
[2026-03-18 12:58:46] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 12:58:46] [INFO]   -> Found value: 2026-03-18 07:58:32
[2026-03-18 12:58:46] [INFO]   -> Set field 'enroute' = "2026-03-18 07:58:32"
[2026-03-18 12:58:46] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 12:58:46] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:46] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 12:58:46] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:46] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 12:58:46] [INFO]   -> Found value: PUMP HOUSE RD/FAST LN
[2026-03-18 12:58:46] [INFO]   -> Set field 'incidentLocationCross' = "PUMP HOUSE RD\/FAST LN"
[2026-03-18 12:58:46] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 12:58:46] [INFO]   -> Found value: BEN2
[2026-03-18 12:58:46] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-18 12:58:46] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 12:58:46] [INFO]   -> Found value: 2026-03-18 07:57:29
[2026-03-18 12:58:46] [INFO]   -> Set field 'timedispatch' = "2026-03-18 07:57:29"
[2026-03-18 12:58:46] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 12:58:46] [INFO]   -> Found value: 2026-03-18 07:58:32
[2026-03-18 12:58:46] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 07:58:32"
[2026-03-18 12:58:46] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 12:58:46] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:46] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 12:58:46] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:46] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 12:58:46] [INFO]   -> No value found (null or empty)
[2026-03-18 12:58:46] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 12:58:46] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 12:58:46] [INFO]   -> Found value: 20260029316
[2026-03-18 12:58:46] [INFO]   -> Set field 'policeReportNumber' = "20260029316"
[2026-03-18 12:58:46] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 12:58:46] [INFO]   -> Found value: Event spawned from SICK PERSON.  [03/18/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SL...
[2026-03-18 12:58:46] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from SICK PERSON.  [03\/18\/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SLURRED SPEACH  RECENT FEVER  [03\/18\/26 07:54:25 KBURTON]]"
[2026-03-18 12:58:46] [INFO]   -> Set field 'cADLog' = "Event spawned from SICK PERSON.  [03\/18\/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SLURRED SPEACH  RECENT FEVER  [03\/18\/26 07:54:25 KBURTON]]"
[2026-03-18 12:58:46] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 12:58:46] [INFO]   -> Found value: BAXTER
[2026-03-18 12:58:46] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 12:58:46] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 12:58:46] [INFO]   -> Found value: FIRST
[2026-03-18 12:58:46] [INFO]   -> Set field 'streetName' = "FIRST"
[2026-03-18 12:58:46] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 12:58:46] [INFO]   -> Found value: AVE
[2026-03-18 12:58:46] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-18 12:58:46] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 12:58:46] [INFO]   -> Found value: 636 FIRST AVE S
[2026-03-18 12:58:46] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "636 FIRST AVE S"
[2026-03-18 12:58:46] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 12:58:46] [INFO] Concatenating street name and type
[2026-03-18 12:58:46] [INFO]   -> Combined street name: FIRST AVE
[2026-03-18 12:58:46] [INFO] Built locationCoordinates from lat/lng: 36.14315,-85.63332
[2026-03-18 12:58:46] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS\nBAXT","incidentInternalId":"2026000092","dispatchRunNumber":"2026000092","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":636,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.14314999999999855617716093547642230987548828125,"nERISIncidentLongitude":-85.633319999999997662598616443574428558349609375,"alarm":"2026-03-18 07:56:59","dispatched":"2026-03-18 07:57:29","enroute":"2026-03-18 07:58:32","incidentLocationCross":"PUMP HOUSE RD\/FAST LN","cADVehicleID":"BEN2","timedispatch":"2026-03-18 07:57:29","timeenroutetoscene":"2026-03-18 07:58:32","policeReportNumber":"20260029316","dispatchNotes":"Event spawned from SICK PERSON.  [03\/18\/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SLURRED SPEACH  RECENT FEVER  [03\/18\/26 07:54:25 KBURTON]]","cADLog":"Event spawned from SICK PERSON.  [03\/18\/2026 07:56:59 JBOHANNON] UNABLE TO WALK  POSSIBLE SEPTIC  SLURRED SPEACH  RECENT FEVER  [03\/18\/26 07:54:25 KBURTON]]","incidentLocationCity":"BAXTER","streetName":"FIRST AVE","incidentAddressTextVersionStreet":"636 FIRST AVE S","locationCoordinates":"36.14315,-85.63332"}
[2026-03-18 12:58:46] [INFO] Number of extracted fields: 23
[2026-03-18 12:58:46] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS
BAXT'
[2026-03-18 12:58:46] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS
BAXT', Parsed IDs = ["BFD","EMS","BAXT"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-18 12:58:46] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS","BAXT"]
[2026-03-18 12:58:46] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-18 12:58:46] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-18 12:58:46] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","BAXT"]
[2026-03-18 12:58:46] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-18 12:58:46] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-18 12:58:46] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 12:58:46] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-18 12:58:47] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-18 12:58:47] [INFO] Found existing IncidentTypeMapping with ID: 695043510618737fe
[2026-03-18 12:58:47] [INFO] Found existing Dispatch with cADNumber '2026000092', ID: 69baa13dd0e6f15d3 - will update instead of create
[2026-03-18 12:58:47] [INFO] Updated existing Dispatches record with ID: 69baa13dd0e6f15d3
[2026-03-18 12:58:47] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029316_20260318_125844_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/BFD_20260029316_20260318_125844_1.XML
[2026-03-18 12:58:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029316_20260318_125844_1.XML
[2026-03-18 13:56:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029336_20260318_135621.XML
[2026-03-18 13:56:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029336_20260318_135621.XML for user: 68f1466aed072ad4a
[2026-03-18 13:56:21] [INFO] File size: 5142 bytes
[2026-03-18 13:56:21] [INFO] Created FTPFiles record with ID: 69baaf05642eccc50
[2026-03-18 13:56:21] [INFO] About to extract fields from XML. File size: 5142 bytes
[2026-03-18 13:56:21] [INFO] Number of mappings: 28
[2026-03-18 13:56:21] [INFO] Starting XML parsing. Content length: 5142
[2026-03-18 13:56:21] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 13:56:21] [INFO] Processing 28 field mappings
[2026-03-18 13:56:21] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 13:56:21] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 13:56:21] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 13:56:21] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-18 13:56:21] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-18 13:56:21] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-18 13:56:21] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 13:56:21] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-18 13:56:21] [INFO]   -> Found value: 2026000731
[2026-03-18 13:56:21] [INFO]   -> Set field 'incidentInternalId' = "2026000731"
[2026-03-18 13:56:21] [INFO]   -> Set field 'dispatchRunNumber' = "2026000731"
[2026-03-18 13:56:21] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 13:56:21] [INFO]   -> Found value: FALL VICTIM
[2026-03-18 13:56:21] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-18 13:56:21] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 13:56:21] [INFO]   -> Found value: 4820
[2026-03-18 13:56:21] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4820
[2026-03-18 13:56:21] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 13:56:21] [INFO]   -> Found value: TN
[2026-03-18 13:56:21] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 13:56:21] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 13:56:21] [INFO]   -> Found value: 38506
[2026-03-18 13:56:21] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 13:56:21] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 13:56:21] [INFO]   -> No value found (null or empty)
[2026-03-18 13:56:21] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 13:56:21] [INFO]   -> No value found (null or empty)
[2026-03-18 13:56:21] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 13:56:21] [INFO]   -> Found value: 36.23207
[2026-03-18 13:56:21] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.23207000000000022055246517993509769439697265625
[2026-03-18 13:56:21] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 13:56:21] [INFO]   -> Found value: -85.49284
[2026-03-18 13:56:21] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4928400000000010550138540565967559814453125
[2026-03-18 13:56:21] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 13:56:21] [INFO]   -> Found value: 2026-03-18 08:55:30
[2026-03-18 13:56:21] [INFO]   -> Set field 'alarm' = "2026-03-18 08:55:30"
[2026-03-18 13:56:21] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 13:56:21] [INFO]   -> Found value: 2026-03-18 08:56:18
[2026-03-18 13:56:21] [INFO]   -> Set field 'dispatched' = "2026-03-18 08:56:18"
[2026-03-18 13:56:21] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 13:56:21] [INFO]   -> No value found (null or empty)
[2026-03-18 13:56:21] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 13:56:21] [INFO]   -> No value found (null or empty)
[2026-03-18 13:56:21] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 13:56:21] [INFO]   -> No value found (null or empty)
[2026-03-18 13:56:21] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 13:56:21] [INFO]   -> Found value: RIDGEWOOD RD/PINE VALLEY RD
[2026-03-18 13:56:21] [INFO]   -> Set field 'incidentLocationCross' = "RIDGEWOOD RD\/PINE VALLEY RD"
[2026-03-18 13:56:21] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 13:56:21] [INFO]   -> Found value: PCFR
[2026-03-18 13:56:21] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-18 13:56:21] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 13:56:21] [INFO]   -> Found value: 2026-03-18 08:56:18
[2026-03-18 13:56:21] [INFO]   -> Set field 'timedispatch' = "2026-03-18 08:56:18"
[2026-03-18 13:56:21] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 13:56:21] [INFO]   -> No value found (null or empty)
[2026-03-18 13:56:21] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 13:56:21] [INFO]   -> No value found (null or empty)
[2026-03-18 13:56:21] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 13:56:21] [INFO]   -> No value found (null or empty)
[2026-03-18 13:56:21] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 13:56:21] [INFO]   -> No value found (null or empty)
[2026-03-18 13:56:21] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 13:56:21] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 13:56:21] [INFO]   -> Found value: 20260029336
[2026-03-18 13:56:21] [INFO]   -> Set field 'policeReportNumber' = "20260029336"
[2026-03-18 13:56:21] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 13:56:21] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [03/18/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL O...
[2026-03-18 13:56:21] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [03\/18\/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL OUT OF CHAIR  GLENNA LITWIN  190 ISH LBS  [03\/18\/26 08:55:21 KBURTON]"
[2026-03-18 13:56:21] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [03\/18\/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL OUT OF CHAIR  GLENNA LITWIN  190 ISH LBS  [03\/18\/26 08:55:21 KBURTON]"
[2026-03-18 13:56:21] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 13:56:21] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 13:56:21] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 13:56:21] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 13:56:21] [INFO]   -> Found value: VILLAGE
[2026-03-18 13:56:21] [INFO]   -> Set field 'streetName' = "VILLAGE"
[2026-03-18 13:56:21] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 13:56:21] [INFO]   -> Found value: RD
[2026-03-18 13:56:21] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 13:56:21] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 13:56:21] [INFO]   -> Found value: 4820 VILLAGE RD
[2026-03-18 13:56:21] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4820 VILLAGE RD"
[2026-03-18 13:56:21] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-18 13:56:21] [INFO] Concatenating street name and type
[2026-03-18 13:56:21] [INFO]   -> Combined street name: VILLAGE RD
[2026-03-18 13:56:21] [INFO] Built locationCoordinates from lat/lng: 36.23207,-85.49284
[2026-03-18 13:56:21] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000731","dispatchRunNumber":"2026000731","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":4820,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.23207000000000022055246517993509769439697265625,"nERISIncidentLongitude":-85.4928400000000010550138540565967559814453125,"alarm":"2026-03-18 08:55:30","dispatched":"2026-03-18 08:56:18","incidentLocationCross":"RIDGEWOOD RD\/PINE VALLEY RD","cADVehicleID":"PCFR","timedispatch":"2026-03-18 08:56:18","policeReportNumber":"20260029336","dispatchNotes":"Event spawned from FALL VICTIM.  [03\/18\/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL OUT OF CHAIR  GLENNA LITWIN  190 ISH LBS  [03\/18\/26 08:55:21 KBURTON]","cADLog":"Event spawned from FALL VICTIM.  [03\/18\/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL OUT OF CHAIR  GLENNA LITWIN  190 ISH LBS  [03\/18\/26 08:55:21 KBURTON]","incidentLocationCity":"COOKEVILLE","streetName":"VILLAGE RD","incidentAddressTextVersionStreet":"4820 VILLAGE RD","locationCoordinates":"36.23207,-85.49284"}
[2026-03-18 13:56:21] [INFO] Number of extracted fields: 21
[2026-03-18 13:56:21] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-18 13:56:21] [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-03-18 13:56:21] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-18 13:56:21] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 13:56:21] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 13:56:21] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-18 13:56:21] [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-03-18 13:56:21] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 13:56:21] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 13:56:21] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 13:56:21] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 13:56:23] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-18 13:56:33] [INFO] Created new Dispatches record with ID: 69baaf078518ed93f
[2026-03-18 13:56:33] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029336_20260318_135621.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029336_20260318_135621.XML
[2026-03-18 13:56:33] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029336_20260318_135621.XML
[2026-03-18 13:57:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029336_20260318_135753.XML
[2026-03-18 13:57:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029336_20260318_135753.XML for user: 68f1466aed072ad4a
[2026-03-18 13:57:53] [INFO] File size: 5962 bytes
[2026-03-18 13:57:53] [INFO] Created FTPFiles record with ID: 69baaf61ec6617307
[2026-03-18 13:57:53] [INFO] About to extract fields from XML. File size: 5962 bytes
[2026-03-18 13:57:53] [INFO] Number of mappings: 28
[2026-03-18 13:57:53] [INFO] Starting XML parsing. Content length: 5962
[2026-03-18 13:57:53] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 13:57:53] [INFO] Processing 28 field mappings
[2026-03-18 13:57:53] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 13:57:53] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 13:57:53] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 13:57:53] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-18 13:57:53] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-18 13:57:53] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-18 13:57:53] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 13:57:53] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-18 13:57:53] [INFO]   -> Found value: 2026000731
[2026-03-18 13:57:53] [INFO]   -> Set field 'incidentInternalId' = "2026000731"
[2026-03-18 13:57:53] [INFO]   -> Set field 'dispatchRunNumber' = "2026000731"
[2026-03-18 13:57:53] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 13:57:53] [INFO]   -> Found value: FALL VICTIM
[2026-03-18 13:57:53] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-18 13:57:53] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 13:57:53] [INFO]   -> Found value: 4820
[2026-03-18 13:57:53] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4820
[2026-03-18 13:57:53] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 13:57:53] [INFO]   -> Found value: TN
[2026-03-18 13:57:53] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 13:57:53] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 13:57:53] [INFO]   -> Found value: 38506
[2026-03-18 13:57:53] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 13:57:53] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 13:57:53] [INFO]   -> No value found (null or empty)
[2026-03-18 13:57:53] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 13:57:54] [INFO]   -> No value found (null or empty)
[2026-03-18 13:57:54] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 13:57:54] [INFO]   -> Found value: 36.23207
[2026-03-18 13:57:54] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.23207000000000022055246517993509769439697265625
[2026-03-18 13:57:54] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 13:57:54] [INFO]   -> Found value: -85.49284
[2026-03-18 13:57:54] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4928400000000010550138540565967559814453125
[2026-03-18 13:57:54] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 13:57:54] [INFO]   -> Found value: 2026-03-18 08:55:30
[2026-03-18 13:57:54] [INFO]   -> Set field 'alarm' = "2026-03-18 08:55:30"
[2026-03-18 13:57:54] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 13:57:54] [INFO]   -> Found value: 2026-03-18 08:56:18
[2026-03-18 13:57:54] [INFO]   -> Set field 'dispatched' = "2026-03-18 08:56:18"
[2026-03-18 13:57:54] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 13:57:54] [INFO]   -> No value found (null or empty)
[2026-03-18 13:57:54] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 13:57:54] [INFO]   -> No value found (null or empty)
[2026-03-18 13:57:54] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 13:57:54] [INFO]   -> No value found (null or empty)
[2026-03-18 13:57:54] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 13:57:54] [INFO]   -> Found value: RIDGEWOOD RD/PINE VALLEY RD
[2026-03-18 13:57:54] [INFO]   -> Set field 'incidentLocationCross' = "RIDGEWOOD RD\/PINE VALLEY RD"
[2026-03-18 13:57:54] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 13:57:54] [INFO]   -> Found value: PCFR
[2026-03-18 13:57:54] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-18 13:57:54] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 13:57:54] [INFO]   -> Found value: 2026-03-18 08:56:18
[2026-03-18 13:57:54] [INFO]   -> Set field 'timedispatch' = "2026-03-18 08:56:18"
[2026-03-18 13:57:54] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 13:57:54] [INFO]   -> No value found (null or empty)
[2026-03-18 13:57:54] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 13:57:54] [INFO]   -> No value found (null or empty)
[2026-03-18 13:57:54] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 13:57:54] [INFO]   -> Found value: 2026-03-18 08:57:50
[2026-03-18 13:57:54] [INFO]   -> Set field 'timeunitclear' = "2026-03-18 08:57:50"
[2026-03-18 13:57:54] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 13:57:54] [INFO]   -> Found value: 2026-03-18 08:57:50
[2026-03-18 13:57:54] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-18 08:57:50"
[2026-03-18 13:57:54] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 13:57:54] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 13:57:54] [INFO]   -> Found value: 20260029336
[2026-03-18 13:57:54] [INFO]   -> Set field 'policeReportNumber' = "20260029336"
[2026-03-18 13:57:54] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 13:57:54] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [03/18/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL O...
[2026-03-18 13:57:54] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [03\/18\/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL OUT OF CHAIR  GLENNA LITWIN  190 ISH LBS  [03\/18\/26 08:55:21 KBURTON]"
[2026-03-18 13:57:54] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [03\/18\/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL OUT OF CHAIR  GLENNA LITWIN  190 ISH LBS  [03\/18\/26 08:55:21 KBURTON]"
[2026-03-18 13:57:54] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 13:57:54] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 13:57:54] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 13:57:54] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 13:57:54] [INFO]   -> Found value: VILLAGE
[2026-03-18 13:57:54] [INFO]   -> Set field 'streetName' = "VILLAGE"
[2026-03-18 13:57:54] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 13:57:54] [INFO]   -> Found value: RD
[2026-03-18 13:57:54] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 13:57:54] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 13:57:54] [INFO]   -> Found value: 4820 VILLAGE RD
[2026-03-18 13:57:54] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4820 VILLAGE RD"
[2026-03-18 13:57:54] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 13:57:54] [INFO] Concatenating street name and type
[2026-03-18 13:57:54] [INFO]   -> Combined street name: VILLAGE RD
[2026-03-18 13:57:54] [INFO] Built locationCoordinates from lat/lng: 36.23207,-85.49284
[2026-03-18 13:57:54] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000731","dispatchRunNumber":"2026000731","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":4820,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.23207000000000022055246517993509769439697265625,"nERISIncidentLongitude":-85.4928400000000010550138540565967559814453125,"alarm":"2026-03-18 08:55:30","dispatched":"2026-03-18 08:56:18","incidentLocationCross":"RIDGEWOOD RD\/PINE VALLEY RD","cADVehicleID":"PCFR","timedispatch":"2026-03-18 08:56:18","timeunitclear":"2026-03-18 08:57:50","timecanceledenroute":"2026-03-18 08:57:50","policeReportNumber":"20260029336","dispatchNotes":"Event spawned from FALL VICTIM.  [03\/18\/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL OUT OF CHAIR  GLENNA LITWIN  190 ISH LBS  [03\/18\/26 08:55:21 KBURTON]","cADLog":"Event spawned from FALL VICTIM.  [03\/18\/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL OUT OF CHAIR  GLENNA LITWIN  190 ISH LBS  [03\/18\/26 08:55:21 KBURTON]","incidentLocationCity":"COOKEVILLE","streetName":"VILLAGE RD","incidentAddressTextVersionStreet":"4820 VILLAGE RD","locationCoordinates":"36.23207,-85.49284"}
[2026-03-18 13:57:54] [INFO] Number of extracted fields: 23
[2026-03-18 13:57:54] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-18 13:57:54] [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-03-18 13:57:54] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-18 13:57:54] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 13:57:54] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 13:57:54] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-18 13:57:54] [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-03-18 13:57:54] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 13:57:54] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 13:57:54] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 13:57:54] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 13:57:54] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-18 13:57:54] [INFO] Found existing Dispatch with cADNumber '2026000731', ID: 69baaf078518ed93f - will update instead of create
[2026-03-18 13:57:54] [INFO] Updated existing Dispatches record with ID: 69baaf078518ed93f
[2026-03-18 13:57:54] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029336_20260318_135753.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029336_20260318_135753.XML
[2026-03-18 13:57:54] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029336_20260318_135753.XML
[2026-03-18 13:57:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029336_20260318_135755.XML
[2026-03-18 13:57:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029336_20260318_135755.XML for user: 68f1466aed072ad4a
[2026-03-18 13:57:55] [INFO] File size: 6025 bytes
[2026-03-18 13:57:55] [INFO] Created FTPFiles record with ID: 69baaf63a5f2c07e3
[2026-03-18 13:57:55] [INFO] About to extract fields from XML. File size: 6025 bytes
[2026-03-18 13:57:55] [INFO] Number of mappings: 28
[2026-03-18 13:57:55] [INFO] Starting XML parsing. Content length: 6025
[2026-03-18 13:57:55] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 13:57:55] [INFO] Processing 28 field mappings
[2026-03-18 13:57:55] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 13:57:55] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 13:57:55] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 13:57:55] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-18 13:57:55] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-18 13:57:55] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-18 13:57:55] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 13:57:55] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-18 13:57:55] [INFO]   -> Found value: 2026000731
[2026-03-18 13:57:55] [INFO]   -> Set field 'incidentInternalId' = "2026000731"
[2026-03-18 13:57:55] [INFO]   -> Set field 'dispatchRunNumber' = "2026000731"
[2026-03-18 13:57:55] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 13:57:55] [INFO]   -> Found value: FALL VICTIM
[2026-03-18 13:57:55] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-18 13:57:55] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 13:57:55] [INFO]   -> Found value: 4820
[2026-03-18 13:57:55] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4820
[2026-03-18 13:57:55] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 13:57:55] [INFO]   -> Found value: TN
[2026-03-18 13:57:55] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 13:57:55] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 13:57:55] [INFO]   -> Found value: 38506
[2026-03-18 13:57:55] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 13:57:55] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 13:57:55] [INFO]   -> No value found (null or empty)
[2026-03-18 13:57:55] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 13:57:55] [INFO]   -> No value found (null or empty)
[2026-03-18 13:57:55] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 13:57:55] [INFO]   -> Found value: 36.23207
[2026-03-18 13:57:55] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.23207000000000022055246517993509769439697265625
[2026-03-18 13:57:55] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 13:57:55] [INFO]   -> Found value: -85.49284
[2026-03-18 13:57:55] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4928400000000010550138540565967559814453125
[2026-03-18 13:57:55] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 13:57:55] [INFO]   -> Found value: 2026-03-18 08:55:30
[2026-03-18 13:57:55] [INFO]   -> Set field 'alarm' = "2026-03-18 08:55:30"
[2026-03-18 13:57:55] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 13:57:55] [INFO]   -> Found value: 2026-03-18 08:56:18
[2026-03-18 13:57:55] [INFO]   -> Set field 'dispatched' = "2026-03-18 08:56:18"
[2026-03-18 13:57:55] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 13:57:55] [INFO]   -> Found value: 2026-03-18 08:57:52
[2026-03-18 13:57:55] [INFO]   -> Set field 'enroute' = "2026-03-18 08:57:52"
[2026-03-18 13:57:55] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 13:57:55] [INFO]   -> No value found (null or empty)
[2026-03-18 13:57:55] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 13:57:55] [INFO]   -> No value found (null or empty)
[2026-03-18 13:57:55] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 13:57:55] [INFO]   -> Found value: RIDGEWOOD RD/PINE VALLEY RD
[2026-03-18 13:57:55] [INFO]   -> Set field 'incidentLocationCross' = "RIDGEWOOD RD\/PINE VALLEY RD"
[2026-03-18 13:57:55] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 13:57:55] [INFO]   -> Found value: TK12
[2026-03-18 13:57:55] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-18 13:57:55] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 13:57:55] [INFO]   -> Found value: 2026-03-18 08:57:50
[2026-03-18 13:57:55] [INFO]   -> Set field 'timedispatch' = "2026-03-18 08:57:50"
[2026-03-18 13:57:55] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 13:57:55] [INFO]   -> Found value: 2026-03-18 08:57:52
[2026-03-18 13:57:55] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 08:57:52"
[2026-03-18 13:57:55] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 13:57:55] [INFO]   -> No value found (null or empty)
[2026-03-18 13:57:55] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 13:57:55] [INFO]   -> No value found (null or empty)
[2026-03-18 13:57:55] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 13:57:55] [INFO]   -> No value found (null or empty)
[2026-03-18 13:57:55] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 13:57:55] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 13:57:55] [INFO]   -> Found value: 20260029336
[2026-03-18 13:57:55] [INFO]   -> Set field 'policeReportNumber' = "20260029336"
[2026-03-18 13:57:55] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 13:57:55] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [03/18/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL O...
[2026-03-18 13:57:55] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [03\/18\/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL OUT OF CHAIR  GLENNA LITWIN  190 ISH LBS  [03\/18\/26 08:55:21 KBURTON]"
[2026-03-18 13:57:55] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [03\/18\/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL OUT OF CHAIR  GLENNA LITWIN  190 ISH LBS  [03\/18\/26 08:55:21 KBURTON]"
[2026-03-18 13:57:55] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 13:57:55] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 13:57:55] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 13:57:55] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 13:57:55] [INFO]   -> Found value: VILLAGE
[2026-03-18 13:57:55] [INFO]   -> Set field 'streetName' = "VILLAGE"
[2026-03-18 13:57:55] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 13:57:55] [INFO]   -> Found value: RD
[2026-03-18 13:57:55] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 13:57:55] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 13:57:55] [INFO]   -> Found value: 4820 VILLAGE RD
[2026-03-18 13:57:55] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4820 VILLAGE RD"
[2026-03-18 13:57:55] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 13:57:55] [INFO] Concatenating street name and type
[2026-03-18 13:57:55] [INFO]   -> Combined street name: VILLAGE RD
[2026-03-18 13:57:55] [INFO] Built locationCoordinates from lat/lng: 36.23207,-85.49284
[2026-03-18 13:57:55] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000731","dispatchRunNumber":"2026000731","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":4820,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.23207000000000022055246517993509769439697265625,"nERISIncidentLongitude":-85.4928400000000010550138540565967559814453125,"alarm":"2026-03-18 08:55:30","dispatched":"2026-03-18 08:56:18","enroute":"2026-03-18 08:57:52","incidentLocationCross":"RIDGEWOOD RD\/PINE VALLEY RD","cADVehicleID":"TK12","timedispatch":"2026-03-18 08:57:50","timeenroutetoscene":"2026-03-18 08:57:52","policeReportNumber":"20260029336","dispatchNotes":"Event spawned from FALL VICTIM.  [03\/18\/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL OUT OF CHAIR  GLENNA LITWIN  190 ISH LBS  [03\/18\/26 08:55:21 KBURTON]","cADLog":"Event spawned from FALL VICTIM.  [03\/18\/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL OUT OF CHAIR  GLENNA LITWIN  190 ISH LBS  [03\/18\/26 08:55:21 KBURTON]","incidentLocationCity":"COOKEVILLE","streetName":"VILLAGE RD","incidentAddressTextVersionStreet":"4820 VILLAGE RD","locationCoordinates":"36.23207,-85.49284"}
[2026-03-18 13:57:55] [INFO] Number of extracted fields: 23
[2026-03-18 13:57:55] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-18 13:57:55] [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-03-18 13:57:55] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-18 13:57:55] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 13:57:55] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 13:57:55] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-18 13:57:56] [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-03-18 13:57:56] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 13:57:56] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 13:57:56] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 13:57:56] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 13:57:56] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-18 13:57:56] [INFO] Found existing Dispatch with cADNumber '2026000731', ID: 69baaf078518ed93f - will update instead of create
[2026-03-18 13:57:56] [INFO] Updated existing Dispatches record with ID: 69baaf078518ed93f
[2026-03-18 13:57:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029336_20260318_135755.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029336_20260318_135755.XML
[2026-03-18 13:57:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029336_20260318_135755.XML
[2026-03-18 13:57:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029336_20260318_135755_1.XML
[2026-03-18 13:57:56] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029336_20260318_135755_1.XML for user: 68f1466aed072ad4a
[2026-03-18 13:57:56] [INFO] File size: 6025 bytes
[2026-03-18 13:57:56] [INFO] Created FTPFiles record with ID: 69baaf64ecd035836
[2026-03-18 13:57:56] [INFO] About to extract fields from XML. File size: 6025 bytes
[2026-03-18 13:57:56] [INFO] Number of mappings: 28
[2026-03-18 13:57:56] [INFO] Starting XML parsing. Content length: 6025
[2026-03-18 13:57:56] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 13:57:56] [INFO] Processing 28 field mappings
[2026-03-18 13:57:56] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 13:57:56] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 13:57:56] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 13:57:56] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-18 13:57:56] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-18 13:57:56] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-18 13:57:56] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 13:57:56] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-18 13:57:56] [INFO]   -> Found value: 2026000731
[2026-03-18 13:57:56] [INFO]   -> Set field 'incidentInternalId' = "2026000731"
[2026-03-18 13:57:56] [INFO]   -> Set field 'dispatchRunNumber' = "2026000731"
[2026-03-18 13:57:56] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 13:57:56] [INFO]   -> Found value: FALL VICTIM
[2026-03-18 13:57:56] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-18 13:57:56] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 13:57:56] [INFO]   -> Found value: 4820
[2026-03-18 13:57:56] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4820
[2026-03-18 13:57:56] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 13:57:56] [INFO]   -> Found value: TN
[2026-03-18 13:57:56] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 13:57:56] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 13:57:56] [INFO]   -> Found value: 38506
[2026-03-18 13:57:56] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 13:57:56] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 13:57:56] [INFO]   -> No value found (null or empty)
[2026-03-18 13:57:56] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 13:57:56] [INFO]   -> No value found (null or empty)
[2026-03-18 13:57:56] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 13:57:56] [INFO]   -> Found value: 36.23207
[2026-03-18 13:57:56] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.23207000000000022055246517993509769439697265625
[2026-03-18 13:57:56] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 13:57:56] [INFO]   -> Found value: -85.49284
[2026-03-18 13:57:56] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4928400000000010550138540565967559814453125
[2026-03-18 13:57:56] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 13:57:56] [INFO]   -> Found value: 2026-03-18 08:55:30
[2026-03-18 13:57:56] [INFO]   -> Set field 'alarm' = "2026-03-18 08:55:30"
[2026-03-18 13:57:56] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 13:57:56] [INFO]   -> Found value: 2026-03-18 08:56:18
[2026-03-18 13:57:56] [INFO]   -> Set field 'dispatched' = "2026-03-18 08:56:18"
[2026-03-18 13:57:56] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 13:57:56] [INFO]   -> Found value: 2026-03-18 08:57:52
[2026-03-18 13:57:56] [INFO]   -> Set field 'enroute' = "2026-03-18 08:57:52"
[2026-03-18 13:57:56] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 13:57:56] [INFO]   -> No value found (null or empty)
[2026-03-18 13:57:56] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 13:57:56] [INFO]   -> No value found (null or empty)
[2026-03-18 13:57:56] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 13:57:56] [INFO]   -> Found value: RIDGEWOOD RD/PINE VALLEY RD
[2026-03-18 13:57:56] [INFO]   -> Set field 'incidentLocationCross' = "RIDGEWOOD RD\/PINE VALLEY RD"
[2026-03-18 13:57:56] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 13:57:56] [INFO]   -> Found value: TK12
[2026-03-18 13:57:56] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-18 13:57:56] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 13:57:56] [INFO]   -> Found value: 2026-03-18 08:57:50
[2026-03-18 13:57:56] [INFO]   -> Set field 'timedispatch' = "2026-03-18 08:57:50"
[2026-03-18 13:57:56] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 13:57:56] [INFO]   -> Found value: 2026-03-18 08:57:52
[2026-03-18 13:57:56] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 08:57:52"
[2026-03-18 13:57:56] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 13:57:56] [INFO]   -> No value found (null or empty)
[2026-03-18 13:57:56] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 13:57:56] [INFO]   -> No value found (null or empty)
[2026-03-18 13:57:56] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 13:57:56] [INFO]   -> No value found (null or empty)
[2026-03-18 13:57:56] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 13:57:56] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 13:57:56] [INFO]   -> Found value: 20260029336
[2026-03-18 13:57:56] [INFO]   -> Set field 'policeReportNumber' = "20260029336"
[2026-03-18 13:57:56] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 13:57:56] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [03/18/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL O...
[2026-03-18 13:57:56] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [03\/18\/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL OUT OF CHAIR  GLENNA LITWIN  190 ISH LBS  [03\/18\/26 08:55:21 KBURTON]"
[2026-03-18 13:57:56] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [03\/18\/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL OUT OF CHAIR  GLENNA LITWIN  190 ISH LBS  [03\/18\/26 08:55:21 KBURTON]"
[2026-03-18 13:57:56] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 13:57:56] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 13:57:56] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 13:57:56] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 13:57:56] [INFO]   -> Found value: VILLAGE
[2026-03-18 13:57:56] [INFO]   -> Set field 'streetName' = "VILLAGE"
[2026-03-18 13:57:56] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 13:57:56] [INFO]   -> Found value: RD
[2026-03-18 13:57:56] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 13:57:56] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 13:57:56] [INFO]   -> Found value: 4820 VILLAGE RD
[2026-03-18 13:57:56] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4820 VILLAGE RD"
[2026-03-18 13:57:56] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 13:57:56] [INFO] Concatenating street name and type
[2026-03-18 13:57:56] [INFO]   -> Combined street name: VILLAGE RD
[2026-03-18 13:57:56] [INFO] Built locationCoordinates from lat/lng: 36.23207,-85.49284
[2026-03-18 13:57:56] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000731","dispatchRunNumber":"2026000731","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":4820,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.23207000000000022055246517993509769439697265625,"nERISIncidentLongitude":-85.4928400000000010550138540565967559814453125,"alarm":"2026-03-18 08:55:30","dispatched":"2026-03-18 08:56:18","enroute":"2026-03-18 08:57:52","incidentLocationCross":"RIDGEWOOD RD\/PINE VALLEY RD","cADVehicleID":"TK12","timedispatch":"2026-03-18 08:57:50","timeenroutetoscene":"2026-03-18 08:57:52","policeReportNumber":"20260029336","dispatchNotes":"Event spawned from FALL VICTIM.  [03\/18\/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL OUT OF CHAIR  GLENNA LITWIN  190 ISH LBS  [03\/18\/26 08:55:21 KBURTON]","cADLog":"Event spawned from FALL VICTIM.  [03\/18\/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL OUT OF CHAIR  GLENNA LITWIN  190 ISH LBS  [03\/18\/26 08:55:21 KBURTON]","incidentLocationCity":"COOKEVILLE","streetName":"VILLAGE RD","incidentAddressTextVersionStreet":"4820 VILLAGE RD","locationCoordinates":"36.23207,-85.49284"}
[2026-03-18 13:57:56] [INFO] Number of extracted fields: 23
[2026-03-18 13:57:56] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-18 13:57:56] [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-03-18 13:57:56] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-18 13:57:56] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 13:57:57] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 13:57:57] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-18 13:57:57] [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-03-18 13:57:57] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 13:57:57] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 13:57:57] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 13:57:57] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 13:57:57] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-18 13:57:57] [INFO] Found existing Dispatch with cADNumber '2026000731', ID: 69baaf078518ed93f - will update instead of create
[2026-03-18 13:57:57] [INFO] Updated existing Dispatches record with ID: 69baaf078518ed93f
[2026-03-18 13:57:57] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029336_20260318_135755_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029336_20260318_135755_1.XML
[2026-03-18 13:57:57] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029336_20260318_135755_1.XML
[2026-03-18 13:58:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029336_20260318_135802.XML
[2026-03-18 13:58:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029336_20260318_135802.XML for user: 68f1466aed072ad4a
[2026-03-18 13:58:02] [INFO] File size: 6025 bytes
[2026-03-18 13:58:02] [INFO] Created FTPFiles record with ID: 69baaf6ae58b89db0
[2026-03-18 13:58:02] [INFO] About to extract fields from XML. File size: 6025 bytes
[2026-03-18 13:58:02] [INFO] Number of mappings: 28
[2026-03-18 13:58:02] [INFO] Starting XML parsing. Content length: 6025
[2026-03-18 13:58:02] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 13:58:02] [INFO] Processing 28 field mappings
[2026-03-18 13:58:02] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 13:58:02] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 13:58:02] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 13:58:02] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-18 13:58:02] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-18 13:58:02] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-18 13:58:02] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 13:58:02] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-18 13:58:02] [INFO]   -> Found value: 2026000731
[2026-03-18 13:58:02] [INFO]   -> Set field 'incidentInternalId' = "2026000731"
[2026-03-18 13:58:02] [INFO]   -> Set field 'dispatchRunNumber' = "2026000731"
[2026-03-18 13:58:02] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 13:58:02] [INFO]   -> Found value: FALL VICTIM
[2026-03-18 13:58:02] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-18 13:58:02] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 13:58:02] [INFO]   -> Found value: 4820
[2026-03-18 13:58:02] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4820
[2026-03-18 13:58:02] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 13:58:02] [INFO]   -> Found value: TN
[2026-03-18 13:58:02] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 13:58:02] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 13:58:02] [INFO]   -> Found value: 38506
[2026-03-18 13:58:02] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 13:58:02] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 13:58:02] [INFO]   -> No value found (null or empty)
[2026-03-18 13:58:02] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 13:58:02] [INFO]   -> No value found (null or empty)
[2026-03-18 13:58:02] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 13:58:02] [INFO]   -> Found value: 36.23207
[2026-03-18 13:58:02] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.23207000000000022055246517993509769439697265625
[2026-03-18 13:58:02] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 13:58:02] [INFO]   -> Found value: -85.49284
[2026-03-18 13:58:02] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4928400000000010550138540565967559814453125
[2026-03-18 13:58:02] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 13:58:02] [INFO]   -> Found value: 2026-03-18 08:55:30
[2026-03-18 13:58:02] [INFO]   -> Set field 'alarm' = "2026-03-18 08:55:30"
[2026-03-18 13:58:02] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 13:58:02] [INFO]   -> Found value: 2026-03-18 08:56:18
[2026-03-18 13:58:02] [INFO]   -> Set field 'dispatched' = "2026-03-18 08:56:18"
[2026-03-18 13:58:02] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 13:58:02] [INFO]   -> Found value: 2026-03-18 08:57:52
[2026-03-18 13:58:02] [INFO]   -> Set field 'enroute' = "2026-03-18 08:57:52"
[2026-03-18 13:58:02] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 13:58:02] [INFO]   -> No value found (null or empty)
[2026-03-18 13:58:02] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 13:58:02] [INFO]   -> No value found (null or empty)
[2026-03-18 13:58:02] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 13:58:02] [INFO]   -> Found value: RIDGEWOOD RD/PINE VALLEY RD
[2026-03-18 13:58:02] [INFO]   -> Set field 'incidentLocationCross' = "RIDGEWOOD RD\/PINE VALLEY RD"
[2026-03-18 13:58:02] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 13:58:02] [INFO]   -> Found value: TK12
[2026-03-18 13:58:02] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-18 13:58:02] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 13:58:02] [INFO]   -> Found value: 2026-03-18 08:57:50
[2026-03-18 13:58:02] [INFO]   -> Set field 'timedispatch' = "2026-03-18 08:57:50"
[2026-03-18 13:58:02] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 13:58:02] [INFO]   -> Found value: 2026-03-18 08:57:52
[2026-03-18 13:58:02] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 08:57:52"
[2026-03-18 13:58:02] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 13:58:02] [INFO]   -> No value found (null or empty)
[2026-03-18 13:58:02] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 13:58:02] [INFO]   -> No value found (null or empty)
[2026-03-18 13:58:02] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 13:58:02] [INFO]   -> No value found (null or empty)
[2026-03-18 13:58:02] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 13:58:02] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 13:58:02] [INFO]   -> Found value: 20260029336
[2026-03-18 13:58:02] [INFO]   -> Set field 'policeReportNumber' = "20260029336"
[2026-03-18 13:58:02] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 13:58:02] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [03/18/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL O...
[2026-03-18 13:58:02] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [03\/18\/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL OUT OF CHAIR  GLENNA LITWIN  190 ISH LBS  [03\/18\/26 08:55:21 KBURTON]"
[2026-03-18 13:58:02] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [03\/18\/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL OUT OF CHAIR  GLENNA LITWIN  190 ISH LBS  [03\/18\/26 08:55:21 KBURTON]"
[2026-03-18 13:58:02] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 13:58:02] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 13:58:02] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 13:58:02] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 13:58:02] [INFO]   -> Found value: VILLAGE
[2026-03-18 13:58:02] [INFO]   -> Set field 'streetName' = "VILLAGE"
[2026-03-18 13:58:02] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 13:58:02] [INFO]   -> Found value: RD
[2026-03-18 13:58:02] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 13:58:02] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 13:58:02] [INFO]   -> Found value: 4820 VILLAGE RD
[2026-03-18 13:58:02] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4820 VILLAGE RD"
[2026-03-18 13:58:02] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 13:58:02] [INFO] Concatenating street name and type
[2026-03-18 13:58:02] [INFO]   -> Combined street name: VILLAGE RD
[2026-03-18 13:58:02] [INFO] Built locationCoordinates from lat/lng: 36.23207,-85.49284
[2026-03-18 13:58:02] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000731","dispatchRunNumber":"2026000731","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":4820,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.23207000000000022055246517993509769439697265625,"nERISIncidentLongitude":-85.4928400000000010550138540565967559814453125,"alarm":"2026-03-18 08:55:30","dispatched":"2026-03-18 08:56:18","enroute":"2026-03-18 08:57:52","incidentLocationCross":"RIDGEWOOD RD\/PINE VALLEY RD","cADVehicleID":"TK12","timedispatch":"2026-03-18 08:57:50","timeenroutetoscene":"2026-03-18 08:57:52","policeReportNumber":"20260029336","dispatchNotes":"Event spawned from FALL VICTIM.  [03\/18\/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL OUT OF CHAIR  GLENNA LITWIN  190 ISH LBS  [03\/18\/26 08:55:21 KBURTON]","cADLog":"Event spawned from FALL VICTIM.  [03\/18\/2026 08:55:30 KBURTON] 6:30 DOWN TIME  NECK AND BACK  FELL OUT OF CHAIR  GLENNA LITWIN  190 ISH LBS  [03\/18\/26 08:55:21 KBURTON]","incidentLocationCity":"COOKEVILLE","streetName":"VILLAGE RD","incidentAddressTextVersionStreet":"4820 VILLAGE RD","locationCoordinates":"36.23207,-85.49284"}
[2026-03-18 13:58:02] [INFO] Number of extracted fields: 23
[2026-03-18 13:58:02] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-18 13:58:02] [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-03-18 13:58:02] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-18 13:58:02] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 13:58:03] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 13:58:03] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-18 13:58:03] [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-03-18 13:58:03] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 13:58:03] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 13:58:03] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 13:58:03] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 13:58:03] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-18 13:58:03] [INFO] Found existing Dispatch with cADNumber '2026000731', ID: 69baaf078518ed93f - will update instead of create
[2026-03-18 13:58:03] [INFO] Updated existing Dispatches record with ID: 69baaf078518ed93f
[2026-03-18 13:58:03] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029336_20260318_135802.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029336_20260318_135802.XML
[2026-03-18 13:58:03] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029336_20260318_135802.XML
[2026-03-18 14:54:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105410054.xml
[2026-03-18 14:54:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105410054.xml for user: 68920395733981a47
[2026-03-18 14:54:10] [INFO] File size: 5371 bytes
[2026-03-18 14:54:10] [INFO] Created FTPFiles record with ID: 69babc92ae0b78ba8
[2026-03-18 14:54:10] [INFO] About to extract fields from XML. File size: 5371 bytes
[2026-03-18 14:54:10] [INFO] Number of mappings: 24
[2026-03-18 14:54:10] [INFO] Starting XML parsing. Content length: 5371
[2026-03-18 14:54:10] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-18 14:54:10] [INFO] Processing 24 field mappings
[2026-03-18 14:54:10] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-18 14:54:10] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-18 14:54:10] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-18 14:54:10] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-18 14:54:10] [INFO]   -> Found value: ,1834 YAPHANK RD
[2026-03-18 14:54:10] [INFO]   -> Set field 'businessName' = ",1834 YAPHANK RD"
[2026-03-18 14:54:10] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-18 14:54:10] [INFO]   -> Found value: 37379
[2026-03-18 14:54:10] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-18 14:54:10] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-18 14:54:10] [INFO]   -> Found value: 1834
[2026-03-18 14:54:10] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1834
[2026-03-18 14:54:10] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-18 14:54:10] [INFO]   -> Found value: YAPHANK
[2026-03-18 14:54:10] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-03-18 14:54:10] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-18 14:54:10] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-03-18 14:54:10] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-03-18 14:54:10] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-18 14:54:10] [INFO]   -> Found value: 2026-03-18T10:54:05.287-04:00
[2026-03-18 14:54:10] [INFO]   -> Set field 'alarm' = "2026-03-18 14:54:05"
[2026-03-18 14:54:10] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-18 14:54:10] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:10] [INFO]   -> Set field 'enroute' = null
[2026-03-18 14:54:10] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-18 14:54:10] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:10] [INFO]   -> Set field 'onScene' = null
[2026-03-18 14:54:10] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-18 14:54:10] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:10] [INFO]   -> Set field 'cleared' = null
[2026-03-18 14:54:10] [INFO]   -> Set field 'inService' = null
[2026-03-18 14:54:10] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-18 14:54:10] [INFO]   -> Found value: 35.254515
[2026-03-18 14:54:10] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.254514999999997826307662762701511383056640625
[2026-03-18 14:54:10] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-18 14:54:10] [INFO]   -> Found value: -85.119855
[2026-03-18 14:54:10] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.119855000000001155058271251618862152099609375
[2026-03-18 14:54:10] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-18 14:54:10] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:10] [INFO]   -> Set field 'dispatched' = null
[2026-03-18 14:54:10] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-18 14:54:10] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:10] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-18 14:54:10] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:10] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-18 14:54:10] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:10] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-18 14:54:10] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:10] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-18 14:54:10] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:10] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-18 14:54:10] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:10] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-18 14:54:10] [INFO]   -> Found value: RD
[2026-03-18 14:54:10] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 14:54:10] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 14:54:10] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:10] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-18 14:54:10] [INFO]   -> Found value: 2026-03-26158
[2026-03-18 14:54:10] [INFO]   -> Set field 'policeReportNumber' = "2026-03-26158"
[2026-03-18 14:54:10] [INFO]   -> Set field 'cADNumber' = "2026-03-26158"
[2026-03-18 14:54:10] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-18 14:54:10] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-18 14:54:10] [INFO] Found 4 elements for 'Comment', concatenating 4 non-empty values
[2026-03-18 14:54:10] [INFO]   -> Found value: 03/18/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]
03/18/2026 ...
[2026-03-18 14:54:10] [INFO]   -> Set field 'dispatchNotes' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:54:10] [INFO]   -> Set field 'cADLog' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:54:10] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-18 14:54:10] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-18 14:54:10] [INFO]   -> Found value: SFD
[2026-03-18 14:54:10] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-18 14:54:10] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-18 14:54:10] [INFO] Concatenating street name and type
[2026-03-18 14:54:10] [INFO]   -> Combined street name: YAPHANK RD
[2026-03-18 14:54:10] [INFO] Built locationCoordinates from lat/lng: 35.254515,-85.119855
[2026-03-18 14:54:10] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":",1834 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1834,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-03-18 14:54:05","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.254514999999997826307662762701511383056640625,"nERISIncidentLongitude":-85.119855000000001155058271251618862152099609375,"dispatched":null,"policeReportNumber":"2026-03-26158","cADNumber":"2026-03-26158","dispatchNotes":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADLog":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.254515,-85.119855"}
[2026-03-18 14:54:10] [INFO] Number of extracted fields: 20
[2026-03-18 14:54:10] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-18 14:54:10] [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-03-18 14:54:10] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-18 14:54:10] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-18 14:54:10] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-18 14:54:11] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-18 14:54:11] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-18 14:54:11] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-18 14:54:11] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"SEIZE-Seizure","saasclientId":"681a1d681d6140e0c","name":"SEIZE-Seizure"}
[2026-03-18 14:54:11] [INFO] Created new IncidentTypeMapping with ID: 69babc9398e3c6bd6
[2026-03-18 14:54:14] [INFO] Created new Dispatches record with ID: 69babc93f24f96d9a
[2026-03-18 14:54:14] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-18 14:54:15] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-18 14:54:18] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-26158_20260318105410054.xml
[2026-03-18 14:54:18] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18
[2026-03-18 14:54:18] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105410054.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18/INCCOMBINED_2026-03-26158_20260318105410054.xml
[2026-03-18 14:54:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105410054.xml
[2026-03-18 14:54:18] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105415101.xml
[2026-03-18 14:54:18] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105415101.xml for user: 68920395733981a47
[2026-03-18 14:54:18] [INFO] File size: 5770 bytes
[2026-03-18 14:54:18] [INFO] Created FTPFiles record with ID: 69babc9ac74ad4918
[2026-03-18 14:54:18] [INFO] About to extract fields from XML. File size: 5770 bytes
[2026-03-18 14:54:18] [INFO] Number of mappings: 24
[2026-03-18 14:54:18] [INFO] Starting XML parsing. Content length: 5770
[2026-03-18 14:54:18] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-18 14:54:18] [INFO] Processing 24 field mappings
[2026-03-18 14:54:18] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-18 14:54:18] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-18 14:54:18] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-18 14:54:18] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-18 14:54:18] [INFO]   -> Found value: ,1834 YAPHANK RD
[2026-03-18 14:54:18] [INFO]   -> Set field 'businessName' = ",1834 YAPHANK RD"
[2026-03-18 14:54:18] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-18 14:54:18] [INFO]   -> Found value: 37379
[2026-03-18 14:54:18] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-18 14:54:18] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-18 14:54:18] [INFO]   -> Found value: 1834
[2026-03-18 14:54:18] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1834
[2026-03-18 14:54:18] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-18 14:54:18] [INFO]   -> Found value: YAPHANK
[2026-03-18 14:54:18] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-03-18 14:54:18] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-18 14:54:18] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-03-18 14:54:18] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-03-18 14:54:18] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-18 14:54:18] [INFO]   -> Found value: 2026-03-18T10:54:05.287-04:00
[2026-03-18 14:54:18] [INFO]   -> Set field 'alarm' = "2026-03-18 14:54:05"
[2026-03-18 14:54:18] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-18 14:54:18] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:18] [INFO]   -> Set field 'enroute' = null
[2026-03-18 14:54:18] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-18 14:54:18] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:18] [INFO]   -> Set field 'onScene' = null
[2026-03-18 14:54:18] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-18 14:54:18] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:18] [INFO]   -> Set field 'cleared' = null
[2026-03-18 14:54:18] [INFO]   -> Set field 'inService' = null
[2026-03-18 14:54:18] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-18 14:54:18] [INFO]   -> Found value: 35.254515
[2026-03-18 14:54:18] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.254514999999997826307662762701511383056640625
[2026-03-18 14:54:18] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-18 14:54:18] [INFO]   -> Found value: -85.119855
[2026-03-18 14:54:18] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.119855000000001155058271251618862152099609375
[2026-03-18 14:54:18] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-18 14:54:18] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:18] [INFO]   -> Set field 'dispatched' = null
[2026-03-18 14:54:18] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-18 14:54:18] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:18] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-18 14:54:18] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:18] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-18 14:54:18] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:18] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-18 14:54:18] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:18] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-18 14:54:18] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:18] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-18 14:54:18] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:18] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-18 14:54:18] [INFO]   -> Found value: RD
[2026-03-18 14:54:18] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 14:54:18] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 14:54:18] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:18] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-18 14:54:18] [INFO]   -> Found value: 2026-03-26158
[2026-03-18 14:54:18] [INFO]   -> Set field 'policeReportNumber' = "2026-03-26158"
[2026-03-18 14:54:18] [INFO]   -> Set field 'cADNumber' = "2026-03-26158"
[2026-03-18 14:54:18] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-18 14:54:18] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-18 14:54:18] [INFO] Found 6 elements for 'Comment', concatenating 6 non-empty values
[2026-03-18 14:54:18] [INFO]   -> Found value: 03/18/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]
03/18/2026 ...
[2026-03-18 14:54:18] [INFO]   -> Set field 'dispatchNotes' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:54:18] [INFO]   -> Set field 'cADLog' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:54:18] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-18 14:54:18] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-18 14:54:18] [INFO]   -> Found value: SFD
[2026-03-18 14:54:18] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-18 14:54:18] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-18 14:54:18] [INFO] Concatenating street name and type
[2026-03-18 14:54:18] [INFO]   -> Combined street name: YAPHANK RD
[2026-03-18 14:54:18] [INFO] Built locationCoordinates from lat/lng: 35.254515,-85.119855
[2026-03-18 14:54:18] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":",1834 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1834,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-03-18 14:54:05","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.254514999999997826307662762701511383056640625,"nERISIncidentLongitude":-85.119855000000001155058271251618862152099609375,"dispatched":null,"policeReportNumber":"2026-03-26158","cADNumber":"2026-03-26158","dispatchNotes":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADLog":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.254515,-85.119855"}
[2026-03-18 14:54:18] [INFO] Number of extracted fields: 20
[2026-03-18 14:54:18] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-18 14:54:18] [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-03-18 14:54:18] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-18 14:54:18] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-18 14:54:19] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-18 14:54:19] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-18 14:54:19] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-18 14:54:19] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-18 14:54:19] [INFO] Found existing IncidentTypeMapping with ID: 69babc9398e3c6bd6
[2026-03-18 14:54:19] [INFO] Found existing Dispatch with cADNumber '2026-03-26158', ID: 69babc93f24f96d9a - will update instead of create
[2026-03-18 14:54:19] [INFO] Updated existing Dispatches record with ID: 69babc93f24f96d9a
[2026-03-18 14:54:19] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-18 14:54:19] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-18 14:54:22] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-26158_20260318105415101.xml
[2026-03-18 14:54:22] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105415101.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18/INCCOMBINED_2026-03-26158_20260318105415101.xml
[2026-03-18 14:54:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105415101.xml
[2026-03-18 14:54:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105430263.xml
[2026-03-18 14:54:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105430263.xml for user: 68920395733981a47
[2026-03-18 14:54:30] [INFO] File size: 6162 bytes
[2026-03-18 14:54:30] [INFO] Created FTPFiles record with ID: 69babca6acad021a8
[2026-03-18 14:54:30] [INFO] About to extract fields from XML. File size: 6162 bytes
[2026-03-18 14:54:30] [INFO] Number of mappings: 24
[2026-03-18 14:54:30] [INFO] Starting XML parsing. Content length: 6162
[2026-03-18 14:54:30] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-18 14:54:30] [INFO] Processing 24 field mappings
[2026-03-18 14:54:30] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-18 14:54:30] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-18 14:54:30] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-18 14:54:30] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-18 14:54:30] [INFO]   -> Found value: ,1834 YAPHANK RD
[2026-03-18 14:54:30] [INFO]   -> Set field 'businessName' = ",1834 YAPHANK RD"
[2026-03-18 14:54:30] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-18 14:54:30] [INFO]   -> Found value: 37379
[2026-03-18 14:54:30] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-18 14:54:30] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-18 14:54:30] [INFO]   -> Found value: 1834
[2026-03-18 14:54:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1834
[2026-03-18 14:54:30] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-18 14:54:30] [INFO]   -> Found value: YAPHANK
[2026-03-18 14:54:30] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-03-18 14:54:30] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-18 14:54:30] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-03-18 14:54:30] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-03-18 14:54:30] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-18 14:54:30] [INFO]   -> Found value: 2026-03-18T10:54:05.287-04:00
[2026-03-18 14:54:30] [INFO]   -> Set field 'alarm' = "2026-03-18 14:54:05"
[2026-03-18 14:54:30] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-18 14:54:30] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:30] [INFO]   -> Set field 'enroute' = null
[2026-03-18 14:54:30] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-18 14:54:30] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:30] [INFO]   -> Set field 'onScene' = null
[2026-03-18 14:54:30] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-18 14:54:30] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:30] [INFO]   -> Set field 'cleared' = null
[2026-03-18 14:54:30] [INFO]   -> Set field 'inService' = null
[2026-03-18 14:54:30] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-18 14:54:30] [INFO]   -> Found value: 35.254515
[2026-03-18 14:54:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.254514999999997826307662762701511383056640625
[2026-03-18 14:54:30] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-18 14:54:30] [INFO]   -> Found value: -85.119855
[2026-03-18 14:54:30] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.119855000000001155058271251618862152099609375
[2026-03-18 14:54:30] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-18 14:54:30] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:30] [INFO]   -> Set field 'dispatched' = null
[2026-03-18 14:54:30] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-18 14:54:30] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:30] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-18 14:54:30] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:30] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-18 14:54:30] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:30] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-18 14:54:30] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:30] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-18 14:54:30] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:30] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-18 14:54:30] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:30] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-18 14:54:30] [INFO]   -> Found value: RD
[2026-03-18 14:54:30] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 14:54:30] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 14:54:30] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:30] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-18 14:54:30] [INFO]   -> Found value: 2026-03-26158
[2026-03-18 14:54:30] [INFO]   -> Set field 'policeReportNumber' = "2026-03-26158"
[2026-03-18 14:54:30] [INFO]   -> Set field 'cADNumber' = "2026-03-26158"
[2026-03-18 14:54:30] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-18 14:54:30] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-18 14:54:30] [INFO] Found 8 elements for 'Comment', concatenating 8 non-empty values
[2026-03-18 14:54:30] [INFO]   -> Found value: 03/18/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]
03/18/2026 ...
[2026-03-18 14:54:30] [INFO]   -> Set field 'dispatchNotes' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:54:30] [INFO]   -> Set field 'cADLog' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:54:30] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-18 14:54:30] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-18 14:54:30] [INFO]   -> Found value: SFD
[2026-03-18 14:54:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-18 14:54:30] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-18 14:54:30] [INFO] Concatenating street name and type
[2026-03-18 14:54:30] [INFO]   -> Combined street name: YAPHANK RD
[2026-03-18 14:54:30] [INFO] Built locationCoordinates from lat/lng: 35.254515,-85.119855
[2026-03-18 14:54:30] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":",1834 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1834,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-03-18 14:54:05","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.254514999999997826307662762701511383056640625,"nERISIncidentLongitude":-85.119855000000001155058271251618862152099609375,"dispatched":null,"policeReportNumber":"2026-03-26158","cADNumber":"2026-03-26158","dispatchNotes":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADLog":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.254515,-85.119855"}
[2026-03-18 14:54:30] [INFO] Number of extracted fields: 20
[2026-03-18 14:54:30] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-18 14:54:30] [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-03-18 14:54:30] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-18 14:54:30] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-18 14:54:30] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-18 14:54:31] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-18 14:54:31] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-18 14:54:31] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-18 14:54:31] [INFO] Found existing IncidentTypeMapping with ID: 69babc9398e3c6bd6
[2026-03-18 14:54:31] [INFO] Found existing Dispatch with cADNumber '2026-03-26158', ID: 69babc93f24f96d9a - will update instead of create
[2026-03-18 14:54:31] [INFO] Updated existing Dispatches record with ID: 69babc93f24f96d9a
[2026-03-18 14:54:31] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-18 14:54:31] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-18 14:54:34] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-26158_20260318105430263.xml
[2026-03-18 14:54:34] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105430263.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18/INCCOMBINED_2026-03-26158_20260318105430263.xml
[2026-03-18 14:54:34] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105430263.xml
[2026-03-18 14:54:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105435300.xml
[2026-03-18 14:54:35] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105435300.xml for user: 68920395733981a47
[2026-03-18 14:54:35] [INFO] File size: 6358 bytes
[2026-03-18 14:54:35] [INFO] Created FTPFiles record with ID: 69babcabbb27ea885
[2026-03-18 14:54:35] [INFO] About to extract fields from XML. File size: 6358 bytes
[2026-03-18 14:54:35] [INFO] Number of mappings: 24
[2026-03-18 14:54:35] [INFO] Starting XML parsing. Content length: 6358
[2026-03-18 14:54:35] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-18 14:54:35] [INFO] Processing 24 field mappings
[2026-03-18 14:54:35] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-18 14:54:35] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-18 14:54:35] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-18 14:54:35] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-18 14:54:35] [INFO]   -> Found value: ,1834 YAPHANK RD
[2026-03-18 14:54:35] [INFO]   -> Set field 'businessName' = ",1834 YAPHANK RD"
[2026-03-18 14:54:35] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-18 14:54:35] [INFO]   -> Found value: 37379
[2026-03-18 14:54:35] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-18 14:54:35] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-18 14:54:35] [INFO]   -> Found value: 1834
[2026-03-18 14:54:35] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1834
[2026-03-18 14:54:35] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-18 14:54:35] [INFO]   -> Found value: YAPHANK
[2026-03-18 14:54:35] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-03-18 14:54:35] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-18 14:54:35] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-03-18 14:54:35] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-03-18 14:54:35] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-18 14:54:35] [INFO]   -> Found value: 2026-03-18T10:54:05.287-04:00
[2026-03-18 14:54:35] [INFO]   -> Set field 'alarm' = "2026-03-18 14:54:05"
[2026-03-18 14:54:35] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-18 14:54:35] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:35] [INFO]   -> Set field 'enroute' = null
[2026-03-18 14:54:35] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-18 14:54:35] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:35] [INFO]   -> Set field 'onScene' = null
[2026-03-18 14:54:35] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-18 14:54:35] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:35] [INFO]   -> Set field 'cleared' = null
[2026-03-18 14:54:35] [INFO]   -> Set field 'inService' = null
[2026-03-18 14:54:35] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-18 14:54:35] [INFO]   -> Found value: 35.254515
[2026-03-18 14:54:35] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.254514999999997826307662762701511383056640625
[2026-03-18 14:54:35] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-18 14:54:35] [INFO]   -> Found value: -85.119855
[2026-03-18 14:54:35] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.119855000000001155058271251618862152099609375
[2026-03-18 14:54:35] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-18 14:54:35] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:35] [INFO]   -> Set field 'dispatched' = null
[2026-03-18 14:54:35] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-18 14:54:35] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:35] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-18 14:54:35] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:35] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-18 14:54:35] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:35] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-18 14:54:35] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:35] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-18 14:54:35] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:35] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-18 14:54:35] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:35] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-18 14:54:35] [INFO]   -> Found value: RD
[2026-03-18 14:54:35] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 14:54:35] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 14:54:35] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:35] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-18 14:54:35] [INFO]   -> Found value: 2026-03-26158
[2026-03-18 14:54:35] [INFO]   -> Set field 'policeReportNumber' = "2026-03-26158"
[2026-03-18 14:54:35] [INFO]   -> Set field 'cADNumber' = "2026-03-26158"
[2026-03-18 14:54:35] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-18 14:54:35] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-18 14:54:35] [INFO] Found 9 elements for 'Comment', concatenating 9 non-empty values
[2026-03-18 14:54:35] [INFO]   -> Found value: 03/18/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]
03/18/2026 ...
[2026-03-18 14:54:35] [INFO]   -> Set field 'dispatchNotes' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:54:35] [INFO]   -> Set field 'cADLog' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:54:35] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-18 14:54:35] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-18 14:54:35] [INFO]   -> Found value: SFD
[2026-03-18 14:54:35] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-18 14:54:35] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-18 14:54:35] [INFO] Concatenating street name and type
[2026-03-18 14:54:35] [INFO]   -> Combined street name: YAPHANK RD
[2026-03-18 14:54:35] [INFO] Built locationCoordinates from lat/lng: 35.254515,-85.119855
[2026-03-18 14:54:35] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":",1834 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1834,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-03-18 14:54:05","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.254514999999997826307662762701511383056640625,"nERISIncidentLongitude":-85.119855000000001155058271251618862152099609375,"dispatched":null,"policeReportNumber":"2026-03-26158","cADNumber":"2026-03-26158","dispatchNotes":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADLog":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.254515,-85.119855"}
[2026-03-18 14:54:35] [INFO] Number of extracted fields: 20
[2026-03-18 14:54:35] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-18 14:54:35] [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-03-18 14:54:35] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-18 14:54:35] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-18 14:54:35] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-18 14:54:36] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-18 14:54:36] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-18 14:54:36] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-18 14:54:36] [INFO] Found existing IncidentTypeMapping with ID: 69babc9398e3c6bd6
[2026-03-18 14:54:36] [INFO] Found existing Dispatch with cADNumber '2026-03-26158', ID: 69babc93f24f96d9a - will update instead of create
[2026-03-18 14:54:36] [INFO] Updated existing Dispatches record with ID: 69babc93f24f96d9a
[2026-03-18 14:54:36] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-18 14:54:36] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-18 14:54:39] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-26158_20260318105435300.xml
[2026-03-18 14:54:39] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105435300.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18/INCCOMBINED_2026-03-26158_20260318105435300.xml
[2026-03-18 14:54:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105435300.xml
[2026-03-18 14:54:45] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105445410.xml
[2026-03-18 14:54:45] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105445410.xml for user: 68920395733981a47
[2026-03-18 14:54:45] [INFO] File size: 6703 bytes
[2026-03-18 14:54:45] [INFO] Created FTPFiles record with ID: 69babcb5c9114c786
[2026-03-18 14:54:45] [INFO] About to extract fields from XML. File size: 6703 bytes
[2026-03-18 14:54:45] [INFO] Number of mappings: 24
[2026-03-18 14:54:45] [INFO] Starting XML parsing. Content length: 6703
[2026-03-18 14:54:45] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-18 14:54:45] [INFO] Processing 24 field mappings
[2026-03-18 14:54:45] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-18 14:54:45] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-18 14:54:45] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-18 14:54:45] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-18 14:54:45] [INFO]   -> Found value: ,1834 YAPHANK RD
[2026-03-18 14:54:45] [INFO]   -> Set field 'businessName' = ",1834 YAPHANK RD"
[2026-03-18 14:54:45] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-18 14:54:45] [INFO]   -> Found value: 37379
[2026-03-18 14:54:45] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-18 14:54:45] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-18 14:54:45] [INFO]   -> Found value: 1834
[2026-03-18 14:54:45] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1834
[2026-03-18 14:54:45] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-18 14:54:45] [INFO]   -> Found value: YAPHANK
[2026-03-18 14:54:45] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-03-18 14:54:45] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-18 14:54:45] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-03-18 14:54:45] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-03-18 14:54:45] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-18 14:54:45] [INFO]   -> Found value: 2026-03-18T10:54:05.287-04:00
[2026-03-18 14:54:45] [INFO]   -> Set field 'alarm' = "2026-03-18 14:54:05"
[2026-03-18 14:54:45] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-18 14:54:45] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:45] [INFO]   -> Set field 'enroute' = null
[2026-03-18 14:54:45] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-18 14:54:45] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:45] [INFO]   -> Set field 'onScene' = null
[2026-03-18 14:54:45] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-18 14:54:45] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:45] [INFO]   -> Set field 'cleared' = null
[2026-03-18 14:54:45] [INFO]   -> Set field 'inService' = null
[2026-03-18 14:54:45] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-18 14:54:45] [INFO]   -> Found value: 35.254515
[2026-03-18 14:54:45] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.254514999999997826307662762701511383056640625
[2026-03-18 14:54:45] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-18 14:54:45] [INFO]   -> Found value: -85.119855
[2026-03-18 14:54:45] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.119855000000001155058271251618862152099609375
[2026-03-18 14:54:45] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-18 14:54:45] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:45] [INFO]   -> Set field 'dispatched' = null
[2026-03-18 14:54:45] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-18 14:54:45] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:45] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-18 14:54:45] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:45] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-18 14:54:45] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:45] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-18 14:54:45] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:45] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-18 14:54:45] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:45] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-18 14:54:45] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:45] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-18 14:54:45] [INFO]   -> Found value: RD
[2026-03-18 14:54:45] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 14:54:45] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 14:54:45] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:45] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-18 14:54:45] [INFO]   -> Found value: 2026-03-26158
[2026-03-18 14:54:45] [INFO]   -> Set field 'policeReportNumber' = "2026-03-26158"
[2026-03-18 14:54:45] [INFO]   -> Set field 'cADNumber' = "2026-03-26158"
[2026-03-18 14:54:45] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-18 14:54:45] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-18 14:54:45] [INFO] Found 11 elements for 'Comment', concatenating 11 non-empty values
[2026-03-18 14:54:45] [INFO]   -> Found value: 03/18/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]
03/18/2026 ...
[2026-03-18 14:54:45] [INFO]   -> Set field 'dispatchNotes' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:54:45] [INFO]   -> Set field 'cADLog' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:54:45] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-18 14:54:45] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-18 14:54:45] [INFO]   -> Found value: SFD
[2026-03-18 14:54:45] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-18 14:54:45] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-18 14:54:45] [INFO] Concatenating street name and type
[2026-03-18 14:54:45] [INFO]   -> Combined street name: YAPHANK RD
[2026-03-18 14:54:45] [INFO] Built locationCoordinates from lat/lng: 35.254515,-85.119855
[2026-03-18 14:54:45] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":",1834 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1834,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-03-18 14:54:05","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.254514999999997826307662762701511383056640625,"nERISIncidentLongitude":-85.119855000000001155058271251618862152099609375,"dispatched":null,"policeReportNumber":"2026-03-26158","cADNumber":"2026-03-26158","dispatchNotes":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]","cADLog":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.254515,-85.119855"}
[2026-03-18 14:54:45] [INFO] Number of extracted fields: 20
[2026-03-18 14:54:45] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-18 14:54:45] [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-03-18 14:54:45] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-18 14:54:45] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-18 14:54:46] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-18 14:54:46] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-18 14:54:46] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-18 14:54:47] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-18 14:54:47] [INFO] Found existing IncidentTypeMapping with ID: 69babc9398e3c6bd6
[2026-03-18 14:54:47] [INFO] Found existing Dispatch with cADNumber '2026-03-26158', ID: 69babc93f24f96d9a - will update instead of create
[2026-03-18 14:54:47] [INFO] Updated existing Dispatches record with ID: 69babc93f24f96d9a
[2026-03-18 14:54:47] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-18 14:54:48] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-18 14:54:50] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-26158_20260318105445410.xml
[2026-03-18 14:54:50] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105445410.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18/INCCOMBINED_2026-03-26158_20260318105445410.xml
[2026-03-18 14:54:50] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105445410.xml
[2026-03-18 14:54:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105450459.xml
[2026-03-18 14:54:50] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105450459.xml for user: 68920395733981a47
[2026-03-18 14:54:50] [INFO] File size: 6915 bytes
[2026-03-18 14:54:51] [INFO] Created FTPFiles record with ID: 69babcbb1d68b1973
[2026-03-18 14:54:51] [INFO] About to extract fields from XML. File size: 6915 bytes
[2026-03-18 14:54:51] [INFO] Number of mappings: 24
[2026-03-18 14:54:51] [INFO] Starting XML parsing. Content length: 6915
[2026-03-18 14:54:51] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-18 14:54:51] [INFO] Processing 24 field mappings
[2026-03-18 14:54:51] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-18 14:54:51] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-18 14:54:51] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-18 14:54:51] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-18 14:54:51] [INFO]   -> Found value: ,1834 YAPHANK RD
[2026-03-18 14:54:51] [INFO]   -> Set field 'businessName' = ",1834 YAPHANK RD"
[2026-03-18 14:54:51] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-18 14:54:51] [INFO]   -> Found value: 37379
[2026-03-18 14:54:51] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-18 14:54:51] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-18 14:54:51] [INFO]   -> Found value: 1834
[2026-03-18 14:54:51] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1834
[2026-03-18 14:54:51] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-18 14:54:51] [INFO]   -> Found value: YAPHANK
[2026-03-18 14:54:51] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-03-18 14:54:51] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-18 14:54:51] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-03-18 14:54:51] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-03-18 14:54:51] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-18 14:54:51] [INFO]   -> Found value: 2026-03-18T10:54:05.287-04:00
[2026-03-18 14:54:51] [INFO]   -> Set field 'alarm' = "2026-03-18 14:54:05"
[2026-03-18 14:54:51] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-18 14:54:51] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:51] [INFO]   -> Set field 'enroute' = null
[2026-03-18 14:54:51] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-18 14:54:51] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:51] [INFO]   -> Set field 'onScene' = null
[2026-03-18 14:54:51] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-18 14:54:51] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:51] [INFO]   -> Set field 'cleared' = null
[2026-03-18 14:54:51] [INFO]   -> Set field 'inService' = null
[2026-03-18 14:54:51] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-18 14:54:51] [INFO]   -> Found value: 35.254515
[2026-03-18 14:54:51] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.254514999999997826307662762701511383056640625
[2026-03-18 14:54:51] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-18 14:54:51] [INFO]   -> Found value: -85.119855
[2026-03-18 14:54:51] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.119855000000001155058271251618862152099609375
[2026-03-18 14:54:51] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-18 14:54:51] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:54:51] [INFO]   -> Set field 'dispatched' = null
[2026-03-18 14:54:51] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-18 14:54:51] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:51] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-18 14:54:51] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:51] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-18 14:54:51] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:51] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-18 14:54:51] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:51] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-18 14:54:51] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:51] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-18 14:54:51] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:51] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-18 14:54:51] [INFO]   -> Found value: RD
[2026-03-18 14:54:51] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 14:54:51] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 14:54:51] [INFO]   -> No value found (null or empty)
[2026-03-18 14:54:51] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-18 14:54:51] [INFO]   -> Found value: 2026-03-26158
[2026-03-18 14:54:51] [INFO]   -> Set field 'policeReportNumber' = "2026-03-26158"
[2026-03-18 14:54:51] [INFO]   -> Set field 'cADNumber' = "2026-03-26158"
[2026-03-18 14:54:51] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-18 14:54:51] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-18 14:54:51] [INFO] Found 12 elements for 'Comment', concatenating 12 non-empty values
[2026-03-18 14:54:51] [INFO]   -> Found value: 03/18/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]
03/18/2026 ...
[2026-03-18 14:54:51] [INFO]   -> Set field 'dispatchNotes' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:54:51] [INFO]   -> Set field 'cADLog' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:54:51] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-18 14:54:51] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-18 14:54:51] [INFO]   -> Found value: SFD
[2026-03-18 14:54:51] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-18 14:54:51] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-18 14:54:51] [INFO] Concatenating street name and type
[2026-03-18 14:54:51] [INFO]   -> Combined street name: YAPHANK RD
[2026-03-18 14:54:51] [INFO] Built locationCoordinates from lat/lng: 35.254515,-85.119855
[2026-03-18 14:54:51] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":",1834 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1834,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-03-18 14:54:05","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.254514999999997826307662762701511383056640625,"nERISIncidentLongitude":-85.119855000000001155058271251618862152099609375,"dispatched":null,"policeReportNumber":"2026-03-26158","cADNumber":"2026-03-26158","dispatchNotes":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADLog":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.254515,-85.119855"}
[2026-03-18 14:54:51] [INFO] Number of extracted fields: 20
[2026-03-18 14:54:51] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-18 14:54:51] [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-03-18 14:54:51] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-18 14:54:51] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-18 14:54:51] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-18 14:54:51] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-18 14:54:51] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-18 14:54:51] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-18 14:54:51] [INFO] Found existing IncidentTypeMapping with ID: 69babc9398e3c6bd6
[2026-03-18 14:54:52] [INFO] Found existing Dispatch with cADNumber '2026-03-26158', ID: 69babc93f24f96d9a - will update instead of create
[2026-03-18 14:54:52] [INFO] Updated existing Dispatches record with ID: 69babc93f24f96d9a
[2026-03-18 14:54:52] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-18 14:54:52] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-18 14:54:55] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-26158_20260318105450459.xml
[2026-03-18 14:54:55] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105450459.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18/INCCOMBINED_2026-03-26158_20260318105450459.xml
[2026-03-18 14:54:55] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105450459.xml
[2026-03-18 14:55:00] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105500543.xml
[2026-03-18 14:55:00] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105500543.xml for user: 68920395733981a47
[2026-03-18 14:55:00] [INFO] File size: 7138 bytes
[2026-03-18 14:55:00] [INFO] Created FTPFiles record with ID: 69babcc4e3d395c4c
[2026-03-18 14:55:00] [INFO] About to extract fields from XML. File size: 7138 bytes
[2026-03-18 14:55:00] [INFO] Number of mappings: 24
[2026-03-18 14:55:00] [INFO] Starting XML parsing. Content length: 7138
[2026-03-18 14:55:00] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-18 14:55:00] [INFO] Processing 24 field mappings
[2026-03-18 14:55:00] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-18 14:55:00] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-18 14:55:00] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-18 14:55:00] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-18 14:55:00] [INFO]   -> Found value: ,1834 YAPHANK RD
[2026-03-18 14:55:00] [INFO]   -> Set field 'businessName' = ",1834 YAPHANK RD"
[2026-03-18 14:55:00] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-18 14:55:00] [INFO]   -> Found value: 37379
[2026-03-18 14:55:00] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-18 14:55:00] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-18 14:55:00] [INFO]   -> Found value: 1834
[2026-03-18 14:55:00] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1834
[2026-03-18 14:55:00] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-18 14:55:00] [INFO]   -> Found value: YAPHANK
[2026-03-18 14:55:00] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-03-18 14:55:00] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-18 14:55:00] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-03-18 14:55:00] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-03-18 14:55:00] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-18 14:55:00] [INFO]   -> Found value: 2026-03-18T10:54:05.287-04:00
[2026-03-18 14:55:00] [INFO]   -> Set field 'alarm' = "2026-03-18 14:54:05"
[2026-03-18 14:55:00] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-18 14:55:00] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:00] [INFO]   -> Set field 'enroute' = null
[2026-03-18 14:55:00] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-18 14:55:00] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:00] [INFO]   -> Set field 'onScene' = null
[2026-03-18 14:55:00] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-18 14:55:00] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:00] [INFO]   -> Set field 'cleared' = null
[2026-03-18 14:55:00] [INFO]   -> Set field 'inService' = null
[2026-03-18 14:55:00] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-18 14:55:00] [INFO]   -> Found value: 35.254515
[2026-03-18 14:55:00] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.254514999999997826307662762701511383056640625
[2026-03-18 14:55:00] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-18 14:55:00] [INFO]   -> Found value: -85.119855
[2026-03-18 14:55:00] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.119855000000001155058271251618862152099609375
[2026-03-18 14:55:00] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-18 14:55:00] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:00] [INFO]   -> Set field 'dispatched' = null
[2026-03-18 14:55:00] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-18 14:55:00] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:00] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-18 14:55:00] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:00] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-18 14:55:00] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:00] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-18 14:55:00] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:00] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-18 14:55:00] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:00] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-18 14:55:00] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:00] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-18 14:55:00] [INFO]   -> Found value: RD
[2026-03-18 14:55:00] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 14:55:00] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 14:55:00] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:00] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-18 14:55:00] [INFO]   -> Found value: 2026-03-26158
[2026-03-18 14:55:00] [INFO]   -> Set field 'policeReportNumber' = "2026-03-26158"
[2026-03-18 14:55:00] [INFO]   -> Set field 'cADNumber' = "2026-03-26158"
[2026-03-18 14:55:00] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-18 14:55:00] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-18 14:55:00] [INFO] Found 13 elements for 'Comment', concatenating 13 non-empty values
[2026-03-18 14:55:00] [INFO]   -> Found value: 03/18/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]
03/18/2026 ...
[2026-03-18 14:55:00] [INFO]   -> Set field 'dispatchNotes' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:55:00] [INFO]   -> Set field 'cADLog' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:55:00] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-18 14:55:00] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-18 14:55:00] [INFO]   -> Found value: SFD
[2026-03-18 14:55:00] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-18 14:55:00] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-18 14:55:00] [INFO] Concatenating street name and type
[2026-03-18 14:55:00] [INFO]   -> Combined street name: YAPHANK RD
[2026-03-18 14:55:00] [INFO] Built locationCoordinates from lat/lng: 35.254515,-85.119855
[2026-03-18 14:55:00] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":",1834 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1834,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-03-18 14:54:05","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.254514999999997826307662762701511383056640625,"nERISIncidentLongitude":-85.119855000000001155058271251618862152099609375,"dispatched":null,"policeReportNumber":"2026-03-26158","cADNumber":"2026-03-26158","dispatchNotes":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADLog":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.254515,-85.119855"}
[2026-03-18 14:55:00] [INFO] Number of extracted fields: 20
[2026-03-18 14:55:00] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-18 14:55:00] [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-03-18 14:55:00] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-18 14:55:00] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-18 14:55:01] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-18 14:55:01] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-18 14:55:01] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-18 14:55:01] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-18 14:55:01] [INFO] Found existing IncidentTypeMapping with ID: 69babc9398e3c6bd6
[2026-03-18 14:55:01] [INFO] Found existing Dispatch with cADNumber '2026-03-26158', ID: 69babc93f24f96d9a - will update instead of create
[2026-03-18 14:55:02] [INFO] Updated existing Dispatches record with ID: 69babc93f24f96d9a
[2026-03-18 14:55:02] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-18 14:55:02] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-18 14:55:05] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-26158_20260318105500543.xml
[2026-03-18 14:55:05] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105500543.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18/INCCOMBINED_2026-03-26158_20260318105500543.xml
[2026-03-18 14:55:05] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105500543.xml
[2026-03-18 14:55:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105510657.xml
[2026-03-18 14:55:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105510657.xml for user: 68920395733981a47
[2026-03-18 14:55:10] [INFO] File size: 7275 bytes
[2026-03-18 14:55:11] [INFO] Created FTPFiles record with ID: 69babccf1c70a8bc0
[2026-03-18 14:55:11] [INFO] About to extract fields from XML. File size: 7275 bytes
[2026-03-18 14:55:11] [INFO] Number of mappings: 24
[2026-03-18 14:55:11] [INFO] Starting XML parsing. Content length: 7275
[2026-03-18 14:55:11] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-18 14:55:11] [INFO] Processing 24 field mappings
[2026-03-18 14:55:11] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-18 14:55:11] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-18 14:55:11] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-18 14:55:11] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-18 14:55:11] [INFO]   -> Found value: ,1834 YAPHANK RD
[2026-03-18 14:55:11] [INFO]   -> Set field 'businessName' = ",1834 YAPHANK RD"
[2026-03-18 14:55:11] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-18 14:55:11] [INFO]   -> Found value: 37379
[2026-03-18 14:55:11] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-18 14:55:11] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-18 14:55:11] [INFO]   -> Found value: 1834
[2026-03-18 14:55:11] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1834
[2026-03-18 14:55:11] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-18 14:55:11] [INFO]   -> Found value: YAPHANK
[2026-03-18 14:55:11] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-03-18 14:55:11] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-18 14:55:11] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-03-18 14:55:11] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-03-18 14:55:11] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-18 14:55:11] [INFO]   -> Found value: 2026-03-18T10:54:05.287-04:00
[2026-03-18 14:55:11] [INFO]   -> Set field 'alarm' = "2026-03-18 14:54:05"
[2026-03-18 14:55:11] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-18 14:55:11] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:11] [INFO]   -> Set field 'enroute' = null
[2026-03-18 14:55:11] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-18 14:55:11] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:11] [INFO]   -> Set field 'onScene' = null
[2026-03-18 14:55:11] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-18 14:55:11] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:11] [INFO]   -> Set field 'cleared' = null
[2026-03-18 14:55:11] [INFO]   -> Set field 'inService' = null
[2026-03-18 14:55:11] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-18 14:55:11] [INFO]   -> Found value: 35.254515
[2026-03-18 14:55:11] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.254514999999997826307662762701511383056640625
[2026-03-18 14:55:11] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-18 14:55:11] [INFO]   -> Found value: -85.119855
[2026-03-18 14:55:11] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.119855000000001155058271251618862152099609375
[2026-03-18 14:55:11] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-18 14:55:11] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:11] [INFO]   -> Set field 'dispatched' = null
[2026-03-18 14:55:11] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-18 14:55:11] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:11] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-18 14:55:11] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:11] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-18 14:55:11] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:11] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-18 14:55:11] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:11] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-18 14:55:11] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:11] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-18 14:55:11] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:11] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-18 14:55:11] [INFO]   -> Found value: RD
[2026-03-18 14:55:11] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 14:55:11] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 14:55:11] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:11] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-18 14:55:11] [INFO]   -> Found value: 2026-03-26158
[2026-03-18 14:55:11] [INFO]   -> Set field 'policeReportNumber' = "2026-03-26158"
[2026-03-18 14:55:11] [INFO]   -> Set field 'cADNumber' = "2026-03-26158"
[2026-03-18 14:55:11] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-18 14:55:11] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-18 14:55:11] [INFO] Found 14 elements for 'Comment', concatenating 14 non-empty values
[2026-03-18 14:55:11] [INFO]   -> Found value: 03/18/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]
03/18/2026 ...
[2026-03-18 14:55:11] [INFO]   -> Set field 'dispatchNotes' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:55:11] [INFO]   -> Set field 'cADLog' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:55:11] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-18 14:55:11] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-18 14:55:11] [INFO]   -> Found value: SFD
[2026-03-18 14:55:11] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-18 14:55:11] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-18 14:55:11] [INFO] Concatenating street name and type
[2026-03-18 14:55:11] [INFO]   -> Combined street name: YAPHANK RD
[2026-03-18 14:55:11] [INFO] Built locationCoordinates from lat/lng: 35.254515,-85.119855
[2026-03-18 14:55:11] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":",1834 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1834,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-03-18 14:54:05","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.254514999999997826307662762701511383056640625,"nERISIncidentLongitude":-85.119855000000001155058271251618862152099609375,"dispatched":null,"policeReportNumber":"2026-03-26158","cADNumber":"2026-03-26158","dispatchNotes":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADLog":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.254515,-85.119855"}
[2026-03-18 14:55:11] [INFO] Number of extracted fields: 20
[2026-03-18 14:55:11] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-18 14:55: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-03-18 14:55:11] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-18 14:55:11] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-18 14:55:11] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-18 14:55:11] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-18 14:55:11] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-18 14:55:11] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-18 14:55:11] [INFO] Found existing IncidentTypeMapping with ID: 69babc9398e3c6bd6
[2026-03-18 14:55:12] [INFO] Found existing Dispatch with cADNumber '2026-03-26158', ID: 69babc93f24f96d9a - will update instead of create
[2026-03-18 14:55:12] [INFO] Updated existing Dispatches record with ID: 69babc93f24f96d9a
[2026-03-18 14:55:12] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-18 14:55:12] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-18 14:55:15] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-26158_20260318105510657.xml
[2026-03-18 14:55:15] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105510657.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18/INCCOMBINED_2026-03-26158_20260318105510657.xml
[2026-03-18 14:55:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105510657.xml
[2026-03-18 14:55:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105515704.xml
[2026-03-18 14:55:15] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105515704.xml for user: 68920395733981a47
[2026-03-18 14:55:15] [INFO] File size: 7484 bytes
[2026-03-18 14:55:16] [INFO] Created FTPFiles record with ID: 69babcd41ffa56fff
[2026-03-18 14:55:16] [INFO] About to extract fields from XML. File size: 7484 bytes
[2026-03-18 14:55:16] [INFO] Number of mappings: 24
[2026-03-18 14:55:16] [INFO] Starting XML parsing. Content length: 7484
[2026-03-18 14:55:16] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-18 14:55:16] [INFO] Processing 24 field mappings
[2026-03-18 14:55:16] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-18 14:55:16] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-18 14:55:16] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-18 14:55:16] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-18 14:55:16] [INFO]   -> Found value: ,1834 YAPHANK RD
[2026-03-18 14:55:16] [INFO]   -> Set field 'businessName' = ",1834 YAPHANK RD"
[2026-03-18 14:55:16] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-18 14:55:16] [INFO]   -> Found value: 37379
[2026-03-18 14:55:16] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-18 14:55:16] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-18 14:55:16] [INFO]   -> Found value: 1834
[2026-03-18 14:55:16] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1834
[2026-03-18 14:55:16] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-18 14:55:16] [INFO]   -> Found value: YAPHANK
[2026-03-18 14:55:16] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-03-18 14:55:16] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-18 14:55:16] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-03-18 14:55:16] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-03-18 14:55:16] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-18 14:55:16] [INFO]   -> Found value: 2026-03-18T10:54:05.287-04:00
[2026-03-18 14:55:16] [INFO]   -> Set field 'alarm' = "2026-03-18 14:54:05"
[2026-03-18 14:55:16] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-18 14:55:16] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:16] [INFO]   -> Set field 'enroute' = null
[2026-03-18 14:55:16] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-18 14:55:16] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:16] [INFO]   -> Set field 'onScene' = null
[2026-03-18 14:55:16] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-18 14:55:16] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:16] [INFO]   -> Set field 'cleared' = null
[2026-03-18 14:55:16] [INFO]   -> Set field 'inService' = null
[2026-03-18 14:55:16] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-18 14:55:16] [INFO]   -> Found value: 35.254515
[2026-03-18 14:55:16] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.254514999999997826307662762701511383056640625
[2026-03-18 14:55:16] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-18 14:55:16] [INFO]   -> Found value: -85.119855
[2026-03-18 14:55:16] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.119855000000001155058271251618862152099609375
[2026-03-18 14:55:16] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-18 14:55:16] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:16] [INFO]   -> Set field 'dispatched' = null
[2026-03-18 14:55:16] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-18 14:55:16] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:16] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-18 14:55:16] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:16] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-18 14:55:16] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:16] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-18 14:55:16] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:16] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-18 14:55:16] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:16] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-18 14:55:16] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:16] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-18 14:55:16] [INFO]   -> Found value: RD
[2026-03-18 14:55:16] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 14:55:16] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 14:55:16] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:16] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-18 14:55:16] [INFO]   -> Found value: 2026-03-26158
[2026-03-18 14:55:16] [INFO]   -> Set field 'policeReportNumber' = "2026-03-26158"
[2026-03-18 14:55:16] [INFO]   -> Set field 'cADNumber' = "2026-03-26158"
[2026-03-18 14:55:16] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-18 14:55:16] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-18 14:55:16] [INFO] Found 15 elements for 'Comment', concatenating 15 non-empty values
[2026-03-18 14:55:16] [INFO]   -> Found value: 03/18/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]
03/18/2026 ...
[2026-03-18 14:55:16] [INFO]   -> Set field 'dispatchNotes' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:55:16] [INFO]   -> Set field 'cADLog' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:55:16] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-18 14:55:16] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-18 14:55:16] [INFO]   -> Found value: SFD
[2026-03-18 14:55:16] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-18 14:55:16] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-18 14:55:16] [INFO] Concatenating street name and type
[2026-03-18 14:55:16] [INFO]   -> Combined street name: YAPHANK RD
[2026-03-18 14:55:16] [INFO] Built locationCoordinates from lat/lng: 35.254515,-85.119855
[2026-03-18 14:55:16] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":",1834 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1834,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-03-18 14:54:05","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.254514999999997826307662762701511383056640625,"nERISIncidentLongitude":-85.119855000000001155058271251618862152099609375,"dispatched":null,"policeReportNumber":"2026-03-26158","cADNumber":"2026-03-26158","dispatchNotes":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADLog":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.254515,-85.119855"}
[2026-03-18 14:55:16] [INFO] Number of extracted fields: 20
[2026-03-18 14:55:16] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-18 14:55:16] [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-03-18 14:55:16] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-18 14:55:16] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-18 14:55:16] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-18 14:55:16] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-18 14:55:16] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-18 14:55:16] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-18 14:55:17] [INFO] Found existing IncidentTypeMapping with ID: 69babc9398e3c6bd6
[2026-03-18 14:55:17] [INFO] Found existing Dispatch with cADNumber '2026-03-26158', ID: 69babc93f24f96d9a - will update instead of create
[2026-03-18 14:55:17] [INFO] Updated existing Dispatches record with ID: 69babc93f24f96d9a
[2026-03-18 14:55:17] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-18 14:55:17] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-18 14:55:20] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-26158_20260318105515704.xml
[2026-03-18 14:55:20] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105515704.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18/INCCOMBINED_2026-03-26158_20260318105515704.xml
[2026-03-18 14:55:20] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105515704.xml
[2026-03-18 14:55:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105520751.xml
[2026-03-18 14:55:20] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105520751.xml for user: 68920395733981a47
[2026-03-18 14:55:20] [INFO] File size: 7690 bytes
[2026-03-18 14:55:21] [INFO] Created FTPFiles record with ID: 69babcd92e9aab590
[2026-03-18 14:55:21] [INFO] About to extract fields from XML. File size: 7690 bytes
[2026-03-18 14:55:21] [INFO] Number of mappings: 24
[2026-03-18 14:55:21] [INFO] Starting XML parsing. Content length: 7690
[2026-03-18 14:55:21] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-18 14:55:21] [INFO] Processing 24 field mappings
[2026-03-18 14:55:21] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-18 14:55:21] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-18 14:55:21] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-18 14:55:21] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-18 14:55:21] [INFO]   -> Found value: ,1834 YAPHANK RD
[2026-03-18 14:55:21] [INFO]   -> Set field 'businessName' = ",1834 YAPHANK RD"
[2026-03-18 14:55:21] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-18 14:55:21] [INFO]   -> Found value: 37379
[2026-03-18 14:55:21] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-18 14:55:21] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-18 14:55:21] [INFO]   -> Found value: 1834
[2026-03-18 14:55:21] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1834
[2026-03-18 14:55:21] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-18 14:55:21] [INFO]   -> Found value: YAPHANK
[2026-03-18 14:55:21] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-03-18 14:55:21] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-18 14:55:21] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-03-18 14:55:21] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-03-18 14:55:21] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-18 14:55:21] [INFO]   -> Found value: 2026-03-18T10:54:05.287-04:00
[2026-03-18 14:55:21] [INFO]   -> Set field 'alarm' = "2026-03-18 14:54:05"
[2026-03-18 14:55:21] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-18 14:55:21] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:21] [INFO]   -> Set field 'enroute' = null
[2026-03-18 14:55:21] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-18 14:55:21] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:21] [INFO]   -> Set field 'onScene' = null
[2026-03-18 14:55:21] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-18 14:55:21] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:21] [INFO]   -> Set field 'cleared' = null
[2026-03-18 14:55:21] [INFO]   -> Set field 'inService' = null
[2026-03-18 14:55:21] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-18 14:55:21] [INFO]   -> Found value: 35.254515
[2026-03-18 14:55:21] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.254514999999997826307662762701511383056640625
[2026-03-18 14:55:21] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-18 14:55:21] [INFO]   -> Found value: -85.119855
[2026-03-18 14:55:21] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.119855000000001155058271251618862152099609375
[2026-03-18 14:55:21] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-18 14:55:21] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:21] [INFO]   -> Set field 'dispatched' = null
[2026-03-18 14:55:21] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-18 14:55:21] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:21] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-18 14:55:21] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:21] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-18 14:55:21] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:21] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-18 14:55:21] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:21] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-18 14:55:21] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:21] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-18 14:55:21] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:21] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-18 14:55:21] [INFO]   -> Found value: RD
[2026-03-18 14:55:21] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 14:55:21] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 14:55:21] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:21] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-18 14:55:21] [INFO]   -> Found value: 2026-03-26158
[2026-03-18 14:55:21] [INFO]   -> Set field 'policeReportNumber' = "2026-03-26158"
[2026-03-18 14:55:21] [INFO]   -> Set field 'cADNumber' = "2026-03-26158"
[2026-03-18 14:55:21] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-18 14:55:21] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-18 14:55:21] [INFO] Found 16 elements for 'Comment', concatenating 16 non-empty values
[2026-03-18 14:55:21] [INFO]   -> Found value: 03/18/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]
03/18/2026 ...
[2026-03-18 14:55:21] [INFO]   -> Set field 'dispatchNotes' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:55:21] [INFO]   -> Set field 'cADLog' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:55:21] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-18 14:55:21] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-18 14:55:21] [INFO]   -> Found value: SFD
[2026-03-18 14:55:21] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-18 14:55:21] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-18 14:55:21] [INFO] Concatenating street name and type
[2026-03-18 14:55:21] [INFO]   -> Combined street name: YAPHANK RD
[2026-03-18 14:55:21] [INFO] Built locationCoordinates from lat/lng: 35.254515,-85.119855
[2026-03-18 14:55:21] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":",1834 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1834,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-03-18 14:54:05","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.254514999999997826307662762701511383056640625,"nERISIncidentLongitude":-85.119855000000001155058271251618862152099609375,"dispatched":null,"policeReportNumber":"2026-03-26158","cADNumber":"2026-03-26158","dispatchNotes":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADLog":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.254515,-85.119855"}
[2026-03-18 14:55:21] [INFO] Number of extracted fields: 20
[2026-03-18 14:55:21] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-18 14:55: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-03-18 14:55:21] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-18 14:55:21] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-18 14:55:21] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-18 14:55:21] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-18 14:55:21] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-18 14:55:21] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-18 14:55:21] [INFO] Found existing IncidentTypeMapping with ID: 69babc9398e3c6bd6
[2026-03-18 14:55:22] [INFO] Found existing Dispatch with cADNumber '2026-03-26158', ID: 69babc93f24f96d9a - will update instead of create
[2026-03-18 14:55:22] [INFO] Updated existing Dispatches record with ID: 69babc93f24f96d9a
[2026-03-18 14:55:22] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-18 14:55:22] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-18 14:55:25] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-26158_20260318105520751.xml
[2026-03-18 14:55:25] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105520751.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18/INCCOMBINED_2026-03-26158_20260318105520751.xml
[2026-03-18 14:55:25] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105520751.xml
[2026-03-18 14:55:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105530854.xml
[2026-03-18 14:55:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105530854.xml for user: 68920395733981a47
[2026-03-18 14:55:30] [INFO] File size: 8228 bytes
[2026-03-18 14:55:31] [INFO] Created FTPFiles record with ID: 69babce3446268e55
[2026-03-18 14:55:31] [INFO] About to extract fields from XML. File size: 8228 bytes
[2026-03-18 14:55:31] [INFO] Number of mappings: 24
[2026-03-18 14:55:31] [INFO] Starting XML parsing. Content length: 8228
[2026-03-18 14:55:31] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-18 14:55:31] [INFO] Processing 24 field mappings
[2026-03-18 14:55:31] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-18 14:55:31] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-18 14:55:31] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-18 14:55:31] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-18 14:55:31] [INFO]   -> Found value: ,1834 YAPHANK RD
[2026-03-18 14:55:31] [INFO]   -> Set field 'businessName' = ",1834 YAPHANK RD"
[2026-03-18 14:55:31] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-18 14:55:31] [INFO]   -> Found value: 37379
[2026-03-18 14:55:31] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-18 14:55:31] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-18 14:55:31] [INFO]   -> Found value: 1834
[2026-03-18 14:55:31] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1834
[2026-03-18 14:55:31] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-18 14:55:31] [INFO]   -> Found value: YAPHANK
[2026-03-18 14:55:31] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-03-18 14:55:31] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-18 14:55:31] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-03-18 14:55:31] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-03-18 14:55:31] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-18 14:55:31] [INFO]   -> Found value: 2026-03-18T10:54:05.287-04:00
[2026-03-18 14:55:31] [INFO]   -> Set field 'alarm' = "2026-03-18 14:54:05"
[2026-03-18 14:55:31] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-18 14:55:31] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:31] [INFO]   -> Set field 'enroute' = null
[2026-03-18 14:55:31] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-18 14:55:31] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:31] [INFO]   -> Set field 'onScene' = null
[2026-03-18 14:55:31] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-18 14:55:31] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:31] [INFO]   -> Set field 'cleared' = null
[2026-03-18 14:55:31] [INFO]   -> Set field 'inService' = null
[2026-03-18 14:55:31] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-18 14:55:31] [INFO]   -> Found value: 35.254515
[2026-03-18 14:55:31] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.254514999999997826307662762701511383056640625
[2026-03-18 14:55:31] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-18 14:55:31] [INFO]   -> Found value: -85.119855
[2026-03-18 14:55:31] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.119855000000001155058271251618862152099609375
[2026-03-18 14:55:31] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-18 14:55:31] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:31] [INFO]   -> Set field 'dispatched' = null
[2026-03-18 14:55:31] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-18 14:55:31] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:31] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-18 14:55:31] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:31] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-18 14:55:31] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:31] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-18 14:55:31] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:31] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-18 14:55:31] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:31] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-18 14:55:31] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:31] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-18 14:55:31] [INFO]   -> Found value: RD
[2026-03-18 14:55:31] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 14:55:31] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 14:55:31] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:31] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-18 14:55:31] [INFO]   -> Found value: 2026-03-26158
[2026-03-18 14:55:31] [INFO]   -> Set field 'policeReportNumber' = "2026-03-26158"
[2026-03-18 14:55:31] [INFO]   -> Set field 'cADNumber' = "2026-03-26158"
[2026-03-18 14:55:31] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-18 14:55:31] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-18 14:55:31] [INFO] Found 19 elements for 'Comment', concatenating 19 non-empty values
[2026-03-18 14:55:31] [INFO]   -> Found value: 03/18/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]
03/18/2026 ...
[2026-03-18 14:55:31] [INFO]   -> Set field 'dispatchNotes' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]"
[2026-03-18 14:55:31] [INFO]   -> Set field 'cADLog' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]"
[2026-03-18 14:55:31] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-18 14:55:31] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-18 14:55:31] [INFO]   -> Found value: SFD
[2026-03-18 14:55:31] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-18 14:55:31] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-18 14:55:31] [INFO] Concatenating street name and type
[2026-03-18 14:55:31] [INFO]   -> Combined street name: YAPHANK RD
[2026-03-18 14:55:31] [INFO] Built locationCoordinates from lat/lng: 35.254515,-85.119855
[2026-03-18 14:55:31] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":",1834 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1834,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-03-18 14:54:05","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.254514999999997826307662762701511383056640625,"nERISIncidentLongitude":-85.119855000000001155058271251618862152099609375,"dispatched":null,"policeReportNumber":"2026-03-26158","cADNumber":"2026-03-26158","dispatchNotes":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]","cADLog":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.254515,-85.119855"}
[2026-03-18 14:55:31] [INFO] Number of extracted fields: 20
[2026-03-18 14:55:31] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-18 14:55:31] [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-03-18 14:55:31] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-18 14:55:31] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-18 14:55:31] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-18 14:55:31] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-18 14:55:31] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-18 14:55:31] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-18 14:55:31] [INFO] Found existing IncidentTypeMapping with ID: 69babc9398e3c6bd6
[2026-03-18 14:55:32] [INFO] Found existing Dispatch with cADNumber '2026-03-26158', ID: 69babc93f24f96d9a - will update instead of create
[2026-03-18 14:55:32] [INFO] Updated existing Dispatches record with ID: 69babc93f24f96d9a
[2026-03-18 14:55:32] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-18 14:55:32] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-18 14:55:35] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-26158_20260318105530854.xml
[2026-03-18 14:55:35] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105530854.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18/INCCOMBINED_2026-03-26158_20260318105530854.xml
[2026-03-18 14:55:35] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105530854.xml
[2026-03-18 14:55:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105540901.xml
[2026-03-18 14:55:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105540901.xml for user: 68920395733981a47
[2026-03-18 14:55:41] [INFO] File size: 8486 bytes
[2026-03-18 14:55:41] [INFO] Created FTPFiles record with ID: 69babced4c7379809
[2026-03-18 14:55:41] [INFO] About to extract fields from XML. File size: 8486 bytes
[2026-03-18 14:55:41] [INFO] Number of mappings: 24
[2026-03-18 14:55:41] [INFO] Starting XML parsing. Content length: 8486
[2026-03-18 14:55:41] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-18 14:55:41] [INFO] Processing 24 field mappings
[2026-03-18 14:55:41] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-18 14:55:41] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-18 14:55:41] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-18 14:55:41] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-18 14:55:41] [INFO]   -> Found value: ,1834 YAPHANK RD
[2026-03-18 14:55:41] [INFO]   -> Set field 'businessName' = ",1834 YAPHANK RD"
[2026-03-18 14:55:41] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-18 14:55:41] [INFO]   -> Found value: 37379
[2026-03-18 14:55:41] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-18 14:55:41] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-18 14:55:41] [INFO]   -> Found value: 1834
[2026-03-18 14:55:41] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1834
[2026-03-18 14:55:41] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-18 14:55:41] [INFO]   -> Found value: YAPHANK
[2026-03-18 14:55:41] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-03-18 14:55:41] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-18 14:55:41] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-03-18 14:55:41] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-03-18 14:55:41] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-18 14:55:41] [INFO]   -> Found value: 2026-03-18T10:54:05.287-04:00
[2026-03-18 14:55:41] [INFO]   -> Set field 'alarm' = "2026-03-18 14:54:05"
[2026-03-18 14:55:41] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-18 14:55:41] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:41] [INFO]   -> Set field 'enroute' = null
[2026-03-18 14:55:41] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-18 14:55:41] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:41] [INFO]   -> Set field 'onScene' = null
[2026-03-18 14:55:41] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-18 14:55:41] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:41] [INFO]   -> Set field 'cleared' = null
[2026-03-18 14:55:41] [INFO]   -> Set field 'inService' = null
[2026-03-18 14:55:41] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-18 14:55:41] [INFO]   -> Found value: 35.254515
[2026-03-18 14:55:41] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.254514999999997826307662762701511383056640625
[2026-03-18 14:55:41] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-18 14:55:41] [INFO]   -> Found value: -85.119855
[2026-03-18 14:55:41] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.119855000000001155058271251618862152099609375
[2026-03-18 14:55:41] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-18 14:55:41] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:55:41] [INFO]   -> Set field 'dispatched' = null
[2026-03-18 14:55:41] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-18 14:55:41] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:41] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-18 14:55:41] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:41] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-18 14:55:41] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:41] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-18 14:55:41] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:41] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-18 14:55:41] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:41] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-18 14:55:41] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:41] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-18 14:55:41] [INFO]   -> Found value: RD
[2026-03-18 14:55:41] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 14:55:41] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 14:55:41] [INFO]   -> No value found (null or empty)
[2026-03-18 14:55:41] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-18 14:55:41] [INFO]   -> Found value: 2026-03-26158
[2026-03-18 14:55:41] [INFO]   -> Set field 'policeReportNumber' = "2026-03-26158"
[2026-03-18 14:55:41] [INFO]   -> Set field 'cADNumber' = "2026-03-26158"
[2026-03-18 14:55:41] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-18 14:55:41] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-18 14:55:41] [INFO] Found 20 elements for 'Comment', concatenating 20 non-empty values
[2026-03-18 14:55:41] [INFO]   -> Found value: 03/18/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]
03/18/2026 ...
[2026-03-18 14:55:41] [INFO]   -> Set field 'dispatchNotes' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:55:41] [INFO]   -> Set field 'cADLog' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:55:41] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-18 14:55:41] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-18 14:55:41] [INFO]   -> Found value: SFD
[2026-03-18 14:55:41] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-18 14:55:41] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-18 14:55:41] [INFO] Concatenating street name and type
[2026-03-18 14:55:41] [INFO]   -> Combined street name: YAPHANK RD
[2026-03-18 14:55:41] [INFO] Built locationCoordinates from lat/lng: 35.254515,-85.119855
[2026-03-18 14:55:41] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":",1834 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1834,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-03-18 14:54:05","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.254514999999997826307662762701511383056640625,"nERISIncidentLongitude":-85.119855000000001155058271251618862152099609375,"dispatched":null,"policeReportNumber":"2026-03-26158","cADNumber":"2026-03-26158","dispatchNotes":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADLog":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.254515,-85.119855"}
[2026-03-18 14:55:41] [INFO] Number of extracted fields: 20
[2026-03-18 14:55:41] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-18 14:55:41] [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-03-18 14:55:41] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-18 14:55:41] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-18 14:55:41] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-18 14:55:41] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-18 14:55:41] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-18 14:55:41] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-18 14:55:42] [INFO] Found existing IncidentTypeMapping with ID: 69babc9398e3c6bd6
[2026-03-18 14:55:42] [INFO] Found existing Dispatch with cADNumber '2026-03-26158', ID: 69babc93f24f96d9a - will update instead of create
[2026-03-18 14:55:42] [INFO] Updated existing Dispatches record with ID: 69babc93f24f96d9a
[2026-03-18 14:55:42] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-18 14:55:42] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-18 14:55:44] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-26158_20260318105540901.xml
[2026-03-18 14:55:44] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105540901.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18/INCCOMBINED_2026-03-26158_20260318105540901.xml
[2026-03-18 14:55:44] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105540901.xml
[2026-03-18 14:56:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105601047.xml
[2026-03-18 14:56:01] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105601047.xml for user: 68920395733981a47
[2026-03-18 14:56:01] [INFO] File size: 11751 bytes
[2026-03-18 14:56:01] [INFO] Created FTPFiles record with ID: 69babd017b4dfdf11
[2026-03-18 14:56:01] [INFO] About to extract fields from XML. File size: 11751 bytes
[2026-03-18 14:56:01] [INFO] Number of mappings: 24
[2026-03-18 14:56:01] [INFO] Starting XML parsing. Content length: 11751
[2026-03-18 14:56:01] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-18 14:56:01] [INFO] Processing 24 field mappings
[2026-03-18 14:56:01] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-18 14:56:01] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-18 14:56:01] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-18 14:56:01] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-18 14:56:01] [INFO]   -> Found value: ,1834 YAPHANK RD
[2026-03-18 14:56:01] [INFO]   -> Set field 'businessName' = ",1834 YAPHANK RD"
[2026-03-18 14:56:01] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-18 14:56:01] [INFO]   -> Found value: 37379
[2026-03-18 14:56:01] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-18 14:56:01] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-18 14:56:01] [INFO]   -> Found value: 1834
[2026-03-18 14:56:01] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1834
[2026-03-18 14:56:01] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-18 14:56:01] [INFO]   -> Found value: YAPHANK
[2026-03-18 14:56:01] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-03-18 14:56:01] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-18 14:56:01] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-03-18 14:56:01] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-03-18 14:56:01] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-18 14:56:01] [INFO]   -> Found value: 2026-03-18T10:54:05.287-04:00
[2026-03-18 14:56:01] [INFO]   -> Set field 'alarm' = "2026-03-18 14:54:05"
[2026-03-18 14:56:01] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-18 14:56:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:01] [INFO]   -> Set field 'enroute' = null
[2026-03-18 14:56:01] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-18 14:56:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:01] [INFO]   -> Set field 'onScene' = null
[2026-03-18 14:56:01] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-18 14:56:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:01] [INFO]   -> Set field 'cleared' = null
[2026-03-18 14:56:01] [INFO]   -> Set field 'inService' = null
[2026-03-18 14:56:01] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-18 14:56:01] [INFO]   -> Found value: 35.254515
[2026-03-18 14:56:01] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.254514999999997826307662762701511383056640625
[2026-03-18 14:56:01] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-18 14:56:01] [INFO]   -> Found value: -85.119855
[2026-03-18 14:56:01] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.119855000000001155058271251618862152099609375
[2026-03-18 14:56:01] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-18 14:56:01] [INFO]   -> Found value: 2026-03-18T10:55:56.543-04:00
[2026-03-18 14:56:01] [INFO]   -> Set field 'dispatched' = "2026-03-18 14:55:56"
[2026-03-18 14:56:01] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-18 14:56:01] [INFO]   -> Found value: DBFMED
[2026-03-18 14:56:01] [INFO]   -> Set field 'cADVehicleID' = "DBFMED"
[2026-03-18 14:56:01] [INFO]   -> Set field 'name' = "DBFMED"
[2026-03-18 14:56:01] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-18 14:56:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:01] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-18 14:56:01] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-18 14:56:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:01] [INFO]   -> Set field 'timeonscene' = null
[2026-03-18 14:56:01] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-18 14:56:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:01] [INFO]   -> Set field 'timestaging' = null
[2026-03-18 14:56:01] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-18 14:56:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:01] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-03-18 14:56:01] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-18 14:56:01] [INFO]   -> Found value: 2026-03-18T10:55:56.543-04:00
[2026-03-18 14:56:01] [INFO]   -> Set field 'timedispatch' = "2026-03-18 14:55:56"
[2026-03-18 14:56:01] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-18 14:56:01] [INFO]   -> Found value: RD
[2026-03-18 14:56:01] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 14:56:01] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 14:56:01] [INFO]   -> Found value: 26-000540
[2026-03-18 14:56:01] [INFO]   -> Set field 'incidentInternalId' = "26-000540"
[2026-03-18 14:56:01] [INFO]   -> Set field 'dispatchRunNumber' = "26-000540"
[2026-03-18 14:56:01] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-18 14:56:01] [INFO]   -> Found value: 2026-03-26158
[2026-03-18 14:56:01] [INFO]   -> Set field 'policeReportNumber' = "2026-03-26158"
[2026-03-18 14:56:01] [INFO]   -> Set field 'cADNumber' = "2026-03-26158"
[2026-03-18 14:56:01] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-18 14:56:01] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-18 14:56:01] [INFO] Found 22 elements for 'Comment', concatenating 22 non-empty values
[2026-03-18 14:56:01] [INFO]   -> Found value: 03/18/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]
03/18/2026 ...
[2026-03-18 14:56:01] [INFO]   -> Set field 'dispatchNotes' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:56:01] [INFO]   -> Set field 'cADLog' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:56:01] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-18 14:56:01] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-18 14:56:01] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 14:56:01] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-03-18 14:56:01] [INFO]   -> Found value: SFD
DBFD
[2026-03-18 14:56:01] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD"
[2026-03-18 14:56:01] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-18 14:56:01] [INFO] Concatenating street name and type
[2026-03-18 14:56:01] [INFO]   -> Combined street name: YAPHANK RD
[2026-03-18 14:56:01] [INFO] Built locationCoordinates from lat/lng: 35.254515,-85.119855
[2026-03-18 14:56:01] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":",1834 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1834,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-03-18 14:54:05","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.254514999999997826307662762701511383056640625,"nERISIncidentLongitude":-85.119855000000001155058271251618862152099609375,"dispatched":"2026-03-18 14:55:56","cADVehicleID":"DBFMED","name":"DBFMED","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-03-18 14:55:56","incidentInternalId":"26-000540","dispatchRunNumber":"26-000540","policeReportNumber":"2026-03-26158","cADNumber":"2026-03-26158","dispatchNotes":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADLog":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADAgencyIdentifier":"SFD\nDBFD","locationCoordinates":"35.254515,-85.119855"}
[2026-03-18 14:56:01] [INFO] Number of extracted fields: 29
[2026-03-18 14:56:01] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD'
[2026-03-18 14:56: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-03-18 14:56:01] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD"]
[2026-03-18 14:56:01] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-18 14:56:01] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-18 14:56:01] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD"]
[2026-03-18 14:56:01] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-18 14:56:01] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-18 14:56:01] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-18 14:56:01] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-18 14:56:02] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-18 14:56:02] [INFO] Found existing IncidentTypeMapping with ID: 69babc9398e3c6bd6
[2026-03-18 14:56:02] [INFO] Found existing Dispatch with cADNumber '2026-03-26158', ID: 69babc93f24f96d9a - will update instead of create
[2026-03-18 14:56:02] [INFO] Updated existing Dispatches record with ID: 69babc93f24f96d9a
[2026-03-18 14:56:02] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-18 14:56:02] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-18 14:56:05] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-26158_20260318105601047.xml
[2026-03-18 14:56:05] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105601047.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18/INCCOMBINED_2026-03-26158_20260318105601047.xml
[2026-03-18 14:56:05] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105601047.xml
[2026-03-18 14:56:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105611204.xml
[2026-03-18 14:56:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105611204.xml for user: 68920395733981a47
[2026-03-18 14:56:11] [INFO] File size: 11836 bytes
[2026-03-18 14:56:11] [INFO] Created FTPFiles record with ID: 69babd0b976b5b686
[2026-03-18 14:56:11] [INFO] About to extract fields from XML. File size: 11836 bytes
[2026-03-18 14:56:11] [INFO] Number of mappings: 24
[2026-03-18 14:56:11] [INFO] Starting XML parsing. Content length: 11836
[2026-03-18 14:56:11] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-18 14:56:11] [INFO] Processing 24 field mappings
[2026-03-18 14:56:11] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-18 14:56:11] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-18 14:56:11] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-18 14:56:11] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-18 14:56:11] [INFO]   -> Found value: ,1834 YAPHANK RD
[2026-03-18 14:56:11] [INFO]   -> Set field 'businessName' = ",1834 YAPHANK RD"
[2026-03-18 14:56:11] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-18 14:56:11] [INFO]   -> Found value: 37379
[2026-03-18 14:56:11] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-18 14:56:11] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-18 14:56:11] [INFO]   -> Found value: 1834
[2026-03-18 14:56:11] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1834
[2026-03-18 14:56:11] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-18 14:56:11] [INFO]   -> Found value: YAPHANK
[2026-03-18 14:56:11] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-03-18 14:56:11] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-18 14:56:11] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-03-18 14:56:11] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-03-18 14:56:11] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-18 14:56:11] [INFO]   -> Found value: 2026-03-18T10:54:05.287-04:00
[2026-03-18 14:56:11] [INFO]   -> Set field 'alarm' = "2026-03-18 14:54:05"
[2026-03-18 14:56:11] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-18 14:56:11] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:11] [INFO]   -> Set field 'enroute' = null
[2026-03-18 14:56:11] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-18 14:56:11] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:11] [INFO]   -> Set field 'onScene' = null
[2026-03-18 14:56:11] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-18 14:56:11] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:11] [INFO]   -> Set field 'cleared' = null
[2026-03-18 14:56:11] [INFO]   -> Set field 'inService' = null
[2026-03-18 14:56:11] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-18 14:56:11] [INFO]   -> Found value: 35.254515
[2026-03-18 14:56:11] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.254514999999997826307662762701511383056640625
[2026-03-18 14:56:11] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-18 14:56:11] [INFO]   -> Found value: -85.119855
[2026-03-18 14:56:11] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.119855000000001155058271251618862152099609375
[2026-03-18 14:56:11] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-18 14:56:11] [INFO]   -> Found value: 2026-03-18T10:55:56.543-04:00
[2026-03-18 14:56:11] [INFO]   -> Set field 'dispatched' = "2026-03-18 14:55:56"
[2026-03-18 14:56:11] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-18 14:56:11] [INFO]   -> Found value: DBFMED
[2026-03-18 14:56:11] [INFO]   -> Set field 'cADVehicleID' = "DBFMED"
[2026-03-18 14:56:11] [INFO]   -> Set field 'name' = "DBFMED"
[2026-03-18 14:56:11] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-18 14:56:11] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:11] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-18 14:56:11] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-18 14:56:11] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:11] [INFO]   -> Set field 'timeonscene' = null
[2026-03-18 14:56:11] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-18 14:56:11] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:11] [INFO]   -> Set field 'timestaging' = null
[2026-03-18 14:56:11] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-18 14:56:11] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:11] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-03-18 14:56:11] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-18 14:56:11] [INFO]   -> Found value: 2026-03-18T10:55:56.543-04:00
[2026-03-18 14:56:11] [INFO]   -> Set field 'timedispatch' = "2026-03-18 14:55:56"
[2026-03-18 14:56:11] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-18 14:56:11] [INFO]   -> Found value: RD
[2026-03-18 14:56:11] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 14:56:11] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 14:56:11] [INFO]   -> Found value: 26-000540
[2026-03-18 14:56:11] [INFO]   -> Set field 'incidentInternalId' = "26-000540"
[2026-03-18 14:56:11] [INFO]   -> Set field 'dispatchRunNumber' = "26-000540"
[2026-03-18 14:56:11] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-18 14:56:11] [INFO]   -> Found value: 2026-03-26158
[2026-03-18 14:56:11] [INFO]   -> Set field 'policeReportNumber' = "2026-03-26158"
[2026-03-18 14:56:11] [INFO]   -> Set field 'cADNumber' = "2026-03-26158"
[2026-03-18 14:56:11] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-18 14:56:11] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-18 14:56:11] [INFO] Found 23 elements for 'Comment', concatenating 23 non-empty values
[2026-03-18 14:56:11] [INFO]   -> Found value: 03/18/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]
03/18/2026 ...
[2026-03-18 14:56:11] [INFO]   -> Set field 'dispatchNotes' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]"
[2026-03-18 14:56:11] [INFO]   -> Set field 'cADLog' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]"
[2026-03-18 14:56:11] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-18 14:56:11] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-18 14:56:11] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 14:56:11] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-03-18 14:56:11] [INFO]   -> Found value: SFD
DBFD
[2026-03-18 14:56:11] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD"
[2026-03-18 14:56:11] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-18 14:56:11] [INFO] Concatenating street name and type
[2026-03-18 14:56:11] [INFO]   -> Combined street name: YAPHANK RD
[2026-03-18 14:56:11] [INFO] Built locationCoordinates from lat/lng: 35.254515,-85.119855
[2026-03-18 14:56:11] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":",1834 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1834,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-03-18 14:54:05","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.254514999999997826307662762701511383056640625,"nERISIncidentLongitude":-85.119855000000001155058271251618862152099609375,"dispatched":"2026-03-18 14:55:56","cADVehicleID":"DBFMED","name":"DBFMED","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-03-18 14:55:56","incidentInternalId":"26-000540","dispatchRunNumber":"26-000540","policeReportNumber":"2026-03-26158","cADNumber":"2026-03-26158","dispatchNotes":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]","cADLog":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]","cADAgencyIdentifier":"SFD\nDBFD","locationCoordinates":"35.254515,-85.119855"}
[2026-03-18 14:56:11] [INFO] Number of extracted fields: 29
[2026-03-18 14:56:11] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD'
[2026-03-18 14:56:11] [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-03-18 14:56:11] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD"]
[2026-03-18 14:56:11] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-18 14:56:11] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-18 14:56:11] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD"]
[2026-03-18 14:56:12] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-18 14:56:12] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-18 14:56:12] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-18 14:56:12] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-18 14:56:12] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-18 14:56:12] [INFO] Found existing IncidentTypeMapping with ID: 69babc9398e3c6bd6
[2026-03-18 14:56:12] [INFO] Found existing Dispatch with cADNumber '2026-03-26158', ID: 69babc93f24f96d9a - will update instead of create
[2026-03-18 14:56:12] [INFO] Updated existing Dispatches record with ID: 69babc93f24f96d9a
[2026-03-18 14:56:12] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-18 14:56:12] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-18 14:56:16] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-26158_20260318105611204.xml
[2026-03-18 14:56:16] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105611204.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18/INCCOMBINED_2026-03-26158_20260318105611204.xml
[2026-03-18 14:56:16] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105611204.xml
[2026-03-18 14:56:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105626354.xml
[2026-03-18 14:56:26] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105626354.xml for user: 68920395733981a47
[2026-03-18 14:56:26] [INFO] File size: 12044 bytes
[2026-03-18 14:56:26] [INFO] Created FTPFiles record with ID: 69babd1ac089ac0cf
[2026-03-18 14:56:26] [INFO] About to extract fields from XML. File size: 12044 bytes
[2026-03-18 14:56:26] [INFO] Number of mappings: 24
[2026-03-18 14:56:26] [INFO] Starting XML parsing. Content length: 12044
[2026-03-18 14:56:26] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-18 14:56:26] [INFO] Processing 24 field mappings
[2026-03-18 14:56:26] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-18 14:56:26] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-18 14:56:26] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-18 14:56:26] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-18 14:56:26] [INFO]   -> Found value: ,1834 YAPHANK RD
[2026-03-18 14:56:26] [INFO]   -> Set field 'businessName' = ",1834 YAPHANK RD"
[2026-03-18 14:56:26] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-18 14:56:26] [INFO]   -> Found value: 37379
[2026-03-18 14:56:26] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-18 14:56:26] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-18 14:56:26] [INFO]   -> Found value: 1834
[2026-03-18 14:56:26] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1834
[2026-03-18 14:56:26] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-18 14:56:26] [INFO]   -> Found value: YAPHANK
[2026-03-18 14:56:26] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-03-18 14:56:26] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-18 14:56:26] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-03-18 14:56:26] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-03-18 14:56:26] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-18 14:56:26] [INFO]   -> Found value: 2026-03-18T10:54:05.287-04:00
[2026-03-18 14:56:26] [INFO]   -> Set field 'alarm' = "2026-03-18 14:54:05"
[2026-03-18 14:56:26] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-18 14:56:26] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:26] [INFO]   -> Set field 'enroute' = null
[2026-03-18 14:56:26] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-18 14:56:26] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:26] [INFO]   -> Set field 'onScene' = null
[2026-03-18 14:56:26] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-18 14:56:26] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:26] [INFO]   -> Set field 'cleared' = null
[2026-03-18 14:56:26] [INFO]   -> Set field 'inService' = null
[2026-03-18 14:56:26] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-18 14:56:26] [INFO]   -> Found value: 35.254515
[2026-03-18 14:56:26] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.254514999999997826307662762701511383056640625
[2026-03-18 14:56:26] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-18 14:56:26] [INFO]   -> Found value: -85.119855
[2026-03-18 14:56:26] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.119855000000001155058271251618862152099609375
[2026-03-18 14:56:26] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-18 14:56:26] [INFO]   -> Found value: 2026-03-18T10:55:56.543-04:00
[2026-03-18 14:56:26] [INFO]   -> Set field 'dispatched' = "2026-03-18 14:55:56"
[2026-03-18 14:56:26] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-18 14:56:26] [INFO]   -> Found value: DBFMED
[2026-03-18 14:56:26] [INFO]   -> Set field 'cADVehicleID' = "DBFMED"
[2026-03-18 14:56:26] [INFO]   -> Set field 'name' = "DBFMED"
[2026-03-18 14:56:26] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-18 14:56:26] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:26] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-18 14:56:26] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-18 14:56:26] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:26] [INFO]   -> Set field 'timeonscene' = null
[2026-03-18 14:56:26] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-18 14:56:26] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:26] [INFO]   -> Set field 'timestaging' = null
[2026-03-18 14:56:26] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-18 14:56:26] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:26] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-03-18 14:56:26] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-18 14:56:26] [INFO]   -> Found value: 2026-03-18T10:55:56.543-04:00
[2026-03-18 14:56:26] [INFO]   -> Set field 'timedispatch' = "2026-03-18 14:55:56"
[2026-03-18 14:56:26] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-18 14:56:26] [INFO]   -> Found value: RD
[2026-03-18 14:56:26] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 14:56:26] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 14:56:26] [INFO]   -> Found value: 26-000540
[2026-03-18 14:56:26] [INFO]   -> Set field 'incidentInternalId' = "26-000540"
[2026-03-18 14:56:26] [INFO]   -> Set field 'dispatchRunNumber' = "26-000540"
[2026-03-18 14:56:26] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-18 14:56:26] [INFO]   -> Found value: 2026-03-26158
[2026-03-18 14:56:26] [INFO]   -> Set field 'policeReportNumber' = "2026-03-26158"
[2026-03-18 14:56:26] [INFO]   -> Set field 'cADNumber' = "2026-03-26158"
[2026-03-18 14:56:26] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-18 14:56:26] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-18 14:56:26] [INFO] Found 24 elements for 'Comment', concatenating 24 non-empty values
[2026-03-18 14:56:26] [INFO]   -> Found value: 03/18/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]
03/18/2026 ...
[2026-03-18 14:56:26] [INFO]   -> Set field 'dispatchNotes' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:56:26] [INFO]   -> Set field 'cADLog' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:56:26] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-18 14:56:26] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-18 14:56:26] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 14:56:26] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-03-18 14:56:26] [INFO]   -> Found value: SFD
DBFD
[2026-03-18 14:56:26] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD"
[2026-03-18 14:56:26] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-18 14:56:26] [INFO] Concatenating street name and type
[2026-03-18 14:56:26] [INFO]   -> Combined street name: YAPHANK RD
[2026-03-18 14:56:26] [INFO] Built locationCoordinates from lat/lng: 35.254515,-85.119855
[2026-03-18 14:56:26] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":",1834 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1834,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-03-18 14:54:05","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.254514999999997826307662762701511383056640625,"nERISIncidentLongitude":-85.119855000000001155058271251618862152099609375,"dispatched":"2026-03-18 14:55:56","cADVehicleID":"DBFMED","name":"DBFMED","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-03-18 14:55:56","incidentInternalId":"26-000540","dispatchRunNumber":"26-000540","policeReportNumber":"2026-03-26158","cADNumber":"2026-03-26158","dispatchNotes":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADLog":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADAgencyIdentifier":"SFD\nDBFD","locationCoordinates":"35.254515,-85.119855"}
[2026-03-18 14:56:26] [INFO] Number of extracted fields: 29
[2026-03-18 14:56:26] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD'
[2026-03-18 14:56: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-03-18 14:56:26] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD"]
[2026-03-18 14:56:26] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-18 14:56:26] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-18 14:56:26] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD"]
[2026-03-18 14:56:27] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-18 14:56:27] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-18 14:56:27] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-18 14:56:27] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-18 14:56:27] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-18 14:56:27] [INFO] Found existing IncidentTypeMapping with ID: 69babc9398e3c6bd6
[2026-03-18 14:56:27] [INFO] Found existing Dispatch with cADNumber '2026-03-26158', ID: 69babc93f24f96d9a - will update instead of create
[2026-03-18 14:56:27] [INFO] Updated existing Dispatches record with ID: 69babc93f24f96d9a
[2026-03-18 14:56:27] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-18 14:56:27] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-18 14:56:31] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-26158_20260318105626354.xml
[2026-03-18 14:56:31] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105626354.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18/INCCOMBINED_2026-03-26158_20260318105626354.xml
[2026-03-18 14:56:31] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105626354.xml
[2026-03-18 14:56:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105651589.xml
[2026-03-18 14:56:51] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105651589.xml for user: 68920395733981a47
[2026-03-18 14:56:51] [INFO] File size: 14786 bytes
[2026-03-18 14:56:52] [INFO] Created FTPFiles record with ID: 69babd34161ca775a
[2026-03-18 14:56:52] [INFO] About to extract fields from XML. File size: 14786 bytes
[2026-03-18 14:56:52] [INFO] Number of mappings: 24
[2026-03-18 14:56:52] [INFO] Starting XML parsing. Content length: 14786
[2026-03-18 14:56:52] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-18 14:56:52] [INFO] Processing 24 field mappings
[2026-03-18 14:56:52] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-18 14:56:52] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-18 14:56:52] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-18 14:56:52] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-18 14:56:52] [INFO]   -> Found value: ,1834 YAPHANK RD
[2026-03-18 14:56:52] [INFO]   -> Set field 'businessName' = ",1834 YAPHANK RD"
[2026-03-18 14:56:52] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-18 14:56:52] [INFO]   -> Found value: 37379
[2026-03-18 14:56:52] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-18 14:56:52] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-18 14:56:52] [INFO]   -> Found value: 1834
[2026-03-18 14:56:52] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1834
[2026-03-18 14:56:52] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-18 14:56:52] [INFO]   -> Found value: YAPHANK
[2026-03-18 14:56:52] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-03-18 14:56:52] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-18 14:56:52] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-03-18 14:56:52] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-03-18 14:56:52] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-18 14:56:52] [INFO]   -> Found value: 2026-03-18T10:54:05.287-04:00
[2026-03-18 14:56:52] [INFO]   -> Set field 'alarm' = "2026-03-18 14:54:05"
[2026-03-18 14:56:52] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-18 14:56:52] [INFO]   -> Found value: 2026-03-18T10:56:47.847-04:00
[2026-03-18 14:56:52] [INFO]   -> Set field 'enroute' = "2026-03-18 14:56:47"
[2026-03-18 14:56:52] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-18 14:56:52] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:52] [INFO]   -> Set field 'onScene' = null
[2026-03-18 14:56:52] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-18 14:56:52] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:52] [INFO]   -> Set field 'cleared' = null
[2026-03-18 14:56:52] [INFO]   -> Set field 'inService' = null
[2026-03-18 14:56:52] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-18 14:56:52] [INFO]   -> Found value: 35.254515
[2026-03-18 14:56:52] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.254514999999997826307662762701511383056640625
[2026-03-18 14:56:52] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-18 14:56:52] [INFO]   -> Found value: -85.119855
[2026-03-18 14:56:52] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.119855000000001155058271251618862152099609375
[2026-03-18 14:56:52] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-18 14:56:52] [INFO]   -> Found value: 2026-03-18T10:55:56.543-04:00
[2026-03-18 14:56:52] [INFO]   -> Set field 'dispatched' = "2026-03-18 14:55:56"
[2026-03-18 14:56:52] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-18 14:56:52] [INFO]   -> Found value: S2DB
[2026-03-18 14:56:52] [INFO]   -> Set field 'cADVehicleID' = "S2DB"
[2026-03-18 14:56:52] [INFO]   -> Set field 'name' = "S2DB"
[2026-03-18 14:56:52] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-18 14:56:52] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:52] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-18 14:56:52] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-18 14:56:52] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:52] [INFO]   -> Set field 'timeonscene' = null
[2026-03-18 14:56:52] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-18 14:56:52] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:56:52] [INFO]   -> Set field 'timestaging' = null
[2026-03-18 14:56:52] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-18 14:56:52] [INFO]   -> Found value: 2026-03-18T10:56:47.847-04:00
[2026-03-18 14:56:52] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 14:56:47"
[2026-03-18 14:56:52] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-18 14:56:52] [INFO]   -> Found value: 2026-03-18T10:56:47.81-04:00
[2026-03-18 14:56:52] [INFO]   -> Set field 'timedispatch' = "2026-03-18 14:56:47"
[2026-03-18 14:56:52] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-18 14:56:52] [INFO]   -> Found value: RD
[2026-03-18 14:56:52] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 14:56:52] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 14:56:52] [INFO]   -> Found value: 26-000540
[2026-03-18 14:56:52] [INFO]   -> Set field 'incidentInternalId' = "26-000540"
[2026-03-18 14:56:52] [INFO]   -> Set field 'dispatchRunNumber' = "26-000540"
[2026-03-18 14:56:52] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-18 14:56:52] [INFO]   -> Found value: 2026-03-26158
[2026-03-18 14:56:52] [INFO]   -> Set field 'policeReportNumber' = "2026-03-26158"
[2026-03-18 14:56:52] [INFO]   -> Set field 'cADNumber' = "2026-03-26158"
[2026-03-18 14:56:52] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-18 14:56:52] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-18 14:56:52] [INFO] Found 24 elements for 'Comment', concatenating 24 non-empty values
[2026-03-18 14:56:52] [INFO]   -> Found value: 03/18/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]
03/18/2026 ...
[2026-03-18 14:56:52] [INFO]   -> Set field 'dispatchNotes' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:56:52] [INFO]   -> Set field 'cADLog' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:56:52] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-18 14:56:52] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-18 14:56:52] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 14:56:52] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-03-18 14:56:52] [INFO]   -> Found value: SFD
DBFD
DBFD
[2026-03-18 14:56:52] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD\nDBFD"
[2026-03-18 14:56:52] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-18 14:56:52] [INFO] Concatenating street name and type
[2026-03-18 14:56:52] [INFO]   -> Combined street name: YAPHANK RD
[2026-03-18 14:56:52] [INFO] Built locationCoordinates from lat/lng: 35.254515,-85.119855
[2026-03-18 14:56:52] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":",1834 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1834,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-03-18 14:54:05","enroute":"2026-03-18 14:56:47","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.254514999999997826307662762701511383056640625,"nERISIncidentLongitude":-85.119855000000001155058271251618862152099609375,"dispatched":"2026-03-18 14:55:56","cADVehicleID":"S2DB","name":"S2DB","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-03-18 14:56:47","timedispatch":"2026-03-18 14:56:47","incidentInternalId":"26-000540","dispatchRunNumber":"26-000540","policeReportNumber":"2026-03-26158","cADNumber":"2026-03-26158","dispatchNotes":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADLog":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADAgencyIdentifier":"SFD\nDBFD\nDBFD","locationCoordinates":"35.254515,-85.119855"}
[2026-03-18 14:56:52] [INFO] Number of extracted fields: 29
[2026-03-18 14:56:52] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD
DBFD'
[2026-03-18 14:56:52] [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-03-18 14:56:52] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD","DBFD"]
[2026-03-18 14:56:52] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-18 14:56:52] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-18 14:56:52] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD","DBFD"]
[2026-03-18 14:56:52] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-18 14:56:52] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-18 14:56:52] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 14:56:52] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-18 14:56:52] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-18 14:56:52] [INFO] Found existing IncidentTypeMapping with ID: 69babc9398e3c6bd6
[2026-03-18 14:56:53] [INFO] Found existing Dispatch with cADNumber '2026-03-26158', ID: 69babc93f24f96d9a - will update instead of create
[2026-03-18 14:56:53] [INFO] Updated existing Dispatches record with ID: 69babc93f24f96d9a
[2026-03-18 14:56:53] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-18 14:56:53] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-18 14:56:56] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-26158_20260318105651589.xml
[2026-03-18 14:56:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105651589.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18/INCCOMBINED_2026-03-26158_20260318105651589.xml
[2026-03-18 14:56:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105651589.xml
[2026-03-18 14:57:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105737121.xml
[2026-03-18 14:57:37] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105737121.xml for user: 68920395733981a47
[2026-03-18 14:57:37] [INFO] File size: 15023 bytes
[2026-03-18 14:57:37] [INFO] Created FTPFiles record with ID: 69babd618a7eb584b
[2026-03-18 14:57:37] [INFO] About to extract fields from XML. File size: 15023 bytes
[2026-03-18 14:57:37] [INFO] Number of mappings: 24
[2026-03-18 14:57:37] [INFO] Starting XML parsing. Content length: 15023
[2026-03-18 14:57:37] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-18 14:57:37] [INFO] Processing 24 field mappings
[2026-03-18 14:57:37] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-18 14:57:37] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-18 14:57:37] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-18 14:57:37] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-18 14:57:37] [INFO]   -> Found value: ,1834 YAPHANK RD
[2026-03-18 14:57:37] [INFO]   -> Set field 'businessName' = ",1834 YAPHANK RD"
[2026-03-18 14:57:37] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-18 14:57:37] [INFO]   -> Found value: 37379
[2026-03-18 14:57:37] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-18 14:57:37] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-18 14:57:37] [INFO]   -> Found value: 1834
[2026-03-18 14:57:37] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1834
[2026-03-18 14:57:37] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-18 14:57:37] [INFO]   -> Found value: YAPHANK
[2026-03-18 14:57:37] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-03-18 14:57:37] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-18 14:57:37] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-03-18 14:57:37] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-03-18 14:57:37] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-18 14:57:37] [INFO]   -> Found value: 2026-03-18T10:54:05.287-04:00
[2026-03-18 14:57:37] [INFO]   -> Set field 'alarm' = "2026-03-18 14:54:05"
[2026-03-18 14:57:37] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-18 14:57:37] [INFO]   -> Found value: 2026-03-18T10:56:47.847-04:00
[2026-03-18 14:57:37] [INFO]   -> Set field 'enroute' = "2026-03-18 14:56:47"
[2026-03-18 14:57:37] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-18 14:57:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:57:37] [INFO]   -> Set field 'onScene' = null
[2026-03-18 14:57:37] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-18 14:57:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:57:37] [INFO]   -> Set field 'cleared' = null
[2026-03-18 14:57:37] [INFO]   -> Set field 'inService' = null
[2026-03-18 14:57:37] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-18 14:57:37] [INFO]   -> Found value: 35.254515
[2026-03-18 14:57:37] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.254514999999997826307662762701511383056640625
[2026-03-18 14:57:37] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-18 14:57:37] [INFO]   -> Found value: -85.119855
[2026-03-18 14:57:37] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.119855000000001155058271251618862152099609375
[2026-03-18 14:57:37] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-18 14:57:37] [INFO]   -> Found value: 2026-03-18T10:55:56.543-04:00
[2026-03-18 14:57:37] [INFO]   -> Set field 'dispatched' = "2026-03-18 14:55:56"
[2026-03-18 14:57:37] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-18 14:57:37] [INFO]   -> Found value: S2DB
[2026-03-18 14:57:37] [INFO]   -> Set field 'cADVehicleID' = "S2DB"
[2026-03-18 14:57:37] [INFO]   -> Set field 'name' = "S2DB"
[2026-03-18 14:57:37] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-18 14:57:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:57:37] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-18 14:57:37] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-18 14:57:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:57:37] [INFO]   -> Set field 'timeonscene' = null
[2026-03-18 14:57:37] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-18 14:57:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:57:37] [INFO]   -> Set field 'timestaging' = null
[2026-03-18 14:57:37] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-18 14:57:37] [INFO]   -> Found value: 2026-03-18T10:56:47.847-04:00
[2026-03-18 14:57:37] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 14:56:47"
[2026-03-18 14:57:37] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-18 14:57:37] [INFO]   -> Found value: 2026-03-18T10:56:47.81-04:00
[2026-03-18 14:57:37] [INFO]   -> Set field 'timedispatch' = "2026-03-18 14:56:47"
[2026-03-18 14:57:37] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-18 14:57:37] [INFO]   -> Found value: RD
[2026-03-18 14:57:37] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 14:57:37] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 14:57:37] [INFO]   -> Found value: 26-000540
[2026-03-18 14:57:37] [INFO]   -> Set field 'incidentInternalId' = "26-000540"
[2026-03-18 14:57:37] [INFO]   -> Set field 'dispatchRunNumber' = "26-000540"
[2026-03-18 14:57:37] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-18 14:57:37] [INFO]   -> Found value: 2026-03-26158
[2026-03-18 14:57:37] [INFO]   -> Set field 'policeReportNumber' = "2026-03-26158"
[2026-03-18 14:57:37] [INFO]   -> Set field 'cADNumber' = "2026-03-26158"
[2026-03-18 14:57:37] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-18 14:57:37] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-18 14:57:37] [INFO] Found 25 elements for 'Comment', concatenating 25 non-empty values
[2026-03-18 14:57:37] [INFO]   -> Found value: 03/18/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]
03/18/2026 ...
[2026-03-18 14:57:37] [INFO]   -> Set field 'dispatchNotes' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:57:37] [INFO]   -> Set field 'cADLog' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:57:37] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-18 14:57:37] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-18 14:57:37] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 14:57:37] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-03-18 14:57:37] [INFO]   -> Found value: SFD
DBFD
DBFD
[2026-03-18 14:57:37] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD\nDBFD"
[2026-03-18 14:57:37] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-18 14:57:37] [INFO] Concatenating street name and type
[2026-03-18 14:57:37] [INFO]   -> Combined street name: YAPHANK RD
[2026-03-18 14:57:37] [INFO] Built locationCoordinates from lat/lng: 35.254515,-85.119855
[2026-03-18 14:57:37] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":",1834 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1834,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-03-18 14:54:05","enroute":"2026-03-18 14:56:47","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.254514999999997826307662762701511383056640625,"nERISIncidentLongitude":-85.119855000000001155058271251618862152099609375,"dispatched":"2026-03-18 14:55:56","cADVehicleID":"S2DB","name":"S2DB","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-03-18 14:56:47","timedispatch":"2026-03-18 14:56:47","incidentInternalId":"26-000540","dispatchRunNumber":"26-000540","policeReportNumber":"2026-03-26158","cADNumber":"2026-03-26158","dispatchNotes":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADLog":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADAgencyIdentifier":"SFD\nDBFD\nDBFD","locationCoordinates":"35.254515,-85.119855"}
[2026-03-18 14:57:37] [INFO] Number of extracted fields: 29
[2026-03-18 14:57:37] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD
DBFD'
[2026-03-18 14:57: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-03-18 14:57:37] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD","DBFD"]
[2026-03-18 14:57:37] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-18 14:57:37] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-18 14:57:37] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD","DBFD"]
[2026-03-18 14:57:37] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-18 14:57:37] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-18 14:57:37] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 14:57:37] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-18 14:57:38] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-18 14:57:38] [INFO] Found existing IncidentTypeMapping with ID: 69babc9398e3c6bd6
[2026-03-18 14:57:38] [INFO] Found existing Dispatch with cADNumber '2026-03-26158', ID: 69babc93f24f96d9a - will update instead of create
[2026-03-18 14:57:38] [INFO] Updated existing Dispatches record with ID: 69babc93f24f96d9a
[2026-03-18 14:57:38] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-18 14:57:38] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-18 14:57:42] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-26158_20260318105737121.xml
[2026-03-18 14:57:42] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105737121.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18/INCCOMBINED_2026-03-26158_20260318105737121.xml
[2026-03-18 14:57:42] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105737121.xml
[2026-03-18 14:57:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105752278.xml
[2026-03-18 14:57:52] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105752278.xml for user: 68920395733981a47
[2026-03-18 14:57:52] [INFO] File size: 15208 bytes
[2026-03-18 14:57:52] [INFO] Created FTPFiles record with ID: 69babd70b39f33ae1
[2026-03-18 14:57:52] [INFO] About to extract fields from XML. File size: 15208 bytes
[2026-03-18 14:57:52] [INFO] Number of mappings: 24
[2026-03-18 14:57:52] [INFO] Starting XML parsing. Content length: 15208
[2026-03-18 14:57:52] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-18 14:57:52] [INFO] Processing 24 field mappings
[2026-03-18 14:57:52] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-18 14:57:52] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-18 14:57:52] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-18 14:57:52] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-18 14:57:52] [INFO]   -> Found value: ,1834 YAPHANK RD
[2026-03-18 14:57:52] [INFO]   -> Set field 'businessName' = ",1834 YAPHANK RD"
[2026-03-18 14:57:52] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-18 14:57:52] [INFO]   -> Found value: 37379
[2026-03-18 14:57:52] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-18 14:57:52] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-18 14:57:52] [INFO]   -> Found value: 1834
[2026-03-18 14:57:52] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1834
[2026-03-18 14:57:52] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-18 14:57:52] [INFO]   -> Found value: YAPHANK
[2026-03-18 14:57:52] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-03-18 14:57:52] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-18 14:57:52] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-03-18 14:57:52] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-03-18 14:57:52] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-18 14:57:52] [INFO]   -> Found value: 2026-03-18T10:54:05.287-04:00
[2026-03-18 14:57:52] [INFO]   -> Set field 'alarm' = "2026-03-18 14:54:05"
[2026-03-18 14:57:52] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-18 14:57:52] [INFO]   -> Found value: 2026-03-18T10:56:47.847-04:00
[2026-03-18 14:57:52] [INFO]   -> Set field 'enroute' = "2026-03-18 14:56:47"
[2026-03-18 14:57:52] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-18 14:57:52] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:57:52] [INFO]   -> Set field 'onScene' = null
[2026-03-18 14:57:52] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-18 14:57:52] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:57:52] [INFO]   -> Set field 'cleared' = null
[2026-03-18 14:57:52] [INFO]   -> Set field 'inService' = null
[2026-03-18 14:57:52] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-18 14:57:52] [INFO]   -> Found value: 35.254515
[2026-03-18 14:57:52] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.254514999999997826307662762701511383056640625
[2026-03-18 14:57:52] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-18 14:57:52] [INFO]   -> Found value: -85.119855
[2026-03-18 14:57:52] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.119855000000001155058271251618862152099609375
[2026-03-18 14:57:52] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-18 14:57:52] [INFO]   -> Found value: 2026-03-18T10:55:56.543-04:00
[2026-03-18 14:57:52] [INFO]   -> Set field 'dispatched' = "2026-03-18 14:55:56"
[2026-03-18 14:57:52] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-18 14:57:52] [INFO]   -> Found value: S2DB
[2026-03-18 14:57:52] [INFO]   -> Set field 'cADVehicleID' = "S2DB"
[2026-03-18 14:57:52] [INFO]   -> Set field 'name' = "S2DB"
[2026-03-18 14:57:52] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-18 14:57:52] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:57:52] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-18 14:57:52] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-18 14:57:52] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:57:52] [INFO]   -> Set field 'timeonscene' = null
[2026-03-18 14:57:52] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-18 14:57:52] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 14:57:52] [INFO]   -> Set field 'timestaging' = null
[2026-03-18 14:57:52] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-18 14:57:52] [INFO]   -> Found value: 2026-03-18T10:56:47.847-04:00
[2026-03-18 14:57:52] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 14:56:47"
[2026-03-18 14:57:52] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-18 14:57:52] [INFO]   -> Found value: 2026-03-18T10:56:47.81-04:00
[2026-03-18 14:57:52] [INFO]   -> Set field 'timedispatch' = "2026-03-18 14:56:47"
[2026-03-18 14:57:52] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-18 14:57:52] [INFO]   -> Found value: RD
[2026-03-18 14:57:52] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 14:57:52] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 14:57:52] [INFO]   -> Found value: 26-000540
[2026-03-18 14:57:52] [INFO]   -> Set field 'incidentInternalId' = "26-000540"
[2026-03-18 14:57:52] [INFO]   -> Set field 'dispatchRunNumber' = "26-000540"
[2026-03-18 14:57:52] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-18 14:57:52] [INFO]   -> Found value: 2026-03-26158
[2026-03-18 14:57:52] [INFO]   -> Set field 'policeReportNumber' = "2026-03-26158"
[2026-03-18 14:57:52] [INFO]   -> Set field 'cADNumber' = "2026-03-26158"
[2026-03-18 14:57:52] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-18 14:57:52] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-18 14:57:52] [INFO] Found 26 elements for 'Comment', concatenating 26 non-empty values
[2026-03-18 14:57:52] [INFO]   -> Found value: 03/18/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]
03/18/2026 ...
[2026-03-18 14:57:52] [INFO]   -> Set field 'dispatchNotes' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:57:52] [INFO]   -> Set field 'cADLog' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 14:57:52] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-18 14:57:52] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-18 14:57:52] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 14:57:52] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-03-18 14:57:52] [INFO]   -> Found value: SFD
DBFD
DBFD
[2026-03-18 14:57:52] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD\nDBFD"
[2026-03-18 14:57:52] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-18 14:57:52] [INFO] Concatenating street name and type
[2026-03-18 14:57:52] [INFO]   -> Combined street name: YAPHANK RD
[2026-03-18 14:57:52] [INFO] Built locationCoordinates from lat/lng: 35.254515,-85.119855
[2026-03-18 14:57:52] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":",1834 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1834,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-03-18 14:54:05","enroute":"2026-03-18 14:56:47","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.254514999999997826307662762701511383056640625,"nERISIncidentLongitude":-85.119855000000001155058271251618862152099609375,"dispatched":"2026-03-18 14:55:56","cADVehicleID":"S2DB","name":"S2DB","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-03-18 14:56:47","timedispatch":"2026-03-18 14:56:47","incidentInternalId":"26-000540","dispatchRunNumber":"26-000540","policeReportNumber":"2026-03-26158","cADNumber":"2026-03-26158","dispatchNotes":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADLog":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADAgencyIdentifier":"SFD\nDBFD\nDBFD","locationCoordinates":"35.254515,-85.119855"}
[2026-03-18 14:57:52] [INFO] Number of extracted fields: 29
[2026-03-18 14:57:52] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD
DBFD'
[2026-03-18 14:57:52] [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-03-18 14:57:52] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD","DBFD"]
[2026-03-18 14:57:52] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-18 14:57:52] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-18 14:57:52] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD","DBFD"]
[2026-03-18 14:57:53] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-18 14:57:53] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-18 14:57:53] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 14:57:53] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-18 14:57:53] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-18 14:57:53] [INFO] Found existing IncidentTypeMapping with ID: 69babc9398e3c6bd6
[2026-03-18 14:57:53] [INFO] Found existing Dispatch with cADNumber '2026-03-26158', ID: 69babc93f24f96d9a - will update instead of create
[2026-03-18 14:57:53] [INFO] Updated existing Dispatches record with ID: 69babc93f24f96d9a
[2026-03-18 14:57:53] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-18 14:57:53] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-18 14:57:56] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-26158_20260318105752278.xml
[2026-03-18 14:57:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105752278.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18/INCCOMBINED_2026-03-26158_20260318105752278.xml
[2026-03-18 14:57:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318105752278.xml
[2026-03-18 15:06:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318110627179.xml
[2026-03-18 15:06:27] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318110627179.xml for user: 68920395733981a47
[2026-03-18 15:06:27] [INFO] File size: 15358 bytes
[2026-03-18 15:06:27] [INFO] Created FTPFiles record with ID: 69babf73dbffa8121
[2026-03-18 15:06:27] [INFO] About to extract fields from XML. File size: 15358 bytes
[2026-03-18 15:06:27] [INFO] Number of mappings: 24
[2026-03-18 15:06:27] [INFO] Starting XML parsing. Content length: 15358
[2026-03-18 15:06:27] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-18 15:06:27] [INFO] Processing 24 field mappings
[2026-03-18 15:06:27] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-18 15:06:27] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-18 15:06:27] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-18 15:06:27] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-18 15:06:27] [INFO]   -> Found value: ,1834 YAPHANK RD
[2026-03-18 15:06:27] [INFO]   -> Set field 'businessName' = ",1834 YAPHANK RD"
[2026-03-18 15:06:27] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-18 15:06:27] [INFO]   -> Found value: 37379
[2026-03-18 15:06:27] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-18 15:06:27] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-18 15:06:27] [INFO]   -> Found value: 1834
[2026-03-18 15:06:27] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1834
[2026-03-18 15:06:27] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-18 15:06:27] [INFO]   -> Found value: YAPHANK
[2026-03-18 15:06:27] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-03-18 15:06:27] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-18 15:06:27] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-03-18 15:06:27] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-03-18 15:06:27] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-18 15:06:27] [INFO]   -> Found value: 2026-03-18T10:54:05.287-04:00
[2026-03-18 15:06:27] [INFO]   -> Set field 'alarm' = "2026-03-18 14:54:05"
[2026-03-18 15:06:27] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-18 15:06:27] [INFO]   -> Found value: 2026-03-18T10:56:47.847-04:00
[2026-03-18 15:06:27] [INFO]   -> Set field 'enroute' = "2026-03-18 14:56:47"
[2026-03-18 15:06:27] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-18 15:06:27] [INFO]   -> Found value: 2026-03-18T11:06:24.083-04:00
[2026-03-18 15:06:27] [INFO]   -> Set field 'onScene' = "2026-03-18 15:06:24"
[2026-03-18 15:06:27] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-18 15:06:27] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 15:06:27] [INFO]   -> Set field 'cleared' = null
[2026-03-18 15:06:27] [INFO]   -> Set field 'inService' = null
[2026-03-18 15:06:27] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-18 15:06:27] [INFO]   -> Found value: 35.254515
[2026-03-18 15:06:27] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.254514999999997826307662762701511383056640625
[2026-03-18 15:06:27] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-18 15:06:27] [INFO]   -> Found value: -85.119855
[2026-03-18 15:06:27] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.119855000000001155058271251618862152099609375
[2026-03-18 15:06:27] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-18 15:06:27] [INFO]   -> Found value: 2026-03-18T10:55:56.543-04:00
[2026-03-18 15:06:27] [INFO]   -> Set field 'dispatched' = "2026-03-18 14:55:56"
[2026-03-18 15:06:27] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-18 15:06:27] [INFO]   -> Found value: S2DB
[2026-03-18 15:06:27] [INFO]   -> Set field 'cADVehicleID' = "S2DB"
[2026-03-18 15:06:27] [INFO]   -> Set field 'name' = "S2DB"
[2026-03-18 15:06:27] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-18 15:06:27] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 15:06:27] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-18 15:06:27] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-18 15:06:27] [INFO]   -> Found value: 2026-03-18T11:06:24.083-04:00
[2026-03-18 15:06:27] [INFO]   -> Set field 'timeonscene' = "2026-03-18 15:06:24"
[2026-03-18 15:06:27] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-18 15:06:27] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 15:06:27] [INFO]   -> Set field 'timestaging' = null
[2026-03-18 15:06:27] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-18 15:06:27] [INFO]   -> Found value: 2026-03-18T10:56:47.847-04:00
[2026-03-18 15:06:27] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 14:56:47"
[2026-03-18 15:06:27] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-18 15:06:27] [INFO]   -> Found value: 2026-03-18T10:56:47.81-04:00
[2026-03-18 15:06:27] [INFO]   -> Set field 'timedispatch' = "2026-03-18 14:56:47"
[2026-03-18 15:06:27] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-18 15:06:27] [INFO]   -> Found value: RD
[2026-03-18 15:06:27] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 15:06:27] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 15:06:27] [INFO]   -> Found value: 26-000540
[2026-03-18 15:06:27] [INFO]   -> Set field 'incidentInternalId' = "26-000540"
[2026-03-18 15:06:27] [INFO]   -> Set field 'dispatchRunNumber' = "26-000540"
[2026-03-18 15:06:27] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-18 15:06:27] [INFO]   -> Found value: 2026-03-26158
[2026-03-18 15:06:27] [INFO]   -> Set field 'policeReportNumber' = "2026-03-26158"
[2026-03-18 15:06:27] [INFO]   -> Set field 'cADNumber' = "2026-03-26158"
[2026-03-18 15:06:27] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-18 15:06:27] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-18 15:06:27] [INFO] Found 26 elements for 'Comment', concatenating 26 non-empty values
[2026-03-18 15:06:27] [INFO]   -> Found value: 03/18/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]
03/18/2026 ...
[2026-03-18 15:06:27] [INFO]   -> Set field 'dispatchNotes' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 15:06:27] [INFO]   -> Set field 'cADLog' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]"
[2026-03-18 15:06:27] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-18 15:06:27] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-18 15:06:27] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 15:06:27] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-03-18 15:06:27] [INFO]   -> Found value: SFD
DBFD
DBFD
[2026-03-18 15:06:27] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD\nDBFD"
[2026-03-18 15:06:27] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-18 15:06:27] [INFO] Concatenating street name and type
[2026-03-18 15:06:27] [INFO]   -> Combined street name: YAPHANK RD
[2026-03-18 15:06:27] [INFO] Built locationCoordinates from lat/lng: 35.254515,-85.119855
[2026-03-18 15:06:27] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":",1834 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1834,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-03-18 14:54:05","enroute":"2026-03-18 14:56:47","onScene":"2026-03-18 15:06:24","cleared":null,"inService":null,"nERISIncidentLatitude":35.254514999999997826307662762701511383056640625,"nERISIncidentLongitude":-85.119855000000001155058271251618862152099609375,"dispatched":"2026-03-18 14:55:56","cADVehicleID":"S2DB","name":"S2DB","timeunitclear":null,"timeonscene":"2026-03-18 15:06:24","timestaging":null,"timeenroutetoscene":"2026-03-18 14:56:47","timedispatch":"2026-03-18 14:56:47","incidentInternalId":"26-000540","dispatchRunNumber":"26-000540","policeReportNumber":"2026-03-26158","cADNumber":"2026-03-26158","dispatchNotes":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADLog":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]","cADAgencyIdentifier":"SFD\nDBFD\nDBFD","locationCoordinates":"35.254515,-85.119855"}
[2026-03-18 15:06:27] [INFO] Number of extracted fields: 29
[2026-03-18 15:06:27] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD
DBFD'
[2026-03-18 15:06:27] [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-03-18 15:06:27] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD","DBFD"]
[2026-03-18 15:06:27] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-18 15:06:28] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-18 15:06:28] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD","DBFD"]
[2026-03-18 15:06:28] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-18 15:06:28] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-18 15:06:28] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 15:06:28] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-18 15:06:28] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-18 15:06:28] [INFO] Found existing IncidentTypeMapping with ID: 69babc9398e3c6bd6
[2026-03-18 15:06:28] [INFO] Found existing Dispatch with cADNumber '2026-03-26158', ID: 69babc93f24f96d9a - will update instead of create
[2026-03-18 15:06:29] [INFO] Updated existing Dispatches record with ID: 69babc93f24f96d9a
[2026-03-18 15:06:29] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-18 15:06:29] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-18 15:06:33] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-26158_20260318110627179.xml
[2026-03-18 15:06:33] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318110627179.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18/INCCOMBINED_2026-03-26158_20260318110627179.xml
[2026-03-18 15:06:33] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318110627179.xml
[2026-03-18 15:06:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318110647336.xml
[2026-03-18 15:06:47] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318110647336.xml for user: 68920395733981a47
[2026-03-18 15:06:47] [INFO] File size: 15448 bytes
[2026-03-18 15:06:47] [INFO] Created FTPFiles record with ID: 69babf87cc0e7b962
[2026-03-18 15:06:47] [INFO] About to extract fields from XML. File size: 15448 bytes
[2026-03-18 15:06:47] [INFO] Number of mappings: 24
[2026-03-18 15:06:47] [INFO] Starting XML parsing. Content length: 15448
[2026-03-18 15:06:47] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-18 15:06:47] [INFO] Processing 24 field mappings
[2026-03-18 15:06:47] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-18 15:06:47] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-18 15:06:47] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-18 15:06:47] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-18 15:06:47] [INFO]   -> Found value: ,1834 YAPHANK RD
[2026-03-18 15:06:47] [INFO]   -> Set field 'businessName' = ",1834 YAPHANK RD"
[2026-03-18 15:06:47] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-18 15:06:47] [INFO]   -> Found value: 37379
[2026-03-18 15:06:47] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-18 15:06:47] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-18 15:06:47] [INFO]   -> Found value: 1834
[2026-03-18 15:06:47] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1834
[2026-03-18 15:06:47] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-18 15:06:47] [INFO]   -> Found value: YAPHANK
[2026-03-18 15:06:47] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-03-18 15:06:47] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-18 15:06:47] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-03-18 15:06:47] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-03-18 15:06:47] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-18 15:06:47] [INFO]   -> Found value: 2026-03-18T10:54:05.287-04:00
[2026-03-18 15:06:47] [INFO]   -> Set field 'alarm' = "2026-03-18 14:54:05"
[2026-03-18 15:06:47] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-18 15:06:47] [INFO]   -> Found value: 2026-03-18T10:56:47.847-04:00
[2026-03-18 15:06:47] [INFO]   -> Set field 'enroute' = "2026-03-18 14:56:47"
[2026-03-18 15:06:47] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-18 15:06:47] [INFO]   -> Found value: 2026-03-18T11:06:24.083-04:00
[2026-03-18 15:06:47] [INFO]   -> Set field 'onScene' = "2026-03-18 15:06:24"
[2026-03-18 15:06:47] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-18 15:06:47] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 15:06:47] [INFO]   -> Set field 'cleared' = null
[2026-03-18 15:06:47] [INFO]   -> Set field 'inService' = null
[2026-03-18 15:06:47] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-18 15:06:47] [INFO]   -> Found value: 35.254515
[2026-03-18 15:06:47] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.254514999999997826307662762701511383056640625
[2026-03-18 15:06:47] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-18 15:06:47] [INFO]   -> Found value: -85.119855
[2026-03-18 15:06:47] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.119855000000001155058271251618862152099609375
[2026-03-18 15:06:47] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-18 15:06:47] [INFO]   -> Found value: 2026-03-18T10:55:56.543-04:00
[2026-03-18 15:06:47] [INFO]   -> Set field 'dispatched' = "2026-03-18 14:55:56"
[2026-03-18 15:06:47] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-18 15:06:47] [INFO]   -> Found value: S2DB
[2026-03-18 15:06:47] [INFO]   -> Set field 'cADVehicleID' = "S2DB"
[2026-03-18 15:06:47] [INFO]   -> Set field 'name' = "S2DB"
[2026-03-18 15:06:47] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-18 15:06:47] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 15:06:47] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-18 15:06:47] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-18 15:06:47] [INFO]   -> Found value: 2026-03-18T11:06:24.083-04:00
[2026-03-18 15:06:47] [INFO]   -> Set field 'timeonscene' = "2026-03-18 15:06:24"
[2026-03-18 15:06:47] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-18 15:06:47] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 15:06:47] [INFO]   -> Set field 'timestaging' = null
[2026-03-18 15:06:47] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-18 15:06:47] [INFO]   -> Found value: 2026-03-18T10:56:47.847-04:00
[2026-03-18 15:06:47] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 14:56:47"
[2026-03-18 15:06:47] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-18 15:06:47] [INFO]   -> Found value: 2026-03-18T10:56:47.81-04:00
[2026-03-18 15:06:47] [INFO]   -> Set field 'timedispatch' = "2026-03-18 14:56:47"
[2026-03-18 15:06:47] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-18 15:06:47] [INFO]   -> Found value: RD
[2026-03-18 15:06:47] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 15:06:47] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 15:06:47] [INFO]   -> Found value: 26-000540
[2026-03-18 15:06:47] [INFO]   -> Set field 'incidentInternalId' = "26-000540"
[2026-03-18 15:06:47] [INFO]   -> Set field 'dispatchRunNumber' = "26-000540"
[2026-03-18 15:06:47] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-18 15:06:47] [INFO]   -> Found value: 2026-03-26158
[2026-03-18 15:06:47] [INFO]   -> Set field 'policeReportNumber' = "2026-03-26158"
[2026-03-18 15:06:47] [INFO]   -> Set field 'cADNumber' = "2026-03-26158"
[2026-03-18 15:06:47] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-18 15:06:47] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-18 15:06:47] [INFO] Found 27 elements for 'Comment', concatenating 27 non-empty values
[2026-03-18 15:06:47] [INFO]   -> Found value: 03/18/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]
03/18/2026 ...
[2026-03-18 15:06:47] [INFO]   -> Set field 'dispatchNotes' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 11:06:42 COBART_C                [27] 1316 HAS CMND [Shared]"
[2026-03-18 15:06:47] [INFO]   -> Set field 'cADLog' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 11:06:42 COBART_C                [27] 1316 HAS CMND [Shared]"
[2026-03-18 15:06:47] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-18 15:06:47] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-18 15:06:47] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 15:06:47] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-03-18 15:06:47] [INFO]   -> Found value: SFD
DBFD
DBFD
[2026-03-18 15:06:47] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD\nDBFD"
[2026-03-18 15:06:47] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-18 15:06:47] [INFO] Concatenating street name and type
[2026-03-18 15:06:47] [INFO]   -> Combined street name: YAPHANK RD
[2026-03-18 15:06:47] [INFO] Built locationCoordinates from lat/lng: 35.254515,-85.119855
[2026-03-18 15:06:47] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":",1834 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1834,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-03-18 14:54:05","enroute":"2026-03-18 14:56:47","onScene":"2026-03-18 15:06:24","cleared":null,"inService":null,"nERISIncidentLatitude":35.254514999999997826307662762701511383056640625,"nERISIncidentLongitude":-85.119855000000001155058271251618862152099609375,"dispatched":"2026-03-18 14:55:56","cADVehicleID":"S2DB","name":"S2DB","timeunitclear":null,"timeonscene":"2026-03-18 15:06:24","timestaging":null,"timeenroutetoscene":"2026-03-18 14:56:47","timedispatch":"2026-03-18 14:56:47","incidentInternalId":"26-000540","dispatchRunNumber":"26-000540","policeReportNumber":"2026-03-26158","cADNumber":"2026-03-26158","dispatchNotes":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 11:06:42 COBART_C                [27] 1316 HAS CMND [Shared]","cADLog":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 11:06:42 COBART_C                [27] 1316 HAS CMND [Shared]","cADAgencyIdentifier":"SFD\nDBFD\nDBFD","locationCoordinates":"35.254515,-85.119855"}
[2026-03-18 15:06:47] [INFO] Number of extracted fields: 29
[2026-03-18 15:06:47] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD
DBFD'
[2026-03-18 15:06:47] [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-03-18 15:06:47] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD","DBFD"]
[2026-03-18 15:06:47] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-18 15:06:48] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-18 15:06:48] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD","DBFD"]
[2026-03-18 15:06:48] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-18 15:06:48] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-18 15:06:48] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 15:06:48] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-18 15:06:48] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-18 15:06:48] [INFO] Found existing IncidentTypeMapping with ID: 69babc9398e3c6bd6
[2026-03-18 15:06:48] [INFO] Found existing Dispatch with cADNumber '2026-03-26158', ID: 69babc93f24f96d9a - will update instead of create
[2026-03-18 15:06:49] [INFO] Updated existing Dispatches record with ID: 69babc93f24f96d9a
[2026-03-18 15:06:49] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-18 15:06:49] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-18 15:06:51] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-26158_20260318110647336.xml
[2026-03-18 15:06:51] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318110647336.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18/INCCOMBINED_2026-03-26158_20260318110647336.xml
[2026-03-18 15:06:51] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318110647336.xml
[2026-03-18 15:17:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318111733491.xml
[2026-03-18 15:17:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318111733491.xml for user: 68920395733981a47
[2026-03-18 15:17:33] [INFO] File size: 16535 bytes
[2026-03-18 15:17:34] [INFO] Created FTPFiles record with ID: 69bac20e381b22ceb
[2026-03-18 15:17:34] [INFO] About to extract fields from XML. File size: 16535 bytes
[2026-03-18 15:17:34] [INFO] Number of mappings: 24
[2026-03-18 15:17:34] [INFO] Starting XML parsing. Content length: 16535
[2026-03-18 15:17:34] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-18 15:17:34] [INFO] Processing 24 field mappings
[2026-03-18 15:17:34] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-18 15:17:34] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-18 15:17:34] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-18 15:17:34] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-18 15:17:34] [INFO]   -> Found value: ,1834 YAPHANK RD
[2026-03-18 15:17:34] [INFO]   -> Set field 'businessName' = ",1834 YAPHANK RD"
[2026-03-18 15:17:34] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-18 15:17:34] [INFO]   -> Found value: 37379
[2026-03-18 15:17:34] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-18 15:17:34] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-18 15:17:34] [INFO]   -> Found value: 1834
[2026-03-18 15:17:34] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1834
[2026-03-18 15:17:34] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-18 15:17:34] [INFO]   -> Found value: YAPHANK
[2026-03-18 15:17:34] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-03-18 15:17:34] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-18 15:17:34] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-03-18 15:17:34] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-03-18 15:17:34] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-18 15:17:34] [INFO]   -> Found value: 2026-03-18T10:54:05.287-04:00
[2026-03-18 15:17:34] [INFO]   -> Set field 'alarm' = "2026-03-18 14:54:05"
[2026-03-18 15:17:34] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-18 15:17:34] [INFO]   -> Found value: 2026-03-18T10:56:47.847-04:00
[2026-03-18 15:17:34] [INFO]   -> Set field 'enroute' = "2026-03-18 14:56:47"
[2026-03-18 15:17:34] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-18 15:17:34] [INFO]   -> Found value: 2026-03-18T11:06:24.083-04:00
[2026-03-18 15:17:34] [INFO]   -> Set field 'onScene' = "2026-03-18 15:06:24"
[2026-03-18 15:17:34] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-18 15:17:34] [INFO]   -> Found value: 2026-03-18T11:17:31.307-04:00
[2026-03-18 15:17:34] [INFO]   -> Set field 'cleared' = "2026-03-18 15:17:31"
[2026-03-18 15:17:34] [INFO]   -> Set field 'inService' = "2026-03-18 15:17:31"
[2026-03-18 15:17:34] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-18 15:17:34] [INFO]   -> Found value: 35.254515
[2026-03-18 15:17:34] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.254514999999997826307662762701511383056640625
[2026-03-18 15:17:34] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-18 15:17:34] [INFO]   -> Found value: -85.119855
[2026-03-18 15:17:34] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.119855000000001155058271251618862152099609375
[2026-03-18 15:17:34] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-18 15:17:34] [INFO]   -> Found value: 2026-03-18T10:55:56.543-04:00
[2026-03-18 15:17:34] [INFO]   -> Set field 'dispatched' = "2026-03-18 14:55:56"
[2026-03-18 15:17:34] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-18 15:17:34] [INFO]   -> Found value: S2DB
[2026-03-18 15:17:34] [INFO]   -> Set field 'cADVehicleID' = "S2DB"
[2026-03-18 15:17:34] [INFO]   -> Set field 'name' = "S2DB"
[2026-03-18 15:17:34] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-18 15:17:34] [INFO]   -> Found value: 2026-03-18T11:17:31.307-04:00
[2026-03-18 15:17:34] [INFO]   -> Set field 'timeunitclear' = "2026-03-18 15:17:31"
[2026-03-18 15:17:34] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-18 15:17:34] [INFO]   -> Found value: 2026-03-18T11:06:24.083-04:00
[2026-03-18 15:17:34] [INFO]   -> Set field 'timeonscene' = "2026-03-18 15:06:24"
[2026-03-18 15:17:34] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-18 15:17:34] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 15:17:34] [INFO]   -> Set field 'timestaging' = null
[2026-03-18 15:17:34] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-18 15:17:34] [INFO]   -> Found value: 2026-03-18T10:56:47.847-04:00
[2026-03-18 15:17:34] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 14:56:47"
[2026-03-18 15:17:34] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-18 15:17:34] [INFO]   -> Found value: 2026-03-18T10:56:47.81-04:00
[2026-03-18 15:17:34] [INFO]   -> Set field 'timedispatch' = "2026-03-18 14:56:47"
[2026-03-18 15:17:34] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-18 15:17:34] [INFO]   -> Found value: RD
[2026-03-18 15:17:34] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 15:17:34] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 15:17:34] [INFO]   -> Found value: 26-000540
[2026-03-18 15:17:34] [INFO]   -> Set field 'incidentInternalId' = "26-000540"
[2026-03-18 15:17:34] [INFO]   -> Set field 'dispatchRunNumber' = "26-000540"
[2026-03-18 15:17:34] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-18 15:17:34] [INFO]   -> Found value: 2026-03-26158
[2026-03-18 15:17:34] [INFO]   -> Set field 'policeReportNumber' = "2026-03-26158"
[2026-03-18 15:17:34] [INFO]   -> Set field 'cADNumber' = "2026-03-26158"
[2026-03-18 15:17:34] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-18 15:17:34] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-18 15:17:34] [INFO] Found 27 elements for 'Comment', concatenating 27 non-empty values
[2026-03-18 15:17:34] [INFO]   -> Found value: 03/18/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]
03/18/2026 ...
[2026-03-18 15:17:34] [INFO]   -> Set field 'dispatchNotes' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 11:06:42 COBART_C                [27] 1316 HAS CMND [Shared]"
[2026-03-18 15:17:34] [INFO]   -> Set field 'cADLog' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 11:06:42 COBART_C                [27] 1316 HAS CMND [Shared]"
[2026-03-18 15:17:34] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-18 15:17:34] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-18 15:17:34] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 15:17:34] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-03-18 15:17:34] [INFO]   -> Found value: SFD
DBFD
DBFD
[2026-03-18 15:17:34] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD\nDBFD"
[2026-03-18 15:17:34] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-18 15:17:34] [INFO] Concatenating street name and type
[2026-03-18 15:17:34] [INFO]   -> Combined street name: YAPHANK RD
[2026-03-18 15:17:34] [INFO] Built locationCoordinates from lat/lng: 35.254515,-85.119855
[2026-03-18 15:17:34] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":",1834 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1834,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-03-18 14:54:05","enroute":"2026-03-18 14:56:47","onScene":"2026-03-18 15:06:24","cleared":"2026-03-18 15:17:31","inService":"2026-03-18 15:17:31","nERISIncidentLatitude":35.254514999999997826307662762701511383056640625,"nERISIncidentLongitude":-85.119855000000001155058271251618862152099609375,"dispatched":"2026-03-18 14:55:56","cADVehicleID":"S2DB","name":"S2DB","timeunitclear":"2026-03-18 15:17:31","timeonscene":"2026-03-18 15:06:24","timestaging":null,"timeenroutetoscene":"2026-03-18 14:56:47","timedispatch":"2026-03-18 14:56:47","incidentInternalId":"26-000540","dispatchRunNumber":"26-000540","policeReportNumber":"2026-03-26158","cADNumber":"2026-03-26158","dispatchNotes":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 11:06:42 COBART_C                [27] 1316 HAS CMND [Shared]","cADLog":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 11:06:42 COBART_C                [27] 1316 HAS CMND [Shared]","cADAgencyIdentifier":"SFD\nDBFD\nDBFD","locationCoordinates":"35.254515,-85.119855"}
[2026-03-18 15:17:34] [INFO] Number of extracted fields: 29
[2026-03-18 15:17:34] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD
DBFD'
[2026-03-18 15:17:34] [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-03-18 15:17:34] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD","DBFD"]
[2026-03-18 15:17:34] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-18 15:17:34] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-18 15:17:34] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD","DBFD"]
[2026-03-18 15:17:34] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-18 15:17:34] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-18 15:17:34] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 15:17:34] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-18 15:17:34] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-18 15:17:34] [INFO] Found existing IncidentTypeMapping with ID: 69babc9398e3c6bd6
[2026-03-18 15:17:35] [INFO] Found existing Dispatch with cADNumber '2026-03-26158', ID: 69babc93f24f96d9a - will update instead of create
[2026-03-18 15:17:35] [INFO] Updated existing Dispatches record with ID: 69babc93f24f96d9a
[2026-03-18 15:17:35] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-18 15:17:35] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-18 15:17:39] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-26158_20260318111733491.xml
[2026-03-18 15:17:39] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318111733491.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18/INCCOMBINED_2026-03-26158_20260318111733491.xml
[2026-03-18 15:17:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318111733491.xml
[2026-03-18 15:26:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318112613458.xml
[2026-03-18 15:26:13] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318112613458.xml for user: 68920395733981a47
[2026-03-18 15:26:13] [INFO] File size: 16650 bytes
[2026-03-18 15:26:14] [INFO] Created FTPFiles record with ID: 69bac41611cb47478
[2026-03-18 15:26:14] [INFO] About to extract fields from XML. File size: 16650 bytes
[2026-03-18 15:26:14] [INFO] Number of mappings: 24
[2026-03-18 15:26:14] [INFO] Starting XML parsing. Content length: 16650
[2026-03-18 15:26:14] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-18 15:26:14] [INFO] Processing 24 field mappings
[2026-03-18 15:26:14] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-18 15:26:14] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-18 15:26:14] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-18 15:26:14] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-18 15:26:14] [INFO]   -> Found value: ,1834 YAPHANK RD
[2026-03-18 15:26:14] [INFO]   -> Set field 'businessName' = ",1834 YAPHANK RD"
[2026-03-18 15:26:14] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-18 15:26:14] [INFO]   -> Found value: 37379
[2026-03-18 15:26:14] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-18 15:26:14] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-18 15:26:14] [INFO]   -> Found value: 1834
[2026-03-18 15:26:14] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1834
[2026-03-18 15:26:14] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-18 15:26:14] [INFO]   -> Found value: YAPHANK
[2026-03-18 15:26:14] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-03-18 15:26:14] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-18 15:26:14] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-03-18 15:26:14] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-03-18 15:26:14] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-18 15:26:14] [INFO]   -> Found value: 2026-03-18T10:54:05.287-04:00
[2026-03-18 15:26:14] [INFO]   -> Set field 'alarm' = "2026-03-18 14:54:05"
[2026-03-18 15:26:14] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-18 15:26:14] [INFO]   -> Found value: 2026-03-18T10:56:47.847-04:00
[2026-03-18 15:26:14] [INFO]   -> Set field 'enroute' = "2026-03-18 14:56:47"
[2026-03-18 15:26:14] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-18 15:26:14] [INFO]   -> Found value: 2026-03-18T11:06:24.083-04:00
[2026-03-18 15:26:14] [INFO]   -> Set field 'onScene' = "2026-03-18 15:06:24"
[2026-03-18 15:26:14] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-18 15:26:14] [INFO]   -> Found value: 2026-03-18T11:17:31.307-04:00
[2026-03-18 15:26:14] [INFO]   -> Set field 'cleared' = "2026-03-18 15:17:31"
[2026-03-18 15:26:14] [INFO]   -> Set field 'inService' = "2026-03-18 15:17:31"
[2026-03-18 15:26:14] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-18 15:26:14] [INFO]   -> Found value: 35.254515
[2026-03-18 15:26:14] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.254514999999997826307662762701511383056640625
[2026-03-18 15:26:14] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-18 15:26:14] [INFO]   -> Found value: -85.119855
[2026-03-18 15:26:14] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.119855000000001155058271251618862152099609375
[2026-03-18 15:26:14] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-18 15:26:14] [INFO]   -> Found value: 2026-03-18T10:55:56.543-04:00
[2026-03-18 15:26:14] [INFO]   -> Set field 'dispatched' = "2026-03-18 14:55:56"
[2026-03-18 15:26:14] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-18 15:26:14] [INFO]   -> Found value: S2DB
[2026-03-18 15:26:14] [INFO]   -> Set field 'cADVehicleID' = "S2DB"
[2026-03-18 15:26:14] [INFO]   -> Set field 'name' = "S2DB"
[2026-03-18 15:26:14] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-18 15:26:14] [INFO]   -> Found value: 2026-03-18T11:17:31.307-04:00
[2026-03-18 15:26:14] [INFO]   -> Set field 'timeunitclear' = "2026-03-18 15:17:31"
[2026-03-18 15:26:14] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-18 15:26:14] [INFO]   -> Found value: 2026-03-18T11:06:24.083-04:00
[2026-03-18 15:26:14] [INFO]   -> Set field 'timeonscene' = "2026-03-18 15:06:24"
[2026-03-18 15:26:14] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-18 15:26:14] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 15:26:14] [INFO]   -> Set field 'timestaging' = null
[2026-03-18 15:26:14] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-18 15:26:14] [INFO]   -> Found value: 2026-03-18T10:56:47.847-04:00
[2026-03-18 15:26:14] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 14:56:47"
[2026-03-18 15:26:14] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-18 15:26:14] [INFO]   -> Found value: 2026-03-18T10:56:47.81-04:00
[2026-03-18 15:26:14] [INFO]   -> Set field 'timedispatch' = "2026-03-18 14:56:47"
[2026-03-18 15:26:14] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-18 15:26:14] [INFO]   -> Found value: RD
[2026-03-18 15:26:14] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 15:26:14] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 15:26:14] [INFO]   -> Found value: 26-000540
[2026-03-18 15:26:14] [INFO]   -> Set field 'incidentInternalId' = "26-000540"
[2026-03-18 15:26:14] [INFO]   -> Set field 'dispatchRunNumber' = "26-000540"
[2026-03-18 15:26:14] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-18 15:26:14] [INFO]   -> Found value: 2026-03-26158
[2026-03-18 15:26:14] [INFO]   -> Set field 'policeReportNumber' = "2026-03-26158"
[2026-03-18 15:26:14] [INFO]   -> Set field 'cADNumber' = "2026-03-26158"
[2026-03-18 15:26:14] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-18 15:26:14] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-18 15:26:14] [INFO] Found 28 elements for 'Comment', concatenating 28 non-empty values
[2026-03-18 15:26:14] [INFO]   -> Found value: 03/18/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]
03/18/2026 ...
[2026-03-18 15:26:14] [INFO]   -> Set field 'dispatchNotes' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 11:06:42 COBART_C                [27] 1316 HAS CMND [Shared]\n03\/18\/2026 11:26:08 DAVIS_R                 [28] [EMS] has closed their incident [2026-03-26156]"
[2026-03-18 15:26:14] [INFO]   -> Set field 'cADLog' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 11:06:42 COBART_C                [27] 1316 HAS CMND [Shared]\n03\/18\/2026 11:26:08 DAVIS_R                 [28] [EMS] has closed their incident [2026-03-26156]"
[2026-03-18 15:26:14] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-18 15:26:14] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-18 15:26:14] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 15:26:14] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-03-18 15:26:14] [INFO]   -> Found value: SFD
DBFD
DBFD
[2026-03-18 15:26:14] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD\nDBFD"
[2026-03-18 15:26:14] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-18 15:26:14] [INFO] Concatenating street name and type
[2026-03-18 15:26:14] [INFO]   -> Combined street name: YAPHANK RD
[2026-03-18 15:26:14] [INFO] Built locationCoordinates from lat/lng: 35.254515,-85.119855
[2026-03-18 15:26:14] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":",1834 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1834,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-03-18 14:54:05","enroute":"2026-03-18 14:56:47","onScene":"2026-03-18 15:06:24","cleared":"2026-03-18 15:17:31","inService":"2026-03-18 15:17:31","nERISIncidentLatitude":35.254514999999997826307662762701511383056640625,"nERISIncidentLongitude":-85.119855000000001155058271251618862152099609375,"dispatched":"2026-03-18 14:55:56","cADVehicleID":"S2DB","name":"S2DB","timeunitclear":"2026-03-18 15:17:31","timeonscene":"2026-03-18 15:06:24","timestaging":null,"timeenroutetoscene":"2026-03-18 14:56:47","timedispatch":"2026-03-18 14:56:47","incidentInternalId":"26-000540","dispatchRunNumber":"26-000540","policeReportNumber":"2026-03-26158","cADNumber":"2026-03-26158","dispatchNotes":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 11:06:42 COBART_C                [27] 1316 HAS CMND [Shared]\n03\/18\/2026 11:26:08 DAVIS_R                 [28] [EMS] has closed their incident [2026-03-26156]","cADLog":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 11:06:42 COBART_C                [27] 1316 HAS CMND [Shared]\n03\/18\/2026 11:26:08 DAVIS_R                 [28] [EMS] has closed their incident [2026-03-26156]","cADAgencyIdentifier":"SFD\nDBFD\nDBFD","locationCoordinates":"35.254515,-85.119855"}
[2026-03-18 15:26:14] [INFO] Number of extracted fields: 29
[2026-03-18 15:26:14] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD
DBFD'
[2026-03-18 15:26:14] [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-03-18 15:26:14] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD","DBFD"]
[2026-03-18 15:26:14] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-18 15:26:14] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-18 15:26:14] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD","DBFD"]
[2026-03-18 15:26:14] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-18 15:26:14] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-18 15:26:14] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 15:26:14] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-18 15:26:14] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-18 15:26:14] [INFO] Found existing IncidentTypeMapping with ID: 69babc9398e3c6bd6
[2026-03-18 15:26:14] [INFO] Found existing Dispatch with cADNumber '2026-03-26158', ID: 69babc93f24f96d9a - will update instead of create
[2026-03-18 15:26:15] [INFO] Updated existing Dispatches record with ID: 69babc93f24f96d9a
[2026-03-18 15:26:15] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-18 15:26:15] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-18 15:26:18] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-26158_20260318112613458.xml
[2026-03-18 15:26:18] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318112613458.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18/INCCOMBINED_2026-03-26158_20260318112613458.xml
[2026-03-18 15:26:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318112613458.xml
[2026-03-18 15:29:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318112920290.xml
[2026-03-18 15:29:20] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318112920290.xml for user: 68920395733981a47
[2026-03-18 15:29:20] [INFO] File size: 16765 bytes
[2026-03-18 15:29:20] [INFO] Created FTPFiles record with ID: 69bac4d0e03feca24
[2026-03-18 15:29:20] [INFO] About to extract fields from XML. File size: 16765 bytes
[2026-03-18 15:29:20] [INFO] Number of mappings: 24
[2026-03-18 15:29:20] [INFO] Starting XML parsing. Content length: 16765
[2026-03-18 15:29:20] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-18 15:29:20] [INFO] Processing 24 field mappings
[2026-03-18 15:29:20] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-18 15:29:20] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-18 15:29:20] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-18 15:29:20] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-18 15:29:20] [INFO]   -> Found value: ,1834 YAPHANK RD
[2026-03-18 15:29:20] [INFO]   -> Set field 'businessName' = ",1834 YAPHANK RD"
[2026-03-18 15:29:20] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-18 15:29:20] [INFO]   -> Found value: 37379
[2026-03-18 15:29:20] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-18 15:29:20] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-18 15:29:20] [INFO]   -> Found value: 1834
[2026-03-18 15:29:20] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1834
[2026-03-18 15:29:20] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-18 15:29:20] [INFO]   -> Found value: YAPHANK
[2026-03-18 15:29:20] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-03-18 15:29:20] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-18 15:29:20] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-03-18 15:29:20] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-03-18 15:29:20] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-18 15:29:20] [INFO]   -> Found value: 2026-03-18T10:54:05.287-04:00
[2026-03-18 15:29:20] [INFO]   -> Set field 'alarm' = "2026-03-18 14:54:05"
[2026-03-18 15:29:20] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-18 15:29:20] [INFO]   -> Found value: 2026-03-18T10:56:47.847-04:00
[2026-03-18 15:29:20] [INFO]   -> Set field 'enroute' = "2026-03-18 14:56:47"
[2026-03-18 15:29:20] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-18 15:29:20] [INFO]   -> Found value: 2026-03-18T11:06:24.083-04:00
[2026-03-18 15:29:20] [INFO]   -> Set field 'onScene' = "2026-03-18 15:06:24"
[2026-03-18 15:29:20] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-18 15:29:20] [INFO]   -> Found value: 2026-03-18T11:17:31.307-04:00
[2026-03-18 15:29:20] [INFO]   -> Set field 'cleared' = "2026-03-18 15:17:31"
[2026-03-18 15:29:20] [INFO]   -> Set field 'inService' = "2026-03-18 15:17:31"
[2026-03-18 15:29:20] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-18 15:29:20] [INFO]   -> Found value: 35.254515
[2026-03-18 15:29:20] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.254514999999997826307662762701511383056640625
[2026-03-18 15:29:20] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-18 15:29:20] [INFO]   -> Found value: -85.119855
[2026-03-18 15:29:20] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.119855000000001155058271251618862152099609375
[2026-03-18 15:29:20] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-18 15:29:20] [INFO]   -> Found value: 2026-03-18T10:55:56.543-04:00
[2026-03-18 15:29:20] [INFO]   -> Set field 'dispatched' = "2026-03-18 14:55:56"
[2026-03-18 15:29:20] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-18 15:29:20] [INFO]   -> Found value: S2DB
[2026-03-18 15:29:20] [INFO]   -> Set field 'cADVehicleID' = "S2DB"
[2026-03-18 15:29:20] [INFO]   -> Set field 'name' = "S2DB"
[2026-03-18 15:29:20] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-18 15:29:20] [INFO]   -> Found value: 2026-03-18T11:17:31.307-04:00
[2026-03-18 15:29:20] [INFO]   -> Set field 'timeunitclear' = "2026-03-18 15:17:31"
[2026-03-18 15:29:20] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-18 15:29:20] [INFO]   -> Found value: 2026-03-18T11:06:24.083-04:00
[2026-03-18 15:29:20] [INFO]   -> Set field 'timeonscene' = "2026-03-18 15:06:24"
[2026-03-18 15:29:20] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-18 15:29:20] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-18 15:29:20] [INFO]   -> Set field 'timestaging' = null
[2026-03-18 15:29:20] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-18 15:29:20] [INFO]   -> Found value: 2026-03-18T10:56:47.847-04:00
[2026-03-18 15:29:20] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 14:56:47"
[2026-03-18 15:29:20] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-18 15:29:20] [INFO]   -> Found value: 2026-03-18T10:56:47.81-04:00
[2026-03-18 15:29:20] [INFO]   -> Set field 'timedispatch' = "2026-03-18 14:56:47"
[2026-03-18 15:29:20] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-18 15:29:20] [INFO]   -> Found value: RD
[2026-03-18 15:29:20] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 15:29:20] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 15:29:20] [INFO]   -> Found value: 26-000540
[2026-03-18 15:29:20] [INFO]   -> Set field 'incidentInternalId' = "26-000540"
[2026-03-18 15:29:20] [INFO]   -> Set field 'dispatchRunNumber' = "26-000540"
[2026-03-18 15:29:20] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-18 15:29:20] [INFO]   -> Found value: 2026-03-26158
[2026-03-18 15:29:20] [INFO]   -> Set field 'policeReportNumber' = "2026-03-26158"
[2026-03-18 15:29:20] [INFO]   -> Set field 'cADNumber' = "2026-03-26158"
[2026-03-18 15:29:20] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-18 15:29:20] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-18 15:29:20] [INFO] Found 29 elements for 'Comment', concatenating 29 non-empty values
[2026-03-18 15:29:20] [INFO]   -> Found value: 03/18/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]
03/18/2026 ...
[2026-03-18 15:29:20] [INFO]   -> Set field 'dispatchNotes' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 11:06:42 COBART_C                [27] 1316 HAS CMND [Shared]\n03\/18\/2026 11:26:08 DAVIS_R                 [28] [EMS] has closed their incident [2026-03-26156]\n03\/18\/2026 11:29:19 WHITE_A                 [29] [Law] has closed their incident [2026-03-26157]"
[2026-03-18 15:29:20] [INFO]   -> Set field 'cADLog' = "03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 11:06:42 COBART_C                [27] 1316 HAS CMND [Shared]\n03\/18\/2026 11:26:08 DAVIS_R                 [28] [EMS] has closed their incident [2026-03-26156]\n03\/18\/2026 11:29:19 WHITE_A                 [29] [Law] has closed their incident [2026-03-26157]"
[2026-03-18 15:29:20] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-18 15:29:20] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-18 15:29:20] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 15:29:20] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-03-18 15:29:20] [INFO]   -> Found value: SFD
DBFD
DBFD
[2026-03-18 15:29:20] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD\nDBFD"
[2026-03-18 15:29:20] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-18 15:29:20] [INFO] Concatenating street name and type
[2026-03-18 15:29:20] [INFO]   -> Combined street name: YAPHANK RD
[2026-03-18 15:29:20] [INFO] Built locationCoordinates from lat/lng: 35.254515,-85.119855
[2026-03-18 15:29:20] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":",1834 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1834,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-03-18 14:54:05","enroute":"2026-03-18 14:56:47","onScene":"2026-03-18 15:06:24","cleared":"2026-03-18 15:17:31","inService":"2026-03-18 15:17:31","nERISIncidentLatitude":35.254514999999997826307662762701511383056640625,"nERISIncidentLongitude":-85.119855000000001155058271251618862152099609375,"dispatched":"2026-03-18 14:55:56","cADVehicleID":"S2DB","name":"S2DB","timeunitclear":"2026-03-18 15:17:31","timeonscene":"2026-03-18 15:06:24","timestaging":null,"timeenroutetoscene":"2026-03-18 14:56:47","timedispatch":"2026-03-18 14:56:47","incidentInternalId":"26-000540","dispatchRunNumber":"26-000540","policeReportNumber":"2026-03-26158","cADNumber":"2026-03-26158","dispatchNotes":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 11:06:42 COBART_C                [27] 1316 HAS CMND [Shared]\n03\/18\/2026 11:26:08 DAVIS_R                 [28] [EMS] has closed their incident [2026-03-26156]\n03\/18\/2026 11:29:19 WHITE_A                 [29] [Law] has closed their incident [2026-03-26157]","cADLog":"03\/18\/2026 10:54:05 cortinas_e              [1] Incident linked to [EMS] [2026-03-26156]\n03\/18\/2026 10:54:05 cortinas_e              [2] Multi-Jurisdiction EMS Incident #: 2026-03-26156\n03\/18\/2026 10:54:05 cortinas_e              [3] Multi-Agency Law Incident #: 2026-03-26157\n03\/18\/2026 10:54:08 cortinas_e              [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 17 [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:10 cortinas_e              [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Male [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:13 cortinas_e              [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:26 cortinas_e              [7] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:29 cortinas_e              [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:30 cortinas_e              [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:40 cortinas_e              [10] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:42 BOUTWELL_J              [11] ADV ON HCSOW [Shared 2, 2026-03-26157 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:49 cortinas_e              [12] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:54:55 cortinas_e              [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: Less than 5 minutes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:10 cortinas_e              [14] fell to the floor [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:12 cortinas_e              [15] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:16 cortinas_e              [16] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [17] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:26 cortinas_e              [18] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:29 COBART_C                [19] ***FG5 [Shared]\n03\/18\/2026 10:55:37 APP01                   [20] Requested Case Number(s) issued for Incident #[2026-03-26156], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010342. requested by M12. [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:55:56 COBART_C                [21] Automatic Case Number(s) issued for Incident #[2026-03-26158], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000540 requested by DBFMED. [Shared]\n03\/18\/2026 10:55:57 cortinas_e              [22] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:56:10 COBART_C                [23] STN2 CLR [Shared]\n03\/18\/2026 10:56:24 cortinas_e              [24] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:33 cortinas_e              [25] drooling now  [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 10:57:47 cortinas_e              [26] seizure seems to be slowing down, patient still breathing heavily [Shared 1, 2026-03-26156 - SEIZE - 1834 YAPHANK RD]\n03\/18\/2026 11:06:42 COBART_C                [27] 1316 HAS CMND [Shared]\n03\/18\/2026 11:26:08 DAVIS_R                 [28] [EMS] has closed their incident [2026-03-26156]\n03\/18\/2026 11:29:19 WHITE_A                 [29] [Law] has closed their incident [2026-03-26157]","cADAgencyIdentifier":"SFD\nDBFD\nDBFD","locationCoordinates":"35.254515,-85.119855"}
[2026-03-18 15:29:20] [INFO] Number of extracted fields: 29
[2026-03-18 15:29:20] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD
DBFD'
[2026-03-18 15:29:20] [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-03-18 15:29:20] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD","DBFD"]
[2026-03-18 15:29:20] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-18 15:29:21] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-18 15:29:21] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD","DBFD"]
[2026-03-18 15:29:21] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-18 15:29:21] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-18 15:29:21] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 15:29:21] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-18 15:29:21] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-18 15:29:21] [INFO] Found existing IncidentTypeMapping with ID: 69babc9398e3c6bd6
[2026-03-18 15:29:21] [INFO] Found existing Dispatch with cADNumber '2026-03-26158', ID: 69babc93f24f96d9a - will update instead of create
[2026-03-18 15:29:21] [INFO] Updated existing Dispatches record with ID: 69babc93f24f96d9a
[2026-03-18 15:29:21] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-18 15:29:22] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-18 15:29:25] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-26158_20260318112920290.xml
[2026-03-18 15:29:25] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318112920290.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-18/INCCOMBINED_2026-03-26158_20260318112920290.xml
[2026-03-18 15:29:25] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-26158_20260318112920290.xml
[2026-03-18 15:40:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017913.xml
[2026-03-18 15:40:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017913.xml for user: 69320e6a9e3e5ef71
[2026-03-18 15:40:32] [INFO] File size: 12115 bytes
[2026-03-18 15:40:32] [INFO] Created FTPFiles record with ID: 69bac770df445b912
[2026-03-18 15:40:32] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 15:40:32] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18
[2026-03-18 15:40:32] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017913.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017913.xml
[2026-03-18 15:40:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017913.xml
[2026-03-18 15:41:18] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017913.xml
[2026-03-18 15:41:18] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017913.xml for user: 69320e6a9e3e5ef71
[2026-03-18 15:41:18] [INFO] File size: 13084 bytes
[2026-03-18 15:41:18] [INFO] Created FTPFiles record with ID: 69bac79e99f61dff5
[2026-03-18 15:41:18] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 15:41:18] [INFO] File already exists in archive, using unique name: cfs_2026-017913_1773848478.xml
[2026-03-18 15:41:18] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017913.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017913_1773848478.xml
[2026-03-18 15:41:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017913.xml
[2026-03-18 17:45:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08175.xml
[2026-03-18 17:45:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08175.xml for user: 68d56363ec1209189
[2026-03-18 17:45:39] [INFO] File size: 2832 bytes
[2026-03-18 17:45:40] [INFO] Created FTPFiles record with ID: 69bae4c3edfc60e04
[2026-03-18 17:45:40] [INFO] About to extract fields from XML. File size: 2832 bytes
[2026-03-18 17:45:40] [INFO] Number of mappings: 21
[2026-03-18 17:45:40] [INFO] Starting XML parsing. Content length: 2832
[2026-03-18 17:45:40] [INFO] XML parsed successfully. Root element: Incident
[2026-03-18 17:45:40] [INFO] Processing 21 field mappings
[2026-03-18 17:45:40] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-18 17:45:40] [INFO]   -> Found value: 26-08175
[2026-03-18 17:45:40] [INFO]   -> Set field 'dispatchRunNumber' = "26-08175"
[2026-03-18 17:45:40] [INFO]   -> Set field 'cADNumber' = "26-08175"
[2026-03-18 17:45:40] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-18 17:45:40] [INFO]   -> Found value: 16
[2026-03-18 17:45:40] [INFO]   -> Set field 'incidentLocationStreetNumber' = 16
[2026-03-18 17:45:40] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-18 17:45:40] [INFO]   -> Found value: ALDEAN LN
[2026-03-18 17:45:40] [INFO]   -> Set field 'streetName' = "ALDEAN LN"
[2026-03-18 17:45:40] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-18 17:45:40] [INFO]   -> No value found (null or empty)
[2026-03-18 17:45:40] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-18 17:45:40] [INFO]   -> Found value: BENTON
[2026-03-18 17:45:40] [INFO]   -> Set field 'incidentLocationCity' = "BENTON"
[2026-03-18 17:45:40] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-18 17:45:40] [INFO]   -> No value found (null or empty)
[2026-03-18 17:45:40] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-18 17:45:40] [INFO]   -> Found value: MO
[2026-03-18 17:45:40] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-03-18 17:45:40] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-18 17:45:40] [INFO]   -> Found value: 63736
[2026-03-18 17:45:40] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63736
[2026-03-18 17:45:40] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-18 17:45:40] [INFO]   -> Found value: 0
[2026-03-18 17:45:40] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-18 17:45:40] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-18 17:45:40] [INFO]   -> Found value: 0
[2026-03-18 17:45:40] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-18 17:45:40] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-18 17:45:40] [INFO]   -> Found value: FIRE-STRUCTURE
[2026-03-18 17:45:40] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-STRUCTURE"
[2026-03-18 17:45:40] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-18 17:45:40] [INFO]   -> Found value: 03-18-2026 11:44:12|RP STATED GRASS FIRE  03-18-2026 11:44:54|STRUCTURES POSSIBLY IN DANGER 03-18-20...
[2026-03-18 17:45:40] [INFO]   -> Set field 'dispatchNotes' = "03-18-2026 11:44:12|RP STATED GRASS FIRE  03-18-2026 11:44:54|STRUCTURES POSSIBLY IN DANGER 03-18-2026 11:46:06|1 STRUCTURE IN DANGER 03-18-2026 11:46:34|OFF OF COUNTY HIGHWAY 346 03-18-2026 11:49:31|x2 03-18-2026 11:55:38|1101 COMMAND 03-18-2026 12:05:33|1771 EN ROUTE X2 03-18-2026 12:31:00|Disposition - Scott County S.O. (MO):  NRN 03-18-2026 12:33:16|COMMAND CONTAINED"
[2026-03-18 17:45:40] [INFO]   -> Set field 'cADLog' = "03-18-2026 11:44:12|RP STATED GRASS FIRE  03-18-2026 11:44:54|STRUCTURES POSSIBLY IN DANGER 03-18-2026 11:46:06|1 STRUCTURE IN DANGER 03-18-2026 11:46:34|OFF OF COUNTY HIGHWAY 346 03-18-2026 11:49:31|x2 03-18-2026 11:55:38|1101 COMMAND 03-18-2026 12:05:33|1771 EN ROUTE X2 03-18-2026 12:31:00|Disposition - Scott County S.O. (MO):  NRN 03-18-2026 12:33:16|COMMAND CONTAINED"
[2026-03-18 17:45:40] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-18 17:45:40] [INFO]   -> Found value: 03-18-2026T11:46:56
[2026-03-18 17:45:40] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T11:46:56
[2026-03-18 17:45:40] [ERROR] Error formatting datetime '2026-18-03T11:46:56': Failed to parse time string (2026-18-03T11:46:56) at position 6 (8): Unexpected character
[2026-03-18 17:45:40] [INFO]   -> Set field 'alarm' = null
[2026-03-18 17:45:40] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T11:46:56
[2026-03-18 17:45:40] [ERROR] Error formatting datetime '2026-18-03T11:46:56': Failed to parse time string (2026-18-03T11:46:56) at position 6 (8): Unexpected character
[2026-03-18 17:45:40] [INFO]   -> Set field 'dispatched' = null
[2026-03-18 17:45:40] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-18 17:45:40] [INFO]   -> Found value: 03-18-2026T11:55:15
[2026-03-18 17:45:40] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T11:55:15
[2026-03-18 17:45:40] [ERROR] Error formatting datetime '2026-18-03T11:55:15': Failed to parse time string (2026-18-03T11:55:15) at position 6 (8): Unexpected character
[2026-03-18 17:45:40] [INFO]   -> Set field 'onScene' = null
[2026-03-18 17:45:40] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-18 17:45:40] [INFO]   -> No value found (null or empty)
[2026-03-18 17:45:40] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-18 17:45:40] [INFO]   -> Found value: 1765
[2026-03-18 17:45:40] [INFO]   -> Set field 'cADVehicleID' = 1765
[2026-03-18 17:45:40] [INFO]   -> Set field 'name' = "1765"
[2026-03-18 17:45:40] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-18 17:45:40] [INFO]   -> Found value: 03-18-2026T11:49:44
[2026-03-18 17:45:40] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T11:49:44
[2026-03-18 17:45:40] [ERROR] Error formatting datetime '2026-18-03T11:49:44': Failed to parse time string (2026-18-03T11:49:44) at position 6 (8): Unexpected character
[2026-03-18 17:45:40] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-03-18 17:45:40] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-18 17:45:40] [INFO]   -> Found value: 03-18-2026T12:03:15
[2026-03-18 17:45:40] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T12:03:15
[2026-03-18 17:45:40] [ERROR] Error formatting datetime '2026-18-03T12:03:15': Failed to parse time string (2026-18-03T12:03:15) at position 6 (8): Unexpected character
[2026-03-18 17:45:40] [INFO]   -> Set field 'timeonscene' = null
[2026-03-18 17:45:40] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-18 17:45:40] [INFO]   -> Found value: 03-18-2026T12:44:50
[2026-03-18 17:45:40] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T12:44:50
[2026-03-18 17:45:40] [ERROR] Error formatting datetime '2026-18-03T12:44:50': Failed to parse time string (2026-18-03T12:44:50) at position 6 (8): Unexpected character
[2026-03-18 17:45:40] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-18 17:45:40] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-18 17:45:40] [INFO]   -> Found value: 03-18-2026T11:49:40
[2026-03-18 17:45:40] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T11:49:40
[2026-03-18 17:45:40] [ERROR] Error formatting datetime '2026-18-03T11:49:40': Failed to parse time string (2026-18-03T11:49:40) at position 6 (8): Unexpected character
[2026-03-18 17:45:40] [INFO]   -> Set field 'timedispatch' = null
[2026-03-18 17:45:40] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-18 17:45:40] [INFO]   -> Found value: SCRFD
[2026-03-18 17:45:40] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-03-18 17:45:40] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-18 17:45:40] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-18 17:45:40] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-08175","cADNumber":"26-08175","incidentLocationStreetNumber":16,"streetName":"ALDEAN LN","incidentLocationCity":"BENTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63736,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-STRUCTURE","dispatchNotes":"03-18-2026 11:44:12|RP STATED GRASS FIRE  03-18-2026 11:44:54|STRUCTURES POSSIBLY IN DANGER 03-18-2026 11:46:06|1 STRUCTURE IN DANGER 03-18-2026 11:46:34|OFF OF COUNTY HIGHWAY 346 03-18-2026 11:49:31|x2 03-18-2026 11:55:38|1101 COMMAND 03-18-2026 12:05:33|1771 EN ROUTE X2 03-18-2026 12:31:00|Disposition - Scott County S.O. (MO):  NRN 03-18-2026 12:33:16|COMMAND CONTAINED","cADLog":"03-18-2026 11:44:12|RP STATED GRASS FIRE  03-18-2026 11:44:54|STRUCTURES POSSIBLY IN DANGER 03-18-2026 11:46:06|1 STRUCTURE IN DANGER 03-18-2026 11:46:34|OFF OF COUNTY HIGHWAY 346 03-18-2026 11:49:31|x2 03-18-2026 11:55:38|1101 COMMAND 03-18-2026 12:05:33|1771 EN ROUTE X2 03-18-2026 12:31:00|Disposition - Scott County S.O. (MO):  NRN 03-18-2026 12:33:16|COMMAND CONTAINED","alarm":null,"dispatched":null,"onScene":null,"cADVehicleID":1765,"name":"1765","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-03-18 17:45:40] [INFO] Number of extracted fields: 23
[2026-03-18 17:45:40] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-03-18 17:45:40] [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-03-18 17:45:40] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-03-18 17:45:40] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-03-18 17:45:40] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-03-18 17:45:40] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-03-18 17:45:40] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-03-18 17:45:40] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-03-18 17:45:40] [INFO] Found existing IncidentTypeMapping with ID: 6949a536db3ccf5b5
[2026-03-18 17:45:40] [INFO] Found existing Dispatch with cADNumber '26-08175', ID: 69bad757e61af6185 - will update instead of create
[2026-03-18 17:45:41] [INFO] Updated existing Dispatches record with ID: 69bad757e61af6185
[2026-03-18 17:45:41] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08175.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-18/SCRFD_26-08175.xml
[2026-03-18 17:45:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08175.xml
[2026-03-18 18:11:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:11:38] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 18:11:38] [INFO] File size: 14387 bytes
[2026-03-18 18:11:38] [INFO] Created FTPFiles record with ID: 69baeada7245695e8
[2026-03-18 18:11:38] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 18:11:38] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951.xml
[2026-03-18 18:11:38] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:11:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:11:51] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 18:11:51] [INFO] File size: 14387 bytes
[2026-03-18 18:11:51] [INFO] Created FTPFiles record with ID: 69baeae75b3d5696d
[2026-03-18 18:11:51] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 18:11:51] [INFO] File already exists in archive, using unique name: cfs_2026-017951_1773857511.xml
[2026-03-18 18:11:51] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951_1773857511.xml
[2026-03-18 18:11:51] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:12:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:12:40] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 18:12:40] [INFO] File size: 18564 bytes
[2026-03-18 18:12:40] [INFO] Created FTPFiles record with ID: 69baeb18dd9540f0f
[2026-03-18 18:12:40] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 18:12:40] [INFO] File already exists in archive, using unique name: cfs_2026-017951_1773857560.xml
[2026-03-18 18:12:40] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951_1773857560.xml
[2026-03-18 18:12:40] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:13:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:13:06] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 18:13:06] [INFO] File size: 23040 bytes
[2026-03-18 18:13:07] [INFO] Created FTPFiles record with ID: 69baeb330a0f724a7
[2026-03-18 18:13:07] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 18:13:07] [INFO] File already exists in archive, using unique name: cfs_2026-017951_1773857587.xml
[2026-03-18 18:13:07] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951_1773857587.xml
[2026-03-18 18:13:07] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:13:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:13:26] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 18:13:26] [INFO] File size: 24661 bytes
[2026-03-18 18:13:26] [INFO] Created FTPFiles record with ID: 69baeb466c4c0b1e9
[2026-03-18 18:13:26] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 18:13:26] [INFO] File already exists in archive, using unique name: cfs_2026-017951_1773857606.xml
[2026-03-18 18:13:26] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951_1773857606.xml
[2026-03-18 18:13:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:13:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:13:51] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 18:13:51] [INFO] File size: 27596 bytes
[2026-03-18 18:13:51] [INFO] Created FTPFiles record with ID: 69baeb5face62e834
[2026-03-18 18:13:51] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 18:13:51] [INFO] File already exists in archive, using unique name: cfs_2026-017951_1773857631.xml
[2026-03-18 18:13:51] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951_1773857631.xml
[2026-03-18 18:13:51] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:14:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:14:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 18:14:12] [INFO] File size: 29212 bytes
[2026-03-18 18:14:13] [INFO] Created FTPFiles record with ID: 69baeb750929fc8d9
[2026-03-18 18:14:13] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 18:14:13] [INFO] File already exists in archive, using unique name: cfs_2026-017951_1773857653.xml
[2026-03-18 18:14:13] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951_1773857653.xml
[2026-03-18 18:14:13] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:15:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:15:54] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 18:15:54] [INFO] File size: 30776 bytes
[2026-03-18 18:15:55] [INFO] Created FTPFiles record with ID: 69baebdb111405102
[2026-03-18 18:15:55] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 18:15:55] [INFO] File already exists in archive, using unique name: cfs_2026-017951_1773857755.xml
[2026-03-18 18:15:55] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951_1773857755.xml
[2026-03-18 18:15:55] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:16:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:16:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 18:16:11] [INFO] File size: 32388 bytes
[2026-03-18 18:16:12] [INFO] Created FTPFiles record with ID: 69baebec0acb53027
[2026-03-18 18:16:12] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 18:16:12] [INFO] File already exists in archive, using unique name: cfs_2026-017951_1773857772.xml
[2026-03-18 18:16:12] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951_1773857772.xml
[2026-03-18 18:16:12] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:16:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:16:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 18:16:30] [INFO] File size: 33997 bytes
[2026-03-18 18:16:30] [INFO] Created FTPFiles record with ID: 69baebfe783c678c6
[2026-03-18 18:16:30] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 18:16:30] [INFO] File already exists in archive, using unique name: cfs_2026-017951_1773857790.xml
[2026-03-18 18:16:30] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951_1773857790.xml
[2026-03-18 18:16:30] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:19:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:19:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 18:19:12] [INFO] File size: 35613 bytes
[2026-03-18 18:19:13] [INFO] Created FTPFiles record with ID: 69baeca11db8d95ac
[2026-03-18 18:19:13] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 18:19:13] [INFO] File already exists in archive, using unique name: cfs_2026-017951_1773857953.xml
[2026-03-18 18:19:13] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951_1773857953.xml
[2026-03-18 18:19:13] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:23:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:23:38] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 18:23:38] [INFO] File size: 36566 bytes
[2026-03-18 18:23:39] [INFO] Created FTPFiles record with ID: 69baedab252299f7e
[2026-03-18 18:23:39] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 18:23:39] [INFO] File already exists in archive, using unique name: cfs_2026-017951_1773858219.xml
[2026-03-18 18:23:39] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951_1773858219.xml
[2026-03-18 18:23:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:25:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:25:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 18:25:21] [INFO] File size: 35323 bytes
[2026-03-18 18:25:21] [INFO] Created FTPFiles record with ID: 69baee11d92c62cd9
[2026-03-18 18:25:21] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 18:25:21] [INFO] File already exists in archive, using unique name: cfs_2026-017951_1773858321.xml
[2026-03-18 18:25:21] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951_1773858321.xml
[2026-03-18 18:25:21] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:26:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:26:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 18:26:39] [INFO] File size: 36279 bytes
[2026-03-18 18:26:39] [INFO] Created FTPFiles record with ID: 69baee5fdecaff25c
[2026-03-18 18:26:39] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 18:26:39] [INFO] File already exists in archive, using unique name: cfs_2026-017951_1773858399.xml
[2026-03-18 18:26:39] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951_1773858399.xml
[2026-03-18 18:26:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:27:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:27:26] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 18:27:26] [INFO] File size: 37522 bytes
[2026-03-18 18:27:26] [INFO] Created FTPFiles record with ID: 69baee8e93ab46227
[2026-03-18 18:27:26] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 18:27:26] [INFO] File already exists in archive, using unique name: cfs_2026-017951_1773858446.xml
[2026-03-18 18:27:26] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951_1773858446.xml
[2026-03-18 18:27:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:27:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:27:26] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 18:27:26] [INFO] File size: 37522 bytes
[2026-03-18 18:27:27] [INFO] Created FTPFiles record with ID: 69baee8f212e4e8bc
[2026-03-18 18:27:27] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 18:27:27] [INFO] File already exists in archive, using unique name: cfs_2026-017951_1773858447.xml
[2026-03-18 18:27:27] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951_1773858447.xml
[2026-03-18 18:27:27] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:34:24] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:34:24] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 18:34:24] [INFO] File size: 39751 bytes
[2026-03-18 18:34:25] [INFO] Created FTPFiles record with ID: 69baf030ee71d338a
[2026-03-18 18:34:25] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 18:34:25] [INFO] File already exists in archive, using unique name: cfs_2026-017951_1773858865.xml
[2026-03-18 18:34:25] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951_1773858865.xml
[2026-03-18 18:34:25] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:34:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:34:43] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 18:34:43] [INFO] File size: 40752 bytes
[2026-03-18 18:34:43] [INFO] Created FTPFiles record with ID: 69baf0439df3c41b0
[2026-03-18 18:34:43] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 18:34:43] [INFO] File already exists in archive, using unique name: cfs_2026-017951_1773858883.xml
[2026-03-18 18:34:43] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951_1773858883.xml
[2026-03-18 18:34:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 18:50:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029438_20260318_185015.XML
[2026-03-18 18:50:15] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029438_20260318_185015.XML for user: 68f1466aed072ad4a
[2026-03-18 18:50:15] [INFO] File size: 4907 bytes
[2026-03-18 18:50:15] [INFO] Created FTPFiles record with ID: 69baf3e7ca39c0817
[2026-03-18 18:50:15] [INFO] About to extract fields from XML. File size: 4907 bytes
[2026-03-18 18:50:15] [INFO] Number of mappings: 28
[2026-03-18 18:50:15] [INFO] Starting XML parsing. Content length: 4907
[2026-03-18 18:50:15] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 18:50:15] [INFO] Processing 28 field mappings
[2026-03-18 18:50:15] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 18:50:15] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 18:50:15] [INFO]   -> Found value: BFD
[2026-03-18 18:50:15] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-18 18:50:15] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 18:50:15] [INFO]   -> Found value: 2026000093
[2026-03-18 18:50:15] [INFO]   -> Set field 'incidentInternalId' = "2026000093"
[2026-03-18 18:50:15] [INFO]   -> Set field 'dispatchRunNumber' = "2026000093"
[2026-03-18 18:50:15] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 18:50:15] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-18 18:50:15] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-18 18:50:15] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 18:50:15] [INFO]   -> Found value: 125
[2026-03-18 18:50:15] [INFO]   -> Set field 'incidentLocationStreetNumber' = 125
[2026-03-18 18:50:15] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 18:50:15] [INFO]   -> Found value: TN
[2026-03-18 18:50:15] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 18:50:15] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 18:50:15] [INFO]   -> Found value: 38544
[2026-03-18 18:50:15] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 18:50:15] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 18:50:15] [INFO]   -> Found value: TACO BELL
[2026-03-18 18:50:15] [INFO]   -> Set field 'businessName' = "TACO BELL"
[2026-03-18 18:50:15] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 18:50:15] [INFO]   -> No value found (null or empty)
[2026-03-18 18:50:15] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 18:50:15] [INFO]   -> Found value: 36.14003
[2026-03-18 18:50:15] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14003000000000298541635856963694095611572265625
[2026-03-18 18:50:15] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 18:50:15] [INFO]   -> Found value: -85.63156
[2026-03-18 18:50:15] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6315599999999932379068923182785511016845703125
[2026-03-18 18:50:15] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 18:50:15] [INFO]   -> Found value: 2026-03-18 13:49:42
[2026-03-18 18:50:15] [INFO]   -> Set field 'alarm' = "2026-03-18 13:49:42"
[2026-03-18 18:50:15] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 18:50:15] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 18:50:15] [INFO]   -> Set field 'dispatched' = "2026-03-18 13:50:12"
[2026-03-18 18:50:15] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 18:50:15] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 18:50:15] [INFO]   -> Set field 'enroute' = "2026-03-18 13:50:12"
[2026-03-18 18:50:15] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 18:50:15] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 18:50:15] [INFO]   -> Set field 'onScene' = "2026-03-18 13:50:12"
[2026-03-18 18:50:15] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 18:50:15] [INFO]   -> No value found (null or empty)
[2026-03-18 18:50:15] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 18:50:15] [INFO]   -> Found value: FIRST AVE S
[2026-03-18 18:50:15] [INFO]   -> Set field 'incidentLocationCross' = "FIRST AVE S"
[2026-03-18 18:50:15] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 18:50:15] [INFO]   -> Found value: B1100
[2026-03-18 18:50:15] [INFO]   -> Set field 'cADVehicleID' = "B1100"
[2026-03-18 18:50:15] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 18:50:15] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 18:50:15] [INFO]   -> Set field 'timedispatch' = "2026-03-18 13:50:12"
[2026-03-18 18:50:15] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 18:50:15] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 18:50:15] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 13:50:12"
[2026-03-18 18:50:15] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 18:50:15] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 18:50:15] [INFO]   -> Set field 'timeonscene' = "2026-03-18 13:50:12"
[2026-03-18 18:50:15] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 18:50:15] [INFO]   -> No value found (null or empty)
[2026-03-18 18:50:15] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 18:50:15] [INFO]   -> No value found (null or empty)
[2026-03-18 18:50:15] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 18:50:15] [INFO]   -> Found value: 20260029438
[2026-03-18 18:50:15] [INFO]   -> Set field 'policeReportNumber' = "20260029438"
[2026-03-18 18:50:15] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 18:50:15] [INFO]   -> No value found (null or empty)
[2026-03-18 18:50:15] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 18:50:15] [INFO]   -> Found value: BAXTER
[2026-03-18 18:50:15] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 18:50:15] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 18:50:15] [INFO]   -> Found value: FAST
[2026-03-18 18:50:15] [INFO]   -> Set field 'streetName' = "FAST"
[2026-03-18 18:50:15] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 18:50:15] [INFO]   -> Found value: LN
[2026-03-18 18:50:15] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-18 18:50:15] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 18:50:15] [INFO]   -> Found value: 125 FAST LN
[2026-03-18 18:50:15] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "125 FAST LN"
[2026-03-18 18:50:15] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-18 18:50:15] [INFO] Concatenating street name and type
[2026-03-18 18:50:15] [INFO]   -> Combined street name: FAST LN
[2026-03-18 18:50:15] [INFO] Built locationCoordinates from lat/lng: 36.14003,-85.63156
[2026-03-18 18:50:15] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000093","dispatchRunNumber":"2026000093","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":125,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"TACO BELL","nERISIncidentLatitude":36.14003000000000298541635856963694095611572265625,"nERISIncidentLongitude":-85.6315599999999932379068923182785511016845703125,"alarm":"2026-03-18 13:49:42","dispatched":"2026-03-18 13:50:12","enroute":"2026-03-18 13:50:12","onScene":"2026-03-18 13:50:12","incidentLocationCross":"FIRST AVE S","cADVehicleID":"B1100","timedispatch":"2026-03-18 13:50:12","timeenroutetoscene":"2026-03-18 13:50:12","timeonscene":"2026-03-18 13:50:12","policeReportNumber":"20260029438","incidentLocationCity":"BAXTER","streetName":"FAST LN","incidentAddressTextVersionStreet":"125 FAST LN","locationCoordinates":"36.14003,-85.63156"}
[2026-03-18 18:50:15] [INFO] Number of extracted fields: 24
[2026-03-18 18:50:15] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-18 18:50:15] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-18 18:50:15] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-18 18:50:15] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-18 18:50:16] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-18 18:50:16] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-18 18:50:16] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-18 18:50:16] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-18 18:50:16] [INFO] Found existing IncidentTypeMapping with ID: 6945b78c6a367ff06
[2026-03-18 18:50:22] [INFO] Created new Dispatches record with ID: 69baf3e90d7b59e2a
[2026-03-18 18:50:22] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029438_20260318_185015.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/BFD_20260029438_20260318_185015.XML
[2026-03-18 18:50:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029438_20260318_185015.XML
[2026-03-18 18:50:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029438_20260318_185015_1.XML
[2026-03-18 18:50:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029438_20260318_185015_1.XML for user: 68f1466aed072ad4a
[2026-03-18 18:50:22] [INFO] File size: 4907 bytes
[2026-03-18 18:50:22] [INFO] Created FTPFiles record with ID: 69baf3eeb59658815
[2026-03-18 18:50:22] [INFO] About to extract fields from XML. File size: 4907 bytes
[2026-03-18 18:50:22] [INFO] Number of mappings: 28
[2026-03-18 18:50:22] [INFO] Starting XML parsing. Content length: 4907
[2026-03-18 18:50:22] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 18:50:22] [INFO] Processing 28 field mappings
[2026-03-18 18:50:22] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 18:50:22] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 18:50:22] [INFO]   -> Found value: BFD
[2026-03-18 18:50:22] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-18 18:50:22] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 18:50:22] [INFO]   -> Found value: 2026000093
[2026-03-18 18:50:22] [INFO]   -> Set field 'incidentInternalId' = "2026000093"
[2026-03-18 18:50:22] [INFO]   -> Set field 'dispatchRunNumber' = "2026000093"
[2026-03-18 18:50:22] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 18:50:22] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-18 18:50:22] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-18 18:50:22] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 18:50:22] [INFO]   -> Found value: 125
[2026-03-18 18:50:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 125
[2026-03-18 18:50:22] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 18:50:22] [INFO]   -> Found value: TN
[2026-03-18 18:50:22] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 18:50:22] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 18:50:22] [INFO]   -> Found value: 38544
[2026-03-18 18:50:22] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 18:50:22] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 18:50:22] [INFO]   -> Found value: TACO BELL
[2026-03-18 18:50:22] [INFO]   -> Set field 'businessName' = "TACO BELL"
[2026-03-18 18:50:22] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 18:50:22] [INFO]   -> No value found (null or empty)
[2026-03-18 18:50:22] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 18:50:22] [INFO]   -> Found value: 36.14003
[2026-03-18 18:50:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14003000000000298541635856963694095611572265625
[2026-03-18 18:50:22] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 18:50:22] [INFO]   -> Found value: -85.63156
[2026-03-18 18:50:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6315599999999932379068923182785511016845703125
[2026-03-18 18:50:22] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 18:50:22] [INFO]   -> Found value: 2026-03-18 13:49:42
[2026-03-18 18:50:22] [INFO]   -> Set field 'alarm' = "2026-03-18 13:49:42"
[2026-03-18 18:50:22] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 18:50:22] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 18:50:22] [INFO]   -> Set field 'dispatched' = "2026-03-18 13:50:12"
[2026-03-18 18:50:22] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 18:50:22] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 18:50:22] [INFO]   -> Set field 'enroute' = "2026-03-18 13:50:12"
[2026-03-18 18:50:22] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 18:50:22] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 18:50:22] [INFO]   -> Set field 'onScene' = "2026-03-18 13:50:12"
[2026-03-18 18:50:22] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 18:50:22] [INFO]   -> No value found (null or empty)
[2026-03-18 18:50:22] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 18:50:22] [INFO]   -> Found value: FIRST AVE S
[2026-03-18 18:50:22] [INFO]   -> Set field 'incidentLocationCross' = "FIRST AVE S"
[2026-03-18 18:50:22] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 18:50:22] [INFO]   -> Found value: B1100
[2026-03-18 18:50:22] [INFO]   -> Set field 'cADVehicleID' = "B1100"
[2026-03-18 18:50:22] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 18:50:22] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 18:50:22] [INFO]   -> Set field 'timedispatch' = "2026-03-18 13:50:12"
[2026-03-18 18:50:22] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 18:50:22] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 18:50:22] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 13:50:12"
[2026-03-18 18:50:22] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 18:50:22] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 18:50:22] [INFO]   -> Set field 'timeonscene' = "2026-03-18 13:50:12"
[2026-03-18 18:50:22] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 18:50:22] [INFO]   -> No value found (null or empty)
[2026-03-18 18:50:22] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 18:50:22] [INFO]   -> No value found (null or empty)
[2026-03-18 18:50:22] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 18:50:22] [INFO]   -> Found value: 20260029438
[2026-03-18 18:50:22] [INFO]   -> Set field 'policeReportNumber' = "20260029438"
[2026-03-18 18:50:22] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 18:50:22] [INFO]   -> No value found (null or empty)
[2026-03-18 18:50:22] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 18:50:22] [INFO]   -> Found value: BAXTER
[2026-03-18 18:50:22] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 18:50:22] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 18:50:22] [INFO]   -> Found value: FAST
[2026-03-18 18:50:22] [INFO]   -> Set field 'streetName' = "FAST"
[2026-03-18 18:50:22] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 18:50:22] [INFO]   -> Found value: LN
[2026-03-18 18:50:22] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-18 18:50:22] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 18:50:22] [INFO]   -> Found value: 125 FAST LN
[2026-03-18 18:50:22] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "125 FAST LN"
[2026-03-18 18:50:22] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-18 18:50:22] [INFO] Concatenating street name and type
[2026-03-18 18:50:22] [INFO]   -> Combined street name: FAST LN
[2026-03-18 18:50:22] [INFO] Built locationCoordinates from lat/lng: 36.14003,-85.63156
[2026-03-18 18:50:22] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000093","dispatchRunNumber":"2026000093","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":125,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"TACO BELL","nERISIncidentLatitude":36.14003000000000298541635856963694095611572265625,"nERISIncidentLongitude":-85.6315599999999932379068923182785511016845703125,"alarm":"2026-03-18 13:49:42","dispatched":"2026-03-18 13:50:12","enroute":"2026-03-18 13:50:12","onScene":"2026-03-18 13:50:12","incidentLocationCross":"FIRST AVE S","cADVehicleID":"B1100","timedispatch":"2026-03-18 13:50:12","timeenroutetoscene":"2026-03-18 13:50:12","timeonscene":"2026-03-18 13:50:12","policeReportNumber":"20260029438","incidentLocationCity":"BAXTER","streetName":"FAST LN","incidentAddressTextVersionStreet":"125 FAST LN","locationCoordinates":"36.14003,-85.63156"}
[2026-03-18 18:50:22] [INFO] Number of extracted fields: 24
[2026-03-18 18:50:22] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-18 18:50:22] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-18 18:50:22] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-18 18:50:22] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-18 18:50:22] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-18 18:50:23] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-18 18:50:23] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-18 18:50:23] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-18 18:50:23] [INFO] Found existing IncidentTypeMapping with ID: 6945b78c6a367ff06
[2026-03-18 18:50:23] [INFO] Found existing Dispatch with cADNumber '2026000093', ID: 69baf3e90d7b59e2a - will update instead of create
[2026-03-18 18:50:23] [INFO] Updated existing Dispatches record with ID: 69baf3e90d7b59e2a
[2026-03-18 18:50:23] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029438_20260318_185015_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/BFD_20260029438_20260318_185015_1.XML
[2026-03-18 18:50:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029438_20260318_185015_1.XML
[2026-03-18 19:15:48] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 19:15:48] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 19:15:48] [INFO] File size: 41722 bytes
[2026-03-18 19:15:49] [INFO] Created FTPFiles record with ID: 69baf9e54e9dda0bc
[2026-03-18 19:15:49] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 19:15:49] [INFO] File already exists in archive, using unique name: cfs_2026-017951_1773861349.xml
[2026-03-18 19:15:49] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951_1773861349.xml
[2026-03-18 19:15:49] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 19:16:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 19:16:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 19:16:57] [INFO] File size: 43311 bytes
[2026-03-18 19:16:58] [INFO] Created FTPFiles record with ID: 69bafa2a067a8d9c1
[2026-03-18 19:16:58] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 19:16:58] [INFO] File already exists in archive, using unique name: cfs_2026-017951_1773861418.xml
[2026-03-18 19:16:58] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951_1773861418.xml
[2026-03-18 19:16:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 19:29:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 19:29:51] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 19:29:51] [INFO] File size: 44273 bytes
[2026-03-18 19:29:51] [INFO] Created FTPFiles record with ID: 69bafd2fdd85c406c
[2026-03-18 19:29:51] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 19:29:51] [INFO] File already exists in archive, using unique name: cfs_2026-017951_1773862191.xml
[2026-03-18 19:29:51] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951_1773862191.xml
[2026-03-18 19:29:51] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 19:30:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 19:30:07] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 19:30:07] [INFO] File size: 45867 bytes
[2026-03-18 19:30:08] [INFO] Created FTPFiles record with ID: 69bafd3feeed6c772
[2026-03-18 19:30:08] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 19:30:08] [INFO] File already exists in archive, using unique name: cfs_2026-017951_1773862208.xml
[2026-03-18 19:30:08] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951_1773862208.xml
[2026-03-18 19:30:08] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 19:30:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 19:30:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 19:30:12] [INFO] File size: 45867 bytes
[2026-03-18 19:30:12] [INFO] Created FTPFiles record with ID: 69bafd449d9ef5f07
[2026-03-18 19:30:12] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 19:30:12] [INFO] File already exists in archive, using unique name: cfs_2026-017951_1773862212.xml
[2026-03-18 19:30:12] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951_1773862212.xml
[2026-03-18 19:30:12] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 19:32:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 19:32:15] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml for user: 69320e6a9e3e5ef71
[2026-03-18 19:32:15] [INFO] File size: 47456 bytes
[2026-03-18 19:32:15] [INFO] Created FTPFiles record with ID: 69bafdbfbb8b46c1e
[2026-03-18 19:32:15] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 19:32:15] [INFO] File already exists in archive, using unique name: cfs_2026-017951_1773862335.xml
[2026-03-18 19:32:15] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017951_1773862335.xml
[2026-03-18 19:32:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017951.xml
[2026-03-18 19:39:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029438_20260318_193921.XML
[2026-03-18 19:39:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029438_20260318_193921.XML for user: 68f1466aed072ad4a
[2026-03-18 19:39:21] [INFO] File size: 5120 bytes
[2026-03-18 19:39:22] [INFO] Created FTPFiles record with ID: 69baff6a1a5ab136c
[2026-03-18 19:39:22] [INFO] About to extract fields from XML. File size: 5120 bytes
[2026-03-18 19:39:22] [INFO] Number of mappings: 28
[2026-03-18 19:39:22] [INFO] Starting XML parsing. Content length: 5120
[2026-03-18 19:39:22] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 19:39:22] [INFO] Processing 28 field mappings
[2026-03-18 19:39:22] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 19:39:22] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 19:39:22] [INFO]   -> Found value: BFD
[2026-03-18 19:39:22] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-18 19:39:22] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 19:39:22] [INFO]   -> Found value: 2026000093
[2026-03-18 19:39:22] [INFO]   -> Set field 'incidentInternalId' = "2026000093"
[2026-03-18 19:39:22] [INFO]   -> Set field 'dispatchRunNumber' = "2026000093"
[2026-03-18 19:39:22] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 19:39:22] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-18 19:39:22] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-18 19:39:22] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 19:39:22] [INFO]   -> Found value: 125
[2026-03-18 19:39:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 125
[2026-03-18 19:39:22] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 19:39:22] [INFO]   -> Found value: TN
[2026-03-18 19:39:22] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 19:39:22] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 19:39:22] [INFO]   -> Found value: 38544
[2026-03-18 19:39:22] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 19:39:22] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 19:39:22] [INFO]   -> Found value: TACO BELL
[2026-03-18 19:39:22] [INFO]   -> Set field 'businessName' = "TACO BELL"
[2026-03-18 19:39:22] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 19:39:22] [INFO]   -> No value found (null or empty)
[2026-03-18 19:39:22] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 19:39:22] [INFO]   -> Found value: 36.14003
[2026-03-18 19:39:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14003000000000298541635856963694095611572265625
[2026-03-18 19:39:22] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 19:39:22] [INFO]   -> Found value: -85.63156
[2026-03-18 19:39:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6315599999999932379068923182785511016845703125
[2026-03-18 19:39:22] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 19:39:22] [INFO]   -> Found value: 2026-03-18 13:49:42
[2026-03-18 19:39:22] [INFO]   -> Set field 'alarm' = "2026-03-18 13:49:42"
[2026-03-18 19:39:22] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 19:39:22] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 19:39:22] [INFO]   -> Set field 'dispatched' = "2026-03-18 13:50:12"
[2026-03-18 19:39:22] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 19:39:22] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 19:39:22] [INFO]   -> Set field 'enroute' = "2026-03-18 13:50:12"
[2026-03-18 19:39:22] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 19:39:22] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 19:39:22] [INFO]   -> Set field 'onScene' = "2026-03-18 13:50:12"
[2026-03-18 19:39:22] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 19:39:22] [INFO]   -> No value found (null or empty)
[2026-03-18 19:39:22] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 19:39:22] [INFO]   -> Found value: FIRST AVE S
[2026-03-18 19:39:22] [INFO]   -> Set field 'incidentLocationCross' = "FIRST AVE S"
[2026-03-18 19:39:22] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 19:39:22] [INFO]   -> Found value: B1100
[2026-03-18 19:39:22] [INFO]   -> Set field 'cADVehicleID' = "B1100"
[2026-03-18 19:39:22] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 19:39:22] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 19:39:22] [INFO]   -> Set field 'timedispatch' = "2026-03-18 13:50:12"
[2026-03-18 19:39:22] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 19:39:22] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 19:39:22] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 13:50:12"
[2026-03-18 19:39:22] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 19:39:22] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 19:39:22] [INFO]   -> Set field 'timeonscene' = "2026-03-18 13:50:12"
[2026-03-18 19:39:22] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 19:39:22] [INFO]   -> Found value: 2026-03-18 14:39:14
[2026-03-18 19:39:22] [INFO]   -> Set field 'timeunitclear' = "2026-03-18 14:39:14"
[2026-03-18 19:39:22] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 19:39:22] [INFO]   -> Found value: 2026-03-18 14:39:14
[2026-03-18 19:39:22] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-18 14:39:14"
[2026-03-18 19:39:22] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 19:39:22] [INFO]   -> Found value: 20260029438
[2026-03-18 19:39:22] [INFO]   -> Set field 'policeReportNumber' = "20260029438"
[2026-03-18 19:39:22] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 19:39:22] [INFO]   -> No value found (null or empty)
[2026-03-18 19:39:22] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 19:39:22] [INFO]   -> Found value: BAXTER
[2026-03-18 19:39:22] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 19:39:22] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 19:39:22] [INFO]   -> Found value: FAST
[2026-03-18 19:39:22] [INFO]   -> Set field 'streetName' = "FAST"
[2026-03-18 19:39:22] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 19:39:22] [INFO]   -> Found value: LN
[2026-03-18 19:39:22] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-18 19:39:22] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 19:39:22] [INFO]   -> Found value: 125 FAST LN
[2026-03-18 19:39:22] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "125 FAST LN"
[2026-03-18 19:39:22] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-18 19:39:22] [INFO] Concatenating street name and type
[2026-03-18 19:39:22] [INFO]   -> Combined street name: FAST LN
[2026-03-18 19:39:22] [INFO] Built locationCoordinates from lat/lng: 36.14003,-85.63156
[2026-03-18 19:39:22] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000093","dispatchRunNumber":"2026000093","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":125,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"TACO BELL","nERISIncidentLatitude":36.14003000000000298541635856963694095611572265625,"nERISIncidentLongitude":-85.6315599999999932379068923182785511016845703125,"alarm":"2026-03-18 13:49:42","dispatched":"2026-03-18 13:50:12","enroute":"2026-03-18 13:50:12","onScene":"2026-03-18 13:50:12","incidentLocationCross":"FIRST AVE S","cADVehicleID":"B1100","timedispatch":"2026-03-18 13:50:12","timeenroutetoscene":"2026-03-18 13:50:12","timeonscene":"2026-03-18 13:50:12","timeunitclear":"2026-03-18 14:39:14","timecanceledenroute":"2026-03-18 14:39:14","policeReportNumber":"20260029438","incidentLocationCity":"BAXTER","streetName":"FAST LN","incidentAddressTextVersionStreet":"125 FAST LN","locationCoordinates":"36.14003,-85.63156"}
[2026-03-18 19:39:22] [INFO] Number of extracted fields: 26
[2026-03-18 19:39:22] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-18 19:39:22] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-18 19:39:22] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-18 19:39:22] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-18 19:39:22] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-18 19:39:22] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-18 19:39:22] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-18 19:39:22] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-18 19:39:22] [INFO] Found existing IncidentTypeMapping with ID: 6945b78c6a367ff06
[2026-03-18 19:39:23] [INFO] Found existing Dispatch with cADNumber '2026000093', ID: 69baf3e90d7b59e2a - will update instead of create
[2026-03-18 19:39:23] [INFO] Updated existing Dispatches record with ID: 69baf3e90d7b59e2a
[2026-03-18 19:39:23] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029438_20260318_193921.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/BFD_20260029438_20260318_193921.XML
[2026-03-18 19:39:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029438_20260318_193921.XML
[2026-03-18 19:39:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029438_20260318_193923.XML
[2026-03-18 19:39:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029438_20260318_193923.XML for user: 68f1466aed072ad4a
[2026-03-18 19:39:23] [INFO] File size: 5120 bytes
[2026-03-18 19:39:24] [INFO] Created FTPFiles record with ID: 69baff6c472c2d0e4
[2026-03-18 19:39:24] [INFO] About to extract fields from XML. File size: 5120 bytes
[2026-03-18 19:39:24] [INFO] Number of mappings: 28
[2026-03-18 19:39:24] [INFO] Starting XML parsing. Content length: 5120
[2026-03-18 19:39:24] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 19:39:24] [INFO] Processing 28 field mappings
[2026-03-18 19:39:24] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 19:39:24] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 19:39:24] [INFO]   -> Found value: BFD
[2026-03-18 19:39:24] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-18 19:39:24] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 19:39:24] [INFO]   -> Found value: 2026000093
[2026-03-18 19:39:24] [INFO]   -> Set field 'incidentInternalId' = "2026000093"
[2026-03-18 19:39:24] [INFO]   -> Set field 'dispatchRunNumber' = "2026000093"
[2026-03-18 19:39:24] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 19:39:24] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-18 19:39:24] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-18 19:39:24] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 19:39:24] [INFO]   -> Found value: 125
[2026-03-18 19:39:24] [INFO]   -> Set field 'incidentLocationStreetNumber' = 125
[2026-03-18 19:39:24] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 19:39:24] [INFO]   -> Found value: TN
[2026-03-18 19:39:24] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 19:39:24] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 19:39:24] [INFO]   -> Found value: 38544
[2026-03-18 19:39:24] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 19:39:24] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 19:39:24] [INFO]   -> Found value: TACO BELL
[2026-03-18 19:39:24] [INFO]   -> Set field 'businessName' = "TACO BELL"
[2026-03-18 19:39:24] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 19:39:24] [INFO]   -> No value found (null or empty)
[2026-03-18 19:39:24] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 19:39:24] [INFO]   -> Found value: 36.14003
[2026-03-18 19:39:24] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14003000000000298541635856963694095611572265625
[2026-03-18 19:39:24] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 19:39:24] [INFO]   -> Found value: -85.63156
[2026-03-18 19:39:24] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6315599999999932379068923182785511016845703125
[2026-03-18 19:39:24] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 19:39:24] [INFO]   -> Found value: 2026-03-18 13:49:42
[2026-03-18 19:39:24] [INFO]   -> Set field 'alarm' = "2026-03-18 13:49:42"
[2026-03-18 19:39:24] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 19:39:24] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 19:39:24] [INFO]   -> Set field 'dispatched' = "2026-03-18 13:50:12"
[2026-03-18 19:39:24] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 19:39:24] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 19:39:24] [INFO]   -> Set field 'enroute' = "2026-03-18 13:50:12"
[2026-03-18 19:39:24] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 19:39:24] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 19:39:24] [INFO]   -> Set field 'onScene' = "2026-03-18 13:50:12"
[2026-03-18 19:39:24] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 19:39:24] [INFO]   -> No value found (null or empty)
[2026-03-18 19:39:24] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 19:39:24] [INFO]   -> Found value: FIRST AVE S
[2026-03-18 19:39:24] [INFO]   -> Set field 'incidentLocationCross' = "FIRST AVE S"
[2026-03-18 19:39:24] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 19:39:24] [INFO]   -> Found value: B1100
[2026-03-18 19:39:24] [INFO]   -> Set field 'cADVehicleID' = "B1100"
[2026-03-18 19:39:24] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 19:39:24] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 19:39:24] [INFO]   -> Set field 'timedispatch' = "2026-03-18 13:50:12"
[2026-03-18 19:39:24] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 19:39:24] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 19:39:24] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 13:50:12"
[2026-03-18 19:39:24] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 19:39:24] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 19:39:24] [INFO]   -> Set field 'timeonscene' = "2026-03-18 13:50:12"
[2026-03-18 19:39:24] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 19:39:24] [INFO]   -> Found value: 2026-03-18 14:39:14
[2026-03-18 19:39:24] [INFO]   -> Set field 'timeunitclear' = "2026-03-18 14:39:14"
[2026-03-18 19:39:24] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 19:39:24] [INFO]   -> Found value: 2026-03-18 14:39:14
[2026-03-18 19:39:24] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-18 14:39:14"
[2026-03-18 19:39:24] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 19:39:24] [INFO]   -> Found value: 20260029438
[2026-03-18 19:39:24] [INFO]   -> Set field 'policeReportNumber' = "20260029438"
[2026-03-18 19:39:24] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 19:39:24] [INFO]   -> No value found (null or empty)
[2026-03-18 19:39:24] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 19:39:24] [INFO]   -> Found value: BAXTER
[2026-03-18 19:39:24] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 19:39:24] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 19:39:24] [INFO]   -> Found value: FAST
[2026-03-18 19:39:24] [INFO]   -> Set field 'streetName' = "FAST"
[2026-03-18 19:39:24] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 19:39:24] [INFO]   -> Found value: LN
[2026-03-18 19:39:24] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-18 19:39:24] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 19:39:24] [INFO]   -> Found value: 125 FAST LN
[2026-03-18 19:39:24] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "125 FAST LN"
[2026-03-18 19:39:24] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-18 19:39:24] [INFO] Concatenating street name and type
[2026-03-18 19:39:24] [INFO]   -> Combined street name: FAST LN
[2026-03-18 19:39:24] [INFO] Built locationCoordinates from lat/lng: 36.14003,-85.63156
[2026-03-18 19:39:24] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000093","dispatchRunNumber":"2026000093","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":125,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"TACO BELL","nERISIncidentLatitude":36.14003000000000298541635856963694095611572265625,"nERISIncidentLongitude":-85.6315599999999932379068923182785511016845703125,"alarm":"2026-03-18 13:49:42","dispatched":"2026-03-18 13:50:12","enroute":"2026-03-18 13:50:12","onScene":"2026-03-18 13:50:12","incidentLocationCross":"FIRST AVE S","cADVehicleID":"B1100","timedispatch":"2026-03-18 13:50:12","timeenroutetoscene":"2026-03-18 13:50:12","timeonscene":"2026-03-18 13:50:12","timeunitclear":"2026-03-18 14:39:14","timecanceledenroute":"2026-03-18 14:39:14","policeReportNumber":"20260029438","incidentLocationCity":"BAXTER","streetName":"FAST LN","incidentAddressTextVersionStreet":"125 FAST LN","locationCoordinates":"36.14003,-85.63156"}
[2026-03-18 19:39:24] [INFO] Number of extracted fields: 26
[2026-03-18 19:39:24] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-18 19:39:24] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-18 19:39:24] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-18 19:39:24] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-18 19:39:24] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-18 19:39:24] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-18 19:39:24] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-18 19:39:24] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-18 19:39:25] [INFO] Found existing IncidentTypeMapping with ID: 6945b78c6a367ff06
[2026-03-18 19:39:25] [INFO] Found existing Dispatch with cADNumber '2026000093', ID: 69baf3e90d7b59e2a - will update instead of create
[2026-03-18 19:39:25] [INFO] Updated existing Dispatches record with ID: 69baf3e90d7b59e2a
[2026-03-18 19:39:25] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029438_20260318_193923.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/BFD_20260029438_20260318_193923.XML
[2026-03-18 19:39:25] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029438_20260318_193923.XML
[2026-03-18 19:39:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029438_20260318_193924.XML
[2026-03-18 19:39:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029438_20260318_193924.XML for user: 68f1466aed072ad4a
[2026-03-18 19:39:25] [INFO] File size: 5120 bytes
[2026-03-18 19:39:25] [INFO] Created FTPFiles record with ID: 69baff6dc1a15b193
[2026-03-18 19:39:25] [INFO] About to extract fields from XML. File size: 5120 bytes
[2026-03-18 19:39:25] [INFO] Number of mappings: 28
[2026-03-18 19:39:25] [INFO] Starting XML parsing. Content length: 5120
[2026-03-18 19:39:25] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 19:39:25] [INFO] Processing 28 field mappings
[2026-03-18 19:39:25] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 19:39:25] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 19:39:25] [INFO]   -> Found value: BFD
[2026-03-18 19:39:25] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-18 19:39:25] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 19:39:25] [INFO]   -> Found value: 2026000093
[2026-03-18 19:39:25] [INFO]   -> Set field 'incidentInternalId' = "2026000093"
[2026-03-18 19:39:25] [INFO]   -> Set field 'dispatchRunNumber' = "2026000093"
[2026-03-18 19:39:25] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 19:39:25] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-18 19:39:25] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-18 19:39:25] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 19:39:25] [INFO]   -> Found value: 125
[2026-03-18 19:39:25] [INFO]   -> Set field 'incidentLocationStreetNumber' = 125
[2026-03-18 19:39:25] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 19:39:25] [INFO]   -> Found value: TN
[2026-03-18 19:39:25] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 19:39:25] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 19:39:25] [INFO]   -> Found value: 38544
[2026-03-18 19:39:25] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 19:39:25] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 19:39:25] [INFO]   -> Found value: TACO BELL
[2026-03-18 19:39:25] [INFO]   -> Set field 'businessName' = "TACO BELL"
[2026-03-18 19:39:25] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 19:39:25] [INFO]   -> No value found (null or empty)
[2026-03-18 19:39:25] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 19:39:25] [INFO]   -> Found value: 36.14003
[2026-03-18 19:39:25] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14003000000000298541635856963694095611572265625
[2026-03-18 19:39:25] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 19:39:25] [INFO]   -> Found value: -85.63156
[2026-03-18 19:39:25] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6315599999999932379068923182785511016845703125
[2026-03-18 19:39:25] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 19:39:25] [INFO]   -> Found value: 2026-03-18 13:49:42
[2026-03-18 19:39:25] [INFO]   -> Set field 'alarm' = "2026-03-18 13:49:42"
[2026-03-18 19:39:25] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 19:39:25] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 19:39:25] [INFO]   -> Set field 'dispatched' = "2026-03-18 13:50:12"
[2026-03-18 19:39:25] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 19:39:25] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 19:39:25] [INFO]   -> Set field 'enroute' = "2026-03-18 13:50:12"
[2026-03-18 19:39:25] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 19:39:25] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 19:39:25] [INFO]   -> Set field 'onScene' = "2026-03-18 13:50:12"
[2026-03-18 19:39:25] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 19:39:25] [INFO]   -> No value found (null or empty)
[2026-03-18 19:39:25] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 19:39:25] [INFO]   -> Found value: FIRST AVE S
[2026-03-18 19:39:25] [INFO]   -> Set field 'incidentLocationCross' = "FIRST AVE S"
[2026-03-18 19:39:25] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 19:39:25] [INFO]   -> Found value: B1100
[2026-03-18 19:39:25] [INFO]   -> Set field 'cADVehicleID' = "B1100"
[2026-03-18 19:39:25] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 19:39:25] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 19:39:25] [INFO]   -> Set field 'timedispatch' = "2026-03-18 13:50:12"
[2026-03-18 19:39:25] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 19:39:25] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 19:39:25] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 13:50:12"
[2026-03-18 19:39:25] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 19:39:25] [INFO]   -> Found value: 2026-03-18 13:50:12
[2026-03-18 19:39:25] [INFO]   -> Set field 'timeonscene' = "2026-03-18 13:50:12"
[2026-03-18 19:39:25] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 19:39:25] [INFO]   -> Found value: 2026-03-18 14:39:14
[2026-03-18 19:39:25] [INFO]   -> Set field 'timeunitclear' = "2026-03-18 14:39:14"
[2026-03-18 19:39:25] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 19:39:25] [INFO]   -> Found value: 2026-03-18 14:39:14
[2026-03-18 19:39:25] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-18 14:39:14"
[2026-03-18 19:39:25] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 19:39:25] [INFO]   -> Found value: 20260029438
[2026-03-18 19:39:25] [INFO]   -> Set field 'policeReportNumber' = "20260029438"
[2026-03-18 19:39:25] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 19:39:25] [INFO]   -> No value found (null or empty)
[2026-03-18 19:39:25] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 19:39:25] [INFO]   -> Found value: BAXTER
[2026-03-18 19:39:25] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 19:39:25] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 19:39:25] [INFO]   -> Found value: FAST
[2026-03-18 19:39:25] [INFO]   -> Set field 'streetName' = "FAST"
[2026-03-18 19:39:25] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 19:39:25] [INFO]   -> Found value: LN
[2026-03-18 19:39:25] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-18 19:39:25] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 19:39:25] [INFO]   -> Found value: 125 FAST LN
[2026-03-18 19:39:25] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "125 FAST LN"
[2026-03-18 19:39:25] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-18 19:39:25] [INFO] Concatenating street name and type
[2026-03-18 19:39:25] [INFO]   -> Combined street name: FAST LN
[2026-03-18 19:39:25] [INFO] Built locationCoordinates from lat/lng: 36.14003,-85.63156
[2026-03-18 19:39:25] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000093","dispatchRunNumber":"2026000093","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":125,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"TACO BELL","nERISIncidentLatitude":36.14003000000000298541635856963694095611572265625,"nERISIncidentLongitude":-85.6315599999999932379068923182785511016845703125,"alarm":"2026-03-18 13:49:42","dispatched":"2026-03-18 13:50:12","enroute":"2026-03-18 13:50:12","onScene":"2026-03-18 13:50:12","incidentLocationCross":"FIRST AVE S","cADVehicleID":"B1100","timedispatch":"2026-03-18 13:50:12","timeenroutetoscene":"2026-03-18 13:50:12","timeonscene":"2026-03-18 13:50:12","timeunitclear":"2026-03-18 14:39:14","timecanceledenroute":"2026-03-18 14:39:14","policeReportNumber":"20260029438","incidentLocationCity":"BAXTER","streetName":"FAST LN","incidentAddressTextVersionStreet":"125 FAST LN","locationCoordinates":"36.14003,-85.63156"}
[2026-03-18 19:39:25] [INFO] Number of extracted fields: 26
[2026-03-18 19:39:25] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-18 19:39:25] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-18 19:39:25] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-18 19:39:25] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-18 19:39:25] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-18 19:39:26] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-18 19:39:26] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-18 19:39:26] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-18 19:39:26] [INFO] Found existing IncidentTypeMapping with ID: 6945b78c6a367ff06
[2026-03-18 19:39:26] [INFO] Found existing Dispatch with cADNumber '2026000093', ID: 69baf3e90d7b59e2a - will update instead of create
[2026-03-18 19:39:26] [INFO] Updated existing Dispatches record with ID: 69baf3e90d7b59e2a
[2026-03-18 19:39:26] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029438_20260318_193924.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/BFD_20260029438_20260318_193924.XML
[2026-03-18 19:39:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029438_20260318_193924.XML
[2026-03-18 19:58:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08184.xml
[2026-03-18 19:58:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08184.xml for user: 68d56363ec1209189
[2026-03-18 19:58:30] [INFO] File size: 2248 bytes
[2026-03-18 19:58:30] [INFO] Created FTPFiles record with ID: 69bb03e69c1b4ebed
[2026-03-18 19:58:30] [INFO] About to extract fields from XML. File size: 2248 bytes
[2026-03-18 19:58:30] [INFO] Number of mappings: 21
[2026-03-18 19:58:30] [INFO] Starting XML parsing. Content length: 2248
[2026-03-18 19:58:30] [INFO] XML parsed successfully. Root element: Incident
[2026-03-18 19:58:30] [INFO] Processing 21 field mappings
[2026-03-18 19:58:30] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-18 19:58:30] [INFO]   -> Found value: 26-08184
[2026-03-18 19:58:30] [INFO]   -> Set field 'dispatchRunNumber' = "26-08184"
[2026-03-18 19:58:30] [INFO]   -> Set field 'cADNumber' = "26-08184"
[2026-03-18 19:58:30] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-18 19:58:30] [INFO]   -> Found value: 209
[2026-03-18 19:58:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 209
[2026-03-18 19:58:30] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-18 19:58:30] [INFO]   -> Found value: W MAPLE ST
[2026-03-18 19:58:30] [INFO]   -> Set field 'streetName' = "W MAPLE ST"
[2026-03-18 19:58:30] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-18 19:58:30] [INFO]   -> No value found (null or empty)
[2026-03-18 19:58:30] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-18 19:58:30] [INFO]   -> No value found (null or empty)
[2026-03-18 19:58:30] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-18 19:58:30] [INFO]   -> No value found (null or empty)
[2026-03-18 19:58:30] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-18 19:58:30] [INFO]   -> No value found (null or empty)
[2026-03-18 19:58:30] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-18 19:58:30] [INFO]   -> No value found (null or empty)
[2026-03-18 19:58:30] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-18 19:58:30] [INFO]   -> Found value: 0
[2026-03-18 19:58:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-18 19:58:30] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-18 19:58:30] [INFO]   -> Found value: 0
[2026-03-18 19:58:30] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-18 19:58:30] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-18 19:58:30] [INFO]   -> Found value: FIRE-MOREHOUSE
[2026-03-18 19:58:30] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-MOREHOUSE"
[2026-03-18 19:58:30] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-18 19:58:30] [INFO]   -> Found value: 03-18-2026 13:58:33|STRUCTURE FIRE FULLY INVOLVED
EVERYONE OUTSIDE OF THE RESIDENCE 03-18-2026 14:03...
[2026-03-18 19:58:30] [INFO]   -> Set field 'dispatchNotes' = "03-18-2026 13:58:33|STRUCTURE FIRE FULLY INVOLVED\nEVERYONE OUTSIDE OF THE RESIDENCE 03-18-2026 14:03:25|TIME OF SECOND PAGE 14:03 03-18-2026 14:04:25|A25 EN ROUTE 03-18-2026 14:22:13|563 REQUESTING AMEREN TO COME OUT 03-18-2026 14:25:38|AMEREN CONTACTED 03-18-2026 14:26:27|COMAND ADVISED FIRE UNDER CONTROL 03-18-2026 14:57:37|COMMAND TERMINATED ALL UNITS IN SERVICE"
[2026-03-18 19:58:30] [INFO]   -> Set field 'cADLog' = "03-18-2026 13:58:33|STRUCTURE FIRE FULLY INVOLVED\nEVERYONE OUTSIDE OF THE RESIDENCE 03-18-2026 14:03:25|TIME OF SECOND PAGE 14:03 03-18-2026 14:04:25|A25 EN ROUTE 03-18-2026 14:22:13|563 REQUESTING AMEREN TO COME OUT 03-18-2026 14:25:38|AMEREN CONTACTED 03-18-2026 14:26:27|COMAND ADVISED FIRE UNDER CONTROL 03-18-2026 14:57:37|COMMAND TERMINATED ALL UNITS IN SERVICE"
[2026-03-18 19:58:30] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-18 19:58:30] [INFO]   -> Found value: 03-18-2026T13:59:22
[2026-03-18 19:58:30] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T13:59:22
[2026-03-18 19:58:30] [ERROR] Error formatting datetime '2026-18-03T13:59:22': Failed to parse time string (2026-18-03T13:59:22) at position 6 (8): Unexpected character
[2026-03-18 19:58:30] [INFO]   -> Set field 'alarm' = null
[2026-03-18 19:58:30] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T13:59:22
[2026-03-18 19:58:30] [ERROR] Error formatting datetime '2026-18-03T13:59:22': Failed to parse time string (2026-18-03T13:59:22) at position 6 (8): Unexpected character
[2026-03-18 19:58:30] [INFO]   -> Set field 'dispatched' = null
[2026-03-18 19:58:30] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-18 19:58:30] [INFO]   -> Found value: 03-18-2026T14:07:32
[2026-03-18 19:58:30] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T14:07:32
[2026-03-18 19:58:30] [ERROR] Error formatting datetime '2026-18-03T14:07:32': Failed to parse time string (2026-18-03T14:07:32) at position 6 (8): Unexpected character
[2026-03-18 19:58:30] [INFO]   -> Set field 'onScene' = null
[2026-03-18 19:58:30] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-18 19:58:30] [INFO]   -> Found value: 03-18-2026T14:57:50
[2026-03-18 19:58:30] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T14:57:50
[2026-03-18 19:58:30] [ERROR] Error formatting datetime '2026-18-03T14:57:50': Failed to parse time string (2026-18-03T14:57:50) at position 6 (8): Unexpected character
[2026-03-18 19:58:30] [INFO]   -> Set field 'cleared' = null
[2026-03-18 19:58:30] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T14:57:50
[2026-03-18 19:58:30] [ERROR] Error formatting datetime '2026-18-03T14:57:50': Failed to parse time string (2026-18-03T14:57:50) at position 6 (8): Unexpected character
[2026-03-18 19:58:30] [INFO]   -> Set field 'inService' = null
[2026-03-18 19:58:30] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-18 19:58:30] [INFO]   -> Found value: ENG3
[2026-03-18 19:58:30] [INFO]   -> Set field 'cADVehicleID' = "ENG3"
[2026-03-18 19:58:30] [INFO]   -> Set field 'name' = "ENG3"
[2026-03-18 19:58:30] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-18 19:58:30] [INFO]   -> Found value: 03-18-2026T14:03:58
[2026-03-18 19:58:30] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T14:03:58
[2026-03-18 19:58:30] [ERROR] Error formatting datetime '2026-18-03T14:03:58': Failed to parse time string (2026-18-03T14:03:58) at position 6 (8): Unexpected character
[2026-03-18 19:58:30] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-03-18 19:58:30] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-18 19:58:30] [INFO]   -> Found value: 03-18-2026T14:10:27
[2026-03-18 19:58:30] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T14:10:27
[2026-03-18 19:58:30] [ERROR] Error formatting datetime '2026-18-03T14:10:27': Failed to parse time string (2026-18-03T14:10:27) at position 6 (8): Unexpected character
[2026-03-18 19:58:30] [INFO]   -> Set field 'timeonscene' = null
[2026-03-18 19:58:30] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-18 19:58:30] [INFO]   -> Found value: 03-18-2026T14:57:50
[2026-03-18 19:58:30] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T14:57:50
[2026-03-18 19:58:30] [ERROR] Error formatting datetime '2026-18-03T14:57:50': Failed to parse time string (2026-18-03T14:57:50) at position 6 (8): Unexpected character
[2026-03-18 19:58:30] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-18 19:58:30] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-18 19:58:30] [INFO]   -> Found value: 03-18-2026T14:03:56
[2026-03-18 19:58:30] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T14:03:56
[2026-03-18 19:58:30] [ERROR] Error formatting datetime '2026-18-03T14:03:56': Failed to parse time string (2026-18-03T14:03:56) at position 6 (8): Unexpected character
[2026-03-18 19:58:30] [INFO]   -> Set field 'timedispatch' = null
[2026-03-18 19:58:30] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-18 19:58:30] [INFO]   -> Found value: SDPSFD
[2026-03-18 19:58:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-18 19:58:30] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-18 19:58:30] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-18 19:58:30] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-08184","cADNumber":"26-08184","incidentLocationStreetNumber":209,"streetName":"W MAPLE ST","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-MOREHOUSE","dispatchNotes":"03-18-2026 13:58:33|STRUCTURE FIRE FULLY INVOLVED\nEVERYONE OUTSIDE OF THE RESIDENCE 03-18-2026 14:03:25|TIME OF SECOND PAGE 14:03 03-18-2026 14:04:25|A25 EN ROUTE 03-18-2026 14:22:13|563 REQUESTING AMEREN TO COME OUT 03-18-2026 14:25:38|AMEREN CONTACTED 03-18-2026 14:26:27|COMAND ADVISED FIRE UNDER CONTROL 03-18-2026 14:57:37|COMMAND TERMINATED ALL UNITS IN SERVICE","cADLog":"03-18-2026 13:58:33|STRUCTURE FIRE FULLY INVOLVED\nEVERYONE OUTSIDE OF THE RESIDENCE 03-18-2026 14:03:25|TIME OF SECOND PAGE 14:03 03-18-2026 14:04:25|A25 EN ROUTE 03-18-2026 14:22:13|563 REQUESTING AMEREN TO COME OUT 03-18-2026 14:25:38|AMEREN CONTACTED 03-18-2026 14:26:27|COMAND ADVISED FIRE UNDER CONTROL 03-18-2026 14:57:37|COMMAND TERMINATED ALL UNITS IN SERVICE","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ENG3","name":"ENG3","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-03-18 19:58:30] [INFO] Number of extracted fields: 22
[2026-03-18 19:58:30] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-18 19:58:30] [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-03-18 19:58:30] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-18 19:58:30] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-18 19:58:30] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-18 19:58:30] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-18 19:58:30] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-18 19:58:30] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-18 19:58:31] [INFO] Found existing IncidentTypeMapping with ID: 68ebc0ebe2a79ece6
[2026-03-18 19:58:33] [INFO] Created new Dispatches record with ID: 69bb03e781966ece2
[2026-03-18 19:58:33] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08184.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-18/SDPSFD_26-08184.xml
[2026-03-18 19:58:33] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08184.xml
[2026-03-18 20:17:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029480_20260318_201711.XML
[2026-03-18 20:17:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029480_20260318_201711.XML for user: 68f1466aed072ad4a
[2026-03-18 20:17:11] [INFO] File size: 4941 bytes
[2026-03-18 20:17:12] [INFO] Created FTPFiles record with ID: 69bb0848301b96634
[2026-03-18 20:17:12] [INFO] About to extract fields from XML. File size: 4941 bytes
[2026-03-18 20:17:12] [INFO] Number of mappings: 28
[2026-03-18 20:17:12] [INFO] Starting XML parsing. Content length: 4941
[2026-03-18 20:17:12] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 20:17:12] [INFO] Processing 28 field mappings
[2026-03-18 20:17:12] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 20:17:12] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 20:17:12] [INFO]   -> Found value: BFD
[2026-03-18 20:17:12] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-18 20:17:12] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 20:17:12] [INFO]   -> Found value: 2026000094
[2026-03-18 20:17:12] [INFO]   -> Set field 'incidentInternalId' = "2026000094"
[2026-03-18 20:17:12] [INFO]   -> Set field 'dispatchRunNumber' = "2026000094"
[2026-03-18 20:17:12] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 20:17:12] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-18 20:17:12] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-18 20:17:12] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 20:17:12] [INFO]   -> Found value: 8701
[2026-03-18 20:17:12] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8701
[2026-03-18 20:17:12] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 20:17:12] [INFO]   -> Found value: TN
[2026-03-18 20:17:12] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 20:17:12] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 20:17:12] [INFO]   -> Found value: 38544
[2026-03-18 20:17:12] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 20:17:12] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 20:17:12] [INFO]   -> Found value: PORTOBELLO AMERICA
[2026-03-18 20:17:12] [INFO]   -> Set field 'businessName' = "PORTOBELLO AMERICA"
[2026-03-18 20:17:12] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 20:17:12] [INFO]   -> No value found (null or empty)
[2026-03-18 20:17:12] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 20:17:12] [INFO]   -> Found value: 36.13707
[2026-03-18 20:17:12] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.13707000000000135742084239609539508819580078125
[2026-03-18 20:17:12] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 20:17:12] [INFO]   -> Found value: -85.61683
[2026-03-18 20:17:12] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.61682999999999310603016056120395660400390625
[2026-03-18 20:17:12] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 20:17:12] [INFO]   -> Found value: 2026-03-18 15:14:49
[2026-03-18 20:17:12] [INFO]   -> Set field 'alarm' = "2026-03-18 15:14:49"
[2026-03-18 20:17:12] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 20:17:12] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:17:12] [INFO]   -> Set field 'dispatched' = "2026-03-18 15:17:03"
[2026-03-18 20:17:12] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 20:17:12] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:17:12] [INFO]   -> Set field 'enroute' = "2026-03-18 15:17:03"
[2026-03-18 20:17:12] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 20:17:12] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:17:12] [INFO]   -> Set field 'onScene' = "2026-03-18 15:17:03"
[2026-03-18 20:17:12] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 20:17:12] [INFO]   -> No value found (null or empty)
[2026-03-18 20:17:12] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 20:17:12] [INFO]   -> Found value: ACADEMY RD/BAXTER RD
[2026-03-18 20:17:12] [INFO]   -> Set field 'incidentLocationCross' = "ACADEMY RD\/BAXTER RD"
[2026-03-18 20:17:12] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 20:17:12] [INFO]   -> Found value: B1100
[2026-03-18 20:17:12] [INFO]   -> Set field 'cADVehicleID' = "B1100"
[2026-03-18 20:17:12] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 20:17:12] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:17:12] [INFO]   -> Set field 'timedispatch' = "2026-03-18 15:17:03"
[2026-03-18 20:17:12] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 20:17:12] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:17:12] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 15:17:03"
[2026-03-18 20:17:12] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 20:17:12] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:17:12] [INFO]   -> Set field 'timeonscene' = "2026-03-18 15:17:03"
[2026-03-18 20:17:12] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 20:17:12] [INFO]   -> No value found (null or empty)
[2026-03-18 20:17:12] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 20:17:12] [INFO]   -> No value found (null or empty)
[2026-03-18 20:17:12] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 20:17:12] [INFO]   -> Found value: 20260029480
[2026-03-18 20:17:12] [INFO]   -> Set field 'policeReportNumber' = "20260029480"
[2026-03-18 20:17:12] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 20:17:12] [INFO]   -> No value found (null or empty)
[2026-03-18 20:17:12] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 20:17:12] [INFO]   -> Found value: BAXTER
[2026-03-18 20:17:12] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 20:17:12] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 20:17:12] [INFO]   -> Found value: DITTY
[2026-03-18 20:17:12] [INFO]   -> Set field 'streetName' = "DITTY"
[2026-03-18 20:17:12] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 20:17:12] [INFO]   -> Found value: RD
[2026-03-18 20:17:12] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 20:17:12] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 20:17:12] [INFO]   -> Found value: 8701 DITTY RD
[2026-03-18 20:17:12] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8701 DITTY RD"
[2026-03-18 20:17:12] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-18 20:17:12] [INFO] Concatenating street name and type
[2026-03-18 20:17:12] [INFO]   -> Combined street name: DITTY RD
[2026-03-18 20:17:12] [INFO] Built locationCoordinates from lat/lng: 36.13707,-85.61683
[2026-03-18 20:17:12] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000094","dispatchRunNumber":"2026000094","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":8701,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"PORTOBELLO AMERICA","nERISIncidentLatitude":36.13707000000000135742084239609539508819580078125,"nERISIncidentLongitude":-85.61682999999999310603016056120395660400390625,"alarm":"2026-03-18 15:14:49","dispatched":"2026-03-18 15:17:03","enroute":"2026-03-18 15:17:03","onScene":"2026-03-18 15:17:03","incidentLocationCross":"ACADEMY RD\/BAXTER RD","cADVehicleID":"B1100","timedispatch":"2026-03-18 15:17:03","timeenroutetoscene":"2026-03-18 15:17:03","timeonscene":"2026-03-18 15:17:03","policeReportNumber":"20260029480","incidentLocationCity":"BAXTER","streetName":"DITTY RD","incidentAddressTextVersionStreet":"8701 DITTY RD","locationCoordinates":"36.13707,-85.61683"}
[2026-03-18 20:17:12] [INFO] Number of extracted fields: 24
[2026-03-18 20:17:12] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-18 20:17:12] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-18 20:17:12] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-18 20:17:12] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-18 20:17:12] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-18 20:17:12] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-18 20:17:12] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-18 20:17:12] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-18 20:17:12] [INFO] Found existing IncidentTypeMapping with ID: 6945b78c6a367ff06
[2026-03-18 20:17:18] [INFO] Created new Dispatches record with ID: 69bb0849449c8fb1f
[2026-03-18 20:17:18] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029480_20260318_201711.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/BFD_20260029480_20260318_201711.XML
[2026-03-18 20:17:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029480_20260318_201711.XML
[2026-03-18 20:25:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029480_20260318_202534.XML
[2026-03-18 20:25:34] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029480_20260318_202534.XML for user: 68f1466aed072ad4a
[2026-03-18 20:25:34] [INFO] File size: 4883 bytes
[2026-03-18 20:25:35] [INFO] Created FTPFiles record with ID: 69bb0a3f511f67127
[2026-03-18 20:25:35] [INFO] About to extract fields from XML. File size: 4883 bytes
[2026-03-18 20:25:35] [INFO] Number of mappings: 28
[2026-03-18 20:25:35] [INFO] Starting XML parsing. Content length: 4883
[2026-03-18 20:25:35] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 20:25:35] [INFO] Processing 28 field mappings
[2026-03-18 20:25:35] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 20:25:35] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 20:25:35] [INFO]   -> Found value: BFD
[2026-03-18 20:25:35] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-18 20:25:35] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 20:25:35] [INFO]   -> Found value: 2026000094
[2026-03-18 20:25:35] [INFO]   -> Set field 'incidentInternalId' = "2026000094"
[2026-03-18 20:25:35] [INFO]   -> Set field 'dispatchRunNumber' = "2026000094"
[2026-03-18 20:25:35] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 20:25:35] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-18 20:25:35] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-18 20:25:35] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 20:25:35] [INFO]   -> Found value: 9256
[2026-03-18 20:25:35] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9256
[2026-03-18 20:25:35] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 20:25:35] [INFO]   -> Found value: TN
[2026-03-18 20:25:35] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 20:25:35] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 20:25:35] [INFO]   -> Found value: 38544
[2026-03-18 20:25:35] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 20:25:35] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 20:25:35] [INFO]   -> No value found (null or empty)
[2026-03-18 20:25:35] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 20:25:35] [INFO]   -> No value found (null or empty)
[2026-03-18 20:25:35] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 20:25:35] [INFO]   -> Found value: 36.13656
[2026-03-18 20:25:35] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.136560000000002901288098655641078948974609375
[2026-03-18 20:25:35] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 20:25:35] [INFO]   -> Found value: -85.62688
[2026-03-18 20:25:35] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.626879999999999881765688769519329071044921875
[2026-03-18 20:25:35] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 20:25:35] [INFO]   -> Found value: 2026-03-18 15:14:49
[2026-03-18 20:25:35] [INFO]   -> Set field 'alarm' = "2026-03-18 15:14:49"
[2026-03-18 20:25:35] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 20:25:35] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:35] [INFO]   -> Set field 'dispatched' = "2026-03-18 15:17:03"
[2026-03-18 20:25:35] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 20:25:35] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:35] [INFO]   -> Set field 'enroute' = "2026-03-18 15:17:03"
[2026-03-18 20:25:35] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 20:25:35] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:35] [INFO]   -> Set field 'onScene' = "2026-03-18 15:17:03"
[2026-03-18 20:25:35] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 20:25:35] [INFO]   -> No value found (null or empty)
[2026-03-18 20:25:35] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 20:25:35] [INFO]   -> Found value: ACADEMY RD/BAXTER RD
[2026-03-18 20:25:35] [INFO]   -> Set field 'incidentLocationCross' = "ACADEMY RD\/BAXTER RD"
[2026-03-18 20:25:35] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 20:25:35] [INFO]   -> Found value: B1100
[2026-03-18 20:25:35] [INFO]   -> Set field 'cADVehicleID' = "B1100"
[2026-03-18 20:25:35] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 20:25:35] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:35] [INFO]   -> Set field 'timedispatch' = "2026-03-18 15:17:03"
[2026-03-18 20:25:35] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 20:25:35] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:35] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 15:17:03"
[2026-03-18 20:25:35] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 20:25:35] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:35] [INFO]   -> Set field 'timeonscene' = "2026-03-18 15:17:03"
[2026-03-18 20:25:35] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 20:25:35] [INFO]   -> No value found (null or empty)
[2026-03-18 20:25:35] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 20:25:35] [INFO]   -> No value found (null or empty)
[2026-03-18 20:25:35] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 20:25:35] [INFO]   -> Found value: 20260029480
[2026-03-18 20:25:35] [INFO]   -> Set field 'policeReportNumber' = "20260029480"
[2026-03-18 20:25:35] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 20:25:35] [INFO]   -> No value found (null or empty)
[2026-03-18 20:25:35] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 20:25:35] [INFO]   -> Found value: BAXTER
[2026-03-18 20:25:35] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 20:25:35] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 20:25:35] [INFO]   -> Found value: DITTY
[2026-03-18 20:25:35] [INFO]   -> Set field 'streetName' = "DITTY"
[2026-03-18 20:25:35] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 20:25:35] [INFO]   -> Found value: RD
[2026-03-18 20:25:35] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 20:25:35] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 20:25:35] [INFO]   -> Found value: 9256 DITTY RD
[2026-03-18 20:25:35] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "9256 DITTY RD"
[2026-03-18 20:25:35] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 20:25:35] [INFO] Concatenating street name and type
[2026-03-18 20:25:35] [INFO]   -> Combined street name: DITTY RD
[2026-03-18 20:25:35] [INFO] Built locationCoordinates from lat/lng: 36.13656,-85.62688
[2026-03-18 20:25:35] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000094","dispatchRunNumber":"2026000094","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":9256,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.136560000000002901288098655641078948974609375,"nERISIncidentLongitude":-85.626879999999999881765688769519329071044921875,"alarm":"2026-03-18 15:14:49","dispatched":"2026-03-18 15:17:03","enroute":"2026-03-18 15:17:03","onScene":"2026-03-18 15:17:03","incidentLocationCross":"ACADEMY RD\/BAXTER RD","cADVehicleID":"B1100","timedispatch":"2026-03-18 15:17:03","timeenroutetoscene":"2026-03-18 15:17:03","timeonscene":"2026-03-18 15:17:03","policeReportNumber":"20260029480","incidentLocationCity":"BAXTER","streetName":"DITTY RD","incidentAddressTextVersionStreet":"9256 DITTY RD","locationCoordinates":"36.13656,-85.62688"}
[2026-03-18 20:25:35] [INFO] Number of extracted fields: 23
[2026-03-18 20:25:35] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-18 20:25:35] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-18 20:25:35] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-18 20:25:35] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-18 20:25:35] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-18 20:25:35] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-18 20:25:35] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-18 20:25:35] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-18 20:25:36] [INFO] Found existing IncidentTypeMapping with ID: 6945b78c6a367ff06
[2026-03-18 20:25:36] [INFO] Found existing Dispatch with cADNumber '2026000094', ID: 69bb0849449c8fb1f - will update instead of create
[2026-03-18 20:25:36] [INFO] Updated existing Dispatches record with ID: 69bb0849449c8fb1f
[2026-03-18 20:25:36] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029480_20260318_202534.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/BFD_20260029480_20260318_202534.XML
[2026-03-18 20:25:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029480_20260318_202534.XML
[2026-03-18 20:25:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029480_20260318_202536.XML
[2026-03-18 20:25:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029480_20260318_202536.XML for user: 68f1466aed072ad4a
[2026-03-18 20:25:36] [INFO] File size: 4883 bytes
[2026-03-18 20:25:36] [INFO] Created FTPFiles record with ID: 69bb0a40c8a0363b2
[2026-03-18 20:25:36] [INFO] About to extract fields from XML. File size: 4883 bytes
[2026-03-18 20:25:36] [INFO] Number of mappings: 28
[2026-03-18 20:25:36] [INFO] Starting XML parsing. Content length: 4883
[2026-03-18 20:25:36] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 20:25:36] [INFO] Processing 28 field mappings
[2026-03-18 20:25:36] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 20:25:36] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 20:25:36] [INFO]   -> Found value: BFD
[2026-03-18 20:25:36] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-18 20:25:36] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 20:25:36] [INFO]   -> Found value: 2026000094
[2026-03-18 20:25:36] [INFO]   -> Set field 'incidentInternalId' = "2026000094"
[2026-03-18 20:25:36] [INFO]   -> Set field 'dispatchRunNumber' = "2026000094"
[2026-03-18 20:25:36] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 20:25:36] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-18 20:25:36] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-18 20:25:36] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 20:25:36] [INFO]   -> Found value: 9256
[2026-03-18 20:25:36] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9256
[2026-03-18 20:25:36] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 20:25:36] [INFO]   -> Found value: TN
[2026-03-18 20:25:36] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 20:25:36] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 20:25:36] [INFO]   -> Found value: 38544
[2026-03-18 20:25:36] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 20:25:36] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 20:25:36] [INFO]   -> No value found (null or empty)
[2026-03-18 20:25:36] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 20:25:36] [INFO]   -> No value found (null or empty)
[2026-03-18 20:25:36] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 20:25:36] [INFO]   -> Found value: 36.13656
[2026-03-18 20:25:36] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.136560000000002901288098655641078948974609375
[2026-03-18 20:25:36] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 20:25:36] [INFO]   -> Found value: -85.62688
[2026-03-18 20:25:36] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.626879999999999881765688769519329071044921875
[2026-03-18 20:25:36] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 20:25:36] [INFO]   -> Found value: 2026-03-18 15:14:49
[2026-03-18 20:25:36] [INFO]   -> Set field 'alarm' = "2026-03-18 15:14:49"
[2026-03-18 20:25:36] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 20:25:36] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:36] [INFO]   -> Set field 'dispatched' = "2026-03-18 15:17:03"
[2026-03-18 20:25:36] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 20:25:36] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:36] [INFO]   -> Set field 'enroute' = "2026-03-18 15:17:03"
[2026-03-18 20:25:36] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 20:25:36] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:36] [INFO]   -> Set field 'onScene' = "2026-03-18 15:17:03"
[2026-03-18 20:25:36] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 20:25:36] [INFO]   -> No value found (null or empty)
[2026-03-18 20:25:36] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 20:25:36] [INFO]   -> Found value: ACADEMY RD/BAXTER RD
[2026-03-18 20:25:36] [INFO]   -> Set field 'incidentLocationCross' = "ACADEMY RD\/BAXTER RD"
[2026-03-18 20:25:36] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 20:25:36] [INFO]   -> Found value: B1100
[2026-03-18 20:25:36] [INFO]   -> Set field 'cADVehicleID' = "B1100"
[2026-03-18 20:25:36] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 20:25:36] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:36] [INFO]   -> Set field 'timedispatch' = "2026-03-18 15:17:03"
[2026-03-18 20:25:36] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 20:25:36] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:36] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 15:17:03"
[2026-03-18 20:25:36] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 20:25:36] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:36] [INFO]   -> Set field 'timeonscene' = "2026-03-18 15:17:03"
[2026-03-18 20:25:36] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 20:25:36] [INFO]   -> No value found (null or empty)
[2026-03-18 20:25:36] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 20:25:36] [INFO]   -> No value found (null or empty)
[2026-03-18 20:25:36] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 20:25:36] [INFO]   -> Found value: 20260029480
[2026-03-18 20:25:36] [INFO]   -> Set field 'policeReportNumber' = "20260029480"
[2026-03-18 20:25:36] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 20:25:36] [INFO]   -> No value found (null or empty)
[2026-03-18 20:25:36] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 20:25:36] [INFO]   -> Found value: BAXTER
[2026-03-18 20:25:36] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 20:25:36] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 20:25:36] [INFO]   -> Found value: DITTY
[2026-03-18 20:25:36] [INFO]   -> Set field 'streetName' = "DITTY"
[2026-03-18 20:25:36] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 20:25:36] [INFO]   -> Found value: RD
[2026-03-18 20:25:36] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 20:25:36] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 20:25:36] [INFO]   -> Found value: 9256 DITTY RD
[2026-03-18 20:25:36] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "9256 DITTY RD"
[2026-03-18 20:25:36] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 20:25:36] [INFO] Concatenating street name and type
[2026-03-18 20:25:36] [INFO]   -> Combined street name: DITTY RD
[2026-03-18 20:25:36] [INFO] Built locationCoordinates from lat/lng: 36.13656,-85.62688
[2026-03-18 20:25:36] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000094","dispatchRunNumber":"2026000094","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":9256,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.136560000000002901288098655641078948974609375,"nERISIncidentLongitude":-85.626879999999999881765688769519329071044921875,"alarm":"2026-03-18 15:14:49","dispatched":"2026-03-18 15:17:03","enroute":"2026-03-18 15:17:03","onScene":"2026-03-18 15:17:03","incidentLocationCross":"ACADEMY RD\/BAXTER RD","cADVehicleID":"B1100","timedispatch":"2026-03-18 15:17:03","timeenroutetoscene":"2026-03-18 15:17:03","timeonscene":"2026-03-18 15:17:03","policeReportNumber":"20260029480","incidentLocationCity":"BAXTER","streetName":"DITTY RD","incidentAddressTextVersionStreet":"9256 DITTY RD","locationCoordinates":"36.13656,-85.62688"}
[2026-03-18 20:25:36] [INFO] Number of extracted fields: 23
[2026-03-18 20:25:36] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-18 20:25:36] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-18 20:25:36] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-18 20:25:36] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-18 20:25:37] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-18 20:25:37] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-18 20:25:37] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-18 20:25:37] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-18 20:25:37] [INFO] Found existing IncidentTypeMapping with ID: 6945b78c6a367ff06
[2026-03-18 20:25:37] [INFO] Found existing Dispatch with cADNumber '2026000094', ID: 69bb0849449c8fb1f - will update instead of create
[2026-03-18 20:25:37] [INFO] Updated existing Dispatches record with ID: 69bb0849449c8fb1f
[2026-03-18 20:25:37] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029480_20260318_202536.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/BFD_20260029480_20260318_202536.XML
[2026-03-18 20:25:37] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029480_20260318_202536.XML
[2026-03-18 20:25:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029480_20260318_202536_1.XML
[2026-03-18 20:25:37] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029480_20260318_202536_1.XML for user: 68f1466aed072ad4a
[2026-03-18 20:25:37] [INFO] File size: 4883 bytes
[2026-03-18 20:25:38] [INFO] Created FTPFiles record with ID: 69bb0a4248b4e6846
[2026-03-18 20:25:38] [INFO] About to extract fields from XML. File size: 4883 bytes
[2026-03-18 20:25:38] [INFO] Number of mappings: 28
[2026-03-18 20:25:38] [INFO] Starting XML parsing. Content length: 4883
[2026-03-18 20:25:38] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 20:25:38] [INFO] Processing 28 field mappings
[2026-03-18 20:25:38] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 20:25:38] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 20:25:38] [INFO]   -> Found value: BFD
[2026-03-18 20:25:38] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-18 20:25:38] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 20:25:38] [INFO]   -> Found value: 2026000094
[2026-03-18 20:25:38] [INFO]   -> Set field 'incidentInternalId' = "2026000094"
[2026-03-18 20:25:38] [INFO]   -> Set field 'dispatchRunNumber' = "2026000094"
[2026-03-18 20:25:38] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 20:25:38] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-18 20:25:38] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-18 20:25:38] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 20:25:38] [INFO]   -> Found value: 9256
[2026-03-18 20:25:38] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9256
[2026-03-18 20:25:38] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 20:25:38] [INFO]   -> Found value: TN
[2026-03-18 20:25:38] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 20:25:38] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 20:25:38] [INFO]   -> Found value: 38544
[2026-03-18 20:25:38] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 20:25:38] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 20:25:38] [INFO]   -> No value found (null or empty)
[2026-03-18 20:25:38] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 20:25:38] [INFO]   -> No value found (null or empty)
[2026-03-18 20:25:38] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 20:25:38] [INFO]   -> Found value: 36.13656
[2026-03-18 20:25:38] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.136560000000002901288098655641078948974609375
[2026-03-18 20:25:38] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 20:25:38] [INFO]   -> Found value: -85.62688
[2026-03-18 20:25:38] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.626879999999999881765688769519329071044921875
[2026-03-18 20:25:38] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 20:25:38] [INFO]   -> Found value: 2026-03-18 15:14:49
[2026-03-18 20:25:38] [INFO]   -> Set field 'alarm' = "2026-03-18 15:14:49"
[2026-03-18 20:25:38] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 20:25:38] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:38] [INFO]   -> Set field 'dispatched' = "2026-03-18 15:17:03"
[2026-03-18 20:25:38] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 20:25:38] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:38] [INFO]   -> Set field 'enroute' = "2026-03-18 15:17:03"
[2026-03-18 20:25:38] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 20:25:38] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:38] [INFO]   -> Set field 'onScene' = "2026-03-18 15:17:03"
[2026-03-18 20:25:38] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 20:25:38] [INFO]   -> No value found (null or empty)
[2026-03-18 20:25:38] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 20:25:38] [INFO]   -> Found value: ACADEMY RD/BAXTER RD
[2026-03-18 20:25:38] [INFO]   -> Set field 'incidentLocationCross' = "ACADEMY RD\/BAXTER RD"
[2026-03-18 20:25:38] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 20:25:38] [INFO]   -> Found value: B1100
[2026-03-18 20:25:38] [INFO]   -> Set field 'cADVehicleID' = "B1100"
[2026-03-18 20:25:38] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 20:25:38] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:38] [INFO]   -> Set field 'timedispatch' = "2026-03-18 15:17:03"
[2026-03-18 20:25:38] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 20:25:38] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:38] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 15:17:03"
[2026-03-18 20:25:38] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 20:25:38] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:38] [INFO]   -> Set field 'timeonscene' = "2026-03-18 15:17:03"
[2026-03-18 20:25:38] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 20:25:38] [INFO]   -> No value found (null or empty)
[2026-03-18 20:25:38] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 20:25:38] [INFO]   -> No value found (null or empty)
[2026-03-18 20:25:38] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 20:25:38] [INFO]   -> Found value: 20260029480
[2026-03-18 20:25:38] [INFO]   -> Set field 'policeReportNumber' = "20260029480"
[2026-03-18 20:25:38] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 20:25:38] [INFO]   -> No value found (null or empty)
[2026-03-18 20:25:38] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 20:25:38] [INFO]   -> Found value: BAXTER
[2026-03-18 20:25:38] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 20:25:38] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 20:25:38] [INFO]   -> Found value: DITTY
[2026-03-18 20:25:38] [INFO]   -> Set field 'streetName' = "DITTY"
[2026-03-18 20:25:38] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 20:25:38] [INFO]   -> Found value: RD
[2026-03-18 20:25:38] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 20:25:38] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 20:25:38] [INFO]   -> Found value: 9256 DITTY RD
[2026-03-18 20:25:38] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "9256 DITTY RD"
[2026-03-18 20:25:38] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 20:25:38] [INFO] Concatenating street name and type
[2026-03-18 20:25:38] [INFO]   -> Combined street name: DITTY RD
[2026-03-18 20:25:38] [INFO] Built locationCoordinates from lat/lng: 36.13656,-85.62688
[2026-03-18 20:25:38] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000094","dispatchRunNumber":"2026000094","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":9256,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.136560000000002901288098655641078948974609375,"nERISIncidentLongitude":-85.626879999999999881765688769519329071044921875,"alarm":"2026-03-18 15:14:49","dispatched":"2026-03-18 15:17:03","enroute":"2026-03-18 15:17:03","onScene":"2026-03-18 15:17:03","incidentLocationCross":"ACADEMY RD\/BAXTER RD","cADVehicleID":"B1100","timedispatch":"2026-03-18 15:17:03","timeenroutetoscene":"2026-03-18 15:17:03","timeonscene":"2026-03-18 15:17:03","policeReportNumber":"20260029480","incidentLocationCity":"BAXTER","streetName":"DITTY RD","incidentAddressTextVersionStreet":"9256 DITTY RD","locationCoordinates":"36.13656,-85.62688"}
[2026-03-18 20:25:38] [INFO] Number of extracted fields: 23
[2026-03-18 20:25:38] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-18 20:25:38] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-18 20:25:38] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-18 20:25:38] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-18 20:25:38] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-18 20:25:38] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-18 20:25:38] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-18 20:25:38] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-18 20:25:39] [INFO] Found existing IncidentTypeMapping with ID: 6945b78c6a367ff06
[2026-03-18 20:25:39] [INFO] Found existing Dispatch with cADNumber '2026000094', ID: 69bb0849449c8fb1f - will update instead of create
[2026-03-18 20:25:39] [INFO] Updated existing Dispatches record with ID: 69bb0849449c8fb1f
[2026-03-18 20:25:39] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029480_20260318_202536_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/BFD_20260029480_20260318_202536_1.XML
[2026-03-18 20:25:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029480_20260318_202536_1.XML
[2026-03-18 20:25:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029480_20260318_202543.XML
[2026-03-18 20:25:43] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029480_20260318_202543.XML for user: 68f1466aed072ad4a
[2026-03-18 20:25:43] [INFO] File size: 5163 bytes
[2026-03-18 20:25:44] [INFO] Created FTPFiles record with ID: 69bb0a483ea6f2a20
[2026-03-18 20:25:44] [INFO] About to extract fields from XML. File size: 5163 bytes
[2026-03-18 20:25:44] [INFO] Number of mappings: 28
[2026-03-18 20:25:44] [INFO] Starting XML parsing. Content length: 5163
[2026-03-18 20:25:44] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 20:25:44] [INFO] Processing 28 field mappings
[2026-03-18 20:25:44] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 20:25:44] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 20:25:44] [INFO]   -> Found value: BFD
[2026-03-18 20:25:44] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-18 20:25:44] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 20:25:44] [INFO]   -> Found value: 2026000094
[2026-03-18 20:25:44] [INFO]   -> Set field 'incidentInternalId' = "2026000094"
[2026-03-18 20:25:44] [INFO]   -> Set field 'dispatchRunNumber' = "2026000094"
[2026-03-18 20:25:44] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 20:25:44] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-18 20:25:44] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-18 20:25:44] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 20:25:44] [INFO]   -> Found value: 9256
[2026-03-18 20:25:44] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9256
[2026-03-18 20:25:44] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 20:25:44] [INFO]   -> Found value: TN
[2026-03-18 20:25:44] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 20:25:44] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 20:25:44] [INFO]   -> Found value: 38544
[2026-03-18 20:25:44] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 20:25:44] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 20:25:44] [INFO]   -> No value found (null or empty)
[2026-03-18 20:25:44] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 20:25:44] [INFO]   -> No value found (null or empty)
[2026-03-18 20:25:44] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 20:25:44] [INFO]   -> Found value: 36.13656
[2026-03-18 20:25:44] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.136560000000002901288098655641078948974609375
[2026-03-18 20:25:44] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 20:25:44] [INFO]   -> Found value: -85.62688
[2026-03-18 20:25:44] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.626879999999999881765688769519329071044921875
[2026-03-18 20:25:44] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 20:25:44] [INFO]   -> Found value: 2026-03-18 15:14:49
[2026-03-18 20:25:44] [INFO]   -> Set field 'alarm' = "2026-03-18 15:14:49"
[2026-03-18 20:25:44] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 20:25:44] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:44] [INFO]   -> Set field 'dispatched' = "2026-03-18 15:17:03"
[2026-03-18 20:25:44] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 20:25:44] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:44] [INFO]   -> Set field 'enroute' = "2026-03-18 15:17:03"
[2026-03-18 20:25:44] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 20:25:44] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:44] [INFO]   -> Set field 'onScene' = "2026-03-18 15:17:03"
[2026-03-18 20:25:44] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 20:25:44] [INFO]   -> Found value: 2026-03-18 15:25:41
[2026-03-18 20:25:44] [INFO]   -> Set field 'cleared' = "2026-03-18 15:25:41"
[2026-03-18 20:25:44] [INFO]   -> Set field 'inService' = "2026-03-18 15:25:41"
[2026-03-18 20:25:44] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 20:25:44] [INFO]   -> Found value: ACADEMY RD/BAXTER RD
[2026-03-18 20:25:44] [INFO]   -> Set field 'incidentLocationCross' = "ACADEMY RD\/BAXTER RD"
[2026-03-18 20:25:44] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 20:25:44] [INFO]   -> Found value: B1100
[2026-03-18 20:25:44] [INFO]   -> Set field 'cADVehicleID' = "B1100"
[2026-03-18 20:25:44] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 20:25:44] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:44] [INFO]   -> Set field 'timedispatch' = "2026-03-18 15:17:03"
[2026-03-18 20:25:44] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 20:25:44] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:44] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 15:17:03"
[2026-03-18 20:25:44] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 20:25:44] [INFO]   -> Found value: 2026-03-18 15:17:03
[2026-03-18 20:25:44] [INFO]   -> Set field 'timeonscene' = "2026-03-18 15:17:03"
[2026-03-18 20:25:44] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 20:25:44] [INFO]   -> Found value: 2026-03-18 15:25:41
[2026-03-18 20:25:44] [INFO]   -> Set field 'timeunitclear' = "2026-03-18 15:25:41"
[2026-03-18 20:25:44] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 20:25:44] [INFO]   -> No value found (null or empty)
[2026-03-18 20:25:44] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 20:25:44] [INFO]   -> Found value: 20260029480
[2026-03-18 20:25:44] [INFO]   -> Set field 'policeReportNumber' = "20260029480"
[2026-03-18 20:25:44] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 20:25:44] [INFO]   -> No value found (null or empty)
[2026-03-18 20:25:44] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 20:25:44] [INFO]   -> Found value: BAXTER
[2026-03-18 20:25:44] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 20:25:44] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 20:25:44] [INFO]   -> Found value: DITTY
[2026-03-18 20:25:44] [INFO]   -> Set field 'streetName' = "DITTY"
[2026-03-18 20:25:44] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 20:25:44] [INFO]   -> Found value: RD
[2026-03-18 20:25:44] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-18 20:25:44] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 20:25:44] [INFO]   -> Found value: 9256 DITTY RD
[2026-03-18 20:25:44] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "9256 DITTY RD"
[2026-03-18 20:25:44] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-18 20:25:44] [INFO] Concatenating street name and type
[2026-03-18 20:25:44] [INFO]   -> Combined street name: DITTY RD
[2026-03-18 20:25:44] [INFO] Built locationCoordinates from lat/lng: 36.13656,-85.62688
[2026-03-18 20:25:44] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000094","dispatchRunNumber":"2026000094","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":9256,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.136560000000002901288098655641078948974609375,"nERISIncidentLongitude":-85.626879999999999881765688769519329071044921875,"alarm":"2026-03-18 15:14:49","dispatched":"2026-03-18 15:17:03","enroute":"2026-03-18 15:17:03","onScene":"2026-03-18 15:17:03","cleared":"2026-03-18 15:25:41","inService":"2026-03-18 15:25:41","incidentLocationCross":"ACADEMY RD\/BAXTER RD","cADVehicleID":"B1100","timedispatch":"2026-03-18 15:17:03","timeenroutetoscene":"2026-03-18 15:17:03","timeonscene":"2026-03-18 15:17:03","timeunitclear":"2026-03-18 15:25:41","policeReportNumber":"20260029480","incidentLocationCity":"BAXTER","streetName":"DITTY RD","incidentAddressTextVersionStreet":"9256 DITTY RD","locationCoordinates":"36.13656,-85.62688"}
[2026-03-18 20:25:44] [INFO] Number of extracted fields: 26
[2026-03-18 20:25:44] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-18 20:25:44] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-18 20:25:44] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-18 20:25:44] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-18 20:25:44] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-18 20:25:44] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-18 20:25:44] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-18 20:25:44] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-18 20:25:45] [INFO] Found existing IncidentTypeMapping with ID: 6945b78c6a367ff06
[2026-03-18 20:25:45] [INFO] Found existing Dispatch with cADNumber '2026000094', ID: 69bb0849449c8fb1f - will update instead of create
[2026-03-18 20:25:45] [INFO] Updated existing Dispatches record with ID: 69bb0849449c8fb1f
[2026-03-18 20:25:45] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029480_20260318_202543.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/BFD_20260029480_20260318_202543.XML
[2026-03-18 20:25:45] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029480_20260318_202543.XML
[2026-03-18 20:32:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08187.xml
[2026-03-18 20:32:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08187.xml for user: 68d56363ec1209189
[2026-03-18 20:32:58] [INFO] File size: 1864 bytes
[2026-03-18 20:32:58] [INFO] Created FTPFiles record with ID: 69bb0bfa838cb241c
[2026-03-18 20:32:58] [INFO] About to extract fields from XML. File size: 1864 bytes
[2026-03-18 20:32:58] [INFO] Number of mappings: 21
[2026-03-18 20:32:58] [INFO] Starting XML parsing. Content length: 1864
[2026-03-18 20:32:58] [INFO] XML parsed successfully. Root element: Incident
[2026-03-18 20:32:58] [INFO] Processing 21 field mappings
[2026-03-18 20:32:58] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-18 20:32:58] [INFO]   -> Found value: 26-08187
[2026-03-18 20:32:58] [INFO]   -> Set field 'dispatchRunNumber' = "26-08187"
[2026-03-18 20:32:58] [INFO]   -> Set field 'cADNumber' = "26-08187"
[2026-03-18 20:32:58] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-18 20:32:58] [INFO]   -> Found value: 1551
[2026-03-18 20:32:58] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1551
[2026-03-18 20:32:58] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-18 20:32:58] [INFO]   -> Found value: N MAIN ST
[2026-03-18 20:32:58] [INFO]   -> Set field 'streetName' = "N MAIN ST"
[2026-03-18 20:32:58] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-18 20:32:58] [INFO]   -> No value found (null or empty)
[2026-03-18 20:32:58] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-18 20:32:58] [INFO]   -> Found value: SIKESTON
[2026-03-18 20:32:58] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-03-18 20:32:58] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-18 20:32:58] [INFO]   -> Found value: DOLLAR GENERAL STORE
[2026-03-18 20:32:58] [INFO]   -> Set field 'businessName' = "DOLLAR GENERAL STORE"
[2026-03-18 20:32:58] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-18 20:32:58] [INFO]   -> Found value: MO
[2026-03-18 20:32:58] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-03-18 20:32:58] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-18 20:32:58] [INFO]   -> Found value: 63801
[2026-03-18 20:32:58] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-03-18 20:32:58] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-18 20:32:58] [INFO]   -> Found value: 0
[2026-03-18 20:32:58] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-18 20:32:58] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-18 20:32:58] [INFO]   -> Found value: 0
[2026-03-18 20:32:58] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-18 20:32:58] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-18 20:32:58] [INFO]   -> Found value: ACCIDENT-J2
[2026-03-18 20:32:58] [INFO]   -> Set field 'incidentTypeValue1' = "ACCIDENT-J2"
[2026-03-18 20:32:58] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-18 20:32:58] [INFO]   -> Found value: 03-18-2026 14:59:43|1513 EN ROUTE TO ASSIST 03-18-2026 15:00:44|1701 ON SCENE ADVISED 2 VEH INVOLVED...
[2026-03-18 20:32:58] [INFO]   -> Set field 'dispatchNotes' = "03-18-2026 14:59:43|1513 EN ROUTE TO ASSIST 03-18-2026 15:00:44|1701 ON SCENE ADVISED 2 VEH INVOLVED 1501 WILL NEED ATTENTION 03-18-2026 15:01:58|1701 ADVISED 3 VEH INVOLVED 2 PT 03-18-2026 15:02:23|1513 ON SCENE MILEAGE 2.2 03-18-2026 15:03:22|1500 ON SCENE 03-18-2026 15:07:19|C86 ADVISED TO CALL 10-51 ON CALL X2 03-18-2026 15:07:44|JSH EN ROUTE 03-18-2026 15:14:57|1515 ADVISED 2 SIGNED REFUSALS 03-18-2026 15:16:14|1513 WILL BE TRANSPORTING TO ST. FRANCIS SOON 03-18-2026 15:21:14|10-51 ON SCENE 03-18-2026 15:28:11|A21 10-8"
[2026-03-18 20:32:58] [INFO]   -> Set field 'cADLog' = "03-18-2026 14:59:43|1513 EN ROUTE TO ASSIST 03-18-2026 15:00:44|1701 ON SCENE ADVISED 2 VEH INVOLVED 1501 WILL NEED ATTENTION 03-18-2026 15:01:58|1701 ADVISED 3 VEH INVOLVED 2 PT 03-18-2026 15:02:23|1513 ON SCENE MILEAGE 2.2 03-18-2026 15:03:22|1500 ON SCENE 03-18-2026 15:07:19|C86 ADVISED TO CALL 10-51 ON CALL X2 03-18-2026 15:07:44|JSH EN ROUTE 03-18-2026 15:14:57|1515 ADVISED 2 SIGNED REFUSALS 03-18-2026 15:16:14|1513 WILL BE TRANSPORTING TO ST. FRANCIS SOON 03-18-2026 15:21:14|10-51 ON SCENE 03-18-2026 15:28:11|A21 10-8"
[2026-03-18 20:32:58] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-18 20:32:58] [INFO]   -> Found value: 03-18-2026T14:59:04
[2026-03-18 20:32:58] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T14:59:04
[2026-03-18 20:32:58] [ERROR] Error formatting datetime '2026-18-03T14:59:04': Failed to parse time string (2026-18-03T14:59:04) at position 6 (8): Unexpected character
[2026-03-18 20:32:58] [INFO]   -> Set field 'alarm' = null
[2026-03-18 20:32:58] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T14:59:04
[2026-03-18 20:32:58] [ERROR] Error formatting datetime '2026-18-03T14:59:04': Failed to parse time string (2026-18-03T14:59:04) at position 6 (8): Unexpected character
[2026-03-18 20:32:58] [INFO]   -> Set field 'dispatched' = null
[2026-03-18 20:32:58] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-18 20:32:58] [INFO]   -> Found value: 03-18-2026T15:03:58
[2026-03-18 20:32:58] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T15:03:58
[2026-03-18 20:32:58] [ERROR] Error formatting datetime '2026-18-03T15:03:58': Failed to parse time string (2026-18-03T15:03:58) at position 6 (8): Unexpected character
[2026-03-18 20:32:58] [INFO]   -> Set field 'onScene' = null
[2026-03-18 20:32:58] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-18 20:32:58] [INFO]   -> No value found (null or empty)
[2026-03-18 20:32:58] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-18 20:32:58] [INFO]   -> Found value: ENG2
[2026-03-18 20:32:58] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-03-18 20:32:58] [INFO]   -> Set field 'name' = "ENG2"
[2026-03-18 20:32:58] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-18 20:32:58] [INFO]   -> No value found (null or empty)
[2026-03-18 20:32:58] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-18 20:32:58] [INFO]   -> Found value: 03-18-2026T15:04:42
[2026-03-18 20:32:58] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T15:04:42
[2026-03-18 20:32:58] [ERROR] Error formatting datetime '2026-18-03T15:04:42': Failed to parse time string (2026-18-03T15:04:42) at position 6 (8): Unexpected character
[2026-03-18 20:32:58] [INFO]   -> Set field 'timeonscene' = null
[2026-03-18 20:32:58] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-18 20:32:58] [INFO]   -> Found value: 03-18-2026T15:32:39
[2026-03-18 20:32:58] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T15:32:39
[2026-03-18 20:32:58] [ERROR] Error formatting datetime '2026-18-03T15:32:39': Failed to parse time string (2026-18-03T15:32:39) at position 6 (8): Unexpected character
[2026-03-18 20:32:58] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-18 20:32:58] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-18 20:32:58] [INFO]   -> Found value: 03-18-2026T15:04:40
[2026-03-18 20:32:58] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T15:04:40
[2026-03-18 20:32:58] [ERROR] Error formatting datetime '2026-18-03T15:04:40': Failed to parse time string (2026-18-03T15:04:40) at position 6 (8): Unexpected character
[2026-03-18 20:32:58] [INFO]   -> Set field 'timedispatch' = null
[2026-03-18 20:32:58] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-18 20:32:58] [INFO]   -> Found value: SDPSFD
[2026-03-18 20:32:58] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-18 20:32:58] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-18 20:32:58] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-18 20:32:58] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-08187","cADNumber":"26-08187","incidentLocationStreetNumber":1551,"streetName":"N MAIN ST","incidentLocationCity":"SIKESTON","businessName":"DOLLAR GENERAL STORE","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"ACCIDENT-J2","dispatchNotes":"03-18-2026 14:59:43|1513 EN ROUTE TO ASSIST 03-18-2026 15:00:44|1701 ON SCENE ADVISED 2 VEH INVOLVED 1501 WILL NEED ATTENTION 03-18-2026 15:01:58|1701 ADVISED 3 VEH INVOLVED 2 PT 03-18-2026 15:02:23|1513 ON SCENE MILEAGE 2.2 03-18-2026 15:03:22|1500 ON SCENE 03-18-2026 15:07:19|C86 ADVISED TO CALL 10-51 ON CALL X2 03-18-2026 15:07:44|JSH EN ROUTE 03-18-2026 15:14:57|1515 ADVISED 2 SIGNED REFUSALS 03-18-2026 15:16:14|1513 WILL BE TRANSPORTING TO ST. FRANCIS SOON 03-18-2026 15:21:14|10-51 ON SCENE 03-18-2026 15:28:11|A21 10-8","cADLog":"03-18-2026 14:59:43|1513 EN ROUTE TO ASSIST 03-18-2026 15:00:44|1701 ON SCENE ADVISED 2 VEH INVOLVED 1501 WILL NEED ATTENTION 03-18-2026 15:01:58|1701 ADVISED 3 VEH INVOLVED 2 PT 03-18-2026 15:02:23|1513 ON SCENE MILEAGE 2.2 03-18-2026 15:03:22|1500 ON SCENE 03-18-2026 15:07:19|C86 ADVISED TO CALL 10-51 ON CALL X2 03-18-2026 15:07:44|JSH EN ROUTE 03-18-2026 15:14:57|1515 ADVISED 2 SIGNED REFUSALS 03-18-2026 15:16:14|1513 WILL BE TRANSPORTING TO ST. FRANCIS SOON 03-18-2026 15:21:14|10-51 ON SCENE 03-18-2026 15:28:11|A21 10-8","alarm":null,"dispatched":null,"onScene":null,"cADVehicleID":"ENG2","name":"ENG2","timeonscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-03-18 20:32:58] [INFO] Number of extracted fields: 23
[2026-03-18 20:32:58] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-18 20:32:58] [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-03-18 20:32:58] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-18 20:32:58] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-18 20:32:58] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-18 20:32:58] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-18 20:32:58] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-18 20:32:58] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-18 20:32:59] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e87be42b7c
[2026-03-18 20:33:00] [INFO] Created new Dispatches record with ID: 69bb0bfb6fd89d605
[2026-03-18 20:33:00] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08187.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-18/SDPSFD_26-08187.xml
[2026-03-18 20:33:00] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08187.xml
[2026-03-18 20:48:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08184.xml
[2026-03-18 20:48:09] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08184.xml for user: 68d56363ec1209189
[2026-03-18 20:48:09] [INFO] File size: 2325 bytes
[2026-03-18 20:48:10] [INFO] Created FTPFiles record with ID: 69bb0f8a3fa38f7f4
[2026-03-18 20:48:10] [INFO] About to extract fields from XML. File size: 2325 bytes
[2026-03-18 20:48:10] [INFO] Number of mappings: 21
[2026-03-18 20:48:10] [INFO] Starting XML parsing. Content length: 2325
[2026-03-18 20:48:10] [INFO] XML parsed successfully. Root element: Incident
[2026-03-18 20:48:10] [INFO] Processing 21 field mappings
[2026-03-18 20:48:10] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-18 20:48:10] [INFO]   -> Found value: 26-08184
[2026-03-18 20:48:10] [INFO]   -> Set field 'dispatchRunNumber' = "26-08184"
[2026-03-18 20:48:10] [INFO]   -> Set field 'cADNumber' = "26-08184"
[2026-03-18 20:48:10] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-18 20:48:10] [INFO]   -> Found value: 209
[2026-03-18 20:48:10] [INFO]   -> Set field 'incidentLocationStreetNumber' = 209
[2026-03-18 20:48:10] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-18 20:48:10] [INFO]   -> Found value: W MAPLE ST
[2026-03-18 20:48:10] [INFO]   -> Set field 'streetName' = "W MAPLE ST"
[2026-03-18 20:48:10] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-18 20:48:10] [INFO]   -> No value found (null or empty)
[2026-03-18 20:48:10] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-18 20:48:10] [INFO]   -> No value found (null or empty)
[2026-03-18 20:48:10] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-18 20:48:10] [INFO]   -> No value found (null or empty)
[2026-03-18 20:48:10] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-18 20:48:10] [INFO]   -> No value found (null or empty)
[2026-03-18 20:48:10] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-18 20:48:10] [INFO]   -> No value found (null or empty)
[2026-03-18 20:48:10] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-18 20:48:10] [INFO]   -> Found value: 0
[2026-03-18 20:48:10] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-18 20:48:10] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-18 20:48:10] [INFO]   -> Found value: 0
[2026-03-18 20:48:10] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-18 20:48:10] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-18 20:48:10] [INFO]   -> Found value: FIRE-MOREHOUSE
[2026-03-18 20:48:10] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-MOREHOUSE"
[2026-03-18 20:48:10] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-18 20:48:10] [INFO]   -> Found value: 03-18-2026 13:58:33|STRUCTURE FIRE FULLY INVOLVED
EVERYONE OUTSIDE OF THE RESIDENCE 03-18-2026 14:03...
[2026-03-18 20:48:10] [INFO]   -> Set field 'dispatchNotes' = "03-18-2026 13:58:33|STRUCTURE FIRE FULLY INVOLVED\nEVERYONE OUTSIDE OF THE RESIDENCE 03-18-2026 14:03:25|TIME OF SECOND PAGE 14:03 03-18-2026 14:04:25|A25 EN ROUTE 03-18-2026 14:22:13|563 REQUESTING AMEREN TO COME OUT 03-18-2026 14:25:38|AMEREN CONTACTED 03-18-2026 14:26:27|COMAND ADVISED FIRE UNDER CONTROL 03-18-2026 14:57:37|COMMAND TERMINATED ALL UNITS IN SERVICE 03-18-2026 14:57:55|Disposition - MHSE FD:  RPT\nDisposition - SDPS FD:  RPT"
[2026-03-18 20:48:10] [INFO]   -> Set field 'cADLog' = "03-18-2026 13:58:33|STRUCTURE FIRE FULLY INVOLVED\nEVERYONE OUTSIDE OF THE RESIDENCE 03-18-2026 14:03:25|TIME OF SECOND PAGE 14:03 03-18-2026 14:04:25|A25 EN ROUTE 03-18-2026 14:22:13|563 REQUESTING AMEREN TO COME OUT 03-18-2026 14:25:38|AMEREN CONTACTED 03-18-2026 14:26:27|COMAND ADVISED FIRE UNDER CONTROL 03-18-2026 14:57:37|COMMAND TERMINATED ALL UNITS IN SERVICE 03-18-2026 14:57:55|Disposition - MHSE FD:  RPT\nDisposition - SDPS FD:  RPT"
[2026-03-18 20:48:10] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-18 20:48:10] [INFO]   -> Found value: 03-18-2026T13:59:22
[2026-03-18 20:48:10] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T13:59:22
[2026-03-18 20:48:10] [ERROR] Error formatting datetime '2026-18-03T13:59:22': Failed to parse time string (2026-18-03T13:59:22) at position 6 (8): Unexpected character
[2026-03-18 20:48:10] [INFO]   -> Set field 'alarm' = null
[2026-03-18 20:48:10] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T13:59:22
[2026-03-18 20:48:10] [ERROR] Error formatting datetime '2026-18-03T13:59:22': Failed to parse time string (2026-18-03T13:59:22) at position 6 (8): Unexpected character
[2026-03-18 20:48:10] [INFO]   -> Set field 'dispatched' = null
[2026-03-18 20:48:10] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-18 20:48:10] [INFO]   -> Found value: 03-18-2026T14:07:32
[2026-03-18 20:48:10] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T14:07:32
[2026-03-18 20:48:10] [ERROR] Error formatting datetime '2026-18-03T14:07:32': Failed to parse time string (2026-18-03T14:07:32) at position 6 (8): Unexpected character
[2026-03-18 20:48:10] [INFO]   -> Set field 'onScene' = null
[2026-03-18 20:48:10] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-18 20:48:10] [INFO]   -> Found value: 03-18-2026T14:57:50
[2026-03-18 20:48:10] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T14:57:50
[2026-03-18 20:48:10] [ERROR] Error formatting datetime '2026-18-03T14:57:50': Failed to parse time string (2026-18-03T14:57:50) at position 6 (8): Unexpected character
[2026-03-18 20:48:10] [INFO]   -> Set field 'cleared' = null
[2026-03-18 20:48:10] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T14:57:50
[2026-03-18 20:48:10] [ERROR] Error formatting datetime '2026-18-03T14:57:50': Failed to parse time string (2026-18-03T14:57:50) at position 6 (8): Unexpected character
[2026-03-18 20:48:10] [INFO]   -> Set field 'inService' = null
[2026-03-18 20:48:10] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-18 20:48:10] [INFO]   -> Found value: ENG3
[2026-03-18 20:48:10] [INFO]   -> Set field 'cADVehicleID' = "ENG3"
[2026-03-18 20:48:10] [INFO]   -> Set field 'name' = "ENG3"
[2026-03-18 20:48:10] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-18 20:48:10] [INFO]   -> Found value: 03-18-2026T14:03:58
[2026-03-18 20:48:10] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T14:03:58
[2026-03-18 20:48:10] [ERROR] Error formatting datetime '2026-18-03T14:03:58': Failed to parse time string (2026-18-03T14:03:58) at position 6 (8): Unexpected character
[2026-03-18 20:48:10] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-03-18 20:48:10] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-18 20:48:10] [INFO]   -> Found value: 03-18-2026T14:10:27
[2026-03-18 20:48:10] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T14:10:27
[2026-03-18 20:48:10] [ERROR] Error formatting datetime '2026-18-03T14:10:27': Failed to parse time string (2026-18-03T14:10:27) at position 6 (8): Unexpected character
[2026-03-18 20:48:10] [INFO]   -> Set field 'timeonscene' = null
[2026-03-18 20:48:10] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-18 20:48:10] [INFO]   -> Found value: 03-18-2026T14:57:50
[2026-03-18 20:48:10] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T14:57:50
[2026-03-18 20:48:10] [ERROR] Error formatting datetime '2026-18-03T14:57:50': Failed to parse time string (2026-18-03T14:57:50) at position 6 (8): Unexpected character
[2026-03-18 20:48:10] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-18 20:48:10] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-18 20:48:10] [INFO]   -> Found value: 03-18-2026T14:03:56
[2026-03-18 20:48:10] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T14:03:56
[2026-03-18 20:48:10] [ERROR] Error formatting datetime '2026-18-03T14:03:56': Failed to parse time string (2026-18-03T14:03:56) at position 6 (8): Unexpected character
[2026-03-18 20:48:10] [INFO]   -> Set field 'timedispatch' = null
[2026-03-18 20:48:10] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-18 20:48:10] [INFO]   -> Found value: SDPSFD
[2026-03-18 20:48:10] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-18 20:48:10] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-18 20:48:10] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-18 20:48:10] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-08184","cADNumber":"26-08184","incidentLocationStreetNumber":209,"streetName":"W MAPLE ST","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-MOREHOUSE","dispatchNotes":"03-18-2026 13:58:33|STRUCTURE FIRE FULLY INVOLVED\nEVERYONE OUTSIDE OF THE RESIDENCE 03-18-2026 14:03:25|TIME OF SECOND PAGE 14:03 03-18-2026 14:04:25|A25 EN ROUTE 03-18-2026 14:22:13|563 REQUESTING AMEREN TO COME OUT 03-18-2026 14:25:38|AMEREN CONTACTED 03-18-2026 14:26:27|COMAND ADVISED FIRE UNDER CONTROL 03-18-2026 14:57:37|COMMAND TERMINATED ALL UNITS IN SERVICE 03-18-2026 14:57:55|Disposition - MHSE FD:  RPT\nDisposition - SDPS FD:  RPT","cADLog":"03-18-2026 13:58:33|STRUCTURE FIRE FULLY INVOLVED\nEVERYONE OUTSIDE OF THE RESIDENCE 03-18-2026 14:03:25|TIME OF SECOND PAGE 14:03 03-18-2026 14:04:25|A25 EN ROUTE 03-18-2026 14:22:13|563 REQUESTING AMEREN TO COME OUT 03-18-2026 14:25:38|AMEREN CONTACTED 03-18-2026 14:26:27|COMAND ADVISED FIRE UNDER CONTROL 03-18-2026 14:57:37|COMMAND TERMINATED ALL UNITS IN SERVICE 03-18-2026 14:57:55|Disposition - MHSE FD:  RPT\nDisposition - SDPS FD:  RPT","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ENG3","name":"ENG3","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-03-18 20:48:10] [INFO] Number of extracted fields: 22
[2026-03-18 20:48:10] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-18 20:48:10] [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-03-18 20:48:10] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-18 20:48:10] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-18 20:48:10] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-18 20:48:10] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-18 20:48:10] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-18 20:48:10] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-18 20:48:10] [INFO] Found existing IncidentTypeMapping with ID: 68ebc0ebe2a79ece6
[2026-03-18 20:48:11] [INFO] Found existing Dispatch with cADNumber '26-08184', ID: 69bb03e781966ece2 - will update instead of create
[2026-03-18 20:48:11] [INFO] Updated existing Dispatches record with ID: 69bb03e781966ece2
[2026-03-18 20:48:11] [INFO] File already exists in archive, using unique name: SDPSFD_26-08184_1773866891.xml
[2026-03-18 20:48:11] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08184.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-18/SDPSFD_26-08184_1773866891.xml
[2026-03-18 20:48:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08184.xml
[2026-03-18 21:13:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08194.xml
[2026-03-18 21:13:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08194.xml for user: 68d56363ec1209189
[2026-03-18 21:13:30] [INFO] File size: 1312 bytes
[2026-03-18 21:13:30] [INFO] Created FTPFiles record with ID: 69bb157a77c4498b4
[2026-03-18 21:13:30] [INFO] About to extract fields from XML. File size: 1312 bytes
[2026-03-18 21:13:30] [INFO] Number of mappings: 21
[2026-03-18 21:13:30] [INFO] Starting XML parsing. Content length: 1312
[2026-03-18 21:13:30] [INFO] XML parsed successfully. Root element: Incident
[2026-03-18 21:13:30] [INFO] Processing 21 field mappings
[2026-03-18 21:13:30] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-18 21:13:30] [INFO]   -> Found value: 26-08194
[2026-03-18 21:13:30] [INFO]   -> Set field 'dispatchRunNumber' = "26-08194"
[2026-03-18 21:13:30] [INFO]   -> Set field 'cADNumber' = "26-08194"
[2026-03-18 21:13:30] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-18 21:13:30] [INFO]   -> Found value: 209
[2026-03-18 21:13:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 209
[2026-03-18 21:13:30] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-18 21:13:30] [INFO]   -> Found value: MAPLE ST
[2026-03-18 21:13:30] [INFO]   -> Set field 'streetName' = "MAPLE ST"
[2026-03-18 21:13:30] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-18 21:13:30] [INFO]   -> No value found (null or empty)
[2026-03-18 21:13:30] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-18 21:13:30] [INFO]   -> Found value: MOREHOUSE
[2026-03-18 21:13:30] [INFO]   -> Set field 'incidentLocationCity' = "MOREHOUSE"
[2026-03-18 21:13:30] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-18 21:13:30] [INFO]   -> No value found (null or empty)
[2026-03-18 21:13:30] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-18 21:13:30] [INFO]   -> Found value: MO
[2026-03-18 21:13:30] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-03-18 21:13:30] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-18 21:13:30] [INFO]   -> Found value: 63868
[2026-03-18 21:13:30] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63868
[2026-03-18 21:13:30] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-18 21:13:30] [INFO]   -> Found value: 0
[2026-03-18 21:13:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-18 21:13:30] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-18 21:13:30] [INFO]   -> Found value: 0
[2026-03-18 21:13:30] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-18 21:13:30] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-18 21:13:30] [INFO]   -> Found value: TEST
[2026-03-18 21:13:30] [INFO]   -> Set field 'incidentTypeValue1' = "TEST"
[2026-03-18 21:13:30] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-18 21:13:30] [INFO]   -> Found value: 03-18-2026 15:48:09|TEST TEST TEST   - N O NEED FOR ANY CONTACT
[2026-03-18 21:13:30] [INFO]   -> Set field 'dispatchNotes' = "03-18-2026 15:48:09|TEST TEST TEST   - N O NEED FOR ANY CONTACT"
[2026-03-18 21:13:30] [INFO]   -> Set field 'cADLog' = "03-18-2026 15:48:09|TEST TEST TEST   - N O NEED FOR ANY CONTACT"
[2026-03-18 21:13:30] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-18 21:13:30] [INFO]   -> Found value: 03-18-2026T15:51:29
[2026-03-18 21:13:30] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T15:51:29
[2026-03-18 21:13:30] [ERROR] Error formatting datetime '2026-18-03T15:51:29': Failed to parse time string (2026-18-03T15:51:29) at position 6 (8): Unexpected character
[2026-03-18 21:13:30] [INFO]   -> Set field 'alarm' = null
[2026-03-18 21:13:30] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T15:51:29
[2026-03-18 21:13:30] [ERROR] Error formatting datetime '2026-18-03T15:51:29': Failed to parse time string (2026-18-03T15:51:29) at position 6 (8): Unexpected character
[2026-03-18 21:13:30] [INFO]   -> Set field 'dispatched' = null
[2026-03-18 21:13:30] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-18 21:13:30] [INFO]   -> No value found (null or empty)
[2026-03-18 21:13:30] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-18 21:13:30] [INFO]   -> No value found (null or empty)
[2026-03-18 21:13:30] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-18 21:13:30] [INFO]   -> Found value: SIK STILL
[2026-03-18 21:13:30] [INFO]   -> Set field 'cADVehicleID' = "SIK STILL"
[2026-03-18 21:13:30] [INFO]   -> Set field 'name' = "SIK STILL"
[2026-03-18 21:13:30] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-18 21:13:30] [INFO]   -> No value found (null or empty)
[2026-03-18 21:13:30] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-18 21:13:30] [INFO]   -> No value found (null or empty)
[2026-03-18 21:13:30] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-18 21:13:30] [INFO]   -> Found value: 03-18-2026T16:12:42
[2026-03-18 21:13:30] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T16:12:42
[2026-03-18 21:13:30] [ERROR] Error formatting datetime '2026-18-03T16:12:42': Failed to parse time string (2026-18-03T16:12:42) at position 6 (8): Unexpected character
[2026-03-18 21:13:30] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-18 21:13:30] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-18 21:13:30] [INFO]   -> Found value: 03-18-2026T15:51:29
[2026-03-18 21:13:30] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T15:51:29
[2026-03-18 21:13:30] [ERROR] Error formatting datetime '2026-18-03T15:51:29': Failed to parse time string (2026-18-03T15:51:29) at position 6 (8): Unexpected character
[2026-03-18 21:13:30] [INFO]   -> Set field 'timedispatch' = null
[2026-03-18 21:13:30] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-18 21:13:30] [INFO]   -> Found value: SDPSFD
[2026-03-18 21:13:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-18 21:13:30] [INFO] Finished extracting fields. Total fields extracted: 19
[2026-03-18 21:13:30] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-18 21:13:30] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-08194","cADNumber":"26-08194","incidentLocationStreetNumber":209,"streetName":"MAPLE ST","incidentLocationCity":"MOREHOUSE","incidentLocationStateName":"MO","nERISIncidentPostalCode":63868,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"TEST","dispatchNotes":"03-18-2026 15:48:09|TEST TEST TEST   - N O NEED FOR ANY CONTACT","cADLog":"03-18-2026 15:48:09|TEST TEST TEST   - N O NEED FOR ANY CONTACT","alarm":null,"dispatched":null,"cADVehicleID":"SIK STILL","name":"SIK STILL","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-03-18 21:13:30] [INFO] Number of extracted fields: 20
[2026-03-18 21:13:30] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-18 21:13:30] [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-03-18 21:13:30] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-18 21:13:30] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-18 21:13:30] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-18 21:13:30] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-18 21:13:30] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-18 21:13:30] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-18 21:13:31] [INFO] Found existing IncidentTypeMapping with ID: 69384d45546d283ba
[2026-03-18 21:13:32] [INFO] Created new Dispatches record with ID: 69bb157b61ae826b5
[2026-03-18 21:13:32] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08194.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-18/SDPSFD_26-08194.xml
[2026-03-18 21:13:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08194.xml
[2026-03-18 21:13:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08199.xml
[2026-03-18 21:13:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08199.xml for user: 68d56363ec1209189
[2026-03-18 21:13:32] [INFO] File size: 1279 bytes
[2026-03-18 21:13:33] [INFO] Created FTPFiles record with ID: 69bb157d482bdfde2
[2026-03-18 21:13:33] [INFO] About to extract fields from XML. File size: 1279 bytes
[2026-03-18 21:13:33] [INFO] Number of mappings: 21
[2026-03-18 21:13:33] [INFO] Starting XML parsing. Content length: 1279
[2026-03-18 21:13:33] [INFO] XML parsed successfully. Root element: Incident
[2026-03-18 21:13:33] [INFO] Processing 21 field mappings
[2026-03-18 21:13:33] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-18 21:13:33] [INFO]   -> Found value: 26-08199
[2026-03-18 21:13:33] [INFO]   -> Set field 'dispatchRunNumber' = "26-08199"
[2026-03-18 21:13:33] [INFO]   -> Set field 'cADNumber' = "26-08199"
[2026-03-18 21:13:33] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-18 21:13:33] [INFO]   -> Found value: 209
[2026-03-18 21:13:33] [INFO]   -> Set field 'incidentLocationStreetNumber' = 209
[2026-03-18 21:13:33] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-18 21:13:33] [INFO]   -> Found value: W MAPLE ST
[2026-03-18 21:13:33] [INFO]   -> Set field 'streetName' = "W MAPLE ST"
[2026-03-18 21:13:33] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-18 21:13:33] [INFO]   -> No value found (null or empty)
[2026-03-18 21:13:33] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-18 21:13:33] [INFO]   -> Found value: MOREHOUSE
[2026-03-18 21:13:33] [INFO]   -> Set field 'incidentLocationCity' = "MOREHOUSE"
[2026-03-18 21:13:33] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-18 21:13:33] [INFO]   -> No value found (null or empty)
[2026-03-18 21:13:33] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-18 21:13:33] [INFO]   -> No value found (null or empty)
[2026-03-18 21:13:33] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-18 21:13:33] [INFO]   -> No value found (null or empty)
[2026-03-18 21:13:33] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-18 21:13:33] [INFO]   -> Found value: 0
[2026-03-18 21:13:33] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-18 21:13:33] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-18 21:13:33] [INFO]   -> Found value: 0
[2026-03-18 21:13:33] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-18 21:13:33] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-18 21:13:33] [INFO]   -> Found value: TEST
[2026-03-18 21:13:33] [INFO]   -> Set field 'incidentTypeValue1' = "TEST"
[2026-03-18 21:13:33] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-18 21:13:33] [INFO]   -> Found value: 03-18-2026 16:01:52|TEST TEST TEST
[2026-03-18 21:13:33] [INFO]   -> Set field 'dispatchNotes' = "03-18-2026 16:01:52|TEST TEST TEST"
[2026-03-18 21:13:33] [INFO]   -> Set field 'cADLog' = "03-18-2026 16:01:52|TEST TEST TEST"
[2026-03-18 21:13:33] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-18 21:13:33] [INFO]   -> Found value: 03-18-2026T16:02:07
[2026-03-18 21:13:33] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T16:02:07
[2026-03-18 21:13:33] [ERROR] Error formatting datetime '2026-18-03T16:02:07': Failed to parse time string (2026-18-03T16:02:07) at position 6 (8): Unexpected character
[2026-03-18 21:13:33] [INFO]   -> Set field 'alarm' = null
[2026-03-18 21:13:33] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T16:02:07
[2026-03-18 21:13:33] [ERROR] Error formatting datetime '2026-18-03T16:02:07': Failed to parse time string (2026-18-03T16:02:07) at position 6 (8): Unexpected character
[2026-03-18 21:13:33] [INFO]   -> Set field 'dispatched' = null
[2026-03-18 21:13:33] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-18 21:13:33] [INFO]   -> No value found (null or empty)
[2026-03-18 21:13:33] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-18 21:13:33] [INFO]   -> No value found (null or empty)
[2026-03-18 21:13:33] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-18 21:13:33] [INFO]   -> Found value: SIK STILL
[2026-03-18 21:13:33] [INFO]   -> Set field 'cADVehicleID' = "SIK STILL"
[2026-03-18 21:13:33] [INFO]   -> Set field 'name' = "SIK STILL"
[2026-03-18 21:13:33] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-18 21:13:33] [INFO]   -> No value found (null or empty)
[2026-03-18 21:13:33] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-18 21:13:33] [INFO]   -> No value found (null or empty)
[2026-03-18 21:13:33] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-18 21:13:33] [INFO]   -> Found value: 03-18-2026T16:02:49
[2026-03-18 21:13:33] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T16:02:49
[2026-03-18 21:13:33] [ERROR] Error formatting datetime '2026-18-03T16:02:49': Failed to parse time string (2026-18-03T16:02:49) at position 6 (8): Unexpected character
[2026-03-18 21:13:33] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-18 21:13:33] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-18 21:13:33] [INFO]   -> Found value: 03-18-2026T16:02:07
[2026-03-18 21:13:33] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T16:02:07
[2026-03-18 21:13:33] [ERROR] Error formatting datetime '2026-18-03T16:02:07': Failed to parse time string (2026-18-03T16:02:07) at position 6 (8): Unexpected character
[2026-03-18 21:13:33] [INFO]   -> Set field 'timedispatch' = null
[2026-03-18 21:13:33] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-18 21:13:33] [INFO]   -> Found value: SDPSFD
[2026-03-18 21:13:33] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-18 21:13:33] [INFO] Finished extracting fields. Total fields extracted: 17
[2026-03-18 21:13:33] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-18 21:13:33] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-08199","cADNumber":"26-08199","incidentLocationStreetNumber":209,"streetName":"W MAPLE ST","incidentLocationCity":"MOREHOUSE","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"TEST","dispatchNotes":"03-18-2026 16:01:52|TEST TEST TEST","cADLog":"03-18-2026 16:01:52|TEST TEST TEST","alarm":null,"dispatched":null,"cADVehicleID":"SIK STILL","name":"SIK STILL","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-03-18 21:13:33] [INFO] Number of extracted fields: 18
[2026-03-18 21:13:33] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-18 21:13:33] [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-03-18 21:13:33] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-18 21:13:33] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-18 21:13:33] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-18 21:13:33] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-18 21:13:33] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-18 21:13:33] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-18 21:13:33] [INFO] Found existing IncidentTypeMapping with ID: 69384d45546d283ba
[2026-03-18 21:13:35] [INFO] Created new Dispatches record with ID: 69bb157e3395544c5
[2026-03-18 21:13:35] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08199.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-18/SDPSFD_26-08199.xml
[2026-03-18 21:13:35] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08199.xml
[2026-03-18 21:23:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029512_20260318_212342.XML
[2026-03-18 21:23:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029512_20260318_212342.XML for user: 68f1466aed072ad4a
[2026-03-18 21:23:42] [INFO] File size: 5481 bytes
[2026-03-18 21:23:42] [INFO] Created FTPFiles record with ID: 69bb17de8cc8d23cd
[2026-03-18 21:23:42] [INFO] About to extract fields from XML. File size: 5481 bytes
[2026-03-18 21:23:42] [INFO] Number of mappings: 28
[2026-03-18 21:23:42] [INFO] Starting XML parsing. Content length: 5481
[2026-03-18 21:23:42] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 21:23:42] [INFO] Processing 28 field mappings
[2026-03-18 21:23:42] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 21:23:42] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 21:23:42] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 21:23:42] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 21:23:42] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-18 21:23:42] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-18 21:23:42] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 21:23:42] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 21:23:42] [INFO]   -> Found value: 2026000732
[2026-03-18 21:23:42] [INFO]   -> Set field 'incidentInternalId' = "2026000732"
[2026-03-18 21:23:42] [INFO]   -> Set field 'dispatchRunNumber' = "2026000732"
[2026-03-18 21:23:42] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 21:23:42] [INFO]   -> Found value: CHEST PAIN
[2026-03-18 21:23:42] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-18 21:23:42] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 21:23:42] [INFO]   -> Found value: 8899
[2026-03-18 21:23:42] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8899
[2026-03-18 21:23:42] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 21:23:42] [INFO]   -> Found value: TN
[2026-03-18 21:23:42] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 21:23:42] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 21:23:42] [INFO]   -> Found value: 38544
[2026-03-18 21:23:42] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 21:23:42] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 21:23:42] [INFO]   -> Found value: 8899 NASHVILLE HWY
[2026-03-18 21:23:42] [INFO]   -> Set field 'businessName' = "8899 NASHVILLE HWY"
[2026-03-18 21:23:42] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 21:23:42] [INFO]   -> No value found (null or empty)
[2026-03-18 21:23:42] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 21:23:42] [INFO]   -> Found value: 36.17537
[2026-03-18 21:23:42] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1753700000000009140421752817928791046142578125
[2026-03-18 21:23:42] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 21:23:42] [INFO]   -> Found value: -85.66854
[2026-03-18 21:23:42] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6685399999999930287231109105050563812255859375
[2026-03-18 21:23:42] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 21:23:42] [INFO]   -> Found value: 2026-03-18 16:22:59
[2026-03-18 21:23:42] [INFO]   -> Set field 'alarm' = "2026-03-18 16:22:59"
[2026-03-18 21:23:42] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 21:23:42] [INFO]   -> Found value: 2026-03-18 16:23:34
[2026-03-18 21:23:42] [INFO]   -> Set field 'dispatched' = "2026-03-18 16:23:34"
[2026-03-18 21:23:42] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 21:23:42] [INFO]   -> No value found (null or empty)
[2026-03-18 21:23:42] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 21:23:42] [INFO]   -> No value found (null or empty)
[2026-03-18 21:23:42] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 21:23:42] [INFO]   -> No value found (null or empty)
[2026-03-18 21:23:42] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 21:23:42] [INFO]   -> Found value: THOMPSON RIDGE RD/BRYANT RIDGE RD
[2026-03-18 21:23:42] [INFO]   -> Set field 'incidentLocationCross' = "THOMPSON RIDGE RD\/BRYANT RIDGE RD"
[2026-03-18 21:23:42] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 21:23:42] [INFO]   -> Found value: PCFR
[2026-03-18 21:23:42] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-18 21:23:42] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 21:23:42] [INFO]   -> Found value: 2026-03-18 16:23:34
[2026-03-18 21:23:42] [INFO]   -> Set field 'timedispatch' = "2026-03-18 16:23:34"
[2026-03-18 21:23:42] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 21:23:42] [INFO]   -> No value found (null or empty)
[2026-03-18 21:23:42] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 21:23:42] [INFO]   -> No value found (null or empty)
[2026-03-18 21:23:42] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 21:23:42] [INFO]   -> No value found (null or empty)
[2026-03-18 21:23:42] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 21:23:42] [INFO]   -> No value found (null or empty)
[2026-03-18 21:23:42] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 21:23:42] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 21:23:42] [INFO]   -> Found value: 20260029512
[2026-03-18 21:23:42] [INFO]   -> Set field 'policeReportNumber' = "20260029512"
[2026-03-18 21:23:42] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 21:23:42] [INFO]   -> Found value: [EMS] BEEN GOING ON MOST OF THE DAY  [03/18/26 16:23:11 MCLAYBURN2] Event spawned from CHEST PAIN.  ...
[2026-03-18 21:23:42] [INFO]   -> Set field 'dispatchNotes' = "[EMS] BEEN GOING ON MOST OF THE DAY  [03\/18\/26 16:23:11 MCLAYBURN2] Event spawned from CHEST PAIN.  [03\/18\/2026 16:22:59 MCLAYBURN2] PETER JOHANSON CHEST PAIN 47 YR OLD  [03\/18\/26 16:22:54 MCLAYBURN2]]"
[2026-03-18 21:23:42] [INFO]   -> Set field 'cADLog' = "[EMS] BEEN GOING ON MOST OF THE DAY  [03\/18\/26 16:23:11 MCLAYBURN2] Event spawned from CHEST PAIN.  [03\/18\/2026 16:22:59 MCLAYBURN2] PETER JOHANSON CHEST PAIN 47 YR OLD  [03\/18\/26 16:22:54 MCLAYBURN2]]"
[2026-03-18 21:23:42] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 21:23:42] [INFO]   -> Found value: BAXTER
[2026-03-18 21:23:42] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 21:23:42] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 21:23:42] [INFO]   -> Found value: NASHVILLE
[2026-03-18 21:23:42] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-18 21:23:42] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 21:23:42] [INFO]   -> Found value: HWY
[2026-03-18 21:23:42] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-18 21:23:42] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 21:23:42] [INFO]   -> Found value: 8899 NASHVILLE HWY
[2026-03-18 21:23:42] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8899 NASHVILLE HWY"
[2026-03-18 21:23:42] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-18 21:23:42] [INFO] Concatenating street name and type
[2026-03-18 21:23:42] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-18 21:23:42] [INFO] Built locationCoordinates from lat/lng: 36.17537,-85.66854
[2026-03-18 21:23:42] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000732","dispatchRunNumber":"2026000732","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":8899,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"8899 NASHVILLE HWY","nERISIncidentLatitude":36.1753700000000009140421752817928791046142578125,"nERISIncidentLongitude":-85.6685399999999930287231109105050563812255859375,"alarm":"2026-03-18 16:22:59","dispatched":"2026-03-18 16:23:34","incidentLocationCross":"THOMPSON RIDGE RD\/BRYANT RIDGE RD","cADVehicleID":"PCFR","timedispatch":"2026-03-18 16:23:34","policeReportNumber":"20260029512","dispatchNotes":"[EMS] BEEN GOING ON MOST OF THE DAY  [03\/18\/26 16:23:11 MCLAYBURN2] Event spawned from CHEST PAIN.  [03\/18\/2026 16:22:59 MCLAYBURN2] PETER JOHANSON CHEST PAIN 47 YR OLD  [03\/18\/26 16:22:54 MCLAYBURN2]]","cADLog":"[EMS] BEEN GOING ON MOST OF THE DAY  [03\/18\/26 16:23:11 MCLAYBURN2] Event spawned from CHEST PAIN.  [03\/18\/2026 16:22:59 MCLAYBURN2] PETER JOHANSON CHEST PAIN 47 YR OLD  [03\/18\/26 16:22:54 MCLAYBURN2]]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"8899 NASHVILLE HWY","locationCoordinates":"36.17537,-85.66854"}
[2026-03-18 21:23:42] [INFO] Number of extracted fields: 22
[2026-03-18 21:23:42] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-18 21:23:42] [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-03-18 21:23:42] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-18 21:23:42] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 21:23:42] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 21:23:42] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-18 21:23:42] [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-03-18 21:23:42] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 21:23:42] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 21:23:42] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 21:23:42] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 21:23:43] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-18 21:23:53] [INFO] Created new Dispatches record with ID: 69bb17df74854f18a
[2026-03-18 21:23:53] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029512_20260318_212342.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029512_20260318_212342.XML
[2026-03-18 21:23:53] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029512_20260318_212342.XML
[2026-03-18 21:25:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029512_20260318_212533.XML
[2026-03-18 21:25:34] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029512_20260318_212533.XML for user: 68f1466aed072ad4a
[2026-03-18 21:25:34] [INFO] File size: 6404 bytes
[2026-03-18 21:25:34] [INFO] Created FTPFiles record with ID: 69bb184e52a01b99e
[2026-03-18 21:25:34] [INFO] About to extract fields from XML. File size: 6404 bytes
[2026-03-18 21:25:34] [INFO] Number of mappings: 28
[2026-03-18 21:25:34] [INFO] Starting XML parsing. Content length: 6404
[2026-03-18 21:25:34] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 21:25:34] [INFO] Processing 28 field mappings
[2026-03-18 21:25:34] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 21:25:34] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 21:25:34] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 21:25:34] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 21:25:34] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-18 21:25:34] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-18 21:25:34] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 21:25:34] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 21:25:34] [INFO]   -> Found value: 2026000732
[2026-03-18 21:25:34] [INFO]   -> Set field 'incidentInternalId' = "2026000732"
[2026-03-18 21:25:34] [INFO]   -> Set field 'dispatchRunNumber' = "2026000732"
[2026-03-18 21:25:34] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 21:25:34] [INFO]   -> Found value: CHEST PAIN
[2026-03-18 21:25:34] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-18 21:25:34] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 21:25:34] [INFO]   -> Found value: 8899
[2026-03-18 21:25:34] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8899
[2026-03-18 21:25:34] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 21:25:34] [INFO]   -> Found value: TN
[2026-03-18 21:25:34] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 21:25:34] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 21:25:34] [INFO]   -> Found value: 38544
[2026-03-18 21:25:34] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 21:25:34] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 21:25:34] [INFO]   -> Found value: 8899 NASHVILLE HWY
[2026-03-18 21:25:34] [INFO]   -> Set field 'businessName' = "8899 NASHVILLE HWY"
[2026-03-18 21:25:34] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 21:25:34] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:34] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 21:25:34] [INFO]   -> Found value: 36.17537
[2026-03-18 21:25:34] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1753700000000009140421752817928791046142578125
[2026-03-18 21:25:34] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 21:25:34] [INFO]   -> Found value: -85.66854
[2026-03-18 21:25:34] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6685399999999930287231109105050563812255859375
[2026-03-18 21:25:34] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 21:25:34] [INFO]   -> Found value: 2026-03-18 16:22:59
[2026-03-18 21:25:34] [INFO]   -> Set field 'alarm' = "2026-03-18 16:22:59"
[2026-03-18 21:25:34] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 21:25:34] [INFO]   -> Found value: 2026-03-18 16:23:34
[2026-03-18 21:25:34] [INFO]   -> Set field 'dispatched' = "2026-03-18 16:23:34"
[2026-03-18 21:25:34] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 21:25:34] [INFO]   -> Found value: 2026-03-18 16:25:31
[2026-03-18 21:25:34] [INFO]   -> Set field 'enroute' = "2026-03-18 16:25:31"
[2026-03-18 21:25:34] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 21:25:34] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:34] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 21:25:34] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:34] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 21:25:34] [INFO]   -> Found value: THOMPSON RIDGE RD/BRYANT RIDGE RD
[2026-03-18 21:25:34] [INFO]   -> Set field 'incidentLocationCross' = "THOMPSON RIDGE RD\/BRYANT RIDGE RD"
[2026-03-18 21:25:34] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 21:25:34] [INFO]   -> Found value: TK31
[2026-03-18 21:25:34] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-18 21:25:34] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 21:25:34] [INFO]   -> Found value: 2026-03-18 16:25:28
[2026-03-18 21:25:34] [INFO]   -> Set field 'timedispatch' = "2026-03-18 16:25:28"
[2026-03-18 21:25:34] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 21:25:34] [INFO]   -> Found value: 2026-03-18 16:25:31
[2026-03-18 21:25:34] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 16:25:31"
[2026-03-18 21:25:34] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 21:25:34] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:34] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 21:25:34] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:34] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 21:25:34] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:34] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 21:25:34] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 21:25:34] [INFO]   -> Found value: 20260029512
[2026-03-18 21:25:34] [INFO]   -> Set field 'policeReportNumber' = "20260029512"
[2026-03-18 21:25:34] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 21:25:34] [INFO]   -> Found value: [LAW] UDTS: LE NOT RESPONDING  [03/18/26 16:24:21 BWILSON] [EMS] BEEN GOING ON MOST OF THE DAY  [03/...
[2026-03-18 21:25:34] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 16:24:21 BWILSON] [EMS] BEEN GOING ON MOST OF THE DAY  [03\/18\/26 16:23:11 MCLAYBURN2] Event spawned from CHEST PAIN.  [03\/18\/2026 16:22:59 MCLAYBURN2] PETER JOHANSON CHEST PAIN 47 YR OLD  [03\/18\/26 16:22:54 MCLAYBURN2]]"
[2026-03-18 21:25:34] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 16:24:21 BWILSON] [EMS] BEEN GOING ON MOST OF THE DAY  [03\/18\/26 16:23:11 MCLAYBURN2] Event spawned from CHEST PAIN.  [03\/18\/2026 16:22:59 MCLAYBURN2] PETER JOHANSON CHEST PAIN 47 YR OLD  [03\/18\/26 16:22:54 MCLAYBURN2]]"
[2026-03-18 21:25:34] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 21:25:34] [INFO]   -> Found value: BAXTER
[2026-03-18 21:25:34] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 21:25:34] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 21:25:34] [INFO]   -> Found value: NASHVILLE
[2026-03-18 21:25:34] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-18 21:25:34] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 21:25:34] [INFO]   -> Found value: HWY
[2026-03-18 21:25:34] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-18 21:25:34] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 21:25:34] [INFO]   -> Found value: 8899 NASHVILLE HWY
[2026-03-18 21:25:34] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8899 NASHVILLE HWY"
[2026-03-18 21:25:34] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-18 21:25:34] [INFO] Concatenating street name and type
[2026-03-18 21:25:34] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-18 21:25:34] [INFO] Built locationCoordinates from lat/lng: 36.17537,-85.66854
[2026-03-18 21:25:34] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000732","dispatchRunNumber":"2026000732","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":8899,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"8899 NASHVILLE HWY","nERISIncidentLatitude":36.1753700000000009140421752817928791046142578125,"nERISIncidentLongitude":-85.6685399999999930287231109105050563812255859375,"alarm":"2026-03-18 16:22:59","dispatched":"2026-03-18 16:23:34","enroute":"2026-03-18 16:25:31","incidentLocationCross":"THOMPSON RIDGE RD\/BRYANT RIDGE RD","cADVehicleID":"TK31","timedispatch":"2026-03-18 16:25:28","timeenroutetoscene":"2026-03-18 16:25:31","policeReportNumber":"20260029512","dispatchNotes":"[LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 16:24:21 BWILSON] [EMS] BEEN GOING ON MOST OF THE DAY  [03\/18\/26 16:23:11 MCLAYBURN2] Event spawned from CHEST PAIN.  [03\/18\/2026 16:22:59 MCLAYBURN2] PETER JOHANSON CHEST PAIN 47 YR OLD  [03\/18\/26 16:22:54 MCLAYBURN2]]","cADLog":"[LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 16:24:21 BWILSON] [EMS] BEEN GOING ON MOST OF THE DAY  [03\/18\/26 16:23:11 MCLAYBURN2] Event spawned from CHEST PAIN.  [03\/18\/2026 16:22:59 MCLAYBURN2] PETER JOHANSON CHEST PAIN 47 YR OLD  [03\/18\/26 16:22:54 MCLAYBURN2]]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"8899 NASHVILLE HWY","locationCoordinates":"36.17537,-85.66854"}
[2026-03-18 21:25:34] [INFO] Number of extracted fields: 24
[2026-03-18 21:25:34] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-18 21:25:34] [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-03-18 21:25:34] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-18 21:25:34] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 21:25:34] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 21:25:34] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-18 21:25:34] [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-03-18 21:25:34] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 21:25:34] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 21:25:34] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 21:25:34] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 21:25:34] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-18 21:25:35] [INFO] Found existing Dispatch with cADNumber '2026000732', ID: 69bb17df74854f18a - will update instead of create
[2026-03-18 21:25:35] [INFO] Updated existing Dispatches record with ID: 69bb17df74854f18a
[2026-03-18 21:25:35] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029512_20260318_212533.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029512_20260318_212533.XML
[2026-03-18 21:25:35] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029512_20260318_212533.XML
[2026-03-18 21:25:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029512_20260318_212535.XML
[2026-03-18 21:25:35] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029512_20260318_212535.XML for user: 68f1466aed072ad4a
[2026-03-18 21:25:35] [INFO] File size: 6404 bytes
[2026-03-18 21:25:35] [INFO] Created FTPFiles record with ID: 69bb184fb3f061cf6
[2026-03-18 21:25:35] [INFO] About to extract fields from XML. File size: 6404 bytes
[2026-03-18 21:25:35] [INFO] Number of mappings: 28
[2026-03-18 21:25:35] [INFO] Starting XML parsing. Content length: 6404
[2026-03-18 21:25:35] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 21:25:35] [INFO] Processing 28 field mappings
[2026-03-18 21:25:35] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 21:25:35] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 21:25:35] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 21:25:35] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 21:25:35] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-18 21:25:35] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-18 21:25:35] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 21:25:35] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 21:25:35] [INFO]   -> Found value: 2026000732
[2026-03-18 21:25:35] [INFO]   -> Set field 'incidentInternalId' = "2026000732"
[2026-03-18 21:25:35] [INFO]   -> Set field 'dispatchRunNumber' = "2026000732"
[2026-03-18 21:25:35] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 21:25:35] [INFO]   -> Found value: CHEST PAIN
[2026-03-18 21:25:35] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-18 21:25:35] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 21:25:35] [INFO]   -> Found value: 8899
[2026-03-18 21:25:35] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8899
[2026-03-18 21:25:35] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 21:25:35] [INFO]   -> Found value: TN
[2026-03-18 21:25:35] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 21:25:35] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 21:25:35] [INFO]   -> Found value: 38544
[2026-03-18 21:25:35] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 21:25:35] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 21:25:35] [INFO]   -> Found value: 8899 NASHVILLE HWY
[2026-03-18 21:25:35] [INFO]   -> Set field 'businessName' = "8899 NASHVILLE HWY"
[2026-03-18 21:25:35] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 21:25:35] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:35] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 21:25:35] [INFO]   -> Found value: 36.17537
[2026-03-18 21:25:35] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1753700000000009140421752817928791046142578125
[2026-03-18 21:25:35] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 21:25:35] [INFO]   -> Found value: -85.66854
[2026-03-18 21:25:35] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6685399999999930287231109105050563812255859375
[2026-03-18 21:25:35] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 21:25:35] [INFO]   -> Found value: 2026-03-18 16:22:59
[2026-03-18 21:25:35] [INFO]   -> Set field 'alarm' = "2026-03-18 16:22:59"
[2026-03-18 21:25:35] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 21:25:35] [INFO]   -> Found value: 2026-03-18 16:23:34
[2026-03-18 21:25:35] [INFO]   -> Set field 'dispatched' = "2026-03-18 16:23:34"
[2026-03-18 21:25:35] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 21:25:35] [INFO]   -> Found value: 2026-03-18 16:25:31
[2026-03-18 21:25:35] [INFO]   -> Set field 'enroute' = "2026-03-18 16:25:31"
[2026-03-18 21:25:35] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 21:25:35] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:35] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 21:25:35] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:35] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 21:25:35] [INFO]   -> Found value: THOMPSON RIDGE RD/BRYANT RIDGE RD
[2026-03-18 21:25:35] [INFO]   -> Set field 'incidentLocationCross' = "THOMPSON RIDGE RD\/BRYANT RIDGE RD"
[2026-03-18 21:25:35] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 21:25:35] [INFO]   -> Found value: TK31
[2026-03-18 21:25:35] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-18 21:25:35] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 21:25:35] [INFO]   -> Found value: 2026-03-18 16:25:28
[2026-03-18 21:25:35] [INFO]   -> Set field 'timedispatch' = "2026-03-18 16:25:28"
[2026-03-18 21:25:35] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 21:25:35] [INFO]   -> Found value: 2026-03-18 16:25:31
[2026-03-18 21:25:35] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 16:25:31"
[2026-03-18 21:25:35] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 21:25:35] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:35] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 21:25:35] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:35] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 21:25:35] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:35] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 21:25:35] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 21:25:35] [INFO]   -> Found value: 20260029512
[2026-03-18 21:25:35] [INFO]   -> Set field 'policeReportNumber' = "20260029512"
[2026-03-18 21:25:35] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 21:25:35] [INFO]   -> Found value: [LAW] UDTS: LE NOT RESPONDING  [03/18/26 16:24:21 BWILSON] [EMS] BEEN GOING ON MOST OF THE DAY  [03/...
[2026-03-18 21:25:35] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 16:24:21 BWILSON] [EMS] BEEN GOING ON MOST OF THE DAY  [03\/18\/26 16:23:11 MCLAYBURN2] Event spawned from CHEST PAIN.  [03\/18\/2026 16:22:59 MCLAYBURN2] PETER JOHANSON CHEST PAIN 47 YR OLD  [03\/18\/26 16:22:54 MCLAYBURN2]]"
[2026-03-18 21:25:35] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 16:24:21 BWILSON] [EMS] BEEN GOING ON MOST OF THE DAY  [03\/18\/26 16:23:11 MCLAYBURN2] Event spawned from CHEST PAIN.  [03\/18\/2026 16:22:59 MCLAYBURN2] PETER JOHANSON CHEST PAIN 47 YR OLD  [03\/18\/26 16:22:54 MCLAYBURN2]]"
[2026-03-18 21:25:35] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 21:25:35] [INFO]   -> Found value: BAXTER
[2026-03-18 21:25:35] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 21:25:35] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 21:25:35] [INFO]   -> Found value: NASHVILLE
[2026-03-18 21:25:35] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-18 21:25:35] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 21:25:35] [INFO]   -> Found value: HWY
[2026-03-18 21:25:35] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-18 21:25:35] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 21:25:35] [INFO]   -> Found value: 8899 NASHVILLE HWY
[2026-03-18 21:25:35] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8899 NASHVILLE HWY"
[2026-03-18 21:25:35] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-18 21:25:35] [INFO] Concatenating street name and type
[2026-03-18 21:25:35] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-18 21:25:35] [INFO] Built locationCoordinates from lat/lng: 36.17537,-85.66854
[2026-03-18 21:25:35] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000732","dispatchRunNumber":"2026000732","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":8899,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"8899 NASHVILLE HWY","nERISIncidentLatitude":36.1753700000000009140421752817928791046142578125,"nERISIncidentLongitude":-85.6685399999999930287231109105050563812255859375,"alarm":"2026-03-18 16:22:59","dispatched":"2026-03-18 16:23:34","enroute":"2026-03-18 16:25:31","incidentLocationCross":"THOMPSON RIDGE RD\/BRYANT RIDGE RD","cADVehicleID":"TK31","timedispatch":"2026-03-18 16:25:28","timeenroutetoscene":"2026-03-18 16:25:31","policeReportNumber":"20260029512","dispatchNotes":"[LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 16:24:21 BWILSON] [EMS] BEEN GOING ON MOST OF THE DAY  [03\/18\/26 16:23:11 MCLAYBURN2] Event spawned from CHEST PAIN.  [03\/18\/2026 16:22:59 MCLAYBURN2] PETER JOHANSON CHEST PAIN 47 YR OLD  [03\/18\/26 16:22:54 MCLAYBURN2]]","cADLog":"[LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 16:24:21 BWILSON] [EMS] BEEN GOING ON MOST OF THE DAY  [03\/18\/26 16:23:11 MCLAYBURN2] Event spawned from CHEST PAIN.  [03\/18\/2026 16:22:59 MCLAYBURN2] PETER JOHANSON CHEST PAIN 47 YR OLD  [03\/18\/26 16:22:54 MCLAYBURN2]]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"8899 NASHVILLE HWY","locationCoordinates":"36.17537,-85.66854"}
[2026-03-18 21:25:35] [INFO] Number of extracted fields: 24
[2026-03-18 21:25:35] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-18 21:25:35] [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-03-18 21:25:35] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-18 21:25:35] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 21:25:35] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 21:25:35] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-18 21:25:36] [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-03-18 21:25:36] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 21:25:36] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 21:25:36] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 21:25:36] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 21:25:36] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-18 21:25:36] [INFO] Found existing Dispatch with cADNumber '2026000732', ID: 69bb17df74854f18a - will update instead of create
[2026-03-18 21:25:36] [INFO] Updated existing Dispatches record with ID: 69bb17df74854f18a
[2026-03-18 21:25:36] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029512_20260318_212535.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029512_20260318_212535.XML
[2026-03-18 21:25:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029512_20260318_212535.XML
[2026-03-18 21:25:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029512_20260318_212536.XML
[2026-03-18 21:25:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029512_20260318_212536.XML for user: 68f1466aed072ad4a
[2026-03-18 21:25:36] [INFO] File size: 6404 bytes
[2026-03-18 21:25:37] [INFO] Created FTPFiles record with ID: 69bb18510c5c19e94
[2026-03-18 21:25:37] [INFO] About to extract fields from XML. File size: 6404 bytes
[2026-03-18 21:25:37] [INFO] Number of mappings: 28
[2026-03-18 21:25:37] [INFO] Starting XML parsing. Content length: 6404
[2026-03-18 21:25:37] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 21:25:37] [INFO] Processing 28 field mappings
[2026-03-18 21:25:37] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 21:25:37] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 21:25:37] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 21:25:37] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 21:25:37] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-18 21:25:37] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-18 21:25:37] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 21:25:37] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 21:25:37] [INFO]   -> Found value: 2026000732
[2026-03-18 21:25:37] [INFO]   -> Set field 'incidentInternalId' = "2026000732"
[2026-03-18 21:25:37] [INFO]   -> Set field 'dispatchRunNumber' = "2026000732"
[2026-03-18 21:25:37] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 21:25:37] [INFO]   -> Found value: CHEST PAIN
[2026-03-18 21:25:37] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-18 21:25:37] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 21:25:37] [INFO]   -> Found value: 8899
[2026-03-18 21:25:37] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8899
[2026-03-18 21:25:37] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 21:25:37] [INFO]   -> Found value: TN
[2026-03-18 21:25:37] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 21:25:37] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 21:25:37] [INFO]   -> Found value: 38544
[2026-03-18 21:25:37] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 21:25:37] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 21:25:37] [INFO]   -> Found value: 8899 NASHVILLE HWY
[2026-03-18 21:25:37] [INFO]   -> Set field 'businessName' = "8899 NASHVILLE HWY"
[2026-03-18 21:25:37] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 21:25:37] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:37] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 21:25:37] [INFO]   -> Found value: 36.17537
[2026-03-18 21:25:37] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1753700000000009140421752817928791046142578125
[2026-03-18 21:25:37] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 21:25:37] [INFO]   -> Found value: -85.66854
[2026-03-18 21:25:37] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6685399999999930287231109105050563812255859375
[2026-03-18 21:25:37] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 21:25:37] [INFO]   -> Found value: 2026-03-18 16:22:59
[2026-03-18 21:25:37] [INFO]   -> Set field 'alarm' = "2026-03-18 16:22:59"
[2026-03-18 21:25:37] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 21:25:37] [INFO]   -> Found value: 2026-03-18 16:23:34
[2026-03-18 21:25:37] [INFO]   -> Set field 'dispatched' = "2026-03-18 16:23:34"
[2026-03-18 21:25:37] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 21:25:37] [INFO]   -> Found value: 2026-03-18 16:25:31
[2026-03-18 21:25:37] [INFO]   -> Set field 'enroute' = "2026-03-18 16:25:31"
[2026-03-18 21:25:37] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 21:25:37] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:37] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 21:25:37] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:37] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 21:25:37] [INFO]   -> Found value: THOMPSON RIDGE RD/BRYANT RIDGE RD
[2026-03-18 21:25:37] [INFO]   -> Set field 'incidentLocationCross' = "THOMPSON RIDGE RD\/BRYANT RIDGE RD"
[2026-03-18 21:25:37] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 21:25:37] [INFO]   -> Found value: TK31
[2026-03-18 21:25:37] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-18 21:25:37] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 21:25:37] [INFO]   -> Found value: 2026-03-18 16:25:28
[2026-03-18 21:25:37] [INFO]   -> Set field 'timedispatch' = "2026-03-18 16:25:28"
[2026-03-18 21:25:37] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 21:25:37] [INFO]   -> Found value: 2026-03-18 16:25:31
[2026-03-18 21:25:37] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 16:25:31"
[2026-03-18 21:25:37] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 21:25:37] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:37] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 21:25:37] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:37] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 21:25:37] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:37] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 21:25:37] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 21:25:37] [INFO]   -> Found value: 20260029512
[2026-03-18 21:25:37] [INFO]   -> Set field 'policeReportNumber' = "20260029512"
[2026-03-18 21:25:37] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 21:25:37] [INFO]   -> Found value: [LAW] UDTS: LE NOT RESPONDING  [03/18/26 16:24:21 BWILSON] [EMS] BEEN GOING ON MOST OF THE DAY  [03/...
[2026-03-18 21:25:37] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 16:24:21 BWILSON] [EMS] BEEN GOING ON MOST OF THE DAY  [03\/18\/26 16:23:11 MCLAYBURN2] Event spawned from CHEST PAIN.  [03\/18\/2026 16:22:59 MCLAYBURN2] PETER JOHANSON CHEST PAIN 47 YR OLD  [03\/18\/26 16:22:54 MCLAYBURN2]]"
[2026-03-18 21:25:37] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 16:24:21 BWILSON] [EMS] BEEN GOING ON MOST OF THE DAY  [03\/18\/26 16:23:11 MCLAYBURN2] Event spawned from CHEST PAIN.  [03\/18\/2026 16:22:59 MCLAYBURN2] PETER JOHANSON CHEST PAIN 47 YR OLD  [03\/18\/26 16:22:54 MCLAYBURN2]]"
[2026-03-18 21:25:37] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 21:25:37] [INFO]   -> Found value: BAXTER
[2026-03-18 21:25:37] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 21:25:37] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 21:25:37] [INFO]   -> Found value: NASHVILLE
[2026-03-18 21:25:37] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-18 21:25:37] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 21:25:37] [INFO]   -> Found value: HWY
[2026-03-18 21:25:37] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-18 21:25:37] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 21:25:37] [INFO]   -> Found value: 8899 NASHVILLE HWY
[2026-03-18 21:25:37] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8899 NASHVILLE HWY"
[2026-03-18 21:25:37] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-18 21:25:37] [INFO] Concatenating street name and type
[2026-03-18 21:25:37] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-18 21:25:37] [INFO] Built locationCoordinates from lat/lng: 36.17537,-85.66854
[2026-03-18 21:25:37] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000732","dispatchRunNumber":"2026000732","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":8899,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"8899 NASHVILLE HWY","nERISIncidentLatitude":36.1753700000000009140421752817928791046142578125,"nERISIncidentLongitude":-85.6685399999999930287231109105050563812255859375,"alarm":"2026-03-18 16:22:59","dispatched":"2026-03-18 16:23:34","enroute":"2026-03-18 16:25:31","incidentLocationCross":"THOMPSON RIDGE RD\/BRYANT RIDGE RD","cADVehicleID":"TK31","timedispatch":"2026-03-18 16:25:28","timeenroutetoscene":"2026-03-18 16:25:31","policeReportNumber":"20260029512","dispatchNotes":"[LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 16:24:21 BWILSON] [EMS] BEEN GOING ON MOST OF THE DAY  [03\/18\/26 16:23:11 MCLAYBURN2] Event spawned from CHEST PAIN.  [03\/18\/2026 16:22:59 MCLAYBURN2] PETER JOHANSON CHEST PAIN 47 YR OLD  [03\/18\/26 16:22:54 MCLAYBURN2]]","cADLog":"[LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 16:24:21 BWILSON] [EMS] BEEN GOING ON MOST OF THE DAY  [03\/18\/26 16:23:11 MCLAYBURN2] Event spawned from CHEST PAIN.  [03\/18\/2026 16:22:59 MCLAYBURN2] PETER JOHANSON CHEST PAIN 47 YR OLD  [03\/18\/26 16:22:54 MCLAYBURN2]]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"8899 NASHVILLE HWY","locationCoordinates":"36.17537,-85.66854"}
[2026-03-18 21:25:37] [INFO] Number of extracted fields: 24
[2026-03-18 21:25:37] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-18 21:25:37] [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-03-18 21:25:37] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-18 21:25:37] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 21:25:37] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 21:25:37] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-18 21:25:37] [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-03-18 21:25:37] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 21:25:37] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 21:25:37] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 21:25:37] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 21:25:37] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-18 21:25:37] [INFO] Found existing Dispatch with cADNumber '2026000732', ID: 69bb17df74854f18a - will update instead of create
[2026-03-18 21:25:38] [INFO] Updated existing Dispatches record with ID: 69bb17df74854f18a
[2026-03-18 21:25:38] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029512_20260318_212536.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029512_20260318_212536.XML
[2026-03-18 21:25:38] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029512_20260318_212536.XML
[2026-03-18 21:25:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029512_20260318_212536_1.XML
[2026-03-18 21:25:38] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029512_20260318_212536_1.XML for user: 68f1466aed072ad4a
[2026-03-18 21:25:38] [INFO] File size: 6404 bytes
[2026-03-18 21:25:38] [INFO] Created FTPFiles record with ID: 69bb185256ac764e7
[2026-03-18 21:25:38] [INFO] About to extract fields from XML. File size: 6404 bytes
[2026-03-18 21:25:38] [INFO] Number of mappings: 28
[2026-03-18 21:25:38] [INFO] Starting XML parsing. Content length: 6404
[2026-03-18 21:25:38] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 21:25:38] [INFO] Processing 28 field mappings
[2026-03-18 21:25:38] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 21:25:38] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 21:25:38] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 21:25:38] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 21:25:38] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-18 21:25:38] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-18 21:25:38] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 21:25:38] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 21:25:38] [INFO]   -> Found value: 2026000732
[2026-03-18 21:25:38] [INFO]   -> Set field 'incidentInternalId' = "2026000732"
[2026-03-18 21:25:38] [INFO]   -> Set field 'dispatchRunNumber' = "2026000732"
[2026-03-18 21:25:38] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 21:25:38] [INFO]   -> Found value: CHEST PAIN
[2026-03-18 21:25:38] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-18 21:25:38] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 21:25:38] [INFO]   -> Found value: 8899
[2026-03-18 21:25:38] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8899
[2026-03-18 21:25:38] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 21:25:38] [INFO]   -> Found value: TN
[2026-03-18 21:25:38] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 21:25:38] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 21:25:38] [INFO]   -> Found value: 38544
[2026-03-18 21:25:38] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-18 21:25:38] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 21:25:38] [INFO]   -> Found value: 8899 NASHVILLE HWY
[2026-03-18 21:25:38] [INFO]   -> Set field 'businessName' = "8899 NASHVILLE HWY"
[2026-03-18 21:25:38] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 21:25:38] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:38] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 21:25:38] [INFO]   -> Found value: 36.17537
[2026-03-18 21:25:38] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1753700000000009140421752817928791046142578125
[2026-03-18 21:25:38] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 21:25:38] [INFO]   -> Found value: -85.66854
[2026-03-18 21:25:38] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6685399999999930287231109105050563812255859375
[2026-03-18 21:25:38] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 21:25:38] [INFO]   -> Found value: 2026-03-18 16:22:59
[2026-03-18 21:25:38] [INFO]   -> Set field 'alarm' = "2026-03-18 16:22:59"
[2026-03-18 21:25:38] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 21:25:38] [INFO]   -> Found value: 2026-03-18 16:23:34
[2026-03-18 21:25:38] [INFO]   -> Set field 'dispatched' = "2026-03-18 16:23:34"
[2026-03-18 21:25:38] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 21:25:38] [INFO]   -> Found value: 2026-03-18 16:25:31
[2026-03-18 21:25:38] [INFO]   -> Set field 'enroute' = "2026-03-18 16:25:31"
[2026-03-18 21:25:38] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 21:25:38] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:38] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 21:25:38] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:38] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 21:25:38] [INFO]   -> Found value: THOMPSON RIDGE RD/BRYANT RIDGE RD
[2026-03-18 21:25:38] [INFO]   -> Set field 'incidentLocationCross' = "THOMPSON RIDGE RD\/BRYANT RIDGE RD"
[2026-03-18 21:25:38] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 21:25:38] [INFO]   -> Found value: TK31
[2026-03-18 21:25:38] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-18 21:25:38] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 21:25:38] [INFO]   -> Found value: 2026-03-18 16:25:28
[2026-03-18 21:25:38] [INFO]   -> Set field 'timedispatch' = "2026-03-18 16:25:28"
[2026-03-18 21:25:38] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 21:25:38] [INFO]   -> Found value: 2026-03-18 16:25:31
[2026-03-18 21:25:38] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 16:25:31"
[2026-03-18 21:25:38] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 21:25:38] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:38] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 21:25:38] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:38] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 21:25:38] [INFO]   -> No value found (null or empty)
[2026-03-18 21:25:38] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 21:25:38] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 21:25:38] [INFO]   -> Found value: 20260029512
[2026-03-18 21:25:38] [INFO]   -> Set field 'policeReportNumber' = "20260029512"
[2026-03-18 21:25:38] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 21:25:38] [INFO]   -> Found value: [LAW] UDTS: LE NOT RESPONDING  [03/18/26 16:24:21 BWILSON] [EMS] BEEN GOING ON MOST OF THE DAY  [03/...
[2026-03-18 21:25:38] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 16:24:21 BWILSON] [EMS] BEEN GOING ON MOST OF THE DAY  [03\/18\/26 16:23:11 MCLAYBURN2] Event spawned from CHEST PAIN.  [03\/18\/2026 16:22:59 MCLAYBURN2] PETER JOHANSON CHEST PAIN 47 YR OLD  [03\/18\/26 16:22:54 MCLAYBURN2]]"
[2026-03-18 21:25:38] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 16:24:21 BWILSON] [EMS] BEEN GOING ON MOST OF THE DAY  [03\/18\/26 16:23:11 MCLAYBURN2] Event spawned from CHEST PAIN.  [03\/18\/2026 16:22:59 MCLAYBURN2] PETER JOHANSON CHEST PAIN 47 YR OLD  [03\/18\/26 16:22:54 MCLAYBURN2]]"
[2026-03-18 21:25:38] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 21:25:38] [INFO]   -> Found value: BAXTER
[2026-03-18 21:25:38] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-18 21:25:38] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 21:25:38] [INFO]   -> Found value: NASHVILLE
[2026-03-18 21:25:38] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-18 21:25:38] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 21:25:38] [INFO]   -> Found value: HWY
[2026-03-18 21:25:38] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-18 21:25:38] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 21:25:38] [INFO]   -> Found value: 8899 NASHVILLE HWY
[2026-03-18 21:25:38] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8899 NASHVILLE HWY"
[2026-03-18 21:25:38] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-18 21:25:38] [INFO] Concatenating street name and type
[2026-03-18 21:25:38] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-18 21:25:38] [INFO] Built locationCoordinates from lat/lng: 36.17537,-85.66854
[2026-03-18 21:25:38] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000732","dispatchRunNumber":"2026000732","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":8899,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"8899 NASHVILLE HWY","nERISIncidentLatitude":36.1753700000000009140421752817928791046142578125,"nERISIncidentLongitude":-85.6685399999999930287231109105050563812255859375,"alarm":"2026-03-18 16:22:59","dispatched":"2026-03-18 16:23:34","enroute":"2026-03-18 16:25:31","incidentLocationCross":"THOMPSON RIDGE RD\/BRYANT RIDGE RD","cADVehicleID":"TK31","timedispatch":"2026-03-18 16:25:28","timeenroutetoscene":"2026-03-18 16:25:31","policeReportNumber":"20260029512","dispatchNotes":"[LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 16:24:21 BWILSON] [EMS] BEEN GOING ON MOST OF THE DAY  [03\/18\/26 16:23:11 MCLAYBURN2] Event spawned from CHEST PAIN.  [03\/18\/2026 16:22:59 MCLAYBURN2] PETER JOHANSON CHEST PAIN 47 YR OLD  [03\/18\/26 16:22:54 MCLAYBURN2]]","cADLog":"[LAW] UDTS: LE NOT RESPONDING  [03\/18\/26 16:24:21 BWILSON] [EMS] BEEN GOING ON MOST OF THE DAY  [03\/18\/26 16:23:11 MCLAYBURN2] Event spawned from CHEST PAIN.  [03\/18\/2026 16:22:59 MCLAYBURN2] PETER JOHANSON CHEST PAIN 47 YR OLD  [03\/18\/26 16:22:54 MCLAYBURN2]]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"8899 NASHVILLE HWY","locationCoordinates":"36.17537,-85.66854"}
[2026-03-18 21:25:38] [INFO] Number of extracted fields: 24
[2026-03-18 21:25:38] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-18 21:25:38] [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-03-18 21:25:38] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-18 21:25:38] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 21:25:38] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 21:25:38] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-18 21:25: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-03-18 21:25:38] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 21:25:38] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 21:25:38] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 21:25:38] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 21:25:38] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-18 21:25:39] [INFO] Found existing Dispatch with cADNumber '2026000732', ID: 69bb17df74854f18a - will update instead of create
[2026-03-18 21:25:39] [INFO] Updated existing Dispatches record with ID: 69bb17df74854f18a
[2026-03-18 21:25:39] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029512_20260318_212536_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029512_20260318_212536_1.XML
[2026-03-18 21:25:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029512_20260318_212536_1.XML
[2026-03-18 21:30:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017999.xml
[2026-03-18 21:30:40] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017999.xml for user: 69320e6a9e3e5ef71
[2026-03-18 21:30:40] [INFO] File size: 9337 bytes
[2026-03-18 21:30:40] [INFO] Created FTPFiles record with ID: 69bb19808df920ef0
[2026-03-18 21:30:40] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 21:30:40] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017999.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017999.xml
[2026-03-18 21:30:40] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017999.xml
[2026-03-18 21:30:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017999.xml
[2026-03-18 21:30:47] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017999.xml for user: 69320e6a9e3e5ef71
[2026-03-18 21:30:47] [INFO] File size: 10578 bytes
[2026-03-18 21:30:47] [INFO] Created FTPFiles record with ID: 69bb1987a60284b67
[2026-03-18 21:30:47] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 21:30:47] [INFO] File already exists in archive, using unique name: cfs_2026-017999_1773869447.xml
[2026-03-18 21:30:47] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017999.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017999_1773869447.xml
[2026-03-18 21:30:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017999.xml
[2026-03-18 21:30:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017999.xml
[2026-03-18 21:30:51] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017999.xml for user: 69320e6a9e3e5ef71
[2026-03-18 21:30:51] [INFO] File size: 11529 bytes
[2026-03-18 21:30:52] [INFO] Created FTPFiles record with ID: 69bb198c05b34d58d
[2026-03-18 21:30:52] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 21:30:52] [INFO] File already exists in archive, using unique name: cfs_2026-017999_1773869452.xml
[2026-03-18 21:30:52] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017999.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017999_1773869452.xml
[2026-03-18 21:30:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017999.xml
[2026-03-18 21:30:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017999.xml
[2026-03-18 21:30:52] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017999.xml for user: 69320e6a9e3e5ef71
[2026-03-18 21:30:52] [INFO] File size: 11529 bytes
[2026-03-18 21:30:52] [INFO] Created FTPFiles record with ID: 69bb198ca189a8b4a
[2026-03-18 21:30:52] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 21:30:52] [INFO] File already exists in archive, using unique name: cfs_2026-017999_1773869452.xml
[2026-03-18 21:30:52] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017999.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017999_1773869452.xml
[2026-03-18 21:30:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017999.xml
[2026-03-18 21:30:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017999.xml
[2026-03-18 21:30:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017999.xml for user: 69320e6a9e3e5ef71
[2026-03-18 21:30:53] [INFO] File size: 11529 bytes
[2026-03-18 21:30:53] [INFO] Created FTPFiles record with ID: 69bb198da1e511904
[2026-03-18 21:30:53] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 21:30:53] [INFO] File already exists in archive, using unique name: cfs_2026-017999_1773869453.xml
[2026-03-18 21:30:53] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017999.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-017999_1773869453.xml
[2026-03-18 21:30:53] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017999.xml
[2026-03-18 21:40:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029526_20260318_214056.XML
[2026-03-18 21:40:56] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029526_20260318_214056.XML for user: 68f1466aed072ad4a
[2026-03-18 21:40:56] [INFO] File size: 5618 bytes
[2026-03-18 21:40:56] [INFO] Created FTPFiles record with ID: 69bb1be8e3873b022
[2026-03-18 21:40:56] [INFO] About to extract fields from XML. File size: 5618 bytes
[2026-03-18 21:40:56] [INFO] Number of mappings: 28
[2026-03-18 21:40:56] [INFO] Starting XML parsing. Content length: 5618
[2026-03-18 21:40:56] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 21:40:56] [INFO] Processing 28 field mappings
[2026-03-18 21:40:56] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 21:40:56] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 21:40:56] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 21:40:56] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-18 21:40:56] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-18 21:40:56] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-18 21:40:56] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 21:40:56] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-18 21:40:56] [INFO]   -> Found value: 2026000733
[2026-03-18 21:40:56] [INFO]   -> Set field 'incidentInternalId' = "2026000733"
[2026-03-18 21:40:56] [INFO]   -> Set field 'dispatchRunNumber' = "2026000733"
[2026-03-18 21:40:56] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 21:40:56] [INFO]   -> Found value: MENTAL STATUS CHANGES
[2026-03-18 21:40:56] [INFO]   -> Set field 'incidentTypeValue1' = "MENTAL STATUS CHANGES"
[2026-03-18 21:40:56] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 21:40:56] [INFO]   -> Found value: 1300
[2026-03-18 21:40:56] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1300
[2026-03-18 21:40:56] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 21:40:56] [INFO]   -> Found value: TN
[2026-03-18 21:40:56] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 21:40:56] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 21:40:56] [INFO]   -> Found value: 38506
[2026-03-18 21:40:56] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 21:40:56] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 21:40:56] [INFO]   -> No value found (null or empty)
[2026-03-18 21:40:56] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 21:40:56] [INFO]   -> No value found (null or empty)
[2026-03-18 21:40:56] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 21:40:56] [INFO]   -> Found value: 36.19280
[2026-03-18 21:40:56] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19279999999999830606611794792115688323974609375
[2026-03-18 21:40:56] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 21:40:56] [INFO]   -> Found value: -85.47324
[2026-03-18 21:40:56] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.473240000000004101821104995906352996826171875
[2026-03-18 21:40:56] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 21:40:56] [INFO]   -> Found value: 2026-03-18 16:39:51
[2026-03-18 21:40:56] [INFO]   -> Set field 'alarm' = "2026-03-18 16:39:51"
[2026-03-18 21:40:56] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 21:40:56] [INFO]   -> Found value: 2026-03-18 16:40:53
[2026-03-18 21:40:56] [INFO]   -> Set field 'dispatched' = "2026-03-18 16:40:53"
[2026-03-18 21:40:56] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 21:40:56] [INFO]   -> No value found (null or empty)
[2026-03-18 21:40:56] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 21:40:56] [INFO]   -> No value found (null or empty)
[2026-03-18 21:40:56] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 21:40:56] [INFO]   -> No value found (null or empty)
[2026-03-18 21:40:56] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 21:40:56] [INFO]   -> Found value: BOWSER RD/GIBBONS RD
[2026-03-18 21:40:56] [INFO]   -> Set field 'incidentLocationCross' = "BOWSER RD\/GIBBONS RD"
[2026-03-18 21:40:56] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 21:40:56] [INFO]   -> Found value: PCFR
[2026-03-18 21:40:56] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-18 21:40:56] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 21:40:56] [INFO]   -> Found value: 2026-03-18 16:40:53
[2026-03-18 21:40:56] [INFO]   -> Set field 'timedispatch' = "2026-03-18 16:40:53"
[2026-03-18 21:40:56] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 21:40:56] [INFO]   -> No value found (null or empty)
[2026-03-18 21:40:56] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 21:40:56] [INFO]   -> No value found (null or empty)
[2026-03-18 21:40:56] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 21:40:56] [INFO]   -> No value found (null or empty)
[2026-03-18 21:40:56] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 21:40:56] [INFO]   -> No value found (null or empty)
[2026-03-18 21:40:56] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 21:40:56] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 21:40:56] [INFO]   -> Found value: 20260029526
[2026-03-18 21:40:56] [INFO]   -> Set field 'policeReportNumber' = "20260029526"
[2026-03-18 21:40:56] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 21:40:56] [INFO]   -> Found value: [EMS] PULL UP BY MAROON CAR  [03/18/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR / HAS RAMP  [03/18/26 1...
[2026-03-18 21:40:56] [INFO]   -> Set field 'dispatchNotes' = "[EMS] PULL UP BY MAROON CAR  [03\/18\/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR \/ HAS RAMP  [03\/18\/26 16:40:12 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [03\/18\/2026 16:39:51 MCLAYBURN2] ONGOING FOR 2 DAYS BUT GOT BAD FOR THE LAST HOUR  [03\/18\/26 16:39:33 MCLAYBURN2] DALE BRYANT  [03\/18\/26 16:39:05 MCLAYBURN2] UNABLE TO STAND OR WALK ABOUT FELL NOT THINKING STRAIGHT  LAST TIME HE DONE THIS HE HAD BLOOD CLOTS  [03\/18\/26 16:38:51 MCLAYBURN2]"
[2026-03-18 21:40:56] [INFO]   -> Set field 'cADLog' = "[EMS] PULL UP BY MAROON CAR  [03\/18\/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR \/ HAS RAMP  [03\/18\/26 16:40:12 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [03\/18\/2026 16:39:51 MCLAYBURN2] ONGOING FOR 2 DAYS BUT GOT BAD FOR THE LAST HOUR  [03\/18\/26 16:39:33 MCLAYBURN2] DALE BRYANT  [03\/18\/26 16:39:05 MCLAYBURN2] UNABLE TO STAND OR WALK ABOUT FELL NOT THINKING STRAIGHT  LAST TIME HE DONE THIS HE HAD BLOOD CLOTS  [03\/18\/26 16:38:51 MCLAYBURN2]"
[2026-03-18 21:40:56] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 21:40:56] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 21:40:56] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 21:40:56] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 21:40:56] [INFO]   -> Found value: MOUNTAIN VIEW
[2026-03-18 21:40:56] [INFO]   -> Set field 'streetName' = "MOUNTAIN VIEW"
[2026-03-18 21:40:56] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 21:40:56] [INFO]   -> Found value: DR
[2026-03-18 21:40:56] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-18 21:40:56] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 21:40:56] [INFO]   -> Found value: 1300 MOUNTAIN VIEW DR
[2026-03-18 21:40:56] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1300 MOUNTAIN VIEW DR"
[2026-03-18 21:40:56] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-18 21:40:56] [INFO] Concatenating street name and type
[2026-03-18 21:40:56] [INFO]   -> Combined street name: MOUNTAIN VIEW DR
[2026-03-18 21:40:56] [INFO] Built locationCoordinates from lat/lng: 36.1928,-85.47324
[2026-03-18 21:40:56] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000733","dispatchRunNumber":"2026000733","incidentTypeValue1":"MENTAL STATUS CHANGES","incidentLocationStreetNumber":1300,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.19279999999999830606611794792115688323974609375,"nERISIncidentLongitude":-85.473240000000004101821104995906352996826171875,"alarm":"2026-03-18 16:39:51","dispatched":"2026-03-18 16:40:53","incidentLocationCross":"BOWSER RD\/GIBBONS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-18 16:40:53","policeReportNumber":"20260029526","dispatchNotes":"[EMS] PULL UP BY MAROON CAR  [03\/18\/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR \/ HAS RAMP  [03\/18\/26 16:40:12 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [03\/18\/2026 16:39:51 MCLAYBURN2] ONGOING FOR 2 DAYS BUT GOT BAD FOR THE LAST HOUR  [03\/18\/26 16:39:33 MCLAYBURN2] DALE BRYANT  [03\/18\/26 16:39:05 MCLAYBURN2] UNABLE TO STAND OR WALK ABOUT FELL NOT THINKING STRAIGHT  LAST TIME HE DONE THIS HE HAD BLOOD CLOTS  [03\/18\/26 16:38:51 MCLAYBURN2]","cADLog":"[EMS] PULL UP BY MAROON CAR  [03\/18\/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR \/ HAS RAMP  [03\/18\/26 16:40:12 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [03\/18\/2026 16:39:51 MCLAYBURN2] ONGOING FOR 2 DAYS BUT GOT BAD FOR THE LAST HOUR  [03\/18\/26 16:39:33 MCLAYBURN2] DALE BRYANT  [03\/18\/26 16:39:05 MCLAYBURN2] UNABLE TO STAND OR WALK ABOUT FELL NOT THINKING STRAIGHT  LAST TIME HE DONE THIS HE HAD BLOOD CLOTS  [03\/18\/26 16:38:51 MCLAYBURN2]","incidentLocationCity":"COOKEVILLE","streetName":"MOUNTAIN VIEW DR","incidentAddressTextVersionStreet":"1300 MOUNTAIN VIEW DR","locationCoordinates":"36.1928,-85.47324"}
[2026-03-18 21:40:56] [INFO] Number of extracted fields: 21
[2026-03-18 21:40:56] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-18 21:40:56] [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-03-18 21:40:56] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-18 21:40:56] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 21:40:57] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 21:40:57] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-18 21:40:57] [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-03-18 21:40:57] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 21:40:57] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 21:40:57] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 21:40:57] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 21:40:57] [INFO] Found existing IncidentTypeMapping with ID: 693bcc48aa7d466fb
[2026-03-18 21:41:09] [INFO] Created new Dispatches record with ID: 69bb1be9d7c87dc57
[2026-03-18 21:41:09] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029526_20260318_214056.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029526_20260318_214056.XML
[2026-03-18 21:41:09] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029526_20260318_214056.XML
[2026-03-18 21:41:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029526_20260318_214056_1.XML
[2026-03-18 21:41:09] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029526_20260318_214056_1.XML for user: 68f1466aed072ad4a
[2026-03-18 21:41:09] [INFO] File size: 5618 bytes
[2026-03-18 21:41:10] [INFO] Created FTPFiles record with ID: 69bb1bf606a13bd7e
[2026-03-18 21:41:10] [INFO] About to extract fields from XML. File size: 5618 bytes
[2026-03-18 21:41:10] [INFO] Number of mappings: 28
[2026-03-18 21:41:10] [INFO] Starting XML parsing. Content length: 5618
[2026-03-18 21:41:10] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 21:41:10] [INFO] Processing 28 field mappings
[2026-03-18 21:41:10] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 21:41:10] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 21:41:10] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 21:41:10] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-18 21:41:10] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-18 21:41:10] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-18 21:41:10] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 21:41:10] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-18 21:41:10] [INFO]   -> Found value: 2026000733
[2026-03-18 21:41:10] [INFO]   -> Set field 'incidentInternalId' = "2026000733"
[2026-03-18 21:41:10] [INFO]   -> Set field 'dispatchRunNumber' = "2026000733"
[2026-03-18 21:41:10] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 21:41:10] [INFO]   -> Found value: MENTAL STATUS CHANGES
[2026-03-18 21:41:10] [INFO]   -> Set field 'incidentTypeValue1' = "MENTAL STATUS CHANGES"
[2026-03-18 21:41:10] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 21:41:10] [INFO]   -> Found value: 1300
[2026-03-18 21:41:10] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1300
[2026-03-18 21:41:10] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 21:41:10] [INFO]   -> Found value: TN
[2026-03-18 21:41:10] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 21:41:10] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 21:41:10] [INFO]   -> Found value: 38506
[2026-03-18 21:41:10] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 21:41:10] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 21:41:10] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:10] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 21:41:10] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:10] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 21:41:10] [INFO]   -> Found value: 36.19280
[2026-03-18 21:41:10] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19279999999999830606611794792115688323974609375
[2026-03-18 21:41:10] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 21:41:10] [INFO]   -> Found value: -85.47324
[2026-03-18 21:41:10] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.473240000000004101821104995906352996826171875
[2026-03-18 21:41:10] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 21:41:10] [INFO]   -> Found value: 2026-03-18 16:39:51
[2026-03-18 21:41:10] [INFO]   -> Set field 'alarm' = "2026-03-18 16:39:51"
[2026-03-18 21:41:10] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 21:41:10] [INFO]   -> Found value: 2026-03-18 16:40:53
[2026-03-18 21:41:10] [INFO]   -> Set field 'dispatched' = "2026-03-18 16:40:53"
[2026-03-18 21:41:10] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 21:41:10] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:10] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 21:41:10] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:10] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 21:41:10] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:10] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 21:41:10] [INFO]   -> Found value: BOWSER RD/GIBBONS RD
[2026-03-18 21:41:10] [INFO]   -> Set field 'incidentLocationCross' = "BOWSER RD\/GIBBONS RD"
[2026-03-18 21:41:10] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 21:41:10] [INFO]   -> Found value: PCFR
[2026-03-18 21:41:10] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-18 21:41:10] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 21:41:10] [INFO]   -> Found value: 2026-03-18 16:40:53
[2026-03-18 21:41:10] [INFO]   -> Set field 'timedispatch' = "2026-03-18 16:40:53"
[2026-03-18 21:41:10] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 21:41:10] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:10] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 21:41:10] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:10] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 21:41:10] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:10] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 21:41:10] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:10] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 21:41:10] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 21:41:10] [INFO]   -> Found value: 20260029526
[2026-03-18 21:41:10] [INFO]   -> Set field 'policeReportNumber' = "20260029526"
[2026-03-18 21:41:10] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 21:41:10] [INFO]   -> Found value: [EMS] PULL UP BY MAROON CAR  [03/18/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR / HAS RAMP  [03/18/26 1...
[2026-03-18 21:41:10] [INFO]   -> Set field 'dispatchNotes' = "[EMS] PULL UP BY MAROON CAR  [03\/18\/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR \/ HAS RAMP  [03\/18\/26 16:40:12 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [03\/18\/2026 16:39:51 MCLAYBURN2] ONGOING FOR 2 DAYS BUT GOT BAD FOR THE LAST HOUR  [03\/18\/26 16:39:33 MCLAYBURN2] DALE BRYANT  [03\/18\/26 16:39:05 MCLAYBURN2] UNABLE TO STAND OR WALK ABOUT FELL NOT THINKING STRAIGHT  LAST TIME HE DONE THIS HE HAD BLOOD CLOTS  [03\/18\/26 16:38:51 MCLAYBURN2]"
[2026-03-18 21:41:10] [INFO]   -> Set field 'cADLog' = "[EMS] PULL UP BY MAROON CAR  [03\/18\/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR \/ HAS RAMP  [03\/18\/26 16:40:12 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [03\/18\/2026 16:39:51 MCLAYBURN2] ONGOING FOR 2 DAYS BUT GOT BAD FOR THE LAST HOUR  [03\/18\/26 16:39:33 MCLAYBURN2] DALE BRYANT  [03\/18\/26 16:39:05 MCLAYBURN2] UNABLE TO STAND OR WALK ABOUT FELL NOT THINKING STRAIGHT  LAST TIME HE DONE THIS HE HAD BLOOD CLOTS  [03\/18\/26 16:38:51 MCLAYBURN2]"
[2026-03-18 21:41:10] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 21:41:10] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 21:41:10] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 21:41:10] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 21:41:10] [INFO]   -> Found value: MOUNTAIN VIEW
[2026-03-18 21:41:10] [INFO]   -> Set field 'streetName' = "MOUNTAIN VIEW"
[2026-03-18 21:41:10] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 21:41:10] [INFO]   -> Found value: DR
[2026-03-18 21:41:10] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-18 21:41:10] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 21:41:10] [INFO]   -> Found value: 1300 MOUNTAIN VIEW DR
[2026-03-18 21:41:10] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1300 MOUNTAIN VIEW DR"
[2026-03-18 21:41:10] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-18 21:41:10] [INFO] Concatenating street name and type
[2026-03-18 21:41:10] [INFO]   -> Combined street name: MOUNTAIN VIEW DR
[2026-03-18 21:41:10] [INFO] Built locationCoordinates from lat/lng: 36.1928,-85.47324
[2026-03-18 21:41:10] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000733","dispatchRunNumber":"2026000733","incidentTypeValue1":"MENTAL STATUS CHANGES","incidentLocationStreetNumber":1300,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.19279999999999830606611794792115688323974609375,"nERISIncidentLongitude":-85.473240000000004101821104995906352996826171875,"alarm":"2026-03-18 16:39:51","dispatched":"2026-03-18 16:40:53","incidentLocationCross":"BOWSER RD\/GIBBONS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-18 16:40:53","policeReportNumber":"20260029526","dispatchNotes":"[EMS] PULL UP BY MAROON CAR  [03\/18\/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR \/ HAS RAMP  [03\/18\/26 16:40:12 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [03\/18\/2026 16:39:51 MCLAYBURN2] ONGOING FOR 2 DAYS BUT GOT BAD FOR THE LAST HOUR  [03\/18\/26 16:39:33 MCLAYBURN2] DALE BRYANT  [03\/18\/26 16:39:05 MCLAYBURN2] UNABLE TO STAND OR WALK ABOUT FELL NOT THINKING STRAIGHT  LAST TIME HE DONE THIS HE HAD BLOOD CLOTS  [03\/18\/26 16:38:51 MCLAYBURN2]","cADLog":"[EMS] PULL UP BY MAROON CAR  [03\/18\/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR \/ HAS RAMP  [03\/18\/26 16:40:12 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [03\/18\/2026 16:39:51 MCLAYBURN2] ONGOING FOR 2 DAYS BUT GOT BAD FOR THE LAST HOUR  [03\/18\/26 16:39:33 MCLAYBURN2] DALE BRYANT  [03\/18\/26 16:39:05 MCLAYBURN2] UNABLE TO STAND OR WALK ABOUT FELL NOT THINKING STRAIGHT  LAST TIME HE DONE THIS HE HAD BLOOD CLOTS  [03\/18\/26 16:38:51 MCLAYBURN2]","incidentLocationCity":"COOKEVILLE","streetName":"MOUNTAIN VIEW DR","incidentAddressTextVersionStreet":"1300 MOUNTAIN VIEW DR","locationCoordinates":"36.1928,-85.47324"}
[2026-03-18 21:41:10] [INFO] Number of extracted fields: 21
[2026-03-18 21:41:10] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-18 21:41:10] [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-03-18 21:41:10] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-18 21:41:10] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 21:41:10] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 21:41:10] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-18 21:41: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-03-18 21:41:10] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 21:41:10] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 21:41:10] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 21:41:10] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 21:41:10] [INFO] Found existing IncidentTypeMapping with ID: 693bcc48aa7d466fb
[2026-03-18 21:41:10] [INFO] Found existing Dispatch with cADNumber '2026000733', ID: 69bb1be9d7c87dc57 - will update instead of create
[2026-03-18 21:41:11] [INFO] Updated existing Dispatches record with ID: 69bb1be9d7c87dc57
[2026-03-18 21:41:11] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029526_20260318_214056_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029526_20260318_214056_1.XML
[2026-03-18 21:41:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029526_20260318_214056_1.XML
[2026-03-18 21:41:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029526_20260318_214152.XML
[2026-03-18 21:41:52] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029526_20260318_214152.XML for user: 68f1466aed072ad4a
[2026-03-18 21:41:52] [INFO] File size: 6456 bytes
[2026-03-18 21:41:52] [INFO] Created FTPFiles record with ID: 69bb1c209e9724c8f
[2026-03-18 21:41:52] [INFO] About to extract fields from XML. File size: 6456 bytes
[2026-03-18 21:41:52] [INFO] Number of mappings: 28
[2026-03-18 21:41:52] [INFO] Starting XML parsing. Content length: 6456
[2026-03-18 21:41:52] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 21:41:52] [INFO] Processing 28 field mappings
[2026-03-18 21:41:52] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 21:41:52] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 21:41:52] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 21:41:52] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-18 21:41:52] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-18 21:41:52] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-18 21:41:52] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 21:41:52] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-18 21:41:52] [INFO]   -> Found value: 2026000733
[2026-03-18 21:41:52] [INFO]   -> Set field 'incidentInternalId' = "2026000733"
[2026-03-18 21:41:52] [INFO]   -> Set field 'dispatchRunNumber' = "2026000733"
[2026-03-18 21:41:52] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 21:41:52] [INFO]   -> Found value: MENTAL STATUS CHANGES
[2026-03-18 21:41:52] [INFO]   -> Set field 'incidentTypeValue1' = "MENTAL STATUS CHANGES"
[2026-03-18 21:41:52] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 21:41:52] [INFO]   -> Found value: 1300
[2026-03-18 21:41:52] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1300
[2026-03-18 21:41:52] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 21:41:52] [INFO]   -> Found value: TN
[2026-03-18 21:41:52] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 21:41:52] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 21:41:52] [INFO]   -> Found value: 38506
[2026-03-18 21:41:52] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 21:41:52] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 21:41:52] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:52] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 21:41:52] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:52] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 21:41:52] [INFO]   -> Found value: 36.19280
[2026-03-18 21:41:52] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19279999999999830606611794792115688323974609375
[2026-03-18 21:41:52] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 21:41:52] [INFO]   -> Found value: -85.47324
[2026-03-18 21:41:52] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.473240000000004101821104995906352996826171875
[2026-03-18 21:41:52] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 21:41:52] [INFO]   -> Found value: 2026-03-18 16:39:51
[2026-03-18 21:41:52] [INFO]   -> Set field 'alarm' = "2026-03-18 16:39:51"
[2026-03-18 21:41:52] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 21:41:52] [INFO]   -> Found value: 2026-03-18 16:40:53
[2026-03-18 21:41:52] [INFO]   -> Set field 'dispatched' = "2026-03-18 16:40:53"
[2026-03-18 21:41:52] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 21:41:52] [INFO]   -> Found value: 2026-03-18 16:41:46
[2026-03-18 21:41:52] [INFO]   -> Set field 'enroute' = "2026-03-18 16:41:46"
[2026-03-18 21:41:52] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 21:41:52] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:52] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 21:41:52] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:52] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 21:41:52] [INFO]   -> Found value: BOWSER RD/GIBBONS RD
[2026-03-18 21:41:52] [INFO]   -> Set field 'incidentLocationCross' = "BOWSER RD\/GIBBONS RD"
[2026-03-18 21:41:52] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 21:41:52] [INFO]   -> Found value: TR11
[2026-03-18 21:41:52] [INFO]   -> Set field 'cADVehicleID' = "TR11"
[2026-03-18 21:41:52] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 21:41:52] [INFO]   -> Found value: 2026-03-18 16:41:43
[2026-03-18 21:41:52] [INFO]   -> Set field 'timedispatch' = "2026-03-18 16:41:43"
[2026-03-18 21:41:52] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 21:41:52] [INFO]   -> Found value: 2026-03-18 16:41:46
[2026-03-18 21:41:52] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 16:41:46"
[2026-03-18 21:41:52] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 21:41:52] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:52] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 21:41:52] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:52] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 21:41:52] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:52] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 21:41:52] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 21:41:52] [INFO]   -> Found value: 20260029526
[2026-03-18 21:41:52] [INFO]   -> Set field 'policeReportNumber' = "20260029526"
[2026-03-18 21:41:52] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 21:41:52] [INFO]   -> Found value: [EMS] PULL UP BY MAROON CAR  [03/18/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR / HAS RAMP  [03/18/26 1...
[2026-03-18 21:41:52] [INFO]   -> Set field 'dispatchNotes' = "[EMS] PULL UP BY MAROON CAR  [03\/18\/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR \/ HAS RAMP  [03\/18\/26 16:40:12 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [03\/18\/2026 16:39:51 MCLAYBURN2] ONGOING FOR 2 DAYS BUT GOT BAD FOR THE LAST HOUR  [03\/18\/26 16:39:33 MCLAYBURN2] DALE BRYANT  [03\/18\/26 16:39:05 MCLAYBURN2] UNABLE TO STAND OR WALK ABOUT FELL NOT THINKING STRAIGHT  LAST TIME HE DONE THIS HE HAD BLOOD CLOTS  [03\/18\/26 16:38:51 MCLAYBURN2]"
[2026-03-18 21:41:52] [INFO]   -> Set field 'cADLog' = "[EMS] PULL UP BY MAROON CAR  [03\/18\/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR \/ HAS RAMP  [03\/18\/26 16:40:12 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [03\/18\/2026 16:39:51 MCLAYBURN2] ONGOING FOR 2 DAYS BUT GOT BAD FOR THE LAST HOUR  [03\/18\/26 16:39:33 MCLAYBURN2] DALE BRYANT  [03\/18\/26 16:39:05 MCLAYBURN2] UNABLE TO STAND OR WALK ABOUT FELL NOT THINKING STRAIGHT  LAST TIME HE DONE THIS HE HAD BLOOD CLOTS  [03\/18\/26 16:38:51 MCLAYBURN2]"
[2026-03-18 21:41:52] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 21:41:52] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 21:41:52] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 21:41:52] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 21:41:52] [INFO]   -> Found value: MOUNTAIN VIEW
[2026-03-18 21:41:52] [INFO]   -> Set field 'streetName' = "MOUNTAIN VIEW"
[2026-03-18 21:41:52] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 21:41:52] [INFO]   -> Found value: DR
[2026-03-18 21:41:52] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-18 21:41:52] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 21:41:52] [INFO]   -> Found value: 1300 MOUNTAIN VIEW DR
[2026-03-18 21:41:52] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1300 MOUNTAIN VIEW DR"
[2026-03-18 21:41:52] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 21:41:52] [INFO] Concatenating street name and type
[2026-03-18 21:41:52] [INFO]   -> Combined street name: MOUNTAIN VIEW DR
[2026-03-18 21:41:52] [INFO] Built locationCoordinates from lat/lng: 36.1928,-85.47324
[2026-03-18 21:41:52] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000733","dispatchRunNumber":"2026000733","incidentTypeValue1":"MENTAL STATUS CHANGES","incidentLocationStreetNumber":1300,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.19279999999999830606611794792115688323974609375,"nERISIncidentLongitude":-85.473240000000004101821104995906352996826171875,"alarm":"2026-03-18 16:39:51","dispatched":"2026-03-18 16:40:53","enroute":"2026-03-18 16:41:46","incidentLocationCross":"BOWSER RD\/GIBBONS RD","cADVehicleID":"TR11","timedispatch":"2026-03-18 16:41:43","timeenroutetoscene":"2026-03-18 16:41:46","policeReportNumber":"20260029526","dispatchNotes":"[EMS] PULL UP BY MAROON CAR  [03\/18\/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR \/ HAS RAMP  [03\/18\/26 16:40:12 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [03\/18\/2026 16:39:51 MCLAYBURN2] ONGOING FOR 2 DAYS BUT GOT BAD FOR THE LAST HOUR  [03\/18\/26 16:39:33 MCLAYBURN2] DALE BRYANT  [03\/18\/26 16:39:05 MCLAYBURN2] UNABLE TO STAND OR WALK ABOUT FELL NOT THINKING STRAIGHT  LAST TIME HE DONE THIS HE HAD BLOOD CLOTS  [03\/18\/26 16:38:51 MCLAYBURN2]","cADLog":"[EMS] PULL UP BY MAROON CAR  [03\/18\/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR \/ HAS RAMP  [03\/18\/26 16:40:12 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [03\/18\/2026 16:39:51 MCLAYBURN2] ONGOING FOR 2 DAYS BUT GOT BAD FOR THE LAST HOUR  [03\/18\/26 16:39:33 MCLAYBURN2] DALE BRYANT  [03\/18\/26 16:39:05 MCLAYBURN2] UNABLE TO STAND OR WALK ABOUT FELL NOT THINKING STRAIGHT  LAST TIME HE DONE THIS HE HAD BLOOD CLOTS  [03\/18\/26 16:38:51 MCLAYBURN2]","incidentLocationCity":"COOKEVILLE","streetName":"MOUNTAIN VIEW DR","incidentAddressTextVersionStreet":"1300 MOUNTAIN VIEW DR","locationCoordinates":"36.1928,-85.47324"}
[2026-03-18 21:41:52] [INFO] Number of extracted fields: 23
[2026-03-18 21:41:52] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-18 21:41:52] [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-03-18 21:41:52] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-18 21:41:52] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 21:41:52] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 21:41:52] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-18 21:41: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-03-18 21:41:53] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 21:41:53] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 21:41:53] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 21:41:53] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 21:41:53] [INFO] Found existing IncidentTypeMapping with ID: 693bcc48aa7d466fb
[2026-03-18 21:41:53] [INFO] Found existing Dispatch with cADNumber '2026000733', ID: 69bb1be9d7c87dc57 - will update instead of create
[2026-03-18 21:41:53] [INFO] Updated existing Dispatches record with ID: 69bb1be9d7c87dc57
[2026-03-18 21:41:53] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029526_20260318_214152.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029526_20260318_214152.XML
[2026-03-18 21:41:53] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029526_20260318_214152.XML
[2026-03-18 21:41:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029526_20260318_214154.XML
[2026-03-18 21:41:54] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029526_20260318_214154.XML for user: 68f1466aed072ad4a
[2026-03-18 21:41:54] [INFO] File size: 6456 bytes
[2026-03-18 21:41:54] [INFO] Created FTPFiles record with ID: 69bb1c22581a7e9b7
[2026-03-18 21:41:54] [INFO] About to extract fields from XML. File size: 6456 bytes
[2026-03-18 21:41:54] [INFO] Number of mappings: 28
[2026-03-18 21:41:54] [INFO] Starting XML parsing. Content length: 6456
[2026-03-18 21:41:54] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 21:41:54] [INFO] Processing 28 field mappings
[2026-03-18 21:41:54] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 21:41:54] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 21:41:54] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 21:41:54] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-18 21:41:54] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-18 21:41:54] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-18 21:41:54] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 21:41:54] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-18 21:41:54] [INFO]   -> Found value: 2026000733
[2026-03-18 21:41:54] [INFO]   -> Set field 'incidentInternalId' = "2026000733"
[2026-03-18 21:41:54] [INFO]   -> Set field 'dispatchRunNumber' = "2026000733"
[2026-03-18 21:41:54] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 21:41:54] [INFO]   -> Found value: MENTAL STATUS CHANGES
[2026-03-18 21:41:54] [INFO]   -> Set field 'incidentTypeValue1' = "MENTAL STATUS CHANGES"
[2026-03-18 21:41:54] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 21:41:54] [INFO]   -> Found value: 1300
[2026-03-18 21:41:54] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1300
[2026-03-18 21:41:54] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 21:41:54] [INFO]   -> Found value: TN
[2026-03-18 21:41:54] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 21:41:54] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 21:41:54] [INFO]   -> Found value: 38506
[2026-03-18 21:41:54] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 21:41:54] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 21:41:54] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:54] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 21:41:54] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:54] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 21:41:54] [INFO]   -> Found value: 36.19280
[2026-03-18 21:41:54] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19279999999999830606611794792115688323974609375
[2026-03-18 21:41:54] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 21:41:54] [INFO]   -> Found value: -85.47324
[2026-03-18 21:41:54] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.473240000000004101821104995906352996826171875
[2026-03-18 21:41:54] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 21:41:54] [INFO]   -> Found value: 2026-03-18 16:39:51
[2026-03-18 21:41:54] [INFO]   -> Set field 'alarm' = "2026-03-18 16:39:51"
[2026-03-18 21:41:54] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 21:41:54] [INFO]   -> Found value: 2026-03-18 16:40:53
[2026-03-18 21:41:54] [INFO]   -> Set field 'dispatched' = "2026-03-18 16:40:53"
[2026-03-18 21:41:54] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 21:41:54] [INFO]   -> Found value: 2026-03-18 16:41:46
[2026-03-18 21:41:54] [INFO]   -> Set field 'enroute' = "2026-03-18 16:41:46"
[2026-03-18 21:41:54] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 21:41:54] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:54] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 21:41:54] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:54] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 21:41:54] [INFO]   -> Found value: BOWSER RD/GIBBONS RD
[2026-03-18 21:41:54] [INFO]   -> Set field 'incidentLocationCross' = "BOWSER RD\/GIBBONS RD"
[2026-03-18 21:41:54] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 21:41:54] [INFO]   -> Found value: TR11
[2026-03-18 21:41:54] [INFO]   -> Set field 'cADVehicleID' = "TR11"
[2026-03-18 21:41:54] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 21:41:54] [INFO]   -> Found value: 2026-03-18 16:41:43
[2026-03-18 21:41:54] [INFO]   -> Set field 'timedispatch' = "2026-03-18 16:41:43"
[2026-03-18 21:41:54] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 21:41:54] [INFO]   -> Found value: 2026-03-18 16:41:46
[2026-03-18 21:41:54] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 16:41:46"
[2026-03-18 21:41:54] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 21:41:54] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:54] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 21:41:54] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:54] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 21:41:54] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:54] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 21:41:54] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 21:41:54] [INFO]   -> Found value: 20260029526
[2026-03-18 21:41:54] [INFO]   -> Set field 'policeReportNumber' = "20260029526"
[2026-03-18 21:41:54] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 21:41:54] [INFO]   -> Found value: [EMS] PULL UP BY MAROON CAR  [03/18/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR / HAS RAMP  [03/18/26 1...
[2026-03-18 21:41:54] [INFO]   -> Set field 'dispatchNotes' = "[EMS] PULL UP BY MAROON CAR  [03\/18\/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR \/ HAS RAMP  [03\/18\/26 16:40:12 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [03\/18\/2026 16:39:51 MCLAYBURN2] ONGOING FOR 2 DAYS BUT GOT BAD FOR THE LAST HOUR  [03\/18\/26 16:39:33 MCLAYBURN2] DALE BRYANT  [03\/18\/26 16:39:05 MCLAYBURN2] UNABLE TO STAND OR WALK ABOUT FELL NOT THINKING STRAIGHT  LAST TIME HE DONE THIS HE HAD BLOOD CLOTS  [03\/18\/26 16:38:51 MCLAYBURN2]"
[2026-03-18 21:41:54] [INFO]   -> Set field 'cADLog' = "[EMS] PULL UP BY MAROON CAR  [03\/18\/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR \/ HAS RAMP  [03\/18\/26 16:40:12 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [03\/18\/2026 16:39:51 MCLAYBURN2] ONGOING FOR 2 DAYS BUT GOT BAD FOR THE LAST HOUR  [03\/18\/26 16:39:33 MCLAYBURN2] DALE BRYANT  [03\/18\/26 16:39:05 MCLAYBURN2] UNABLE TO STAND OR WALK ABOUT FELL NOT THINKING STRAIGHT  LAST TIME HE DONE THIS HE HAD BLOOD CLOTS  [03\/18\/26 16:38:51 MCLAYBURN2]"
[2026-03-18 21:41:54] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 21:41:54] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 21:41:54] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 21:41:54] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 21:41:54] [INFO]   -> Found value: MOUNTAIN VIEW
[2026-03-18 21:41:54] [INFO]   -> Set field 'streetName' = "MOUNTAIN VIEW"
[2026-03-18 21:41:54] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 21:41:54] [INFO]   -> Found value: DR
[2026-03-18 21:41:54] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-18 21:41:54] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 21:41:54] [INFO]   -> Found value: 1300 MOUNTAIN VIEW DR
[2026-03-18 21:41:54] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1300 MOUNTAIN VIEW DR"
[2026-03-18 21:41:54] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 21:41:54] [INFO] Concatenating street name and type
[2026-03-18 21:41:54] [INFO]   -> Combined street name: MOUNTAIN VIEW DR
[2026-03-18 21:41:54] [INFO] Built locationCoordinates from lat/lng: 36.1928,-85.47324
[2026-03-18 21:41:54] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000733","dispatchRunNumber":"2026000733","incidentTypeValue1":"MENTAL STATUS CHANGES","incidentLocationStreetNumber":1300,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.19279999999999830606611794792115688323974609375,"nERISIncidentLongitude":-85.473240000000004101821104995906352996826171875,"alarm":"2026-03-18 16:39:51","dispatched":"2026-03-18 16:40:53","enroute":"2026-03-18 16:41:46","incidentLocationCross":"BOWSER RD\/GIBBONS RD","cADVehicleID":"TR11","timedispatch":"2026-03-18 16:41:43","timeenroutetoscene":"2026-03-18 16:41:46","policeReportNumber":"20260029526","dispatchNotes":"[EMS] PULL UP BY MAROON CAR  [03\/18\/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR \/ HAS RAMP  [03\/18\/26 16:40:12 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [03\/18\/2026 16:39:51 MCLAYBURN2] ONGOING FOR 2 DAYS BUT GOT BAD FOR THE LAST HOUR  [03\/18\/26 16:39:33 MCLAYBURN2] DALE BRYANT  [03\/18\/26 16:39:05 MCLAYBURN2] UNABLE TO STAND OR WALK ABOUT FELL NOT THINKING STRAIGHT  LAST TIME HE DONE THIS HE HAD BLOOD CLOTS  [03\/18\/26 16:38:51 MCLAYBURN2]","cADLog":"[EMS] PULL UP BY MAROON CAR  [03\/18\/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR \/ HAS RAMP  [03\/18\/26 16:40:12 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [03\/18\/2026 16:39:51 MCLAYBURN2] ONGOING FOR 2 DAYS BUT GOT BAD FOR THE LAST HOUR  [03\/18\/26 16:39:33 MCLAYBURN2] DALE BRYANT  [03\/18\/26 16:39:05 MCLAYBURN2] UNABLE TO STAND OR WALK ABOUT FELL NOT THINKING STRAIGHT  LAST TIME HE DONE THIS HE HAD BLOOD CLOTS  [03\/18\/26 16:38:51 MCLAYBURN2]","incidentLocationCity":"COOKEVILLE","streetName":"MOUNTAIN VIEW DR","incidentAddressTextVersionStreet":"1300 MOUNTAIN VIEW DR","locationCoordinates":"36.1928,-85.47324"}
[2026-03-18 21:41:54] [INFO] Number of extracted fields: 23
[2026-03-18 21:41:54] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-18 21:41:54] [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-03-18 21:41:54] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-18 21:41:54] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 21:41:54] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 21:41:54] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-18 21:41:54] [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-03-18 21:41:54] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 21:41:54] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 21:41:54] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 21:41:54] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 21:41:54] [INFO] Found existing IncidentTypeMapping with ID: 693bcc48aa7d466fb
[2026-03-18 21:41:55] [INFO] Found existing Dispatch with cADNumber '2026000733', ID: 69bb1be9d7c87dc57 - will update instead of create
[2026-03-18 21:41:55] [INFO] Updated existing Dispatches record with ID: 69bb1be9d7c87dc57
[2026-03-18 21:41:55] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029526_20260318_214154.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029526_20260318_214154.XML
[2026-03-18 21:41:55] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029526_20260318_214154.XML
[2026-03-18 21:41:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029526_20260318_214155.XML
[2026-03-18 21:41:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029526_20260318_214155.XML for user: 68f1466aed072ad4a
[2026-03-18 21:41:55] [INFO] File size: 6456 bytes
[2026-03-18 21:41:55] [INFO] Created FTPFiles record with ID: 69bb1c23b4a8166e3
[2026-03-18 21:41:55] [INFO] About to extract fields from XML. File size: 6456 bytes
[2026-03-18 21:41:55] [INFO] Number of mappings: 28
[2026-03-18 21:41:55] [INFO] Starting XML parsing. Content length: 6456
[2026-03-18 21:41:55] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 21:41:55] [INFO] Processing 28 field mappings
[2026-03-18 21:41:55] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 21:41:55] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 21:41:55] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 21:41:55] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-18 21:41:55] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-18 21:41:55] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-18 21:41:55] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 21:41:55] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-18 21:41:55] [INFO]   -> Found value: 2026000733
[2026-03-18 21:41:55] [INFO]   -> Set field 'incidentInternalId' = "2026000733"
[2026-03-18 21:41:55] [INFO]   -> Set field 'dispatchRunNumber' = "2026000733"
[2026-03-18 21:41:55] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 21:41:55] [INFO]   -> Found value: MENTAL STATUS CHANGES
[2026-03-18 21:41:55] [INFO]   -> Set field 'incidentTypeValue1' = "MENTAL STATUS CHANGES"
[2026-03-18 21:41:55] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 21:41:55] [INFO]   -> Found value: 1300
[2026-03-18 21:41:55] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1300
[2026-03-18 21:41:55] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 21:41:55] [INFO]   -> Found value: TN
[2026-03-18 21:41:55] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 21:41:55] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 21:41:55] [INFO]   -> Found value: 38506
[2026-03-18 21:41:55] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-18 21:41:55] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 21:41:55] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:55] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 21:41:55] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:55] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 21:41:55] [INFO]   -> Found value: 36.19280
[2026-03-18 21:41:55] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19279999999999830606611794792115688323974609375
[2026-03-18 21:41:55] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 21:41:55] [INFO]   -> Found value: -85.47324
[2026-03-18 21:41:55] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.473240000000004101821104995906352996826171875
[2026-03-18 21:41:55] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 21:41:55] [INFO]   -> Found value: 2026-03-18 16:39:51
[2026-03-18 21:41:55] [INFO]   -> Set field 'alarm' = "2026-03-18 16:39:51"
[2026-03-18 21:41:55] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 21:41:55] [INFO]   -> Found value: 2026-03-18 16:40:53
[2026-03-18 21:41:55] [INFO]   -> Set field 'dispatched' = "2026-03-18 16:40:53"
[2026-03-18 21:41:55] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 21:41:55] [INFO]   -> Found value: 2026-03-18 16:41:46
[2026-03-18 21:41:55] [INFO]   -> Set field 'enroute' = "2026-03-18 16:41:46"
[2026-03-18 21:41:55] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 21:41:55] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:55] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 21:41:55] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:55] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 21:41:55] [INFO]   -> Found value: BOWSER RD/GIBBONS RD
[2026-03-18 21:41:55] [INFO]   -> Set field 'incidentLocationCross' = "BOWSER RD\/GIBBONS RD"
[2026-03-18 21:41:55] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 21:41:55] [INFO]   -> Found value: TR11
[2026-03-18 21:41:55] [INFO]   -> Set field 'cADVehicleID' = "TR11"
[2026-03-18 21:41:55] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 21:41:55] [INFO]   -> Found value: 2026-03-18 16:41:43
[2026-03-18 21:41:55] [INFO]   -> Set field 'timedispatch' = "2026-03-18 16:41:43"
[2026-03-18 21:41:55] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 21:41:55] [INFO]   -> Found value: 2026-03-18 16:41:46
[2026-03-18 21:41:55] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 16:41:46"
[2026-03-18 21:41:55] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 21:41:55] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:55] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 21:41:55] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:55] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 21:41:55] [INFO]   -> No value found (null or empty)
[2026-03-18 21:41:55] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 21:41:55] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 21:41:55] [INFO]   -> Found value: 20260029526
[2026-03-18 21:41:55] [INFO]   -> Set field 'policeReportNumber' = "20260029526"
[2026-03-18 21:41:55] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 21:41:55] [INFO]   -> Found value: [EMS] PULL UP BY MAROON CAR  [03/18/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR / HAS RAMP  [03/18/26 1...
[2026-03-18 21:41:55] [INFO]   -> Set field 'dispatchNotes' = "[EMS] PULL UP BY MAROON CAR  [03\/18\/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR \/ HAS RAMP  [03\/18\/26 16:40:12 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [03\/18\/2026 16:39:51 MCLAYBURN2] ONGOING FOR 2 DAYS BUT GOT BAD FOR THE LAST HOUR  [03\/18\/26 16:39:33 MCLAYBURN2] DALE BRYANT  [03\/18\/26 16:39:05 MCLAYBURN2] UNABLE TO STAND OR WALK ABOUT FELL NOT THINKING STRAIGHT  LAST TIME HE DONE THIS HE HAD BLOOD CLOTS  [03\/18\/26 16:38:51 MCLAYBURN2]"
[2026-03-18 21:41:55] [INFO]   -> Set field 'cADLog' = "[EMS] PULL UP BY MAROON CAR  [03\/18\/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR \/ HAS RAMP  [03\/18\/26 16:40:12 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [03\/18\/2026 16:39:51 MCLAYBURN2] ONGOING FOR 2 DAYS BUT GOT BAD FOR THE LAST HOUR  [03\/18\/26 16:39:33 MCLAYBURN2] DALE BRYANT  [03\/18\/26 16:39:05 MCLAYBURN2] UNABLE TO STAND OR WALK ABOUT FELL NOT THINKING STRAIGHT  LAST TIME HE DONE THIS HE HAD BLOOD CLOTS  [03\/18\/26 16:38:51 MCLAYBURN2]"
[2026-03-18 21:41:55] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 21:41:55] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 21:41:55] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 21:41:55] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 21:41:55] [INFO]   -> Found value: MOUNTAIN VIEW
[2026-03-18 21:41:55] [INFO]   -> Set field 'streetName' = "MOUNTAIN VIEW"
[2026-03-18 21:41:55] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 21:41:55] [INFO]   -> Found value: DR
[2026-03-18 21:41:55] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-18 21:41:55] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 21:41:55] [INFO]   -> Found value: 1300 MOUNTAIN VIEW DR
[2026-03-18 21:41:55] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1300 MOUNTAIN VIEW DR"
[2026-03-18 21:41:55] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 21:41:55] [INFO] Concatenating street name and type
[2026-03-18 21:41:55] [INFO]   -> Combined street name: MOUNTAIN VIEW DR
[2026-03-18 21:41:55] [INFO] Built locationCoordinates from lat/lng: 36.1928,-85.47324
[2026-03-18 21:41:55] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000733","dispatchRunNumber":"2026000733","incidentTypeValue1":"MENTAL STATUS CHANGES","incidentLocationStreetNumber":1300,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.19279999999999830606611794792115688323974609375,"nERISIncidentLongitude":-85.473240000000004101821104995906352996826171875,"alarm":"2026-03-18 16:39:51","dispatched":"2026-03-18 16:40:53","enroute":"2026-03-18 16:41:46","incidentLocationCross":"BOWSER RD\/GIBBONS RD","cADVehicleID":"TR11","timedispatch":"2026-03-18 16:41:43","timeenroutetoscene":"2026-03-18 16:41:46","policeReportNumber":"20260029526","dispatchNotes":"[EMS] PULL UP BY MAROON CAR  [03\/18\/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR \/ HAS RAMP  [03\/18\/26 16:40:12 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [03\/18\/2026 16:39:51 MCLAYBURN2] ONGOING FOR 2 DAYS BUT GOT BAD FOR THE LAST HOUR  [03\/18\/26 16:39:33 MCLAYBURN2] DALE BRYANT  [03\/18\/26 16:39:05 MCLAYBURN2] UNABLE TO STAND OR WALK ABOUT FELL NOT THINKING STRAIGHT  LAST TIME HE DONE THIS HE HAD BLOOD CLOTS  [03\/18\/26 16:38:51 MCLAYBURN2]","cADLog":"[EMS] PULL UP BY MAROON CAR  [03\/18\/26 16:40:40 MCLAYBURN2] [EMS] FRONT DOOR \/ HAS RAMP  [03\/18\/26 16:40:12 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [03\/18\/2026 16:39:51 MCLAYBURN2] ONGOING FOR 2 DAYS BUT GOT BAD FOR THE LAST HOUR  [03\/18\/26 16:39:33 MCLAYBURN2] DALE BRYANT  [03\/18\/26 16:39:05 MCLAYBURN2] UNABLE TO STAND OR WALK ABOUT FELL NOT THINKING STRAIGHT  LAST TIME HE DONE THIS HE HAD BLOOD CLOTS  [03\/18\/26 16:38:51 MCLAYBURN2]","incidentLocationCity":"COOKEVILLE","streetName":"MOUNTAIN VIEW DR","incidentAddressTextVersionStreet":"1300 MOUNTAIN VIEW DR","locationCoordinates":"36.1928,-85.47324"}
[2026-03-18 21:41:55] [INFO] Number of extracted fields: 23
[2026-03-18 21:41:55] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-18 21:41:55] [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-03-18 21:41:55] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-18 21:41:55] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 21:41:55] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 21:41:55] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-18 21:41:56] [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-03-18 21:41:56] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 21:41:56] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 21:41:56] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 21:41:56] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 21:41:56] [INFO] Found existing IncidentTypeMapping with ID: 693bcc48aa7d466fb
[2026-03-18 21:41:56] [INFO] Found existing Dispatch with cADNumber '2026000733', ID: 69bb1be9d7c87dc57 - will update instead of create
[2026-03-18 21:41:56] [INFO] Updated existing Dispatches record with ID: 69bb1be9d7c87dc57
[2026-03-18 21:41:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029526_20260318_214155.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029526_20260318_214155.XML
[2026-03-18 21:41:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029526_20260318_214155.XML
[2026-03-18 22:02:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260029533_20260318_220232.XML
[2026-03-18 22:02:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260029533_20260318_220232.XML for user: 68f1466aed072ad4a
[2026-03-18 22:02:32] [INFO] File size: 5385 bytes
[2026-03-18 22:02:32] [INFO] Created FTPFiles record with ID: 69bb20f8b47ca21b1
[2026-03-18 22:02:32] [INFO] About to extract fields from XML. File size: 5385 bytes
[2026-03-18 22:02:32] [INFO] Number of mappings: 28
[2026-03-18 22:02:32] [INFO] Starting XML parsing. Content length: 5385
[2026-03-18 22:02:32] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 22:02:32] [INFO] Processing 28 field mappings
[2026-03-18 22:02:32] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 22:02:32] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 22:02:32] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 22:02:32] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-18 22:02:32] [INFO]   -> Found value: MFD
EMS
PCFD
[2026-03-18 22:02:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nEMS\nPCFD"
[2026-03-18 22:02:32] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 22:02:32] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-18 22:02:32] [INFO]   -> Found value: 2026000099
[2026-03-18 22:02:32] [INFO]   -> Set field 'incidentInternalId' = "2026000099"
[2026-03-18 22:02:32] [INFO]   -> Set field 'dispatchRunNumber' = "2026000099"
[2026-03-18 22:02:32] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 22:02:32] [INFO]   -> Found value: DIABETIC PROBLEM
[2026-03-18 22:02:32] [INFO]   -> Set field 'incidentTypeValue1' = "DIABETIC PROBLEM"
[2026-03-18 22:02:32] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 22:02:32] [INFO]   -> Found value: 103
[2026-03-18 22:02:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 103
[2026-03-18 22:02:32] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 22:02:32] [INFO]   -> Found value: TN
[2026-03-18 22:02:32] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 22:02:32] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 22:02:32] [INFO]   -> Found value: 38574
[2026-03-18 22:02:32] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-18 22:02:32] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 22:02:32] [INFO]   -> Found value: 103 E PRICE AVE
[2026-03-18 22:02:32] [INFO]   -> Set field 'businessName' = "103 E PRICE AVE"
[2026-03-18 22:02:32] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 22:02:32] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:32] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 22:02:32] [INFO]   -> Found value: 36.14359
[2026-03-18 22:02:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1435900000000032150637707673013210296630859375
[2026-03-18 22:02:32] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 22:02:32] [INFO]   -> Found value: -85.27270
[2026-03-18 22:02:32] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2727000000000003865352482534945011138916015625
[2026-03-18 22:02:32] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 22:02:32] [INFO]   -> Found value: 2026-03-18 17:01:51
[2026-03-18 22:02:32] [INFO]   -> Set field 'alarm' = "2026-03-18 17:01:51"
[2026-03-18 22:02:32] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 22:02:32] [INFO]   -> Found value: 2026-03-18 17:02:27
[2026-03-18 22:02:32] [INFO]   -> Set field 'dispatched' = "2026-03-18 17:02:27"
[2026-03-18 22:02:32] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 22:02:32] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:32] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 22:02:32] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:32] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 22:02:32] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:32] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 22:02:32] [INFO]   -> Found value: S HOLLY ST/S CHESTNUT ST
[2026-03-18 22:02:32] [INFO]   -> Set field 'incidentLocationCross' = "S HOLLY ST\/S CHESTNUT ST"
[2026-03-18 22:02:32] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 22:02:32] [INFO]   -> Found value: MFR
[2026-03-18 22:02:32] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-03-18 22:02:32] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 22:02:32] [INFO]   -> Found value: 2026-03-18 17:02:27
[2026-03-18 22:02:32] [INFO]   -> Set field 'timedispatch' = "2026-03-18 17:02:27"
[2026-03-18 22:02:32] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 22:02:32] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:32] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 22:02:32] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:32] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 22:02:32] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:32] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 22:02:32] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:32] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 22:02:32] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 22:02:32] [INFO]   -> Found value: 20260029533
[2026-03-18 22:02:32] [INFO]   -> Set field 'policeReportNumber' = "20260029533"
[2026-03-18 22:02:32] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 22:02:32] [INFO]   -> Found value: [EMS] ONSET OF AN HOUR  [03/18/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03/18/20...
[2026-03-18 22:02:32] [INFO]   -> Set field 'dispatchNotes' = "[EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]"
[2026-03-18 22:02:32] [INFO]   -> Set field 'cADLog' = "[EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]"
[2026-03-18 22:02:32] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 22:02:32] [INFO]   -> Found value: MONTEREY
[2026-03-18 22:02:32] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-18 22:02:32] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 22:02:32] [INFO]   -> Found value: PRICE
[2026-03-18 22:02:32] [INFO]   -> Set field 'streetName' = "PRICE"
[2026-03-18 22:02:32] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 22:02:32] [INFO]   -> Found value: AVE
[2026-03-18 22:02:32] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-18 22:02:32] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 22:02:32] [INFO]   -> Found value: 103 E PRICE AVE
[2026-03-18 22:02:32] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "103 E PRICE AVE"
[2026-03-18 22:02:32] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-18 22:02:32] [INFO] Concatenating street name and type
[2026-03-18 22:02:32] [INFO]   -> Combined street name: PRICE AVE
[2026-03-18 22:02:32] [INFO] Built locationCoordinates from lat/lng: 36.14359,-85.2727
[2026-03-18 22:02:32] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nEMS\nPCFD","incidentInternalId":"2026000099","dispatchRunNumber":"2026000099","incidentTypeValue1":"DIABETIC PROBLEM","incidentLocationStreetNumber":103,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"103 E PRICE AVE","nERISIncidentLatitude":36.1435900000000032150637707673013210296630859375,"nERISIncidentLongitude":-85.2727000000000003865352482534945011138916015625,"alarm":"2026-03-18 17:01:51","dispatched":"2026-03-18 17:02:27","incidentLocationCross":"S HOLLY ST\/S CHESTNUT ST","cADVehicleID":"MFR","timedispatch":"2026-03-18 17:02:27","policeReportNumber":"20260029533","dispatchNotes":"[EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]","cADLog":"[EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]","incidentLocationCity":"MONTEREY","streetName":"PRICE AVE","incidentAddressTextVersionStreet":"103 E PRICE AVE","locationCoordinates":"36.14359,-85.2727"}
[2026-03-18 22:02:32] [INFO] Number of extracted fields: 22
[2026-03-18 22:02:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
EMS
PCFD'
[2026-03-18 22:02:32] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
EMS
PCFD', Parsed IDs = ["MFD","EMS","PCFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-18 22:02:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","EMS","PCFD"]
[2026-03-18 22:02:32] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-18 22:02:32] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-18 22:02:32] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCFD"]
[2026-03-18 22:02:33] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-18 22:02:33] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-18 22:02:33] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 22:02:33] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-18 22:02:33] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-18 22:02:33] [INFO] Found existing IncidentTypeMapping with ID: 6986a2d46146fc3fa
[2026-03-18 22:02:36] [INFO] Created new Dispatches record with ID: 69bb20f9b0739aa3d
[2026-03-18 22:02:36] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260029533_20260318_220232.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/MFD_20260029533_20260318_220232.XML
[2026-03-18 22:02:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260029533_20260318_220232.XML
[2026-03-18 22:02:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029534_20260318_220234.XML
[2026-03-18 22:02:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029534_20260318_220234.XML for user: 68f1466aed072ad4a
[2026-03-18 22:02:36] [INFO] File size: 5460 bytes
[2026-03-18 22:02:37] [INFO] Created FTPFiles record with ID: 69bb20fcf254d91a1
[2026-03-18 22:02:37] [INFO] About to extract fields from XML. File size: 5460 bytes
[2026-03-18 22:02:37] [INFO] Number of mappings: 28
[2026-03-18 22:02:37] [INFO] Starting XML parsing. Content length: 5460
[2026-03-18 22:02:37] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 22:02:37] [INFO] Processing 28 field mappings
[2026-03-18 22:02:37] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 22:02:37] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 22:02:37] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 22:02:37] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-18 22:02:37] [INFO]   -> Found value: PCFD
EMS
MFD
[2026-03-18 22:02:37] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMFD"
[2026-03-18 22:02:37] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 22:02:37] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-18 22:02:37] [INFO]   -> Found value: 2026000734
[2026-03-18 22:02:37] [INFO]   -> Set field 'incidentInternalId' = "2026000734"
[2026-03-18 22:02:37] [INFO]   -> Set field 'dispatchRunNumber' = "2026000734"
[2026-03-18 22:02:37] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 22:02:37] [INFO]   -> Found value: DIABETIC PROBLEM
[2026-03-18 22:02:37] [INFO]   -> Set field 'incidentTypeValue1' = "DIABETIC PROBLEM"
[2026-03-18 22:02:37] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 22:02:37] [INFO]   -> Found value: 103
[2026-03-18 22:02:37] [INFO]   -> Set field 'incidentLocationStreetNumber' = 103
[2026-03-18 22:02:37] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 22:02:37] [INFO]   -> Found value: TN
[2026-03-18 22:02:37] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 22:02:37] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 22:02:37] [INFO]   -> Found value: 38574
[2026-03-18 22:02:37] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-18 22:02:37] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 22:02:37] [INFO]   -> Found value: 103 E PRICE AVE
[2026-03-18 22:02:37] [INFO]   -> Set field 'businessName' = "103 E PRICE AVE"
[2026-03-18 22:02:37] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 22:02:37] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:37] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 22:02:37] [INFO]   -> Found value: 36.14359
[2026-03-18 22:02:37] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1435900000000032150637707673013210296630859375
[2026-03-18 22:02:37] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 22:02:37] [INFO]   -> Found value: -85.27270
[2026-03-18 22:02:37] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2727000000000003865352482534945011138916015625
[2026-03-18 22:02:37] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 22:02:37] [INFO]   -> Found value: 2026-03-18 17:02:27
[2026-03-18 22:02:37] [INFO]   -> Set field 'alarm' = "2026-03-18 17:02:27"
[2026-03-18 22:02:37] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 22:02:37] [INFO]   -> Found value: 2026-03-18 17:02:27
[2026-03-18 22:02:37] [INFO]   -> Set field 'dispatched' = "2026-03-18 17:02:27"
[2026-03-18 22:02:37] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 22:02:37] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:37] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 22:02:37] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:37] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 22:02:37] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:37] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 22:02:37] [INFO]   -> Found value: S HOLLY ST/S CHESTNUT ST
[2026-03-18 22:02:37] [INFO]   -> Set field 'incidentLocationCross' = "S HOLLY ST\/S CHESTNUT ST"
[2026-03-18 22:02:37] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 22:02:37] [INFO]   -> Found value: PCFR
[2026-03-18 22:02:37] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-18 22:02:37] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 22:02:37] [INFO]   -> Found value: 2026-03-18 17:02:27
[2026-03-18 22:02:37] [INFO]   -> Set field 'timedispatch' = "2026-03-18 17:02:27"
[2026-03-18 22:02:37] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 22:02:37] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:37] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 22:02:37] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:37] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 22:02:37] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:37] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 22:02:37] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:37] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 22:02:37] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 22:02:37] [INFO]   -> Found value: 20260029534
[2026-03-18 22:02:37] [INFO]   -> Set field 'policeReportNumber' = "20260029534"
[2026-03-18 22:02:37] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 22:02:37] [INFO]   -> Found value: Event spawned from DIABETIC PROBLEM.  [03/18/2026 17:02:27 JBOHANNON] [EMS] ONSET OF AN HOUR  [03/18...
[2026-03-18 22:02:37] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:02:27 JBOHANNON] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]"
[2026-03-18 22:02:37] [INFO]   -> Set field 'cADLog' = "Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:02:27 JBOHANNON] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]"
[2026-03-18 22:02:37] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 22:02:37] [INFO]   -> Found value: MONTEREY
[2026-03-18 22:02:37] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-18 22:02:37] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 22:02:37] [INFO]   -> Found value: PRICE
[2026-03-18 22:02:37] [INFO]   -> Set field 'streetName' = "PRICE"
[2026-03-18 22:02:37] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 22:02:37] [INFO]   -> Found value: AVE
[2026-03-18 22:02:37] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-18 22:02:37] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 22:02:37] [INFO]   -> Found value: 103 E PRICE AVE
[2026-03-18 22:02:37] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "103 E PRICE AVE"
[2026-03-18 22:02:37] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-18 22:02:37] [INFO] Concatenating street name and type
[2026-03-18 22:02:37] [INFO]   -> Combined street name: PRICE AVE
[2026-03-18 22:02:37] [INFO] Built locationCoordinates from lat/lng: 36.14359,-85.2727
[2026-03-18 22:02:37] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMFD","incidentInternalId":"2026000734","dispatchRunNumber":"2026000734","incidentTypeValue1":"DIABETIC PROBLEM","incidentLocationStreetNumber":103,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"103 E PRICE AVE","nERISIncidentLatitude":36.1435900000000032150637707673013210296630859375,"nERISIncidentLongitude":-85.2727000000000003865352482534945011138916015625,"alarm":"2026-03-18 17:02:27","dispatched":"2026-03-18 17:02:27","incidentLocationCross":"S HOLLY ST\/S CHESTNUT ST","cADVehicleID":"PCFR","timedispatch":"2026-03-18 17:02:27","policeReportNumber":"20260029534","dispatchNotes":"Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:02:27 JBOHANNON] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]","cADLog":"Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:02:27 JBOHANNON] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]","incidentLocationCity":"MONTEREY","streetName":"PRICE AVE","incidentAddressTextVersionStreet":"103 E PRICE AVE","locationCoordinates":"36.14359,-85.2727"}
[2026-03-18 22:02:37] [INFO] Number of extracted fields: 22
[2026-03-18 22:02:37] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MFD'
[2026-03-18 22:02:37] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MFD', Parsed IDs = ["PCFD","EMS","MFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-18 22:02:37] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MFD"]
[2026-03-18 22:02:37] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 22:02:37] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 22:02:37] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MFD"]
[2026-03-18 22:02:37] [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-03-18 22:02:37] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 22:02:37] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 22:02:37] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 22:02:37] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 22:02:37] [INFO] Found existing IncidentTypeMapping with ID: 6937a13f0053c6dd7
[2026-03-18 22:02:47] [INFO] Created new Dispatches record with ID: 69bb20fdda46c53d8
[2026-03-18 22:02:47] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029534_20260318_220234.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029534_20260318_220234.XML
[2026-03-18 22:02:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029534_20260318_220234.XML
[2026-03-18 22:02:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029534_20260318_220234_1.XML
[2026-03-18 22:02:47] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029534_20260318_220234_1.XML for user: 68f1466aed072ad4a
[2026-03-18 22:02:47] [INFO] File size: 5460 bytes
[2026-03-18 22:02:47] [INFO] Created FTPFiles record with ID: 69bb2107709041225
[2026-03-18 22:02:47] [INFO] About to extract fields from XML. File size: 5460 bytes
[2026-03-18 22:02:47] [INFO] Number of mappings: 28
[2026-03-18 22:02:47] [INFO] Starting XML parsing. Content length: 5460
[2026-03-18 22:02:47] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 22:02:47] [INFO] Processing 28 field mappings
[2026-03-18 22:02:47] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 22:02:47] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 22:02:47] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 22:02:47] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-18 22:02:47] [INFO]   -> Found value: PCFD
EMS
MFD
[2026-03-18 22:02:47] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMFD"
[2026-03-18 22:02:47] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 22:02:47] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-18 22:02:47] [INFO]   -> Found value: 2026000734
[2026-03-18 22:02:47] [INFO]   -> Set field 'incidentInternalId' = "2026000734"
[2026-03-18 22:02:47] [INFO]   -> Set field 'dispatchRunNumber' = "2026000734"
[2026-03-18 22:02:47] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 22:02:47] [INFO]   -> Found value: DIABETIC PROBLEM
[2026-03-18 22:02:47] [INFO]   -> Set field 'incidentTypeValue1' = "DIABETIC PROBLEM"
[2026-03-18 22:02:47] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 22:02:47] [INFO]   -> Found value: 103
[2026-03-18 22:02:47] [INFO]   -> Set field 'incidentLocationStreetNumber' = 103
[2026-03-18 22:02:47] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 22:02:47] [INFO]   -> Found value: TN
[2026-03-18 22:02:47] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 22:02:47] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 22:02:47] [INFO]   -> Found value: 38574
[2026-03-18 22:02:47] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-18 22:02:47] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 22:02:47] [INFO]   -> Found value: 103 E PRICE AVE
[2026-03-18 22:02:47] [INFO]   -> Set field 'businessName' = "103 E PRICE AVE"
[2026-03-18 22:02:47] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 22:02:47] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:47] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 22:02:47] [INFO]   -> Found value: 36.14359
[2026-03-18 22:02:47] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1435900000000032150637707673013210296630859375
[2026-03-18 22:02:47] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 22:02:47] [INFO]   -> Found value: -85.27270
[2026-03-18 22:02:47] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2727000000000003865352482534945011138916015625
[2026-03-18 22:02:47] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 22:02:47] [INFO]   -> Found value: 2026-03-18 17:02:27
[2026-03-18 22:02:47] [INFO]   -> Set field 'alarm' = "2026-03-18 17:02:27"
[2026-03-18 22:02:47] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 22:02:47] [INFO]   -> Found value: 2026-03-18 17:02:27
[2026-03-18 22:02:47] [INFO]   -> Set field 'dispatched' = "2026-03-18 17:02:27"
[2026-03-18 22:02:47] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 22:02:47] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:47] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 22:02:47] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:47] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 22:02:47] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:47] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 22:02:47] [INFO]   -> Found value: S HOLLY ST/S CHESTNUT ST
[2026-03-18 22:02:47] [INFO]   -> Set field 'incidentLocationCross' = "S HOLLY ST\/S CHESTNUT ST"
[2026-03-18 22:02:47] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 22:02:47] [INFO]   -> Found value: PCFR
[2026-03-18 22:02:47] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-18 22:02:47] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 22:02:47] [INFO]   -> Found value: 2026-03-18 17:02:27
[2026-03-18 22:02:47] [INFO]   -> Set field 'timedispatch' = "2026-03-18 17:02:27"
[2026-03-18 22:02:47] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 22:02:47] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:47] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 22:02:47] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:47] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 22:02:47] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:47] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 22:02:47] [INFO]   -> No value found (null or empty)
[2026-03-18 22:02:47] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 22:02:47] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 22:02:47] [INFO]   -> Found value: 20260029534
[2026-03-18 22:02:47] [INFO]   -> Set field 'policeReportNumber' = "20260029534"
[2026-03-18 22:02:47] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 22:02:47] [INFO]   -> Found value: Event spawned from DIABETIC PROBLEM.  [03/18/2026 17:02:27 JBOHANNON] [EMS] ONSET OF AN HOUR  [03/18...
[2026-03-18 22:02:47] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:02:27 JBOHANNON] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]"
[2026-03-18 22:02:47] [INFO]   -> Set field 'cADLog' = "Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:02:27 JBOHANNON] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]"
[2026-03-18 22:02:47] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 22:02:47] [INFO]   -> Found value: MONTEREY
[2026-03-18 22:02:47] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-18 22:02:47] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 22:02:47] [INFO]   -> Found value: PRICE
[2026-03-18 22:02:47] [INFO]   -> Set field 'streetName' = "PRICE"
[2026-03-18 22:02:47] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 22:02:47] [INFO]   -> Found value: AVE
[2026-03-18 22:02:47] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-18 22:02:47] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 22:02:47] [INFO]   -> Found value: 103 E PRICE AVE
[2026-03-18 22:02:47] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "103 E PRICE AVE"
[2026-03-18 22:02:47] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-18 22:02:47] [INFO] Concatenating street name and type
[2026-03-18 22:02:47] [INFO]   -> Combined street name: PRICE AVE
[2026-03-18 22:02:47] [INFO] Built locationCoordinates from lat/lng: 36.14359,-85.2727
[2026-03-18 22:02:47] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMFD","incidentInternalId":"2026000734","dispatchRunNumber":"2026000734","incidentTypeValue1":"DIABETIC PROBLEM","incidentLocationStreetNumber":103,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"103 E PRICE AVE","nERISIncidentLatitude":36.1435900000000032150637707673013210296630859375,"nERISIncidentLongitude":-85.2727000000000003865352482534945011138916015625,"alarm":"2026-03-18 17:02:27","dispatched":"2026-03-18 17:02:27","incidentLocationCross":"S HOLLY ST\/S CHESTNUT ST","cADVehicleID":"PCFR","timedispatch":"2026-03-18 17:02:27","policeReportNumber":"20260029534","dispatchNotes":"Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:02:27 JBOHANNON] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]","cADLog":"Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:02:27 JBOHANNON] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]","incidentLocationCity":"MONTEREY","streetName":"PRICE AVE","incidentAddressTextVersionStreet":"103 E PRICE AVE","locationCoordinates":"36.14359,-85.2727"}
[2026-03-18 22:02:47] [INFO] Number of extracted fields: 22
[2026-03-18 22:02:47] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MFD'
[2026-03-18 22:02:47] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MFD', Parsed IDs = ["PCFD","EMS","MFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-18 22:02:47] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MFD"]
[2026-03-18 22:02:47] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 22:02:47] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 22:02:47] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MFD"]
[2026-03-18 22:02:47] [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-03-18 22:02:47] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 22:02:47] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-18 22:02:47] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 22:02:47] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 22:02:47] [INFO] Found existing IncidentTypeMapping with ID: 6937a13f0053c6dd7
[2026-03-18 22:02:48] [INFO] Found existing Dispatch with cADNumber '2026000734', ID: 69bb20fdda46c53d8 - will update instead of create
[2026-03-18 22:02:48] [INFO] Updated existing Dispatches record with ID: 69bb20fdda46c53d8
[2026-03-18 22:02:48] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029534_20260318_220234_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029534_20260318_220234_1.XML
[2026-03-18 22:02:48] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029534_20260318_220234_1.XML
[2026-03-18 22:04:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029534_20260318_220455.XML
[2026-03-18 22:04:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029534_20260318_220455.XML for user: 68f1466aed072ad4a
[2026-03-18 22:04:55] [INFO] File size: 6782 bytes
[2026-03-18 22:04:55] [INFO] Created FTPFiles record with ID: 69bb2187d9d19bf1a
[2026-03-18 22:04:55] [INFO] About to extract fields from XML. File size: 6782 bytes
[2026-03-18 22:04:55] [INFO] Number of mappings: 28
[2026-03-18 22:04:55] [INFO] Starting XML parsing. Content length: 6782
[2026-03-18 22:04:55] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 22:04:55] [INFO] Processing 28 field mappings
[2026-03-18 22:04:55] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 22:04:55] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 22:04:55] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 22:04:55] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 22:04:55] [INFO]   -> Found value: PCFD
EMS
MFD
RESC
[2026-03-18 22:04:55] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMFD\nRESC"
[2026-03-18 22:04:55] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 22:04:55] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 22:04:55] [INFO]   -> Found value: 2026000734
[2026-03-18 22:04:55] [INFO]   -> Set field 'incidentInternalId' = "2026000734"
[2026-03-18 22:04:55] [INFO]   -> Set field 'dispatchRunNumber' = "2026000734"
[2026-03-18 22:04:55] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 22:04:55] [INFO]   -> Found value: DIABETIC PROBLEM
[2026-03-18 22:04:55] [INFO]   -> Set field 'incidentTypeValue1' = "DIABETIC PROBLEM"
[2026-03-18 22:04:55] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 22:04:55] [INFO]   -> Found value: 103
[2026-03-18 22:04:55] [INFO]   -> Set field 'incidentLocationStreetNumber' = 103
[2026-03-18 22:04:55] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 22:04:55] [INFO]   -> Found value: TN
[2026-03-18 22:04:55] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 22:04:55] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 22:04:55] [INFO]   -> Found value: 38574
[2026-03-18 22:04:55] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-18 22:04:55] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 22:04:55] [INFO]   -> Found value: 103 E PRICE AVE
[2026-03-18 22:04:55] [INFO]   -> Set field 'businessName' = "103 E PRICE AVE"
[2026-03-18 22:04:55] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 22:04:55] [INFO]   -> No value found (null or empty)
[2026-03-18 22:04:55] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 22:04:55] [INFO]   -> Found value: 36.14359
[2026-03-18 22:04:55] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1435900000000032150637707673013210296630859375
[2026-03-18 22:04:55] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 22:04:55] [INFO]   -> Found value: -85.27270
[2026-03-18 22:04:55] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2727000000000003865352482534945011138916015625
[2026-03-18 22:04:55] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 22:04:55] [INFO]   -> Found value: 2026-03-18 17:02:27
[2026-03-18 22:04:55] [INFO]   -> Set field 'alarm' = "2026-03-18 17:02:27"
[2026-03-18 22:04:55] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 22:04:55] [INFO]   -> Found value: 2026-03-18 17:02:27
[2026-03-18 22:04:55] [INFO]   -> Set field 'dispatched' = "2026-03-18 17:02:27"
[2026-03-18 22:04:55] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 22:04:55] [INFO]   -> Found value: 2026-03-18 17:04:47
[2026-03-18 22:04:55] [INFO]   -> Set field 'enroute' = "2026-03-18 17:04:47"
[2026-03-18 22:04:55] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 22:04:55] [INFO]   -> No value found (null or empty)
[2026-03-18 22:04:55] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 22:04:55] [INFO]   -> No value found (null or empty)
[2026-03-18 22:04:55] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 22:04:55] [INFO]   -> Found value: S HOLLY ST/S CHESTNUT ST
[2026-03-18 22:04:55] [INFO]   -> Set field 'incidentLocationCross' = "S HOLLY ST\/S CHESTNUT ST"
[2026-03-18 22:04:55] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 22:04:55] [INFO]   -> Found value: EN21
[2026-03-18 22:04:55] [INFO]   -> Set field 'cADVehicleID' = "EN21"
[2026-03-18 22:04:55] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 22:04:55] [INFO]   -> Found value: 2026-03-18 17:04:44
[2026-03-18 22:04:55] [INFO]   -> Set field 'timedispatch' = "2026-03-18 17:04:44"
[2026-03-18 22:04:55] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 22:04:55] [INFO]   -> Found value: 2026-03-18 17:04:47
[2026-03-18 22:04:55] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 17:04:47"
[2026-03-18 22:04:55] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 22:04:55] [INFO]   -> No value found (null or empty)
[2026-03-18 22:04:55] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 22:04:55] [INFO]   -> No value found (null or empty)
[2026-03-18 22:04:55] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 22:04:55] [INFO]   -> No value found (null or empty)
[2026-03-18 22:04:55] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 22:04:55] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 22:04:55] [INFO]   -> Found value: 20260029534
[2026-03-18 22:04:55] [INFO]   -> Set field 'policeReportNumber' = "20260029534"
[2026-03-18 22:04:55] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 22:04:55] [INFO]   -> Found value: [EMS] UDTS: 1ST RESPONDERS PAGED  [03/18/26 17:03:08 KBEATY] Event spawned from DIABETIC PROBLEM.  [...
[2026-03-18 22:04:55] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:02:27 JBOHANNON] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]"
[2026-03-18 22:04:55] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:02:27 JBOHANNON] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]"
[2026-03-18 22:04:55] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 22:04:55] [INFO]   -> Found value: MONTEREY
[2026-03-18 22:04:55] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-18 22:04:55] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 22:04:55] [INFO]   -> Found value: PRICE
[2026-03-18 22:04:55] [INFO]   -> Set field 'streetName' = "PRICE"
[2026-03-18 22:04:55] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 22:04:55] [INFO]   -> Found value: AVE
[2026-03-18 22:04:55] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-18 22:04:55] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 22:04:55] [INFO]   -> Found value: 103 E PRICE AVE
[2026-03-18 22:04:55] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "103 E PRICE AVE"
[2026-03-18 22:04:55] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-18 22:04:55] [INFO] Concatenating street name and type
[2026-03-18 22:04:55] [INFO]   -> Combined street name: PRICE AVE
[2026-03-18 22:04:55] [INFO] Built locationCoordinates from lat/lng: 36.14359,-85.2727
[2026-03-18 22:04:55] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMFD\nRESC","incidentInternalId":"2026000734","dispatchRunNumber":"2026000734","incidentTypeValue1":"DIABETIC PROBLEM","incidentLocationStreetNumber":103,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"103 E PRICE AVE","nERISIncidentLatitude":36.1435900000000032150637707673013210296630859375,"nERISIncidentLongitude":-85.2727000000000003865352482534945011138916015625,"alarm":"2026-03-18 17:02:27","dispatched":"2026-03-18 17:02:27","enroute":"2026-03-18 17:04:47","incidentLocationCross":"S HOLLY ST\/S CHESTNUT ST","cADVehicleID":"EN21","timedispatch":"2026-03-18 17:04:44","timeenroutetoscene":"2026-03-18 17:04:47","policeReportNumber":"20260029534","dispatchNotes":"[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:02:27 JBOHANNON] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]","cADLog":"[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:02:27 JBOHANNON] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]","incidentLocationCity":"MONTEREY","streetName":"PRICE AVE","incidentAddressTextVersionStreet":"103 E PRICE AVE","locationCoordinates":"36.14359,-85.2727"}
[2026-03-18 22:04:55] [INFO] Number of extracted fields: 24
[2026-03-18 22:04:55] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MFD
RESC'
[2026-03-18 22:04:55] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MFD
RESC', Parsed IDs = ["PCFD","EMS","MFD","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-18 22:04:55] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MFD","RESC"]
[2026-03-18 22:04:55] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 22:04:56] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 22:04:56] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MFD","RESC"]
[2026-03-18 22:04:56] [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-03-18 22:04:56] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 22:04:56] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 22:04:56] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 22:04:56] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 22:04:56] [INFO] Found existing IncidentTypeMapping with ID: 6937a13f0053c6dd7
[2026-03-18 22:04:56] [INFO] Found existing Dispatch with cADNumber '2026000734', ID: 69bb20fdda46c53d8 - will update instead of create
[2026-03-18 22:04:56] [INFO] Updated existing Dispatches record with ID: 69bb20fdda46c53d8
[2026-03-18 22:04:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029534_20260318_220455.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029534_20260318_220455.XML
[2026-03-18 22:04:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029534_20260318_220455.XML
[2026-03-18 22:04:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029534_20260318_220456.XML
[2026-03-18 22:04:56] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029534_20260318_220456.XML for user: 68f1466aed072ad4a
[2026-03-18 22:04:56] [INFO] File size: 6782 bytes
[2026-03-18 22:04:57] [INFO] Created FTPFiles record with ID: 69bb21892f903ebe0
[2026-03-18 22:04:57] [INFO] About to extract fields from XML. File size: 6782 bytes
[2026-03-18 22:04:57] [INFO] Number of mappings: 28
[2026-03-18 22:04:57] [INFO] Starting XML parsing. Content length: 6782
[2026-03-18 22:04:57] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 22:04:57] [INFO] Processing 28 field mappings
[2026-03-18 22:04:57] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 22:04:57] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 22:04:57] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 22:04:57] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 22:04:57] [INFO]   -> Found value: PCFD
EMS
MFD
RESC
[2026-03-18 22:04:57] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMFD\nRESC"
[2026-03-18 22:04:57] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 22:04:57] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 22:04:57] [INFO]   -> Found value: 2026000734
[2026-03-18 22:04:57] [INFO]   -> Set field 'incidentInternalId' = "2026000734"
[2026-03-18 22:04:57] [INFO]   -> Set field 'dispatchRunNumber' = "2026000734"
[2026-03-18 22:04:57] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 22:04:57] [INFO]   -> Found value: DIABETIC PROBLEM
[2026-03-18 22:04:57] [INFO]   -> Set field 'incidentTypeValue1' = "DIABETIC PROBLEM"
[2026-03-18 22:04:57] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 22:04:57] [INFO]   -> Found value: 103
[2026-03-18 22:04:57] [INFO]   -> Set field 'incidentLocationStreetNumber' = 103
[2026-03-18 22:04:57] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 22:04:57] [INFO]   -> Found value: TN
[2026-03-18 22:04:57] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 22:04:57] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 22:04:57] [INFO]   -> Found value: 38574
[2026-03-18 22:04:57] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-18 22:04:57] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 22:04:57] [INFO]   -> Found value: 103 E PRICE AVE
[2026-03-18 22:04:57] [INFO]   -> Set field 'businessName' = "103 E PRICE AVE"
[2026-03-18 22:04:57] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 22:04:57] [INFO]   -> No value found (null or empty)
[2026-03-18 22:04:57] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 22:04:57] [INFO]   -> Found value: 36.14359
[2026-03-18 22:04:57] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1435900000000032150637707673013210296630859375
[2026-03-18 22:04:57] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 22:04:57] [INFO]   -> Found value: -85.27270
[2026-03-18 22:04:57] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2727000000000003865352482534945011138916015625
[2026-03-18 22:04:57] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 22:04:57] [INFO]   -> Found value: 2026-03-18 17:02:27
[2026-03-18 22:04:57] [INFO]   -> Set field 'alarm' = "2026-03-18 17:02:27"
[2026-03-18 22:04:57] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 22:04:57] [INFO]   -> Found value: 2026-03-18 17:02:27
[2026-03-18 22:04:57] [INFO]   -> Set field 'dispatched' = "2026-03-18 17:02:27"
[2026-03-18 22:04:57] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 22:04:57] [INFO]   -> Found value: 2026-03-18 17:04:47
[2026-03-18 22:04:57] [INFO]   -> Set field 'enroute' = "2026-03-18 17:04:47"
[2026-03-18 22:04:57] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 22:04:57] [INFO]   -> No value found (null or empty)
[2026-03-18 22:04:57] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 22:04:57] [INFO]   -> No value found (null or empty)
[2026-03-18 22:04:57] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 22:04:57] [INFO]   -> Found value: S HOLLY ST/S CHESTNUT ST
[2026-03-18 22:04:57] [INFO]   -> Set field 'incidentLocationCross' = "S HOLLY ST\/S CHESTNUT ST"
[2026-03-18 22:04:57] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 22:04:57] [INFO]   -> Found value: EN21
[2026-03-18 22:04:57] [INFO]   -> Set field 'cADVehicleID' = "EN21"
[2026-03-18 22:04:57] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 22:04:57] [INFO]   -> Found value: 2026-03-18 17:04:44
[2026-03-18 22:04:57] [INFO]   -> Set field 'timedispatch' = "2026-03-18 17:04:44"
[2026-03-18 22:04:57] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 22:04:57] [INFO]   -> Found value: 2026-03-18 17:04:47
[2026-03-18 22:04:57] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 17:04:47"
[2026-03-18 22:04:57] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 22:04:57] [INFO]   -> No value found (null or empty)
[2026-03-18 22:04:57] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 22:04:57] [INFO]   -> No value found (null or empty)
[2026-03-18 22:04:57] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 22:04:57] [INFO]   -> No value found (null or empty)
[2026-03-18 22:04:57] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 22:04:57] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 22:04:57] [INFO]   -> Found value: 20260029534
[2026-03-18 22:04:57] [INFO]   -> Set field 'policeReportNumber' = "20260029534"
[2026-03-18 22:04:57] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 22:04:57] [INFO]   -> Found value: [EMS] UDTS: 1ST RESPONDERS PAGED  [03/18/26 17:03:08 KBEATY] Event spawned from DIABETIC PROBLEM.  [...
[2026-03-18 22:04:57] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:02:27 JBOHANNON] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]"
[2026-03-18 22:04:57] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:02:27 JBOHANNON] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]"
[2026-03-18 22:04:57] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 22:04:57] [INFO]   -> Found value: MONTEREY
[2026-03-18 22:04:57] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-18 22:04:57] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 22:04:57] [INFO]   -> Found value: PRICE
[2026-03-18 22:04:57] [INFO]   -> Set field 'streetName' = "PRICE"
[2026-03-18 22:04:57] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 22:04:57] [INFO]   -> Found value: AVE
[2026-03-18 22:04:57] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-18 22:04:57] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 22:04:57] [INFO]   -> Found value: 103 E PRICE AVE
[2026-03-18 22:04:57] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "103 E PRICE AVE"
[2026-03-18 22:04:57] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-18 22:04:57] [INFO] Concatenating street name and type
[2026-03-18 22:04:57] [INFO]   -> Combined street name: PRICE AVE
[2026-03-18 22:04:57] [INFO] Built locationCoordinates from lat/lng: 36.14359,-85.2727
[2026-03-18 22:04:57] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMFD\nRESC","incidentInternalId":"2026000734","dispatchRunNumber":"2026000734","incidentTypeValue1":"DIABETIC PROBLEM","incidentLocationStreetNumber":103,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"103 E PRICE AVE","nERISIncidentLatitude":36.1435900000000032150637707673013210296630859375,"nERISIncidentLongitude":-85.2727000000000003865352482534945011138916015625,"alarm":"2026-03-18 17:02:27","dispatched":"2026-03-18 17:02:27","enroute":"2026-03-18 17:04:47","incidentLocationCross":"S HOLLY ST\/S CHESTNUT ST","cADVehicleID":"EN21","timedispatch":"2026-03-18 17:04:44","timeenroutetoscene":"2026-03-18 17:04:47","policeReportNumber":"20260029534","dispatchNotes":"[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:02:27 JBOHANNON] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]","cADLog":"[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:02:27 JBOHANNON] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]","incidentLocationCity":"MONTEREY","streetName":"PRICE AVE","incidentAddressTextVersionStreet":"103 E PRICE AVE","locationCoordinates":"36.14359,-85.2727"}
[2026-03-18 22:04:57] [INFO] Number of extracted fields: 24
[2026-03-18 22:04:57] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MFD
RESC'
[2026-03-18 22:04:57] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MFD
RESC', Parsed IDs = ["PCFD","EMS","MFD","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-18 22:04:57] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MFD","RESC"]
[2026-03-18 22:04:57] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 22:04:57] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 22:04:57] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MFD","RESC"]
[2026-03-18 22:04:57] [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-03-18 22:04:57] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 22:04:57] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 22:04:57] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 22:04:57] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 22:04:57] [INFO] Found existing IncidentTypeMapping with ID: 6937a13f0053c6dd7
[2026-03-18 22:04:57] [INFO] Found existing Dispatch with cADNumber '2026000734', ID: 69bb20fdda46c53d8 - will update instead of create
[2026-03-18 22:04:58] [INFO] Updated existing Dispatches record with ID: 69bb20fdda46c53d8
[2026-03-18 22:04:58] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029534_20260318_220456.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029534_20260318_220456.XML
[2026-03-18 22:04:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029534_20260318_220456.XML
[2026-03-18 22:04:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029534_20260318_220456_1.XML
[2026-03-18 22:04:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029534_20260318_220456_1.XML for user: 68f1466aed072ad4a
[2026-03-18 22:04:58] [INFO] File size: 6782 bytes
[2026-03-18 22:04:58] [INFO] Created FTPFiles record with ID: 69bb218a6566eece7
[2026-03-18 22:04:58] [INFO] About to extract fields from XML. File size: 6782 bytes
[2026-03-18 22:04:58] [INFO] Number of mappings: 28
[2026-03-18 22:04:58] [INFO] Starting XML parsing. Content length: 6782
[2026-03-18 22:04:58] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 22:04:58] [INFO] Processing 28 field mappings
[2026-03-18 22:04:58] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 22:04:58] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 22:04:58] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 22:04:58] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 22:04:58] [INFO]   -> Found value: PCFD
EMS
MFD
RESC
[2026-03-18 22:04:58] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMFD\nRESC"
[2026-03-18 22:04:58] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 22:04:58] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 22:04:58] [INFO]   -> Found value: 2026000734
[2026-03-18 22:04:58] [INFO]   -> Set field 'incidentInternalId' = "2026000734"
[2026-03-18 22:04:58] [INFO]   -> Set field 'dispatchRunNumber' = "2026000734"
[2026-03-18 22:04:58] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 22:04:58] [INFO]   -> Found value: DIABETIC PROBLEM
[2026-03-18 22:04:58] [INFO]   -> Set field 'incidentTypeValue1' = "DIABETIC PROBLEM"
[2026-03-18 22:04:58] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 22:04:58] [INFO]   -> Found value: 103
[2026-03-18 22:04:58] [INFO]   -> Set field 'incidentLocationStreetNumber' = 103
[2026-03-18 22:04:58] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 22:04:58] [INFO]   -> Found value: TN
[2026-03-18 22:04:58] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 22:04:58] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 22:04:58] [INFO]   -> Found value: 38574
[2026-03-18 22:04:58] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-18 22:04:58] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 22:04:58] [INFO]   -> Found value: 103 E PRICE AVE
[2026-03-18 22:04:58] [INFO]   -> Set field 'businessName' = "103 E PRICE AVE"
[2026-03-18 22:04:58] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 22:04:58] [INFO]   -> No value found (null or empty)
[2026-03-18 22:04:58] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 22:04:58] [INFO]   -> Found value: 36.14359
[2026-03-18 22:04:58] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1435900000000032150637707673013210296630859375
[2026-03-18 22:04:58] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 22:04:58] [INFO]   -> Found value: -85.27270
[2026-03-18 22:04:58] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2727000000000003865352482534945011138916015625
[2026-03-18 22:04:58] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 22:04:58] [INFO]   -> Found value: 2026-03-18 17:02:27
[2026-03-18 22:04:58] [INFO]   -> Set field 'alarm' = "2026-03-18 17:02:27"
[2026-03-18 22:04:58] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 22:04:58] [INFO]   -> Found value: 2026-03-18 17:02:27
[2026-03-18 22:04:58] [INFO]   -> Set field 'dispatched' = "2026-03-18 17:02:27"
[2026-03-18 22:04:58] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 22:04:58] [INFO]   -> Found value: 2026-03-18 17:04:47
[2026-03-18 22:04:58] [INFO]   -> Set field 'enroute' = "2026-03-18 17:04:47"
[2026-03-18 22:04:58] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 22:04:58] [INFO]   -> No value found (null or empty)
[2026-03-18 22:04:58] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 22:04:58] [INFO]   -> No value found (null or empty)
[2026-03-18 22:04:58] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 22:04:58] [INFO]   -> Found value: S HOLLY ST/S CHESTNUT ST
[2026-03-18 22:04:58] [INFO]   -> Set field 'incidentLocationCross' = "S HOLLY ST\/S CHESTNUT ST"
[2026-03-18 22:04:58] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 22:04:58] [INFO]   -> Found value: EN21
[2026-03-18 22:04:58] [INFO]   -> Set field 'cADVehicleID' = "EN21"
[2026-03-18 22:04:58] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 22:04:58] [INFO]   -> Found value: 2026-03-18 17:04:44
[2026-03-18 22:04:58] [INFO]   -> Set field 'timedispatch' = "2026-03-18 17:04:44"
[2026-03-18 22:04:58] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 22:04:58] [INFO]   -> Found value: 2026-03-18 17:04:47
[2026-03-18 22:04:58] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 17:04:47"
[2026-03-18 22:04:58] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 22:04:58] [INFO]   -> No value found (null or empty)
[2026-03-18 22:04:58] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 22:04:58] [INFO]   -> No value found (null or empty)
[2026-03-18 22:04:58] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 22:04:58] [INFO]   -> No value found (null or empty)
[2026-03-18 22:04:58] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 22:04:58] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 22:04:58] [INFO]   -> Found value: 20260029534
[2026-03-18 22:04:58] [INFO]   -> Set field 'policeReportNumber' = "20260029534"
[2026-03-18 22:04:58] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 22:04:58] [INFO]   -> Found value: [EMS] UDTS: 1ST RESPONDERS PAGED  [03/18/26 17:03:08 KBEATY] Event spawned from DIABETIC PROBLEM.  [...
[2026-03-18 22:04:58] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:02:27 JBOHANNON] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]"
[2026-03-18 22:04:58] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:02:27 JBOHANNON] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]"
[2026-03-18 22:04:58] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 22:04:58] [INFO]   -> Found value: MONTEREY
[2026-03-18 22:04:58] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-18 22:04:58] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 22:04:58] [INFO]   -> Found value: PRICE
[2026-03-18 22:04:58] [INFO]   -> Set field 'streetName' = "PRICE"
[2026-03-18 22:04:58] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 22:04:58] [INFO]   -> Found value: AVE
[2026-03-18 22:04:58] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-18 22:04:58] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 22:04:58] [INFO]   -> Found value: 103 E PRICE AVE
[2026-03-18 22:04:58] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "103 E PRICE AVE"
[2026-03-18 22:04:58] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-18 22:04:58] [INFO] Concatenating street name and type
[2026-03-18 22:04:58] [INFO]   -> Combined street name: PRICE AVE
[2026-03-18 22:04:58] [INFO] Built locationCoordinates from lat/lng: 36.14359,-85.2727
[2026-03-18 22:04:58] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMFD\nRESC","incidentInternalId":"2026000734","dispatchRunNumber":"2026000734","incidentTypeValue1":"DIABETIC PROBLEM","incidentLocationStreetNumber":103,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"103 E PRICE AVE","nERISIncidentLatitude":36.1435900000000032150637707673013210296630859375,"nERISIncidentLongitude":-85.2727000000000003865352482534945011138916015625,"alarm":"2026-03-18 17:02:27","dispatched":"2026-03-18 17:02:27","enroute":"2026-03-18 17:04:47","incidentLocationCross":"S HOLLY ST\/S CHESTNUT ST","cADVehicleID":"EN21","timedispatch":"2026-03-18 17:04:44","timeenroutetoscene":"2026-03-18 17:04:47","policeReportNumber":"20260029534","dispatchNotes":"[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:02:27 JBOHANNON] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]","cADLog":"[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:02:27 JBOHANNON] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]","incidentLocationCity":"MONTEREY","streetName":"PRICE AVE","incidentAddressTextVersionStreet":"103 E PRICE AVE","locationCoordinates":"36.14359,-85.2727"}
[2026-03-18 22:04:58] [INFO] Number of extracted fields: 24
[2026-03-18 22:04:58] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MFD
RESC'
[2026-03-18 22:04:58] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MFD
RESC', Parsed IDs = ["PCFD","EMS","MFD","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-18 22:04:58] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MFD","RESC"]
[2026-03-18 22:04:58] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 22:04:58] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 22:04:58] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MFD","RESC"]
[2026-03-18 22:04:58] [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-03-18 22:04:58] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 22:04:58] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 22:04:58] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 22:04:58] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 22:04:58] [INFO] Found existing IncidentTypeMapping with ID: 6937a13f0053c6dd7
[2026-03-18 22:04:59] [INFO] Found existing Dispatch with cADNumber '2026000734', ID: 69bb20fdda46c53d8 - will update instead of create
[2026-03-18 22:04:59] [INFO] Updated existing Dispatches record with ID: 69bb20fdda46c53d8
[2026-03-18 22:04:59] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029534_20260318_220456_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029534_20260318_220456_1.XML
[2026-03-18 22:04:59] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029534_20260318_220456_1.XML
[2026-03-18 22:10:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml
[2026-03-18 22:10:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml for user: 69320e6a9e3e5ef71
[2026-03-18 22:10:22] [INFO] File size: 13767 bytes
[2026-03-18 22:10:22] [INFO] Created FTPFiles record with ID: 69bb22ce9384aad11
[2026-03-18 22:10:22] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 22:10:22] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-018007.xml
[2026-03-18 22:10:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml
[2026-03-18 22:10:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml
[2026-03-18 22:10:28] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml for user: 69320e6a9e3e5ef71
[2026-03-18 22:10:28] [INFO] File size: 16002 bytes
[2026-03-18 22:10:28] [INFO] Created FTPFiles record with ID: 69bb22d4bf2e3dd91
[2026-03-18 22:10:28] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 22:10:28] [INFO] File already exists in archive, using unique name: cfs_2026-018007_1773871828.xml
[2026-03-18 22:10:28] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-018007_1773871828.xml
[2026-03-18 22:10:28] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml
[2026-03-18 22:10:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml
[2026-03-18 22:10:35] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml for user: 69320e6a9e3e5ef71
[2026-03-18 22:10:35] [INFO] File size: 17588 bytes
[2026-03-18 22:10:35] [INFO] Created FTPFiles record with ID: 69bb22dbe08d1ab0d
[2026-03-18 22:10:35] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 22:10:35] [INFO] File already exists in archive, using unique name: cfs_2026-018007_1773871835.xml
[2026-03-18 22:10:35] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-018007_1773871835.xml
[2026-03-18 22:10:35] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml
[2026-03-18 22:10:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml
[2026-03-18 22:10:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml for user: 69320e6a9e3e5ef71
[2026-03-18 22:10:58] [INFO] File size: 20453 bytes
[2026-03-18 22:10:59] [INFO] Created FTPFiles record with ID: 69bb22f302df0b2bf
[2026-03-18 22:10:59] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 22:10:59] [INFO] File already exists in archive, using unique name: cfs_2026-018007_1773871859.xml
[2026-03-18 22:10:59] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-018007_1773871859.xml
[2026-03-18 22:10:59] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml
[2026-03-18 22:11:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml
[2026-03-18 22:11:51] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml for user: 69320e6a9e3e5ef71
[2026-03-18 22:11:51] [INFO] File size: 21480 bytes
[2026-03-18 22:11:51] [INFO] Created FTPFiles record with ID: 69bb23278728fede3
[2026-03-18 22:11:51] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 22:11:51] [INFO] File already exists in archive, using unique name: cfs_2026-018007_1773871911.xml
[2026-03-18 22:11:51] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-018007_1773871911.xml
[2026-03-18 22:11:51] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml
[2026-03-18 22:12:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml
[2026-03-18 22:12:43] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml for user: 69320e6a9e3e5ef71
[2026-03-18 22:12:43] [INFO] File size: 22443 bytes
[2026-03-18 22:12:43] [INFO] Created FTPFiles record with ID: 69bb235bc025ed921
[2026-03-18 22:12:43] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 22:12:43] [INFO] File already exists in archive, using unique name: cfs_2026-018007_1773871963.xml
[2026-03-18 22:12:43] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-018007_1773871963.xml
[2026-03-18 22:12:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml
[2026-03-18 22:13:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml
[2026-03-18 22:13:03] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml for user: 69320e6a9e3e5ef71
[2026-03-18 22:13:03] [INFO] File size: 24035 bytes
[2026-03-18 22:13:03] [INFO] Created FTPFiles record with ID: 69bb236fd9cbb1997
[2026-03-18 22:13:03] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 22:13:03] [INFO] File already exists in archive, using unique name: cfs_2026-018007_1773871983.xml
[2026-03-18 22:13:03] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-018007_1773871983.xml
[2026-03-18 22:13:03] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml
[2026-03-18 22:13:59] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml
[2026-03-18 22:13:59] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml for user: 69320e6a9e3e5ef71
[2026-03-18 22:13:59] [INFO] File size: 25648 bytes
[2026-03-18 22:14:00] [INFO] Created FTPFiles record with ID: 69bb23a83caabf271
[2026-03-18 22:14:00] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 22:14:00] [INFO] File already exists in archive, using unique name: cfs_2026-018007_1773872040.xml
[2026-03-18 22:14:00] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-018007_1773872040.xml
[2026-03-18 22:14:00] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml
[2026-03-18 22:17:04] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml
[2026-03-18 22:17:04] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml for user: 69320e6a9e3e5ef71
[2026-03-18 22:17:04] [INFO] File size: 26616 bytes
[2026-03-18 22:17:05] [INFO] Created FTPFiles record with ID: 69bb2460f015f781d
[2026-03-18 22:17:05] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-18 22:17:05] [INFO] File already exists in archive, using unique name: cfs_2026-018007_1773872225.xml
[2026-03-18 22:17:05] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-18/cfs_2026-018007_1773872225.xml
[2026-03-18 22:17:05] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-018007.xml
[2026-03-18 22:22:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260029533_20260318_222254.XML
[2026-03-18 22:22:54] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260029533_20260318_222254.XML for user: 68f1466aed072ad4a
[2026-03-18 22:22:54] [INFO] File size: 5538 bytes
[2026-03-18 22:22:54] [INFO] Created FTPFiles record with ID: 69bb25be9fba91395
[2026-03-18 22:22:54] [INFO] About to extract fields from XML. File size: 5538 bytes
[2026-03-18 22:22:54] [INFO] Number of mappings: 28
[2026-03-18 22:22:54] [INFO] Starting XML parsing. Content length: 5538
[2026-03-18 22:22:54] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 22:22:54] [INFO] Processing 28 field mappings
[2026-03-18 22:22:54] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 22:22:54] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 22:22:54] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 22:22:54] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-18 22:22:54] [INFO]   -> Found value: MFD
RESC
[2026-03-18 22:22:54] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nRESC"
[2026-03-18 22:22:54] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 22:22:54] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-18 22:22:54] [INFO]   -> Found value: 2026000099
[2026-03-18 22:22:54] [INFO]   -> Set field 'incidentInternalId' = "2026000099"
[2026-03-18 22:22:54] [INFO]   -> Set field 'dispatchRunNumber' = "2026000099"
[2026-03-18 22:22:54] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 22:22:54] [INFO]   -> Found value: DIABETIC PROBLEM
[2026-03-18 22:22:54] [INFO]   -> Set field 'incidentTypeValue1' = "DIABETIC PROBLEM"
[2026-03-18 22:22:54] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 22:22:54] [INFO]   -> Found value: 103
[2026-03-18 22:22:54] [INFO]   -> Set field 'incidentLocationStreetNumber' = 103
[2026-03-18 22:22:54] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 22:22:54] [INFO]   -> Found value: TN
[2026-03-18 22:22:54] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 22:22:54] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 22:22:54] [INFO]   -> Found value: 38574
[2026-03-18 22:22:54] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-18 22:22:54] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 22:22:54] [INFO]   -> Found value: 103 E PRICE AVE
[2026-03-18 22:22:54] [INFO]   -> Set field 'businessName' = "103 E PRICE AVE"
[2026-03-18 22:22:54] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 22:22:54] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:54] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 22:22:54] [INFO]   -> Found value: 36.14359
[2026-03-18 22:22:54] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1435900000000032150637707673013210296630859375
[2026-03-18 22:22:54] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 22:22:54] [INFO]   -> Found value: -85.27270
[2026-03-18 22:22:54] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2727000000000003865352482534945011138916015625
[2026-03-18 22:22:54] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 22:22:54] [INFO]   -> Found value: 2026-03-18 17:01:51
[2026-03-18 22:22:54] [INFO]   -> Set field 'alarm' = "2026-03-18 17:01:51"
[2026-03-18 22:22:54] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 22:22:54] [INFO]   -> Found value: 2026-03-18 17:02:27
[2026-03-18 22:22:54] [INFO]   -> Set field 'dispatched' = "2026-03-18 17:02:27"
[2026-03-18 22:22:54] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 22:22:54] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:54] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 22:22:54] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:54] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 22:22:54] [INFO]   -> Found value: 2026-03-18 17:22:42
[2026-03-18 22:22:54] [INFO]   -> Set field 'cleared' = "2026-03-18 17:22:42"
[2026-03-18 22:22:54] [INFO]   -> Set field 'inService' = "2026-03-18 17:22:42"
[2026-03-18 22:22:54] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 22:22:54] [INFO]   -> Found value: S HOLLY ST/S CHESTNUT ST
[2026-03-18 22:22:54] [INFO]   -> Set field 'incidentLocationCross' = "S HOLLY ST\/S CHESTNUT ST"
[2026-03-18 22:22:54] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 22:22:54] [INFO]   -> Found value: MFR
[2026-03-18 22:22:54] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-03-18 22:22:54] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 22:22:54] [INFO]   -> Found value: 2026-03-18 17:02:27
[2026-03-18 22:22:54] [INFO]   -> Set field 'timedispatch' = "2026-03-18 17:02:27"
[2026-03-18 22:22:54] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 22:22:54] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:54] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 22:22:54] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:54] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 22:22:54] [INFO]   -> Found value: 2026-03-18 17:22:42
[2026-03-18 22:22:54] [INFO]   -> Set field 'timeunitclear' = "2026-03-18 17:22:42"
[2026-03-18 22:22:54] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 22:22:54] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:54] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 22:22:54] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 22:22:54] [INFO]   -> Found value: 20260029533
[2026-03-18 22:22:54] [INFO]   -> Set field 'policeReportNumber' = "20260029533"
[2026-03-18 22:22:54] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 22:22:54] [INFO]   -> Found value: [EMS] UDTS: 1ST RESPONDERS PAGED  [03/18/26 17:03:08 KBEATY] [EMS] ONSET OF AN HOUR  [03/18/26 17:01...
[2026-03-18 22:22:54] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]"
[2026-03-18 22:22:54] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]"
[2026-03-18 22:22:54] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 22:22:54] [INFO]   -> Found value: MONTEREY
[2026-03-18 22:22:54] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-18 22:22:54] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 22:22:54] [INFO]   -> Found value: PRICE
[2026-03-18 22:22:54] [INFO]   -> Set field 'streetName' = "PRICE"
[2026-03-18 22:22:54] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 22:22:54] [INFO]   -> Found value: AVE
[2026-03-18 22:22:54] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-18 22:22:54] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 22:22:54] [INFO]   -> Found value: 103 E PRICE AVE
[2026-03-18 22:22:54] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "103 E PRICE AVE"
[2026-03-18 22:22:54] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-03-18 22:22:54] [INFO] Concatenating street name and type
[2026-03-18 22:22:54] [INFO]   -> Combined street name: PRICE AVE
[2026-03-18 22:22:54] [INFO] Built locationCoordinates from lat/lng: 36.14359,-85.2727
[2026-03-18 22:22:54] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nRESC","incidentInternalId":"2026000099","dispatchRunNumber":"2026000099","incidentTypeValue1":"DIABETIC PROBLEM","incidentLocationStreetNumber":103,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"103 E PRICE AVE","nERISIncidentLatitude":36.1435900000000032150637707673013210296630859375,"nERISIncidentLongitude":-85.2727000000000003865352482534945011138916015625,"alarm":"2026-03-18 17:01:51","dispatched":"2026-03-18 17:02:27","cleared":"2026-03-18 17:22:42","inService":"2026-03-18 17:22:42","incidentLocationCross":"S HOLLY ST\/S CHESTNUT ST","cADVehicleID":"MFR","timedispatch":"2026-03-18 17:02:27","timeunitclear":"2026-03-18 17:22:42","policeReportNumber":"20260029533","dispatchNotes":"[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]","cADLog":"[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]","incidentLocationCity":"MONTEREY","streetName":"PRICE AVE","incidentAddressTextVersionStreet":"103 E PRICE AVE","locationCoordinates":"36.14359,-85.2727"}
[2026-03-18 22:22:54] [INFO] Number of extracted fields: 25
[2026-03-18 22:22:54] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
RESC'
[2026-03-18 22:22:54] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
RESC', Parsed IDs = ["MFD","RESC"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-18 22:22:54] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","RESC"]
[2026-03-18 22:22:54] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-18 22:22:54] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-18 22:22:54] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["RESC"]
[2026-03-18 22:22:55] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-18 22:22:55] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-18 22:22:55] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-18 22:22:55] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-18 22:22:55] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-18 22:22:55] [INFO] Found existing IncidentTypeMapping with ID: 6986a2d46146fc3fa
[2026-03-18 22:22:55] [INFO] Found existing Dispatch with cADNumber '2026000099', ID: 69bb20f9b0739aa3d - will update instead of create
[2026-03-18 22:22:55] [INFO] Updated existing Dispatches record with ID: 69bb20f9b0739aa3d
[2026-03-18 22:22:55] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260029533_20260318_222254.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/MFD_20260029533_20260318_222254.XML
[2026-03-18 22:22:55] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260029533_20260318_222254.XML
[2026-03-18 22:22:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260029533_20260318_222255.XML
[2026-03-18 22:22:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260029533_20260318_222255.XML for user: 68f1466aed072ad4a
[2026-03-18 22:22:55] [INFO] File size: 5538 bytes
[2026-03-18 22:22:56] [INFO] Created FTPFiles record with ID: 69bb25c0058bfcbf0
[2026-03-18 22:22:56] [INFO] About to extract fields from XML. File size: 5538 bytes
[2026-03-18 22:22:56] [INFO] Number of mappings: 28
[2026-03-18 22:22:56] [INFO] Starting XML parsing. Content length: 5538
[2026-03-18 22:22:56] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 22:22:56] [INFO] Processing 28 field mappings
[2026-03-18 22:22:56] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 22:22:56] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 22:22:56] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 22:22:56] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-18 22:22:56] [INFO]   -> Found value: MFD
RESC
[2026-03-18 22:22:56] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nRESC"
[2026-03-18 22:22:56] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 22:22:56] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-18 22:22:56] [INFO]   -> Found value: 2026000099
[2026-03-18 22:22:56] [INFO]   -> Set field 'incidentInternalId' = "2026000099"
[2026-03-18 22:22:56] [INFO]   -> Set field 'dispatchRunNumber' = "2026000099"
[2026-03-18 22:22:56] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 22:22:56] [INFO]   -> Found value: DIABETIC PROBLEM
[2026-03-18 22:22:56] [INFO]   -> Set field 'incidentTypeValue1' = "DIABETIC PROBLEM"
[2026-03-18 22:22:56] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 22:22:56] [INFO]   -> Found value: 103
[2026-03-18 22:22:56] [INFO]   -> Set field 'incidentLocationStreetNumber' = 103
[2026-03-18 22:22:56] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 22:22:56] [INFO]   -> Found value: TN
[2026-03-18 22:22:56] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 22:22:56] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 22:22:56] [INFO]   -> Found value: 38574
[2026-03-18 22:22:56] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-18 22:22:56] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 22:22:56] [INFO]   -> Found value: 103 E PRICE AVE
[2026-03-18 22:22:56] [INFO]   -> Set field 'businessName' = "103 E PRICE AVE"
[2026-03-18 22:22:56] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 22:22:56] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:56] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 22:22:56] [INFO]   -> Found value: 36.14359
[2026-03-18 22:22:56] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1435900000000032150637707673013210296630859375
[2026-03-18 22:22:56] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 22:22:56] [INFO]   -> Found value: -85.27270
[2026-03-18 22:22:56] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2727000000000003865352482534945011138916015625
[2026-03-18 22:22:56] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 22:22:56] [INFO]   -> Found value: 2026-03-18 17:01:51
[2026-03-18 22:22:56] [INFO]   -> Set field 'alarm' = "2026-03-18 17:01:51"
[2026-03-18 22:22:56] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 22:22:56] [INFO]   -> Found value: 2026-03-18 17:02:27
[2026-03-18 22:22:56] [INFO]   -> Set field 'dispatched' = "2026-03-18 17:02:27"
[2026-03-18 22:22:56] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 22:22:56] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:56] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 22:22:56] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:56] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 22:22:56] [INFO]   -> Found value: 2026-03-18 17:22:42
[2026-03-18 22:22:56] [INFO]   -> Set field 'cleared' = "2026-03-18 17:22:42"
[2026-03-18 22:22:56] [INFO]   -> Set field 'inService' = "2026-03-18 17:22:42"
[2026-03-18 22:22:56] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 22:22:56] [INFO]   -> Found value: S HOLLY ST/S CHESTNUT ST
[2026-03-18 22:22:56] [INFO]   -> Set field 'incidentLocationCross' = "S HOLLY ST\/S CHESTNUT ST"
[2026-03-18 22:22:56] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 22:22:56] [INFO]   -> Found value: MFR
[2026-03-18 22:22:56] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-03-18 22:22:56] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 22:22:56] [INFO]   -> Found value: 2026-03-18 17:02:27
[2026-03-18 22:22:56] [INFO]   -> Set field 'timedispatch' = "2026-03-18 17:02:27"
[2026-03-18 22:22:56] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 22:22:56] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:56] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 22:22:56] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:56] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 22:22:56] [INFO]   -> Found value: 2026-03-18 17:22:42
[2026-03-18 22:22:56] [INFO]   -> Set field 'timeunitclear' = "2026-03-18 17:22:42"
[2026-03-18 22:22:56] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 22:22:56] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:56] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 22:22:56] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 22:22:56] [INFO]   -> Found value: 20260029533
[2026-03-18 22:22:56] [INFO]   -> Set field 'policeReportNumber' = "20260029533"
[2026-03-18 22:22:56] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 22:22:56] [INFO]   -> Found value: [EMS] UDTS: 1ST RESPONDERS PAGED  [03/18/26 17:03:08 KBEATY] [EMS] ONSET OF AN HOUR  [03/18/26 17:01...
[2026-03-18 22:22:56] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]"
[2026-03-18 22:22:56] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]"
[2026-03-18 22:22:56] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 22:22:56] [INFO]   -> Found value: MONTEREY
[2026-03-18 22:22:56] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-18 22:22:56] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 22:22:56] [INFO]   -> Found value: PRICE
[2026-03-18 22:22:56] [INFO]   -> Set field 'streetName' = "PRICE"
[2026-03-18 22:22:56] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 22:22:56] [INFO]   -> Found value: AVE
[2026-03-18 22:22:56] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-18 22:22:56] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 22:22:56] [INFO]   -> Found value: 103 E PRICE AVE
[2026-03-18 22:22:56] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "103 E PRICE AVE"
[2026-03-18 22:22:56] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-03-18 22:22:56] [INFO] Concatenating street name and type
[2026-03-18 22:22:56] [INFO]   -> Combined street name: PRICE AVE
[2026-03-18 22:22:56] [INFO] Built locationCoordinates from lat/lng: 36.14359,-85.2727
[2026-03-18 22:22:56] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nRESC","incidentInternalId":"2026000099","dispatchRunNumber":"2026000099","incidentTypeValue1":"DIABETIC PROBLEM","incidentLocationStreetNumber":103,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"103 E PRICE AVE","nERISIncidentLatitude":36.1435900000000032150637707673013210296630859375,"nERISIncidentLongitude":-85.2727000000000003865352482534945011138916015625,"alarm":"2026-03-18 17:01:51","dispatched":"2026-03-18 17:02:27","cleared":"2026-03-18 17:22:42","inService":"2026-03-18 17:22:42","incidentLocationCross":"S HOLLY ST\/S CHESTNUT ST","cADVehicleID":"MFR","timedispatch":"2026-03-18 17:02:27","timeunitclear":"2026-03-18 17:22:42","policeReportNumber":"20260029533","dispatchNotes":"[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]","cADLog":"[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]","incidentLocationCity":"MONTEREY","streetName":"PRICE AVE","incidentAddressTextVersionStreet":"103 E PRICE AVE","locationCoordinates":"36.14359,-85.2727"}
[2026-03-18 22:22:56] [INFO] Number of extracted fields: 25
[2026-03-18 22:22:56] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
RESC'
[2026-03-18 22:22:56] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
RESC', Parsed IDs = ["MFD","RESC"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-18 22:22:56] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","RESC"]
[2026-03-18 22:22:56] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-18 22:22:56] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-18 22:22:56] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["RESC"]
[2026-03-18 22:22:56] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-18 22:22:56] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-18 22:22:56] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-18 22:22:56] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-18 22:22:56] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-18 22:22:56] [INFO] Found existing IncidentTypeMapping with ID: 6986a2d46146fc3fa
[2026-03-18 22:22:56] [INFO] Found existing Dispatch with cADNumber '2026000099', ID: 69bb20f9b0739aa3d - will update instead of create
[2026-03-18 22:22:57] [INFO] Updated existing Dispatches record with ID: 69bb20f9b0739aa3d
[2026-03-18 22:22:57] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260029533_20260318_222255.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/MFD_20260029533_20260318_222255.XML
[2026-03-18 22:22:57] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260029533_20260318_222255.XML
[2026-03-18 22:22:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260029533_20260318_222256.XML
[2026-03-18 22:22:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260029533_20260318_222256.XML for user: 68f1466aed072ad4a
[2026-03-18 22:22:57] [INFO] File size: 5538 bytes
[2026-03-18 22:22:57] [INFO] Created FTPFiles record with ID: 69bb25c155e5986c7
[2026-03-18 22:22:57] [INFO] About to extract fields from XML. File size: 5538 bytes
[2026-03-18 22:22:57] [INFO] Number of mappings: 28
[2026-03-18 22:22:57] [INFO] Starting XML parsing. Content length: 5538
[2026-03-18 22:22:57] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 22:22:57] [INFO] Processing 28 field mappings
[2026-03-18 22:22:57] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 22:22:57] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 22:22:57] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 22:22:57] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-18 22:22:57] [INFO]   -> Found value: MFD
RESC
[2026-03-18 22:22:57] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nRESC"
[2026-03-18 22:22:57] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 22:22:57] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-18 22:22:57] [INFO]   -> Found value: 2026000099
[2026-03-18 22:22:57] [INFO]   -> Set field 'incidentInternalId' = "2026000099"
[2026-03-18 22:22:57] [INFO]   -> Set field 'dispatchRunNumber' = "2026000099"
[2026-03-18 22:22:57] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 22:22:57] [INFO]   -> Found value: DIABETIC PROBLEM
[2026-03-18 22:22:57] [INFO]   -> Set field 'incidentTypeValue1' = "DIABETIC PROBLEM"
[2026-03-18 22:22:57] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 22:22:57] [INFO]   -> Found value: 103
[2026-03-18 22:22:57] [INFO]   -> Set field 'incidentLocationStreetNumber' = 103
[2026-03-18 22:22:57] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 22:22:57] [INFO]   -> Found value: TN
[2026-03-18 22:22:57] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 22:22:57] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 22:22:57] [INFO]   -> Found value: 38574
[2026-03-18 22:22:57] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-18 22:22:57] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 22:22:57] [INFO]   -> Found value: 103 E PRICE AVE
[2026-03-18 22:22:57] [INFO]   -> Set field 'businessName' = "103 E PRICE AVE"
[2026-03-18 22:22:57] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 22:22:57] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:57] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 22:22:57] [INFO]   -> Found value: 36.14359
[2026-03-18 22:22:57] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1435900000000032150637707673013210296630859375
[2026-03-18 22:22:57] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 22:22:57] [INFO]   -> Found value: -85.27270
[2026-03-18 22:22:57] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2727000000000003865352482534945011138916015625
[2026-03-18 22:22:57] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 22:22:57] [INFO]   -> Found value: 2026-03-18 17:01:51
[2026-03-18 22:22:57] [INFO]   -> Set field 'alarm' = "2026-03-18 17:01:51"
[2026-03-18 22:22:57] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 22:22:57] [INFO]   -> Found value: 2026-03-18 17:02:27
[2026-03-18 22:22:57] [INFO]   -> Set field 'dispatched' = "2026-03-18 17:02:27"
[2026-03-18 22:22:57] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 22:22:57] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:57] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 22:22:57] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:57] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 22:22:57] [INFO]   -> Found value: 2026-03-18 17:22:42
[2026-03-18 22:22:57] [INFO]   -> Set field 'cleared' = "2026-03-18 17:22:42"
[2026-03-18 22:22:57] [INFO]   -> Set field 'inService' = "2026-03-18 17:22:42"
[2026-03-18 22:22:57] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 22:22:57] [INFO]   -> Found value: S HOLLY ST/S CHESTNUT ST
[2026-03-18 22:22:57] [INFO]   -> Set field 'incidentLocationCross' = "S HOLLY ST\/S CHESTNUT ST"
[2026-03-18 22:22:57] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 22:22:57] [INFO]   -> Found value: MFR
[2026-03-18 22:22:57] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-03-18 22:22:57] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 22:22:57] [INFO]   -> Found value: 2026-03-18 17:02:27
[2026-03-18 22:22:57] [INFO]   -> Set field 'timedispatch' = "2026-03-18 17:02:27"
[2026-03-18 22:22:57] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 22:22:57] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:57] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 22:22:57] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:57] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 22:22:57] [INFO]   -> Found value: 2026-03-18 17:22:42
[2026-03-18 22:22:57] [INFO]   -> Set field 'timeunitclear' = "2026-03-18 17:22:42"
[2026-03-18 22:22:57] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 22:22:57] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:57] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 22:22:57] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 22:22:57] [INFO]   -> Found value: 20260029533
[2026-03-18 22:22:57] [INFO]   -> Set field 'policeReportNumber' = "20260029533"
[2026-03-18 22:22:57] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 22:22:57] [INFO]   -> Found value: [EMS] UDTS: 1ST RESPONDERS PAGED  [03/18/26 17:03:08 KBEATY] [EMS] ONSET OF AN HOUR  [03/18/26 17:01...
[2026-03-18 22:22:57] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]"
[2026-03-18 22:22:57] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]"
[2026-03-18 22:22:57] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 22:22:57] [INFO]   -> Found value: MONTEREY
[2026-03-18 22:22:57] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-18 22:22:57] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 22:22:57] [INFO]   -> Found value: PRICE
[2026-03-18 22:22:57] [INFO]   -> Set field 'streetName' = "PRICE"
[2026-03-18 22:22:57] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 22:22:57] [INFO]   -> Found value: AVE
[2026-03-18 22:22:57] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-18 22:22:57] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 22:22:57] [INFO]   -> Found value: 103 E PRICE AVE
[2026-03-18 22:22:57] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "103 E PRICE AVE"
[2026-03-18 22:22:57] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-03-18 22:22:57] [INFO] Concatenating street name and type
[2026-03-18 22:22:57] [INFO]   -> Combined street name: PRICE AVE
[2026-03-18 22:22:57] [INFO] Built locationCoordinates from lat/lng: 36.14359,-85.2727
[2026-03-18 22:22:57] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nRESC","incidentInternalId":"2026000099","dispatchRunNumber":"2026000099","incidentTypeValue1":"DIABETIC PROBLEM","incidentLocationStreetNumber":103,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"103 E PRICE AVE","nERISIncidentLatitude":36.1435900000000032150637707673013210296630859375,"nERISIncidentLongitude":-85.2727000000000003865352482534945011138916015625,"alarm":"2026-03-18 17:01:51","dispatched":"2026-03-18 17:02:27","cleared":"2026-03-18 17:22:42","inService":"2026-03-18 17:22:42","incidentLocationCross":"S HOLLY ST\/S CHESTNUT ST","cADVehicleID":"MFR","timedispatch":"2026-03-18 17:02:27","timeunitclear":"2026-03-18 17:22:42","policeReportNumber":"20260029533","dispatchNotes":"[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]","cADLog":"[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]","incidentLocationCity":"MONTEREY","streetName":"PRICE AVE","incidentAddressTextVersionStreet":"103 E PRICE AVE","locationCoordinates":"36.14359,-85.2727"}
[2026-03-18 22:22:57] [INFO] Number of extracted fields: 25
[2026-03-18 22:22:57] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
RESC'
[2026-03-18 22:22:57] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
RESC', Parsed IDs = ["MFD","RESC"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-18 22:22:57] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","RESC"]
[2026-03-18 22:22:57] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-18 22:22:57] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-18 22:22:57] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["RESC"]
[2026-03-18 22:22:57] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-18 22:22:57] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-18 22:22:57] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-18 22:22:57] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-18 22:22:57] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-18 22:22:57] [INFO] Found existing IncidentTypeMapping with ID: 6986a2d46146fc3fa
[2026-03-18 22:22:58] [INFO] Found existing Dispatch with cADNumber '2026000099', ID: 69bb20f9b0739aa3d - will update instead of create
[2026-03-18 22:22:58] [INFO] Updated existing Dispatches record with ID: 69bb20f9b0739aa3d
[2026-03-18 22:22:58] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260029533_20260318_222256.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/MFD_20260029533_20260318_222256.XML
[2026-03-18 22:22:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260029533_20260318_222256.XML
[2026-03-18 22:22:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260029533_20260318_222256_1.XML
[2026-03-18 22:22:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260029533_20260318_222256_1.XML for user: 68f1466aed072ad4a
[2026-03-18 22:22:58] [INFO] File size: 5538 bytes
[2026-03-18 22:22:58] [INFO] Created FTPFiles record with ID: 69bb25c2a7a873ef2
[2026-03-18 22:22:58] [INFO] About to extract fields from XML. File size: 5538 bytes
[2026-03-18 22:22:58] [INFO] Number of mappings: 28
[2026-03-18 22:22:58] [INFO] Starting XML parsing. Content length: 5538
[2026-03-18 22:22:58] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 22:22:58] [INFO] Processing 28 field mappings
[2026-03-18 22:22:58] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 22:22:58] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 22:22:58] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 22:22:58] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-18 22:22:58] [INFO]   -> Found value: MFD
RESC
[2026-03-18 22:22:58] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nRESC"
[2026-03-18 22:22:58] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 22:22:58] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-18 22:22:58] [INFO]   -> Found value: 2026000099
[2026-03-18 22:22:58] [INFO]   -> Set field 'incidentInternalId' = "2026000099"
[2026-03-18 22:22:58] [INFO]   -> Set field 'dispatchRunNumber' = "2026000099"
[2026-03-18 22:22:58] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 22:22:58] [INFO]   -> Found value: DIABETIC PROBLEM
[2026-03-18 22:22:58] [INFO]   -> Set field 'incidentTypeValue1' = "DIABETIC PROBLEM"
[2026-03-18 22:22:58] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 22:22:58] [INFO]   -> Found value: 103
[2026-03-18 22:22:58] [INFO]   -> Set field 'incidentLocationStreetNumber' = 103
[2026-03-18 22:22:58] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 22:22:58] [INFO]   -> Found value: TN
[2026-03-18 22:22:58] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 22:22:58] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 22:22:58] [INFO]   -> Found value: 38574
[2026-03-18 22:22:58] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-18 22:22:58] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 22:22:58] [INFO]   -> Found value: 103 E PRICE AVE
[2026-03-18 22:22:58] [INFO]   -> Set field 'businessName' = "103 E PRICE AVE"
[2026-03-18 22:22:58] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 22:22:58] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:58] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 22:22:58] [INFO]   -> Found value: 36.14359
[2026-03-18 22:22:58] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1435900000000032150637707673013210296630859375
[2026-03-18 22:22:58] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 22:22:58] [INFO]   -> Found value: -85.27270
[2026-03-18 22:22:58] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2727000000000003865352482534945011138916015625
[2026-03-18 22:22:58] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 22:22:58] [INFO]   -> Found value: 2026-03-18 17:01:51
[2026-03-18 22:22:58] [INFO]   -> Set field 'alarm' = "2026-03-18 17:01:51"
[2026-03-18 22:22:58] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 22:22:58] [INFO]   -> Found value: 2026-03-18 17:02:27
[2026-03-18 22:22:58] [INFO]   -> Set field 'dispatched' = "2026-03-18 17:02:27"
[2026-03-18 22:22:58] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 22:22:58] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:58] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 22:22:58] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:58] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 22:22:58] [INFO]   -> Found value: 2026-03-18 17:22:42
[2026-03-18 22:22:58] [INFO]   -> Set field 'cleared' = "2026-03-18 17:22:42"
[2026-03-18 22:22:58] [INFO]   -> Set field 'inService' = "2026-03-18 17:22:42"
[2026-03-18 22:22:58] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 22:22:58] [INFO]   -> Found value: S HOLLY ST/S CHESTNUT ST
[2026-03-18 22:22:58] [INFO]   -> Set field 'incidentLocationCross' = "S HOLLY ST\/S CHESTNUT ST"
[2026-03-18 22:22:58] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 22:22:58] [INFO]   -> Found value: MFR
[2026-03-18 22:22:58] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-03-18 22:22:58] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 22:22:58] [INFO]   -> Found value: 2026-03-18 17:02:27
[2026-03-18 22:22:58] [INFO]   -> Set field 'timedispatch' = "2026-03-18 17:02:27"
[2026-03-18 22:22:58] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 22:22:58] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:58] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 22:22:58] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:58] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 22:22:58] [INFO]   -> Found value: 2026-03-18 17:22:42
[2026-03-18 22:22:58] [INFO]   -> Set field 'timeunitclear' = "2026-03-18 17:22:42"
[2026-03-18 22:22:58] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 22:22:58] [INFO]   -> No value found (null or empty)
[2026-03-18 22:22:58] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 22:22:58] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 22:22:58] [INFO]   -> Found value: 20260029533
[2026-03-18 22:22:58] [INFO]   -> Set field 'policeReportNumber' = "20260029533"
[2026-03-18 22:22:58] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 22:22:58] [INFO]   -> Found value: [EMS] UDTS: 1ST RESPONDERS PAGED  [03/18/26 17:03:08 KBEATY] [EMS] ONSET OF AN HOUR  [03/18/26 17:01...
[2026-03-18 22:22:58] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]"
[2026-03-18 22:22:58] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]"
[2026-03-18 22:22:58] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 22:22:58] [INFO]   -> Found value: MONTEREY
[2026-03-18 22:22:58] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-18 22:22:58] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 22:22:58] [INFO]   -> Found value: PRICE
[2026-03-18 22:22:58] [INFO]   -> Set field 'streetName' = "PRICE"
[2026-03-18 22:22:58] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 22:22:58] [INFO]   -> Found value: AVE
[2026-03-18 22:22:58] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-18 22:22:58] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 22:22:58] [INFO]   -> Found value: 103 E PRICE AVE
[2026-03-18 22:22:58] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "103 E PRICE AVE"
[2026-03-18 22:22:58] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-03-18 22:22:58] [INFO] Concatenating street name and type
[2026-03-18 22:22:58] [INFO]   -> Combined street name: PRICE AVE
[2026-03-18 22:22:58] [INFO] Built locationCoordinates from lat/lng: 36.14359,-85.2727
[2026-03-18 22:22:58] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nRESC","incidentInternalId":"2026000099","dispatchRunNumber":"2026000099","incidentTypeValue1":"DIABETIC PROBLEM","incidentLocationStreetNumber":103,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"103 E PRICE AVE","nERISIncidentLatitude":36.1435900000000032150637707673013210296630859375,"nERISIncidentLongitude":-85.2727000000000003865352482534945011138916015625,"alarm":"2026-03-18 17:01:51","dispatched":"2026-03-18 17:02:27","cleared":"2026-03-18 17:22:42","inService":"2026-03-18 17:22:42","incidentLocationCross":"S HOLLY ST\/S CHESTNUT ST","cADVehicleID":"MFR","timedispatch":"2026-03-18 17:02:27","timeunitclear":"2026-03-18 17:22:42","policeReportNumber":"20260029533","dispatchNotes":"[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]","cADLog":"[EMS] UDTS: 1ST RESPONDERS PAGED  [03\/18\/26 17:03:08 KBEATY] [EMS] ONSET OF AN HOUR  [03\/18\/26 17:01:59 KMORGAN2] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 17:01:51 KMORGAN2] VOMITING BS LOW\/\/53  [03\/18\/26 17:01:47 KMORGAN2]]","incidentLocationCity":"MONTEREY","streetName":"PRICE AVE","incidentAddressTextVersionStreet":"103 E PRICE AVE","locationCoordinates":"36.14359,-85.2727"}
[2026-03-18 22:22:58] [INFO] Number of extracted fields: 25
[2026-03-18 22:22:58] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
RESC'
[2026-03-18 22:22:58] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
RESC', Parsed IDs = ["MFD","RESC"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-18 22:22:58] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","RESC"]
[2026-03-18 22:22:58] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-18 22:22:58] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-18 22:22:58] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["RESC"]
[2026-03-18 22:22:59] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-18 22:22:59] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-18 22:22:59] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-18 22:22:59] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-18 22:22:59] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-18 22:22:59] [INFO] Found existing IncidentTypeMapping with ID: 6986a2d46146fc3fa
[2026-03-18 22:22:59] [INFO] Found existing Dispatch with cADNumber '2026000099', ID: 69bb20f9b0739aa3d - will update instead of create
[2026-03-18 22:22:59] [INFO] Updated existing Dispatches record with ID: 69bb20f9b0739aa3d
[2026-03-18 22:22:59] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260029533_20260318_222256_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/MFD_20260029533_20260318_222256_1.XML
[2026-03-18 22:22:59] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260029533_20260318_222256_1.XML
[2026-03-18 23:07:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08207.xml
[2026-03-18 23:07:01] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08207.xml for user: 68d56363ec1209189
[2026-03-18 23:07:01] [INFO] File size: 1324 bytes
[2026-03-18 23:07:01] [INFO] Created FTPFiles record with ID: 69bb3015dcad6a40a
[2026-03-18 23:07:01] [INFO] About to extract fields from XML. File size: 1324 bytes
[2026-03-18 23:07:01] [INFO] Number of mappings: 21
[2026-03-18 23:07:01] [INFO] Starting XML parsing. Content length: 1324
[2026-03-18 23:07:01] [INFO] XML parsed successfully. Root element: Incident
[2026-03-18 23:07:01] [INFO] Processing 21 field mappings
[2026-03-18 23:07:01] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-18 23:07:01] [INFO]   -> Found value: 26-08207
[2026-03-18 23:07:01] [INFO]   -> Set field 'dispatchRunNumber' = "26-08207"
[2026-03-18 23:07:01] [INFO]   -> Set field 'cADNumber' = "26-08207"
[2026-03-18 23:07:01] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-18 23:07:01] [INFO]   -> Found value: 201
[2026-03-18 23:07:01] [INFO]   -> Set field 'incidentLocationStreetNumber' = 201
[2026-03-18 23:07:01] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-18 23:07:01] [INFO]   -> Found value: S KINGSHIGHWAY
[2026-03-18 23:07:01] [INFO]   -> Set field 'streetName' = "S KINGSHIGHWAY"
[2026-03-18 23:07:01] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-18 23:07:01] [INFO]   -> No value found (null or empty)
[2026-03-18 23:07:01] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-18 23:07:01] [INFO]   -> Found value: SIKESTON
[2026-03-18 23:07:01] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-03-18 23:07:01] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-18 23:07:01] [INFO]   -> Found value: SIKESTON DPS
[2026-03-18 23:07:01] [INFO]   -> Set field 'businessName' = "SIKESTON DPS"
[2026-03-18 23:07:01] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-18 23:07:01] [INFO]   -> Found value: MO
[2026-03-18 23:07:01] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-03-18 23:07:01] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-18 23:07:01] [INFO]   -> Found value: 63801
[2026-03-18 23:07:01] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-03-18 23:07:01] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-18 23:07:01] [INFO]   -> No value found (null or empty)
[2026-03-18 23:07:01] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-18 23:07:01] [INFO]   -> No value found (null or empty)
[2026-03-18 23:07:01] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-18 23:07:01] [INFO]   -> Found value: WED 1800 HR PAGER TEST
[2026-03-18 23:07:01] [INFO]   -> Set field 'incidentTypeValue1' = "WED 1800 HR PAGER TEST"
[2026-03-18 23:07:01] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-18 23:07:01] [INFO]   -> Found value: 03-18-2026 18:00:00|WED EVENING PAGER TEST
[2026-03-18 23:07:01] [INFO]   -> Set field 'dispatchNotes' = "03-18-2026 18:00:00|WED EVENING PAGER TEST"
[2026-03-18 23:07:01] [INFO]   -> Set field 'cADLog' = "03-18-2026 18:00:00|WED EVENING PAGER TEST"
[2026-03-18 23:07:01] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-18 23:07:01] [INFO]   -> Found value: 03-18-2026T18:02:44
[2026-03-18 23:07:01] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T18:02:44
[2026-03-18 23:07:01] [ERROR] Error formatting datetime '2026-18-03T18:02:44': Failed to parse time string (2026-18-03T18:02:44) at position 6 (8): Unexpected character
[2026-03-18 23:07:01] [INFO]   -> Set field 'alarm' = null
[2026-03-18 23:07:01] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T18:02:44
[2026-03-18 23:07:01] [ERROR] Error formatting datetime '2026-18-03T18:02:44': Failed to parse time string (2026-18-03T18:02:44) at position 6 (8): Unexpected character
[2026-03-18 23:07:01] [INFO]   -> Set field 'dispatched' = null
[2026-03-18 23:07:01] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-18 23:07:01] [INFO]   -> No value found (null or empty)
[2026-03-18 23:07:01] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-18 23:07:01] [INFO]   -> No value found (null or empty)
[2026-03-18 23:07:01] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-18 23:07:01] [INFO]   -> Found value: RURAL PAGE
[2026-03-18 23:07:01] [INFO]   -> Set field 'cADVehicleID' = "RURAL PAGE"
[2026-03-18 23:07:01] [INFO]   -> Set field 'name' = "RURAL PAGE"
[2026-03-18 23:07:01] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-18 23:07:01] [INFO]   -> No value found (null or empty)
[2026-03-18 23:07:01] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-18 23:07:01] [INFO]   -> No value found (null or empty)
[2026-03-18 23:07:01] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-18 23:07:01] [INFO]   -> Found value: 03-18-2026T18:06:39
[2026-03-18 23:07:01] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T18:06:39
[2026-03-18 23:07:01] [ERROR] Error formatting datetime '2026-18-03T18:06:39': Failed to parse time string (2026-18-03T18:06:39) at position 6 (8): Unexpected character
[2026-03-18 23:07:01] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-18 23:07:01] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-18 23:07:01] [INFO]   -> Found value: 03-18-2026T18:02:50
[2026-03-18 23:07:01] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T18:02:50
[2026-03-18 23:07:01] [ERROR] Error formatting datetime '2026-18-03T18:02:50': Failed to parse time string (2026-18-03T18:02:50) at position 6 (8): Unexpected character
[2026-03-18 23:07:01] [INFO]   -> Set field 'timedispatch' = null
[2026-03-18 23:07:01] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-18 23:07:01] [INFO]   -> Found value: SCRFD
[2026-03-18 23:07:01] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-03-18 23:07:01] [INFO] Finished extracting fields. Total fields extracted: 18
[2026-03-18 23:07:01] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-08207","cADNumber":"26-08207","incidentLocationStreetNumber":201,"streetName":"S KINGSHIGHWAY","incidentLocationCity":"SIKESTON","businessName":"SIKESTON DPS","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"incidentTypeValue1":"WED 1800 HR PAGER TEST","dispatchNotes":"03-18-2026 18:00:00|WED EVENING PAGER TEST","cADLog":"03-18-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-03-18 23:07:01] [INFO] Number of extracted fields: 18
[2026-03-18 23:07:01] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-03-18 23:07:01] [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-03-18 23:07:01] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-03-18 23:07:01] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-03-18 23:07:02] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-03-18 23:07:02] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-03-18 23:07:02] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-03-18 23:07:02] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-03-18 23:07:02] [INFO] Found existing IncidentTypeMapping with ID: 693a0a64a7bfdcdfa
[2026-03-18 23:07:02] [INFO] Found existing Dispatch with cADNumber '26-08207', ID: 69bb2f1e949e51d11 - will update instead of create
[2026-03-18 23:07:03] [INFO] Updated existing Dispatches record with ID: 69bb2f1e949e51d11
[2026-03-18 23:07:03] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08207.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-18/SCRFD_26-08207.xml
[2026-03-18 23:07:03] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08207.xml
[2026-03-18 23:07:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08207.xml
[2026-03-18 23:07:03] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08207.xml for user: 68d56363ec1209189
[2026-03-18 23:07:03] [INFO] File size: 1327 bytes
[2026-03-18 23:07:03] [INFO] Created FTPFiles record with ID: 69bb301774ade2d3e
[2026-03-18 23:07:03] [INFO] About to extract fields from XML. File size: 1327 bytes
[2026-03-18 23:07:03] [INFO] Number of mappings: 21
[2026-03-18 23:07:03] [INFO] Starting XML parsing. Content length: 1327
[2026-03-18 23:07:03] [INFO] XML parsed successfully. Root element: Incident
[2026-03-18 23:07:03] [INFO] Processing 21 field mappings
[2026-03-18 23:07:03] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-18 23:07:03] [INFO]   -> Found value: 26-08207
[2026-03-18 23:07:03] [INFO]   -> Set field 'dispatchRunNumber' = "26-08207"
[2026-03-18 23:07:03] [INFO]   -> Set field 'cADNumber' = "26-08207"
[2026-03-18 23:07:03] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-18 23:07:03] [INFO]   -> Found value: 201
[2026-03-18 23:07:03] [INFO]   -> Set field 'incidentLocationStreetNumber' = 201
[2026-03-18 23:07:03] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-18 23:07:03] [INFO]   -> Found value: S KINGSHIGHWAY
[2026-03-18 23:07:03] [INFO]   -> Set field 'streetName' = "S KINGSHIGHWAY"
[2026-03-18 23:07:03] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-18 23:07:03] [INFO]   -> No value found (null or empty)
[2026-03-18 23:07:03] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-18 23:07:03] [INFO]   -> Found value: SIKESTON
[2026-03-18 23:07:03] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-03-18 23:07:03] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-18 23:07:03] [INFO]   -> Found value: SIKESTON DPS
[2026-03-18 23:07:03] [INFO]   -> Set field 'businessName' = "SIKESTON DPS"
[2026-03-18 23:07:03] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-18 23:07:03] [INFO]   -> Found value: MO
[2026-03-18 23:07:03] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-03-18 23:07:03] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-18 23:07:03] [INFO]   -> Found value: 63801
[2026-03-18 23:07:03] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-03-18 23:07:03] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-18 23:07:03] [INFO]   -> No value found (null or empty)
[2026-03-18 23:07:03] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-18 23:07:03] [INFO]   -> No value found (null or empty)
[2026-03-18 23:07:03] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-18 23:07:03] [INFO]   -> Found value: WED 1800 HR PAGER TEST
[2026-03-18 23:07:03] [INFO]   -> Set field 'incidentTypeValue1' = "WED 1800 HR PAGER TEST"
[2026-03-18 23:07:03] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-18 23:07:03] [INFO]   -> Found value: 03-18-2026 18:00:00|WED EVENING PAGER TEST
[2026-03-18 23:07:03] [INFO]   -> Set field 'dispatchNotes' = "03-18-2026 18:00:00|WED EVENING PAGER TEST"
[2026-03-18 23:07:03] [INFO]   -> Set field 'cADLog' = "03-18-2026 18:00:00|WED EVENING PAGER TEST"
[2026-03-18 23:07:03] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-18 23:07:03] [INFO]   -> Found value: 03-18-2026T18:02:44
[2026-03-18 23:07:03] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T18:02:44
[2026-03-18 23:07:03] [ERROR] Error formatting datetime '2026-18-03T18:02:44': Failed to parse time string (2026-18-03T18:02:44) at position 6 (8): Unexpected character
[2026-03-18 23:07:03] [INFO]   -> Set field 'alarm' = null
[2026-03-18 23:07:03] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T18:02:44
[2026-03-18 23:07:03] [ERROR] Error formatting datetime '2026-18-03T18:02:44': Failed to parse time string (2026-18-03T18:02:44) at position 6 (8): Unexpected character
[2026-03-18 23:07:03] [INFO]   -> Set field 'dispatched' = null
[2026-03-18 23:07:03] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-18 23:07:03] [INFO]   -> No value found (null or empty)
[2026-03-18 23:07:03] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-18 23:07:03] [INFO]   -> No value found (null or empty)
[2026-03-18 23:07:03] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-18 23:07:03] [INFO]   -> Found value: SIK ALL PAGE
[2026-03-18 23:07:03] [INFO]   -> Set field 'cADVehicleID' = "SIK ALL PAGE"
[2026-03-18 23:07:03] [INFO]   -> Set field 'name' = "SIK ALL PAGE"
[2026-03-18 23:07:03] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-18 23:07:03] [INFO]   -> No value found (null or empty)
[2026-03-18 23:07:03] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-18 23:07:03] [INFO]   -> No value found (null or empty)
[2026-03-18 23:07:03] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-18 23:07:03] [INFO]   -> Found value: 03-18-2026T18:06:39
[2026-03-18 23:07:03] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T18:06:39
[2026-03-18 23:07:03] [ERROR] Error formatting datetime '2026-18-03T18:06:39': Failed to parse time string (2026-18-03T18:06:39) at position 6 (8): Unexpected character
[2026-03-18 23:07:03] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-18 23:07:03] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-18 23:07:03] [INFO]   -> Found value: 03-18-2026T18:03:42
[2026-03-18 23:07:03] [INFO] Reformatted DD-MM-YYYY date '03-18-2026' (day=03, month=18) to ISO: 2026-18-03T18:03:42
[2026-03-18 23:07:03] [ERROR] Error formatting datetime '2026-18-03T18:03:42': Failed to parse time string (2026-18-03T18:03:42) at position 6 (8): Unexpected character
[2026-03-18 23:07:03] [INFO]   -> Set field 'timedispatch' = null
[2026-03-18 23:07:03] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-18 23:07:03] [INFO]   -> Found value: SDPSFD
[2026-03-18 23:07:03] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-18 23:07:03] [INFO] Finished extracting fields. Total fields extracted: 18
[2026-03-18 23:07:03] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-08207","cADNumber":"26-08207","incidentLocationStreetNumber":201,"streetName":"S KINGSHIGHWAY","incidentLocationCity":"SIKESTON","businessName":"SIKESTON DPS","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"incidentTypeValue1":"WED 1800 HR PAGER TEST","dispatchNotes":"03-18-2026 18:00:00|WED EVENING PAGER TEST","cADLog":"03-18-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-03-18 23:07:03] [INFO] Number of extracted fields: 18
[2026-03-18 23:07:03] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-18 23:07:03] [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-03-18 23:07:03] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-18 23:07:03] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-18 23:07:03] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-18 23:07:03] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-18 23:07:03] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-18 23:07:03] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-18 23:07:04] [INFO] Found existing IncidentTypeMapping with ID: 691e5c32443e1aa70
[2026-03-18 23:07:06] [INFO] Created new Dispatches record with ID: 69bb30187f0951764
[2026-03-18 23:07:06] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08207.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-18/SDPSFD_26-08207.xml
[2026-03-18 23:07:06] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08207.xml
[2026-03-18 23:44:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029551_20260318_234422.XML
[2026-03-18 23:44:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029551_20260318_234422.XML for user: 68f1466aed072ad4a
[2026-03-18 23:44:22] [INFO] File size: 5705 bytes
[2026-03-18 23:44:22] [INFO] Created FTPFiles record with ID: 69bb38d685fc170f7
[2026-03-18 23:44:22] [INFO] About to extract fields from XML. File size: 5705 bytes
[2026-03-18 23:44:22] [INFO] Number of mappings: 28
[2026-03-18 23:44:22] [INFO] Starting XML parsing. Content length: 5705
[2026-03-18 23:44:22] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 23:44:22] [INFO] Processing 28 field mappings
[2026-03-18 23:44:22] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 23:44:22] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 23:44:22] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 23:44:22] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 23:44:22] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-18 23:44:22] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-18 23:44:22] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 23:44:22] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 23:44:22] [INFO]   -> Found value: 2026000735
[2026-03-18 23:44:22] [INFO]   -> Set field 'incidentInternalId' = "2026000735"
[2026-03-18 23:44:22] [INFO]   -> Set field 'dispatchRunNumber' = "2026000735"
[2026-03-18 23:44:22] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 23:44:22] [INFO]   -> Found value: DIABETIC PROBLEM
[2026-03-18 23:44:22] [INFO]   -> Set field 'incidentTypeValue1' = "DIABETIC PROBLEM"
[2026-03-18 23:44:22] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 23:44:22] [INFO]   -> Found value: 3722
[2026-03-18 23:44:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3722
[2026-03-18 23:44:22] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 23:44:22] [INFO]   -> Found value: TN
[2026-03-18 23:44:22] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 23:44:22] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 23:44:22] [INFO]   -> Found value: 38501
[2026-03-18 23:44:22] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-18 23:44:22] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 23:44:22] [INFO]   -> No value found (null or empty)
[2026-03-18 23:44:22] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 23:44:22] [INFO]   -> No value found (null or empty)
[2026-03-18 23:44:22] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 23:44:22] [INFO]   -> Found value: 36.18156
[2026-03-18 23:44:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18155999999999750116330687887966632843017578125
[2026-03-18 23:44:22] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 23:44:22] [INFO]   -> Found value: -85.58202
[2026-03-18 23:44:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.58201999999999998181010596454143524169921875
[2026-03-18 23:44:22] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 23:44:22] [INFO]   -> Found value: 2026-03-18 18:42:19
[2026-03-18 23:44:22] [INFO]   -> Set field 'alarm' = "2026-03-18 18:42:19"
[2026-03-18 23:44:22] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 23:44:22] [INFO]   -> Found value: 2026-03-18 18:44:18
[2026-03-18 23:44:22] [INFO]   -> Set field 'dispatched' = "2026-03-18 18:44:18"
[2026-03-18 23:44:22] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 23:44:22] [INFO]   -> No value found (null or empty)
[2026-03-18 23:44:22] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 23:44:22] [INFO]   -> No value found (null or empty)
[2026-03-18 23:44:22] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 23:44:22] [INFO]   -> No value found (null or empty)
[2026-03-18 23:44:22] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 23:44:22] [INFO]   -> Found value: MIRANDA LN/SUNNY DR
[2026-03-18 23:44:22] [INFO]   -> Set field 'incidentLocationCross' = "MIRANDA LN\/SUNNY DR"
[2026-03-18 23:44:22] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 23:44:22] [INFO]   -> Found value: PCFR
[2026-03-18 23:44:22] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-18 23:44:22] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 23:44:22] [INFO]   -> Found value: 2026-03-18 18:44:18
[2026-03-18 23:44:22] [INFO]   -> Set field 'timedispatch' = "2026-03-18 18:44:18"
[2026-03-18 23:44:22] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 23:44:22] [INFO]   -> No value found (null or empty)
[2026-03-18 23:44:22] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 23:44:22] [INFO]   -> No value found (null or empty)
[2026-03-18 23:44:22] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 23:44:22] [INFO]   -> No value found (null or empty)
[2026-03-18 23:44:22] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 23:44:22] [INFO]   -> No value found (null or empty)
[2026-03-18 23:44:22] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 23:44:22] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 23:44:22] [INFO]   -> Found value: 20260029551
[2026-03-18 23:44:22] [INFO]   -> Set field 'policeReportNumber' = "20260029551"
[2026-03-18 23:44:22] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 23:44:22] [INFO]   -> Found value: [LAW] PCSO ENRT  [03/18/26 18:43:53 DKITCHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/18/26 18:4...
[2026-03-18 23:44:22] [INFO]   -> Set field 'dispatchNotes' = "[LAW] PCSO ENRT  [03\/18\/26 18:43:53 DKITCHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 18:43:38 DKITCHENS] [EMS] ENTER THROUGH THE FRONT DOOR  HAS TAKEN INSULIN\/\/ HASN`T HELPED  KIDNEY TRANSPLANT PT  [03\/18\/26 18:43:02 EROACH] [EMS] 46 YO MALE  JONATHAN STAFFORD  [03\/18\/26 18:42:38 EROACH] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 18:42:19 EROACH] DIABETIC PT THINKS HE IS IN DKA 353 BS  [03\/18\/26 18:42:16 EROACH]]"
[2026-03-18 23:44:22] [INFO]   -> Set field 'cADLog' = "[LAW] PCSO ENRT  [03\/18\/26 18:43:53 DKITCHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 18:43:38 DKITCHENS] [EMS] ENTER THROUGH THE FRONT DOOR  HAS TAKEN INSULIN\/\/ HASN`T HELPED  KIDNEY TRANSPLANT PT  [03\/18\/26 18:43:02 EROACH] [EMS] 46 YO MALE  JONATHAN STAFFORD  [03\/18\/26 18:42:38 EROACH] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 18:42:19 EROACH] DIABETIC PT THINKS HE IS IN DKA 353 BS  [03\/18\/26 18:42:16 EROACH]]"
[2026-03-18 23:44:22] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 23:44:22] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 23:44:22] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 23:44:22] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 23:44:22] [INFO]   -> Found value: SHADY OAK
[2026-03-18 23:44:22] [INFO]   -> Set field 'streetName' = "SHADY OAK"
[2026-03-18 23:44:22] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 23:44:22] [INFO]   -> Found value: CIR
[2026-03-18 23:44:22] [INFO]   -> Set field 'streetType' = "CIR"
[2026-03-18 23:44:22] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 23:44:22] [INFO]   -> Found value: 3722 SHADY OAK CIR
[2026-03-18 23:44:22] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3722 SHADY OAK CIR"
[2026-03-18 23:44:22] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-18 23:44:22] [INFO] Concatenating street name and type
[2026-03-18 23:44:22] [INFO]   -> Combined street name: SHADY OAK CIR
[2026-03-18 23:44:22] [INFO] Built locationCoordinates from lat/lng: 36.18156,-85.58202
[2026-03-18 23:44:22] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000735","dispatchRunNumber":"2026000735","incidentTypeValue1":"DIABETIC PROBLEM","incidentLocationStreetNumber":3722,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.18155999999999750116330687887966632843017578125,"nERISIncidentLongitude":-85.58201999999999998181010596454143524169921875,"alarm":"2026-03-18 18:42:19","dispatched":"2026-03-18 18:44:18","incidentLocationCross":"MIRANDA LN\/SUNNY DR","cADVehicleID":"PCFR","timedispatch":"2026-03-18 18:44:18","policeReportNumber":"20260029551","dispatchNotes":"[LAW] PCSO ENRT  [03\/18\/26 18:43:53 DKITCHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 18:43:38 DKITCHENS] [EMS] ENTER THROUGH THE FRONT DOOR  HAS TAKEN INSULIN\/\/ HASN`T HELPED  KIDNEY TRANSPLANT PT  [03\/18\/26 18:43:02 EROACH] [EMS] 46 YO MALE  JONATHAN STAFFORD  [03\/18\/26 18:42:38 EROACH] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 18:42:19 EROACH] DIABETIC PT THINKS HE IS IN DKA 353 BS  [03\/18\/26 18:42:16 EROACH]]","cADLog":"[LAW] PCSO ENRT  [03\/18\/26 18:43:53 DKITCHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 18:43:38 DKITCHENS] [EMS] ENTER THROUGH THE FRONT DOOR  HAS TAKEN INSULIN\/\/ HASN`T HELPED  KIDNEY TRANSPLANT PT  [03\/18\/26 18:43:02 EROACH] [EMS] 46 YO MALE  JONATHAN STAFFORD  [03\/18\/26 18:42:38 EROACH] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 18:42:19 EROACH] DIABETIC PT THINKS HE IS IN DKA 353 BS  [03\/18\/26 18:42:16 EROACH]]","incidentLocationCity":"COOKEVILLE","streetName":"SHADY OAK CIR","incidentAddressTextVersionStreet":"3722 SHADY OAK CIR","locationCoordinates":"36.18156,-85.58202"}
[2026-03-18 23:44:22] [INFO] Number of extracted fields: 21
[2026-03-18 23:44:22] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-18 23:44:22] [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-03-18 23:44:22] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-18 23:44:22] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 23:44:22] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 23:44:22] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-18 23:44:22] [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-03-18 23:44:22] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 23:44:22] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 23:44:22] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 23:44:22] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 23:44:23] [INFO] Found existing IncidentTypeMapping with ID: 6937a13f0053c6dd7
[2026-03-18 23:44:33] [INFO] Created new Dispatches record with ID: 69bb38d7510fa812c
[2026-03-18 23:44:33] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029551_20260318_234422.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029551_20260318_234422.XML
[2026-03-18 23:44:33] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029551_20260318_234422.XML
[2026-03-18 23:45:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029551_20260318_234554.XML
[2026-03-18 23:45:54] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029551_20260318_234554.XML for user: 68f1466aed072ad4a
[2026-03-18 23:45:54] [INFO] File size: 6676 bytes
[2026-03-18 23:45:55] [INFO] Created FTPFiles record with ID: 69bb39331377b2d01
[2026-03-18 23:45:55] [INFO] About to extract fields from XML. File size: 6676 bytes
[2026-03-18 23:45:55] [INFO] Number of mappings: 28
[2026-03-18 23:45:55] [INFO] Starting XML parsing. Content length: 6676
[2026-03-18 23:45:55] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 23:45:55] [INFO] Processing 28 field mappings
[2026-03-18 23:45:55] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 23:45:55] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 23:45:55] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 23:45:55] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 23:45:55] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-18 23:45:55] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-18 23:45:55] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 23:45:55] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 23:45:55] [INFO]   -> Found value: 2026000735
[2026-03-18 23:45:55] [INFO]   -> Set field 'incidentInternalId' = "2026000735"
[2026-03-18 23:45:55] [INFO]   -> Set field 'dispatchRunNumber' = "2026000735"
[2026-03-18 23:45:55] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 23:45:55] [INFO]   -> Found value: DIABETIC PROBLEM
[2026-03-18 23:45:55] [INFO]   -> Set field 'incidentTypeValue1' = "DIABETIC PROBLEM"
[2026-03-18 23:45:55] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 23:45:55] [INFO]   -> Found value: 3722
[2026-03-18 23:45:55] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3722
[2026-03-18 23:45:55] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 23:45:55] [INFO]   -> Found value: TN
[2026-03-18 23:45:55] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 23:45:55] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 23:45:55] [INFO]   -> Found value: 38501
[2026-03-18 23:45:55] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-18 23:45:55] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 23:45:55] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:55] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 23:45:55] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:55] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 23:45:55] [INFO]   -> Found value: 36.18156
[2026-03-18 23:45:55] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18155999999999750116330687887966632843017578125
[2026-03-18 23:45:55] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 23:45:55] [INFO]   -> Found value: -85.58202
[2026-03-18 23:45:55] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.58201999999999998181010596454143524169921875
[2026-03-18 23:45:55] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 23:45:55] [INFO]   -> Found value: 2026-03-18 18:42:19
[2026-03-18 23:45:55] [INFO]   -> Set field 'alarm' = "2026-03-18 18:42:19"
[2026-03-18 23:45:55] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 23:45:55] [INFO]   -> Found value: 2026-03-18 18:44:18
[2026-03-18 23:45:55] [INFO]   -> Set field 'dispatched' = "2026-03-18 18:44:18"
[2026-03-18 23:45:55] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 23:45:55] [INFO]   -> Found value: 2026-03-18 18:45:48
[2026-03-18 23:45:55] [INFO]   -> Set field 'enroute' = "2026-03-18 18:45:48"
[2026-03-18 23:45:55] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 23:45:55] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:55] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 23:45:55] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:55] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 23:45:55] [INFO]   -> Found value: MIRANDA LN/SUNNY DR
[2026-03-18 23:45:55] [INFO]   -> Set field 'incidentLocationCross' = "MIRANDA LN\/SUNNY DR"
[2026-03-18 23:45:55] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 23:45:55] [INFO]   -> Found value: TK31
[2026-03-18 23:45:55] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-18 23:45:55] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 23:45:55] [INFO]   -> Found value: 2026-03-18 18:45:45
[2026-03-18 23:45:55] [INFO]   -> Set field 'timedispatch' = "2026-03-18 18:45:45"
[2026-03-18 23:45:55] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 23:45:55] [INFO]   -> Found value: 2026-03-18 18:45:48
[2026-03-18 23:45:55] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 18:45:48"
[2026-03-18 23:45:55] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 23:45:55] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:55] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 23:45:55] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:55] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 23:45:55] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:55] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 23:45:55] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 23:45:55] [INFO]   -> Found value: 20260029551
[2026-03-18 23:45:55] [INFO]   -> Set field 'policeReportNumber' = "20260029551"
[2026-03-18 23:45:55] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 23:45:55] [INFO]   -> Found value: [RESC] HASN`T BEEN ABLE TO KEEP HIS REJECTION MEDS DOWN  [03/18/26 18:44:28 EROACH] [LAW] PCSO ENRT ...
[2026-03-18 23:45:55] [INFO]   -> Set field 'dispatchNotes' = "[RESC] HASN`T BEEN ABLE TO KEEP HIS REJECTION MEDS DOWN  [03\/18\/26 18:44:28 EROACH] [LAW] PCSO ENRT  [03\/18\/26 18:43:53 DKITCHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 18:43:38 DKITCHENS] [EMS] ENTER THROUGH THE FRONT DOOR  HAS TAKEN INSULIN\/\/ HASN`T HELPED  KIDNEY TRANSPLANT PT  [03\/18\/26 18:43:02 EROACH] [EMS] 46 YO MALE  JONATHAN STAFFORD  [03\/18\/26 18:42:38 EROACH] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 18:42:19 EROACH] DIABETIC PT THINKS HE IS IN DKA 353 BS  [03\/18\/26 18:42:16 EROACH]]"
[2026-03-18 23:45:55] [INFO]   -> Set field 'cADLog' = "[RESC] HASN`T BEEN ABLE TO KEEP HIS REJECTION MEDS DOWN  [03\/18\/26 18:44:28 EROACH] [LAW] PCSO ENRT  [03\/18\/26 18:43:53 DKITCHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 18:43:38 DKITCHENS] [EMS] ENTER THROUGH THE FRONT DOOR  HAS TAKEN INSULIN\/\/ HASN`T HELPED  KIDNEY TRANSPLANT PT  [03\/18\/26 18:43:02 EROACH] [EMS] 46 YO MALE  JONATHAN STAFFORD  [03\/18\/26 18:42:38 EROACH] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 18:42:19 EROACH] DIABETIC PT THINKS HE IS IN DKA 353 BS  [03\/18\/26 18:42:16 EROACH]]"
[2026-03-18 23:45:55] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 23:45:55] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 23:45:55] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 23:45:55] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 23:45:55] [INFO]   -> Found value: SHADY OAK
[2026-03-18 23:45:55] [INFO]   -> Set field 'streetName' = "SHADY OAK"
[2026-03-18 23:45:55] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 23:45:55] [INFO]   -> Found value: CIR
[2026-03-18 23:45:55] [INFO]   -> Set field 'streetType' = "CIR"
[2026-03-18 23:45:55] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 23:45:55] [INFO]   -> Found value: 3722 SHADY OAK CIR
[2026-03-18 23:45:55] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3722 SHADY OAK CIR"
[2026-03-18 23:45:55] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 23:45:55] [INFO] Concatenating street name and type
[2026-03-18 23:45:55] [INFO]   -> Combined street name: SHADY OAK CIR
[2026-03-18 23:45:55] [INFO] Built locationCoordinates from lat/lng: 36.18156,-85.58202
[2026-03-18 23:45:55] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000735","dispatchRunNumber":"2026000735","incidentTypeValue1":"DIABETIC PROBLEM","incidentLocationStreetNumber":3722,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.18155999999999750116330687887966632843017578125,"nERISIncidentLongitude":-85.58201999999999998181010596454143524169921875,"alarm":"2026-03-18 18:42:19","dispatched":"2026-03-18 18:44:18","enroute":"2026-03-18 18:45:48","incidentLocationCross":"MIRANDA LN\/SUNNY DR","cADVehicleID":"TK31","timedispatch":"2026-03-18 18:45:45","timeenroutetoscene":"2026-03-18 18:45:48","policeReportNumber":"20260029551","dispatchNotes":"[RESC] HASN`T BEEN ABLE TO KEEP HIS REJECTION MEDS DOWN  [03\/18\/26 18:44:28 EROACH] [LAW] PCSO ENRT  [03\/18\/26 18:43:53 DKITCHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 18:43:38 DKITCHENS] [EMS] ENTER THROUGH THE FRONT DOOR  HAS TAKEN INSULIN\/\/ HASN`T HELPED  KIDNEY TRANSPLANT PT  [03\/18\/26 18:43:02 EROACH] [EMS] 46 YO MALE  JONATHAN STAFFORD  [03\/18\/26 18:42:38 EROACH] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 18:42:19 EROACH] DIABETIC PT THINKS HE IS IN DKA 353 BS  [03\/18\/26 18:42:16 EROACH]]","cADLog":"[RESC] HASN`T BEEN ABLE TO KEEP HIS REJECTION MEDS DOWN  [03\/18\/26 18:44:28 EROACH] [LAW] PCSO ENRT  [03\/18\/26 18:43:53 DKITCHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 18:43:38 DKITCHENS] [EMS] ENTER THROUGH THE FRONT DOOR  HAS TAKEN INSULIN\/\/ HASN`T HELPED  KIDNEY TRANSPLANT PT  [03\/18\/26 18:43:02 EROACH] [EMS] 46 YO MALE  JONATHAN STAFFORD  [03\/18\/26 18:42:38 EROACH] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 18:42:19 EROACH] DIABETIC PT THINKS HE IS IN DKA 353 BS  [03\/18\/26 18:42:16 EROACH]]","incidentLocationCity":"COOKEVILLE","streetName":"SHADY OAK CIR","incidentAddressTextVersionStreet":"3722 SHADY OAK CIR","locationCoordinates":"36.18156,-85.58202"}
[2026-03-18 23:45:55] [INFO] Number of extracted fields: 23
[2026-03-18 23:45:55] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-18 23:45:55] [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-03-18 23:45:55] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-18 23:45:55] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 23:45:55] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 23:45:55] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-18 23:45:55] [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-03-18 23:45:55] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 23:45:55] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 23:45:55] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 23:45:55] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 23:45:55] [INFO] Found existing IncidentTypeMapping with ID: 6937a13f0053c6dd7
[2026-03-18 23:45:55] [INFO] Found existing Dispatch with cADNumber '2026000735', ID: 69bb38d7510fa812c - will update instead of create
[2026-03-18 23:45:56] [INFO] Updated existing Dispatches record with ID: 69bb38d7510fa812c
[2026-03-18 23:45:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029551_20260318_234554.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029551_20260318_234554.XML
[2026-03-18 23:45:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029551_20260318_234554.XML
[2026-03-18 23:45:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029551_20260318_234555.XML
[2026-03-18 23:45:56] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029551_20260318_234555.XML for user: 68f1466aed072ad4a
[2026-03-18 23:45:56] [INFO] File size: 6676 bytes
[2026-03-18 23:45:56] [INFO] Created FTPFiles record with ID: 69bb39345c24371ec
[2026-03-18 23:45:56] [INFO] About to extract fields from XML. File size: 6676 bytes
[2026-03-18 23:45:56] [INFO] Number of mappings: 28
[2026-03-18 23:45:56] [INFO] Starting XML parsing. Content length: 6676
[2026-03-18 23:45:56] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 23:45:56] [INFO] Processing 28 field mappings
[2026-03-18 23:45:56] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 23:45:56] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 23:45:56] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 23:45:56] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 23:45:56] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-18 23:45:56] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-18 23:45:56] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 23:45:56] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 23:45:56] [INFO]   -> Found value: 2026000735
[2026-03-18 23:45:56] [INFO]   -> Set field 'incidentInternalId' = "2026000735"
[2026-03-18 23:45:56] [INFO]   -> Set field 'dispatchRunNumber' = "2026000735"
[2026-03-18 23:45:56] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 23:45:56] [INFO]   -> Found value: DIABETIC PROBLEM
[2026-03-18 23:45:56] [INFO]   -> Set field 'incidentTypeValue1' = "DIABETIC PROBLEM"
[2026-03-18 23:45:56] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 23:45:56] [INFO]   -> Found value: 3722
[2026-03-18 23:45:56] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3722
[2026-03-18 23:45:56] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 23:45:56] [INFO]   -> Found value: TN
[2026-03-18 23:45:56] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 23:45:56] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 23:45:56] [INFO]   -> Found value: 38501
[2026-03-18 23:45:56] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-18 23:45:56] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 23:45:56] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:56] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 23:45:56] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:56] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 23:45:56] [INFO]   -> Found value: 36.18156
[2026-03-18 23:45:56] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18155999999999750116330687887966632843017578125
[2026-03-18 23:45:56] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 23:45:56] [INFO]   -> Found value: -85.58202
[2026-03-18 23:45:56] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.58201999999999998181010596454143524169921875
[2026-03-18 23:45:56] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 23:45:56] [INFO]   -> Found value: 2026-03-18 18:42:19
[2026-03-18 23:45:56] [INFO]   -> Set field 'alarm' = "2026-03-18 18:42:19"
[2026-03-18 23:45:56] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 23:45:56] [INFO]   -> Found value: 2026-03-18 18:44:18
[2026-03-18 23:45:56] [INFO]   -> Set field 'dispatched' = "2026-03-18 18:44:18"
[2026-03-18 23:45:56] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 23:45:56] [INFO]   -> Found value: 2026-03-18 18:45:48
[2026-03-18 23:45:56] [INFO]   -> Set field 'enroute' = "2026-03-18 18:45:48"
[2026-03-18 23:45:56] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 23:45:56] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:56] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 23:45:56] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:56] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 23:45:56] [INFO]   -> Found value: MIRANDA LN/SUNNY DR
[2026-03-18 23:45:56] [INFO]   -> Set field 'incidentLocationCross' = "MIRANDA LN\/SUNNY DR"
[2026-03-18 23:45:56] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 23:45:56] [INFO]   -> Found value: TK31
[2026-03-18 23:45:56] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-18 23:45:56] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 23:45:56] [INFO]   -> Found value: 2026-03-18 18:45:45
[2026-03-18 23:45:56] [INFO]   -> Set field 'timedispatch' = "2026-03-18 18:45:45"
[2026-03-18 23:45:56] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 23:45:56] [INFO]   -> Found value: 2026-03-18 18:45:48
[2026-03-18 23:45:56] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 18:45:48"
[2026-03-18 23:45:56] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 23:45:56] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:56] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 23:45:56] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:56] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 23:45:56] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:56] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 23:45:56] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 23:45:56] [INFO]   -> Found value: 20260029551
[2026-03-18 23:45:56] [INFO]   -> Set field 'policeReportNumber' = "20260029551"
[2026-03-18 23:45:56] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 23:45:56] [INFO]   -> Found value: [RESC] HASN`T BEEN ABLE TO KEEP HIS REJECTION MEDS DOWN  [03/18/26 18:44:28 EROACH] [LAW] PCSO ENRT ...
[2026-03-18 23:45:56] [INFO]   -> Set field 'dispatchNotes' = "[RESC] HASN`T BEEN ABLE TO KEEP HIS REJECTION MEDS DOWN  [03\/18\/26 18:44:28 EROACH] [LAW] PCSO ENRT  [03\/18\/26 18:43:53 DKITCHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 18:43:38 DKITCHENS] [EMS] ENTER THROUGH THE FRONT DOOR  HAS TAKEN INSULIN\/\/ HASN`T HELPED  KIDNEY TRANSPLANT PT  [03\/18\/26 18:43:02 EROACH] [EMS] 46 YO MALE  JONATHAN STAFFORD  [03\/18\/26 18:42:38 EROACH] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 18:42:19 EROACH] DIABETIC PT THINKS HE IS IN DKA 353 BS  [03\/18\/26 18:42:16 EROACH]]"
[2026-03-18 23:45:56] [INFO]   -> Set field 'cADLog' = "[RESC] HASN`T BEEN ABLE TO KEEP HIS REJECTION MEDS DOWN  [03\/18\/26 18:44:28 EROACH] [LAW] PCSO ENRT  [03\/18\/26 18:43:53 DKITCHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 18:43:38 DKITCHENS] [EMS] ENTER THROUGH THE FRONT DOOR  HAS TAKEN INSULIN\/\/ HASN`T HELPED  KIDNEY TRANSPLANT PT  [03\/18\/26 18:43:02 EROACH] [EMS] 46 YO MALE  JONATHAN STAFFORD  [03\/18\/26 18:42:38 EROACH] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 18:42:19 EROACH] DIABETIC PT THINKS HE IS IN DKA 353 BS  [03\/18\/26 18:42:16 EROACH]]"
[2026-03-18 23:45:56] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 23:45:56] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 23:45:56] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 23:45:56] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 23:45:56] [INFO]   -> Found value: SHADY OAK
[2026-03-18 23:45:56] [INFO]   -> Set field 'streetName' = "SHADY OAK"
[2026-03-18 23:45:56] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 23:45:56] [INFO]   -> Found value: CIR
[2026-03-18 23:45:56] [INFO]   -> Set field 'streetType' = "CIR"
[2026-03-18 23:45:56] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 23:45:56] [INFO]   -> Found value: 3722 SHADY OAK CIR
[2026-03-18 23:45:56] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3722 SHADY OAK CIR"
[2026-03-18 23:45:56] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 23:45:56] [INFO] Concatenating street name and type
[2026-03-18 23:45:56] [INFO]   -> Combined street name: SHADY OAK CIR
[2026-03-18 23:45:56] [INFO] Built locationCoordinates from lat/lng: 36.18156,-85.58202
[2026-03-18 23:45:56] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000735","dispatchRunNumber":"2026000735","incidentTypeValue1":"DIABETIC PROBLEM","incidentLocationStreetNumber":3722,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.18155999999999750116330687887966632843017578125,"nERISIncidentLongitude":-85.58201999999999998181010596454143524169921875,"alarm":"2026-03-18 18:42:19","dispatched":"2026-03-18 18:44:18","enroute":"2026-03-18 18:45:48","incidentLocationCross":"MIRANDA LN\/SUNNY DR","cADVehicleID":"TK31","timedispatch":"2026-03-18 18:45:45","timeenroutetoscene":"2026-03-18 18:45:48","policeReportNumber":"20260029551","dispatchNotes":"[RESC] HASN`T BEEN ABLE TO KEEP HIS REJECTION MEDS DOWN  [03\/18\/26 18:44:28 EROACH] [LAW] PCSO ENRT  [03\/18\/26 18:43:53 DKITCHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 18:43:38 DKITCHENS] [EMS] ENTER THROUGH THE FRONT DOOR  HAS TAKEN INSULIN\/\/ HASN`T HELPED  KIDNEY TRANSPLANT PT  [03\/18\/26 18:43:02 EROACH] [EMS] 46 YO MALE  JONATHAN STAFFORD  [03\/18\/26 18:42:38 EROACH] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 18:42:19 EROACH] DIABETIC PT THINKS HE IS IN DKA 353 BS  [03\/18\/26 18:42:16 EROACH]]","cADLog":"[RESC] HASN`T BEEN ABLE TO KEEP HIS REJECTION MEDS DOWN  [03\/18\/26 18:44:28 EROACH] [LAW] PCSO ENRT  [03\/18\/26 18:43:53 DKITCHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 18:43:38 DKITCHENS] [EMS] ENTER THROUGH THE FRONT DOOR  HAS TAKEN INSULIN\/\/ HASN`T HELPED  KIDNEY TRANSPLANT PT  [03\/18\/26 18:43:02 EROACH] [EMS] 46 YO MALE  JONATHAN STAFFORD  [03\/18\/26 18:42:38 EROACH] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 18:42:19 EROACH] DIABETIC PT THINKS HE IS IN DKA 353 BS  [03\/18\/26 18:42:16 EROACH]]","incidentLocationCity":"COOKEVILLE","streetName":"SHADY OAK CIR","incidentAddressTextVersionStreet":"3722 SHADY OAK CIR","locationCoordinates":"36.18156,-85.58202"}
[2026-03-18 23:45:56] [INFO] Number of extracted fields: 23
[2026-03-18 23:45:56] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-18 23:45:56] [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-03-18 23:45:56] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-18 23:45:56] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 23:45:56] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 23:45:56] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-18 23:45:56] [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-03-18 23:45:56] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 23:45:56] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 23:45:56] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 23:45:56] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 23:45:56] [INFO] Found existing IncidentTypeMapping with ID: 6937a13f0053c6dd7
[2026-03-18 23:45:57] [INFO] Found existing Dispatch with cADNumber '2026000735', ID: 69bb38d7510fa812c - will update instead of create
[2026-03-18 23:45:57] [INFO] Updated existing Dispatches record with ID: 69bb38d7510fa812c
[2026-03-18 23:45:57] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029551_20260318_234555.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029551_20260318_234555.XML
[2026-03-18 23:45:57] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029551_20260318_234555.XML
[2026-03-18 23:45:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029551_20260318_234557.XML
[2026-03-18 23:45:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029551_20260318_234557.XML for user: 68f1466aed072ad4a
[2026-03-18 23:45:57] [INFO] File size: 6676 bytes
[2026-03-18 23:45:57] [INFO] Created FTPFiles record with ID: 69bb39359b5926340
[2026-03-18 23:45:57] [INFO] About to extract fields from XML. File size: 6676 bytes
[2026-03-18 23:45:57] [INFO] Number of mappings: 28
[2026-03-18 23:45:57] [INFO] Starting XML parsing. Content length: 6676
[2026-03-18 23:45:57] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 23:45:57] [INFO] Processing 28 field mappings
[2026-03-18 23:45:57] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 23:45:57] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 23:45:57] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 23:45:57] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 23:45:57] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-18 23:45:57] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-18 23:45:57] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 23:45:57] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 23:45:57] [INFO]   -> Found value: 2026000735
[2026-03-18 23:45:57] [INFO]   -> Set field 'incidentInternalId' = "2026000735"
[2026-03-18 23:45:57] [INFO]   -> Set field 'dispatchRunNumber' = "2026000735"
[2026-03-18 23:45:57] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 23:45:57] [INFO]   -> Found value: DIABETIC PROBLEM
[2026-03-18 23:45:57] [INFO]   -> Set field 'incidentTypeValue1' = "DIABETIC PROBLEM"
[2026-03-18 23:45:57] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 23:45:57] [INFO]   -> Found value: 3722
[2026-03-18 23:45:57] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3722
[2026-03-18 23:45:57] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 23:45:57] [INFO]   -> Found value: TN
[2026-03-18 23:45:57] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 23:45:57] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 23:45:57] [INFO]   -> Found value: 38501
[2026-03-18 23:45:57] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-18 23:45:57] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 23:45:57] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:57] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 23:45:57] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:57] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 23:45:57] [INFO]   -> Found value: 36.18156
[2026-03-18 23:45:57] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18155999999999750116330687887966632843017578125
[2026-03-18 23:45:57] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 23:45:57] [INFO]   -> Found value: -85.58202
[2026-03-18 23:45:57] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.58201999999999998181010596454143524169921875
[2026-03-18 23:45:57] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 23:45:57] [INFO]   -> Found value: 2026-03-18 18:42:19
[2026-03-18 23:45:57] [INFO]   -> Set field 'alarm' = "2026-03-18 18:42:19"
[2026-03-18 23:45:57] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 23:45:57] [INFO]   -> Found value: 2026-03-18 18:44:18
[2026-03-18 23:45:57] [INFO]   -> Set field 'dispatched' = "2026-03-18 18:44:18"
[2026-03-18 23:45:57] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 23:45:57] [INFO]   -> Found value: 2026-03-18 18:45:48
[2026-03-18 23:45:57] [INFO]   -> Set field 'enroute' = "2026-03-18 18:45:48"
[2026-03-18 23:45:57] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 23:45:57] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:57] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 23:45:57] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:57] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 23:45:57] [INFO]   -> Found value: MIRANDA LN/SUNNY DR
[2026-03-18 23:45:57] [INFO]   -> Set field 'incidentLocationCross' = "MIRANDA LN\/SUNNY DR"
[2026-03-18 23:45:57] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 23:45:57] [INFO]   -> Found value: TK31
[2026-03-18 23:45:57] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-18 23:45:57] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 23:45:57] [INFO]   -> Found value: 2026-03-18 18:45:45
[2026-03-18 23:45:57] [INFO]   -> Set field 'timedispatch' = "2026-03-18 18:45:45"
[2026-03-18 23:45:57] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 23:45:57] [INFO]   -> Found value: 2026-03-18 18:45:48
[2026-03-18 23:45:57] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 18:45:48"
[2026-03-18 23:45:57] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 23:45:57] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:57] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 23:45:57] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:57] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 23:45:57] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:57] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 23:45:57] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 23:45:57] [INFO]   -> Found value: 20260029551
[2026-03-18 23:45:57] [INFO]   -> Set field 'policeReportNumber' = "20260029551"
[2026-03-18 23:45:57] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 23:45:57] [INFO]   -> Found value: [RESC] HASN`T BEEN ABLE TO KEEP HIS REJECTION MEDS DOWN  [03/18/26 18:44:28 EROACH] [LAW] PCSO ENRT ...
[2026-03-18 23:45:57] [INFO]   -> Set field 'dispatchNotes' = "[RESC] HASN`T BEEN ABLE TO KEEP HIS REJECTION MEDS DOWN  [03\/18\/26 18:44:28 EROACH] [LAW] PCSO ENRT  [03\/18\/26 18:43:53 DKITCHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 18:43:38 DKITCHENS] [EMS] ENTER THROUGH THE FRONT DOOR  HAS TAKEN INSULIN\/\/ HASN`T HELPED  KIDNEY TRANSPLANT PT  [03\/18\/26 18:43:02 EROACH] [EMS] 46 YO MALE  JONATHAN STAFFORD  [03\/18\/26 18:42:38 EROACH] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 18:42:19 EROACH] DIABETIC PT THINKS HE IS IN DKA 353 BS  [03\/18\/26 18:42:16 EROACH]]"
[2026-03-18 23:45:57] [INFO]   -> Set field 'cADLog' = "[RESC] HASN`T BEEN ABLE TO KEEP HIS REJECTION MEDS DOWN  [03\/18\/26 18:44:28 EROACH] [LAW] PCSO ENRT  [03\/18\/26 18:43:53 DKITCHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 18:43:38 DKITCHENS] [EMS] ENTER THROUGH THE FRONT DOOR  HAS TAKEN INSULIN\/\/ HASN`T HELPED  KIDNEY TRANSPLANT PT  [03\/18\/26 18:43:02 EROACH] [EMS] 46 YO MALE  JONATHAN STAFFORD  [03\/18\/26 18:42:38 EROACH] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 18:42:19 EROACH] DIABETIC PT THINKS HE IS IN DKA 353 BS  [03\/18\/26 18:42:16 EROACH]]"
[2026-03-18 23:45:57] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 23:45:57] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 23:45:57] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 23:45:57] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 23:45:57] [INFO]   -> Found value: SHADY OAK
[2026-03-18 23:45:57] [INFO]   -> Set field 'streetName' = "SHADY OAK"
[2026-03-18 23:45:57] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 23:45:57] [INFO]   -> Found value: CIR
[2026-03-18 23:45:57] [INFO]   -> Set field 'streetType' = "CIR"
[2026-03-18 23:45:57] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 23:45:57] [INFO]   -> Found value: 3722 SHADY OAK CIR
[2026-03-18 23:45:57] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3722 SHADY OAK CIR"
[2026-03-18 23:45:57] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 23:45:57] [INFO] Concatenating street name and type
[2026-03-18 23:45:57] [INFO]   -> Combined street name: SHADY OAK CIR
[2026-03-18 23:45:57] [INFO] Built locationCoordinates from lat/lng: 36.18156,-85.58202
[2026-03-18 23:45:57] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000735","dispatchRunNumber":"2026000735","incidentTypeValue1":"DIABETIC PROBLEM","incidentLocationStreetNumber":3722,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.18155999999999750116330687887966632843017578125,"nERISIncidentLongitude":-85.58201999999999998181010596454143524169921875,"alarm":"2026-03-18 18:42:19","dispatched":"2026-03-18 18:44:18","enroute":"2026-03-18 18:45:48","incidentLocationCross":"MIRANDA LN\/SUNNY DR","cADVehicleID":"TK31","timedispatch":"2026-03-18 18:45:45","timeenroutetoscene":"2026-03-18 18:45:48","policeReportNumber":"20260029551","dispatchNotes":"[RESC] HASN`T BEEN ABLE TO KEEP HIS REJECTION MEDS DOWN  [03\/18\/26 18:44:28 EROACH] [LAW] PCSO ENRT  [03\/18\/26 18:43:53 DKITCHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 18:43:38 DKITCHENS] [EMS] ENTER THROUGH THE FRONT DOOR  HAS TAKEN INSULIN\/\/ HASN`T HELPED  KIDNEY TRANSPLANT PT  [03\/18\/26 18:43:02 EROACH] [EMS] 46 YO MALE  JONATHAN STAFFORD  [03\/18\/26 18:42:38 EROACH] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 18:42:19 EROACH] DIABETIC PT THINKS HE IS IN DKA 353 BS  [03\/18\/26 18:42:16 EROACH]]","cADLog":"[RESC] HASN`T BEEN ABLE TO KEEP HIS REJECTION MEDS DOWN  [03\/18\/26 18:44:28 EROACH] [LAW] PCSO ENRT  [03\/18\/26 18:43:53 DKITCHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 18:43:38 DKITCHENS] [EMS] ENTER THROUGH THE FRONT DOOR  HAS TAKEN INSULIN\/\/ HASN`T HELPED  KIDNEY TRANSPLANT PT  [03\/18\/26 18:43:02 EROACH] [EMS] 46 YO MALE  JONATHAN STAFFORD  [03\/18\/26 18:42:38 EROACH] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 18:42:19 EROACH] DIABETIC PT THINKS HE IS IN DKA 353 BS  [03\/18\/26 18:42:16 EROACH]]","incidentLocationCity":"COOKEVILLE","streetName":"SHADY OAK CIR","incidentAddressTextVersionStreet":"3722 SHADY OAK CIR","locationCoordinates":"36.18156,-85.58202"}
[2026-03-18 23:45:57] [INFO] Number of extracted fields: 23
[2026-03-18 23:45:57] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-18 23:45:57] [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-03-18 23:45:57] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-18 23:45:57] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 23:45:57] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 23:45:57] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-18 23:45:57] [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-03-18 23:45:57] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 23:45:57] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 23:45:57] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 23:45:57] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 23:45:58] [INFO] Found existing IncidentTypeMapping with ID: 6937a13f0053c6dd7
[2026-03-18 23:45:58] [INFO] Found existing Dispatch with cADNumber '2026000735', ID: 69bb38d7510fa812c - will update instead of create
[2026-03-18 23:45:58] [INFO] Updated existing Dispatches record with ID: 69bb38d7510fa812c
[2026-03-18 23:45:58] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029551_20260318_234557.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029551_20260318_234557.XML
[2026-03-18 23:45:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029551_20260318_234557.XML
[2026-03-18 23:45:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029551_20260318_234557_1.XML
[2026-03-18 23:45:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029551_20260318_234557_1.XML for user: 68f1466aed072ad4a
[2026-03-18 23:45:58] [INFO] File size: 6676 bytes
[2026-03-18 23:45:58] [INFO] Created FTPFiles record with ID: 69bb3936cf55fb879
[2026-03-18 23:45:58] [INFO] About to extract fields from XML. File size: 6676 bytes
[2026-03-18 23:45:58] [INFO] Number of mappings: 28
[2026-03-18 23:45:58] [INFO] Starting XML parsing. Content length: 6676
[2026-03-18 23:45:58] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-18 23:45:58] [INFO] Processing 28 field mappings
[2026-03-18 23:45:58] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-18 23:45:58] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-18 23:45:58] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-18 23:45:58] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-18 23:45:58] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-18 23:45:58] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-18 23:45:58] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-18 23:45:58] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-18 23:45:58] [INFO]   -> Found value: 2026000735
[2026-03-18 23:45:58] [INFO]   -> Set field 'incidentInternalId' = "2026000735"
[2026-03-18 23:45:58] [INFO]   -> Set field 'dispatchRunNumber' = "2026000735"
[2026-03-18 23:45:58] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-18 23:45:58] [INFO]   -> Found value: DIABETIC PROBLEM
[2026-03-18 23:45:58] [INFO]   -> Set field 'incidentTypeValue1' = "DIABETIC PROBLEM"
[2026-03-18 23:45:58] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-18 23:45:58] [INFO]   -> Found value: 3722
[2026-03-18 23:45:58] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3722
[2026-03-18 23:45:58] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-18 23:45:58] [INFO]   -> Found value: TN
[2026-03-18 23:45:58] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-18 23:45:58] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-18 23:45:58] [INFO]   -> Found value: 38501
[2026-03-18 23:45:58] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-18 23:45:58] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-18 23:45:58] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:58] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-18 23:45:58] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:58] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-18 23:45:58] [INFO]   -> Found value: 36.18156
[2026-03-18 23:45:58] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18155999999999750116330687887966632843017578125
[2026-03-18 23:45:58] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-18 23:45:58] [INFO]   -> Found value: -85.58202
[2026-03-18 23:45:58] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.58201999999999998181010596454143524169921875
[2026-03-18 23:45:58] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-18 23:45:58] [INFO]   -> Found value: 2026-03-18 18:42:19
[2026-03-18 23:45:58] [INFO]   -> Set field 'alarm' = "2026-03-18 18:42:19"
[2026-03-18 23:45:58] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-18 23:45:58] [INFO]   -> Found value: 2026-03-18 18:44:18
[2026-03-18 23:45:58] [INFO]   -> Set field 'dispatched' = "2026-03-18 18:44:18"
[2026-03-18 23:45:58] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-18 23:45:58] [INFO]   -> Found value: 2026-03-18 18:45:48
[2026-03-18 23:45:58] [INFO]   -> Set field 'enroute' = "2026-03-18 18:45:48"
[2026-03-18 23:45:58] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-18 23:45:58] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:58] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-18 23:45:58] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:58] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-18 23:45:58] [INFO]   -> Found value: MIRANDA LN/SUNNY DR
[2026-03-18 23:45:58] [INFO]   -> Set field 'incidentLocationCross' = "MIRANDA LN\/SUNNY DR"
[2026-03-18 23:45:58] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-18 23:45:58] [INFO]   -> Found value: TK31
[2026-03-18 23:45:58] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-18 23:45:58] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-18 23:45:58] [INFO]   -> Found value: 2026-03-18 18:45:45
[2026-03-18 23:45:58] [INFO]   -> Set field 'timedispatch' = "2026-03-18 18:45:45"
[2026-03-18 23:45:58] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-18 23:45:58] [INFO]   -> Found value: 2026-03-18 18:45:48
[2026-03-18 23:45:58] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-18 18:45:48"
[2026-03-18 23:45:58] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-18 23:45:58] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:58] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-18 23:45:58] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:58] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-18 23:45:58] [INFO]   -> No value found (null or empty)
[2026-03-18 23:45:58] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-18 23:45:58] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-18 23:45:58] [INFO]   -> Found value: 20260029551
[2026-03-18 23:45:58] [INFO]   -> Set field 'policeReportNumber' = "20260029551"
[2026-03-18 23:45:58] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-18 23:45:58] [INFO]   -> Found value: [RESC] HASN`T BEEN ABLE TO KEEP HIS REJECTION MEDS DOWN  [03/18/26 18:44:28 EROACH] [LAW] PCSO ENRT ...
[2026-03-18 23:45:58] [INFO]   -> Set field 'dispatchNotes' = "[RESC] HASN`T BEEN ABLE TO KEEP HIS REJECTION MEDS DOWN  [03\/18\/26 18:44:28 EROACH] [LAW] PCSO ENRT  [03\/18\/26 18:43:53 DKITCHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 18:43:38 DKITCHENS] [EMS] ENTER THROUGH THE FRONT DOOR  HAS TAKEN INSULIN\/\/ HASN`T HELPED  KIDNEY TRANSPLANT PT  [03\/18\/26 18:43:02 EROACH] [EMS] 46 YO MALE  JONATHAN STAFFORD  [03\/18\/26 18:42:38 EROACH] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 18:42:19 EROACH] DIABETIC PT THINKS HE IS IN DKA 353 BS  [03\/18\/26 18:42:16 EROACH]]"
[2026-03-18 23:45:58] [INFO]   -> Set field 'cADLog' = "[RESC] HASN`T BEEN ABLE TO KEEP HIS REJECTION MEDS DOWN  [03\/18\/26 18:44:28 EROACH] [LAW] PCSO ENRT  [03\/18\/26 18:43:53 DKITCHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 18:43:38 DKITCHENS] [EMS] ENTER THROUGH THE FRONT DOOR  HAS TAKEN INSULIN\/\/ HASN`T HELPED  KIDNEY TRANSPLANT PT  [03\/18\/26 18:43:02 EROACH] [EMS] 46 YO MALE  JONATHAN STAFFORD  [03\/18\/26 18:42:38 EROACH] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 18:42:19 EROACH] DIABETIC PT THINKS HE IS IN DKA 353 BS  [03\/18\/26 18:42:16 EROACH]]"
[2026-03-18 23:45:58] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-18 23:45:58] [INFO]   -> Found value: COOKEVILLE
[2026-03-18 23:45:58] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-18 23:45:58] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-18 23:45:58] [INFO]   -> Found value: SHADY OAK
[2026-03-18 23:45:58] [INFO]   -> Set field 'streetName' = "SHADY OAK"
[2026-03-18 23:45:58] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-18 23:45:58] [INFO]   -> Found value: CIR
[2026-03-18 23:45:58] [INFO]   -> Set field 'streetType' = "CIR"
[2026-03-18 23:45:58] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-18 23:45:58] [INFO]   -> Found value: 3722 SHADY OAK CIR
[2026-03-18 23:45:58] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3722 SHADY OAK CIR"
[2026-03-18 23:45:58] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-18 23:45:58] [INFO] Concatenating street name and type
[2026-03-18 23:45:58] [INFO]   -> Combined street name: SHADY OAK CIR
[2026-03-18 23:45:58] [INFO] Built locationCoordinates from lat/lng: 36.18156,-85.58202
[2026-03-18 23:45:58] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000735","dispatchRunNumber":"2026000735","incidentTypeValue1":"DIABETIC PROBLEM","incidentLocationStreetNumber":3722,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.18155999999999750116330687887966632843017578125,"nERISIncidentLongitude":-85.58201999999999998181010596454143524169921875,"alarm":"2026-03-18 18:42:19","dispatched":"2026-03-18 18:44:18","enroute":"2026-03-18 18:45:48","incidentLocationCross":"MIRANDA LN\/SUNNY DR","cADVehicleID":"TK31","timedispatch":"2026-03-18 18:45:45","timeenroutetoscene":"2026-03-18 18:45:48","policeReportNumber":"20260029551","dispatchNotes":"[RESC] HASN`T BEEN ABLE TO KEEP HIS REJECTION MEDS DOWN  [03\/18\/26 18:44:28 EROACH] [LAW] PCSO ENRT  [03\/18\/26 18:43:53 DKITCHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 18:43:38 DKITCHENS] [EMS] ENTER THROUGH THE FRONT DOOR  HAS TAKEN INSULIN\/\/ HASN`T HELPED  KIDNEY TRANSPLANT PT  [03\/18\/26 18:43:02 EROACH] [EMS] 46 YO MALE  JONATHAN STAFFORD  [03\/18\/26 18:42:38 EROACH] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 18:42:19 EROACH] DIABETIC PT THINKS HE IS IN DKA 353 BS  [03\/18\/26 18:42:16 EROACH]]","cADLog":"[RESC] HASN`T BEEN ABLE TO KEEP HIS REJECTION MEDS DOWN  [03\/18\/26 18:44:28 EROACH] [LAW] PCSO ENRT  [03\/18\/26 18:43:53 DKITCHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/18\/26 18:43:38 DKITCHENS] [EMS] ENTER THROUGH THE FRONT DOOR  HAS TAKEN INSULIN\/\/ HASN`T HELPED  KIDNEY TRANSPLANT PT  [03\/18\/26 18:43:02 EROACH] [EMS] 46 YO MALE  JONATHAN STAFFORD  [03\/18\/26 18:42:38 EROACH] Event spawned from DIABETIC PROBLEM.  [03\/18\/2026 18:42:19 EROACH] DIABETIC PT THINKS HE IS IN DKA 353 BS  [03\/18\/26 18:42:16 EROACH]]","incidentLocationCity":"COOKEVILLE","streetName":"SHADY OAK CIR","incidentAddressTextVersionStreet":"3722 SHADY OAK CIR","locationCoordinates":"36.18156,-85.58202"}
[2026-03-18 23:45:58] [INFO] Number of extracted fields: 23
[2026-03-18 23:45:58] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-18 23:45:58] [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-03-18 23:45:58] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-18 23:45:58] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-18 23:45:59] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-18 23:45:59] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-18 23:45:59] [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-03-18 23:45:59] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-18 23:45:59] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-18 23:45:59] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-18 23:45:59] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-18 23:45:59] [INFO] Found existing IncidentTypeMapping with ID: 6937a13f0053c6dd7
[2026-03-18 23:45:59] [INFO] Found existing Dispatch with cADNumber '2026000735', ID: 69bb38d7510fa812c - will update instead of create
[2026-03-18 23:45:59] [INFO] Updated existing Dispatches record with ID: 69bb38d7510fa812c
[2026-03-18 23:45:59] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029551_20260318_234557_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-18/PCFD_20260029551_20260318_234557_1.XML
[2026-03-18 23:45:59] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029551_20260318_234557_1.XML
