[2026-03-11 00:26:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026460_20260311_002622.XML
[2026-03-11 00:26:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026460_20260311_002622.XML for user: 68f1466aed072ad4a
[2026-03-11 00:26:22] [INFO] File size: 4649 bytes
[2026-03-11 00:26:22] [INFO] Created FTPFiles record with ID: 69b0b6ae80c84722b
[2026-03-11 00:26:22] [INFO] About to extract fields from XML. File size: 4649 bytes
[2026-03-11 00:26:22] [INFO] Number of mappings: 28
[2026-03-11 00:26:22] [INFO] Starting XML parsing. Content length: 4649
[2026-03-11 00:26:22] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 00:26:22] [INFO] Processing 28 field mappings
[2026-03-11 00:26:22] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 00:26:22] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 00:26:22] [INFO]   -> Found value: PCFD
[2026-03-11 00:26:22] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-11 00:26:22] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 00:26:22] [INFO]   -> Found value: 2026000660
[2026-03-11 00:26:22] [INFO]   -> Set field 'incidentInternalId' = "2026000660"
[2026-03-11 00:26:22] [INFO]   -> Set field 'dispatchRunNumber' = "2026000660"
[2026-03-11 00:26:22] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 00:26:22] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-11 00:26:22] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-11 00:26:22] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 00:26:22] [INFO]   -> Found value: 468
[2026-03-11 00:26:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 468
[2026-03-11 00:26:22] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 00:26:22] [INFO]   -> Found value: TN
[2026-03-11 00:26:22] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 00:26:22] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 00:26:22] [INFO]   -> Found value: 38501
[2026-03-11 00:26:22] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-11 00:26:22] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 00:26:22] [INFO]   -> No value found (null or empty)
[2026-03-11 00:26:22] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 00:26:22] [INFO]   -> No value found (null or empty)
[2026-03-11 00:26:22] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 00:26:22] [INFO]   -> Found value: 36.29911
[2026-03-11 00:26:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2991099999999988767740433104336261749267578125
[2026-03-11 00:26:22] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 00:26:22] [INFO]   -> Found value: -85.49574
[2026-03-11 00:26:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4957399999999978490450303070247173309326171875
[2026-03-11 00:26:22] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 00:26:22] [INFO]   -> Found value: 2026-03-10 19:23:51
[2026-03-11 00:26:22] [INFO]   -> Set field 'alarm' = "2026-03-10 19:23:51"
[2026-03-11 00:26:22] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 00:26:22] [INFO]   -> Found value: 2026-03-10 19:26:16
[2026-03-11 00:26:22] [INFO]   -> Set field 'dispatched' = "2026-03-10 19:26:16"
[2026-03-11 00:26:22] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 00:26:22] [INFO]   -> No value found (null or empty)
[2026-03-11 00:26:22] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 00:26:22] [INFO]   -> No value found (null or empty)
[2026-03-11 00:26:22] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 00:26:22] [INFO]   -> No value found (null or empty)
[2026-03-11 00:26:22] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 00:26:22] [INFO]   -> No value found (null or empty)
[2026-03-11 00:26:22] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 00:26:22] [INFO]   -> Found value: TK12
[2026-03-11 00:26:22] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-11 00:26:22] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 00:26:22] [INFO]   -> Found value: 2026-03-10 19:26:16
[2026-03-11 00:26:22] [INFO]   -> Set field 'timedispatch' = "2026-03-10 19:26:16"
[2026-03-11 00:26:22] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 00:26:22] [INFO]   -> No value found (null or empty)
[2026-03-11 00:26:22] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 00:26:22] [INFO]   -> No value found (null or empty)
[2026-03-11 00:26:22] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 00:26:22] [INFO]   -> No value found (null or empty)
[2026-03-11 00:26:22] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 00:26:22] [INFO]   -> No value found (null or empty)
[2026-03-11 00:26:22] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 00:26:22] [INFO]   -> Found value: 20260026460
[2026-03-11 00:26:22] [INFO]   -> Set field 'policeReportNumber' = "20260026460"
[2026-03-11 00:26:22] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 00:26:22] [INFO]   -> Found value: NEIGHBOR HAS A LARGE FIRE WITH BLACK SMOKE  LARGE BRUSH FIRE  [03/10/26 19:24:50 BPICHE]
[2026-03-11 00:26:22] [INFO]   -> Set field 'dispatchNotes' = "NEIGHBOR HAS A LARGE FIRE WITH BLACK SMOKE  LARGE BRUSH FIRE  [03\/10\/26 19:24:50 BPICHE]"
[2026-03-11 00:26:22] [INFO]   -> Set field 'cADLog' = "NEIGHBOR HAS A LARGE FIRE WITH BLACK SMOKE  LARGE BRUSH FIRE  [03\/10\/26 19:24:50 BPICHE]"
[2026-03-11 00:26:22] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 00:26:22] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 00:26:22] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 00:26:22] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 00:26:22] [INFO]   -> Found value: NORMAN MAYBERRY
[2026-03-11 00:26:22] [INFO]   -> Set field 'streetName' = "NORMAN MAYBERRY"
[2026-03-11 00:26:22] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 00:26:22] [INFO]   -> Found value: RD
[2026-03-11 00:26:22] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 00:26:22] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 00:26:22] [INFO]   -> Found value: 468 NORMAN MAYBERRY RD
[2026-03-11 00:26:22] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "468 NORMAN MAYBERRY RD"
[2026-03-11 00:26:22] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 00:26:22] [INFO] Concatenating street name and type
[2026-03-11 00:26:22] [INFO]   -> Combined street name: NORMAN MAYBERRY RD
[2026-03-11 00:26:22] [INFO] Built locationCoordinates from lat/lng: 36.29911,-85.49574
[2026-03-11 00:26:22] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000660","dispatchRunNumber":"2026000660","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":468,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.2991099999999988767740433104336261749267578125,"nERISIncidentLongitude":-85.4957399999999978490450303070247173309326171875,"alarm":"2026-03-10 19:23:51","dispatched":"2026-03-10 19:26:16","cADVehicleID":"TK12","timedispatch":"2026-03-10 19:26:16","policeReportNumber":"20260026460","dispatchNotes":"NEIGHBOR HAS A LARGE FIRE WITH BLACK SMOKE  LARGE BRUSH FIRE  [03\/10\/26 19:24:50 BPICHE]","cADLog":"NEIGHBOR HAS A LARGE FIRE WITH BLACK SMOKE  LARGE BRUSH FIRE  [03\/10\/26 19:24:50 BPICHE]","incidentLocationCity":"COOKEVILLE","streetName":"NORMAN MAYBERRY RD","incidentAddressTextVersionStreet":"468 NORMAN MAYBERRY RD","locationCoordinates":"36.29911,-85.49574"}
[2026-03-11 00:26:22] [INFO] Number of extracted fields: 20
[2026-03-11 00:26:22] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-11 00:26:22] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-11 00:26:22] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-11 00:26:22] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 00:26:22] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 00:26: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-11 00:26: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-11 00:26:22] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 00:26:23] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-11 00:26:33] [INFO] Created new Dispatches record with ID: 69b0b6af82d6fb9f3
[2026-03-11 00:26:33] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11
[2026-03-11 00:26:33] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026460_20260311_002622.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026460_20260311_002622.XML
[2026-03-11 00:26:33] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026460_20260311_002622.XML
[2026-03-11 00:26:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026460_20260311_002622_1.XML
[2026-03-11 00:26:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026460_20260311_002622_1.XML for user: 68f1466aed072ad4a
[2026-03-11 00:26:33] [INFO] File size: 4649 bytes
[2026-03-11 00:26:33] [INFO] Created FTPFiles record with ID: 69b0b6b9c9ea8fd24
[2026-03-11 00:26:33] [INFO] About to extract fields from XML. File size: 4649 bytes
[2026-03-11 00:26:33] [INFO] Number of mappings: 28
[2026-03-11 00:26:33] [INFO] Starting XML parsing. Content length: 4649
[2026-03-11 00:26:33] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 00:26:33] [INFO] Processing 28 field mappings
[2026-03-11 00:26:33] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 00:26:33] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 00:26:33] [INFO]   -> Found value: PCFD
[2026-03-11 00:26:33] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-11 00:26:33] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 00:26:33] [INFO]   -> Found value: 2026000660
[2026-03-11 00:26:33] [INFO]   -> Set field 'incidentInternalId' = "2026000660"
[2026-03-11 00:26:33] [INFO]   -> Set field 'dispatchRunNumber' = "2026000660"
[2026-03-11 00:26:33] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 00:26:33] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-11 00:26:33] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-11 00:26:33] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 00:26:33] [INFO]   -> Found value: 468
[2026-03-11 00:26:33] [INFO]   -> Set field 'incidentLocationStreetNumber' = 468
[2026-03-11 00:26:33] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 00:26:33] [INFO]   -> Found value: TN
[2026-03-11 00:26:33] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 00:26:33] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 00:26:33] [INFO]   -> Found value: 38501
[2026-03-11 00:26:33] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-11 00:26:33] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 00:26:33] [INFO]   -> No value found (null or empty)
[2026-03-11 00:26:33] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 00:26:33] [INFO]   -> No value found (null or empty)
[2026-03-11 00:26:33] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 00:26:33] [INFO]   -> Found value: 36.29911
[2026-03-11 00:26:33] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2991099999999988767740433104336261749267578125
[2026-03-11 00:26:33] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 00:26:33] [INFO]   -> Found value: -85.49574
[2026-03-11 00:26:33] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4957399999999978490450303070247173309326171875
[2026-03-11 00:26:33] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 00:26:33] [INFO]   -> Found value: 2026-03-10 19:23:51
[2026-03-11 00:26:33] [INFO]   -> Set field 'alarm' = "2026-03-10 19:23:51"
[2026-03-11 00:26:33] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 00:26:33] [INFO]   -> Found value: 2026-03-10 19:26:16
[2026-03-11 00:26:33] [INFO]   -> Set field 'dispatched' = "2026-03-10 19:26:16"
[2026-03-11 00:26:33] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 00:26:33] [INFO]   -> No value found (null or empty)
[2026-03-11 00:26:33] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 00:26:33] [INFO]   -> No value found (null or empty)
[2026-03-11 00:26:33] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 00:26:33] [INFO]   -> No value found (null or empty)
[2026-03-11 00:26:33] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 00:26:33] [INFO]   -> No value found (null or empty)
[2026-03-11 00:26:33] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 00:26:33] [INFO]   -> Found value: TK12
[2026-03-11 00:26:33] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-11 00:26:33] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 00:26:33] [INFO]   -> Found value: 2026-03-10 19:26:16
[2026-03-11 00:26:33] [INFO]   -> Set field 'timedispatch' = "2026-03-10 19:26:16"
[2026-03-11 00:26:33] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 00:26:33] [INFO]   -> No value found (null or empty)
[2026-03-11 00:26:33] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 00:26:33] [INFO]   -> No value found (null or empty)
[2026-03-11 00:26:33] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 00:26:33] [INFO]   -> No value found (null or empty)
[2026-03-11 00:26:33] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 00:26:33] [INFO]   -> No value found (null or empty)
[2026-03-11 00:26:33] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 00:26:33] [INFO]   -> Found value: 20260026460
[2026-03-11 00:26:33] [INFO]   -> Set field 'policeReportNumber' = "20260026460"
[2026-03-11 00:26:33] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 00:26:33] [INFO]   -> Found value: NEIGHBOR HAS A LARGE FIRE WITH BLACK SMOKE  LARGE BRUSH FIRE  [03/10/26 19:24:50 BPICHE]
[2026-03-11 00:26:33] [INFO]   -> Set field 'dispatchNotes' = "NEIGHBOR HAS A LARGE FIRE WITH BLACK SMOKE  LARGE BRUSH FIRE  [03\/10\/26 19:24:50 BPICHE]"
[2026-03-11 00:26:33] [INFO]   -> Set field 'cADLog' = "NEIGHBOR HAS A LARGE FIRE WITH BLACK SMOKE  LARGE BRUSH FIRE  [03\/10\/26 19:24:50 BPICHE]"
[2026-03-11 00:26:33] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 00:26:33] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 00:26:33] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 00:26:33] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 00:26:33] [INFO]   -> Found value: NORMAN MAYBERRY
[2026-03-11 00:26:33] [INFO]   -> Set field 'streetName' = "NORMAN MAYBERRY"
[2026-03-11 00:26:33] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 00:26:33] [INFO]   -> Found value: RD
[2026-03-11 00:26:33] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 00:26:33] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 00:26:33] [INFO]   -> Found value: 468 NORMAN MAYBERRY RD
[2026-03-11 00:26:33] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "468 NORMAN MAYBERRY RD"
[2026-03-11 00:26:33] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 00:26:33] [INFO] Concatenating street name and type
[2026-03-11 00:26:33] [INFO]   -> Combined street name: NORMAN MAYBERRY RD
[2026-03-11 00:26:33] [INFO] Built locationCoordinates from lat/lng: 36.29911,-85.49574
[2026-03-11 00:26:33] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000660","dispatchRunNumber":"2026000660","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":468,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.2991099999999988767740433104336261749267578125,"nERISIncidentLongitude":-85.4957399999999978490450303070247173309326171875,"alarm":"2026-03-10 19:23:51","dispatched":"2026-03-10 19:26:16","cADVehicleID":"TK12","timedispatch":"2026-03-10 19:26:16","policeReportNumber":"20260026460","dispatchNotes":"NEIGHBOR HAS A LARGE FIRE WITH BLACK SMOKE  LARGE BRUSH FIRE  [03\/10\/26 19:24:50 BPICHE]","cADLog":"NEIGHBOR HAS A LARGE FIRE WITH BLACK SMOKE  LARGE BRUSH FIRE  [03\/10\/26 19:24:50 BPICHE]","incidentLocationCity":"COOKEVILLE","streetName":"NORMAN MAYBERRY RD","incidentAddressTextVersionStreet":"468 NORMAN MAYBERRY RD","locationCoordinates":"36.29911,-85.49574"}
[2026-03-11 00:26:33] [INFO] Number of extracted fields: 20
[2026-03-11 00:26:33] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-11 00:26:33] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-11 00:26:33] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-11 00:26:33] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 00:26:34] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 00:26: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-11 00:26: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-11 00:26:34] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 00:26:34] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-11 00:26:34] [INFO] Found existing Dispatch with cADNumber '2026000660', ID: 69b0b6af82d6fb9f3 - will update instead of create
[2026-03-11 00:26:34] [INFO] Updated existing Dispatches record with ID: 69b0b6af82d6fb9f3
[2026-03-11 00:26:34] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026460_20260311_002622_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026460_20260311_002622_1.XML
[2026-03-11 00:26:34] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026460_20260311_002622_1.XML
[2026-03-11 00:28:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026460_20260311_002807.XML
[2026-03-11 00:28:07] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026460_20260311_002807.XML for user: 68f1466aed072ad4a
[2026-03-11 00:28:07] [INFO] File size: 4716 bytes
[2026-03-11 00:28:08] [INFO] Created FTPFiles record with ID: 69b0b71843e2bacb6
[2026-03-11 00:28:08] [INFO] About to extract fields from XML. File size: 4716 bytes
[2026-03-11 00:28:08] [INFO] Number of mappings: 28
[2026-03-11 00:28:08] [INFO] Starting XML parsing. Content length: 4716
[2026-03-11 00:28:08] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 00:28:08] [INFO] Processing 28 field mappings
[2026-03-11 00:28:08] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 00:28:08] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 00:28:08] [INFO]   -> Found value: PCFD
[2026-03-11 00:28:08] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-11 00:28:08] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 00:28:08] [INFO]   -> Found value: 2026000660
[2026-03-11 00:28:08] [INFO]   -> Set field 'incidentInternalId' = "2026000660"
[2026-03-11 00:28:08] [INFO]   -> Set field 'dispatchRunNumber' = "2026000660"
[2026-03-11 00:28:08] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 00:28:08] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-11 00:28:08] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-11 00:28:08] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 00:28:08] [INFO]   -> Found value: 468
[2026-03-11 00:28:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 468
[2026-03-11 00:28:08] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 00:28:08] [INFO]   -> Found value: TN
[2026-03-11 00:28:08] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 00:28:08] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 00:28:08] [INFO]   -> Found value: 38501
[2026-03-11 00:28:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-11 00:28:08] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 00:28:08] [INFO]   -> No value found (null or empty)
[2026-03-11 00:28:08] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 00:28:08] [INFO]   -> No value found (null or empty)
[2026-03-11 00:28:08] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 00:28:08] [INFO]   -> Found value: 36.29911
[2026-03-11 00:28:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2991099999999988767740433104336261749267578125
[2026-03-11 00:28:08] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 00:28:08] [INFO]   -> Found value: -85.49574
[2026-03-11 00:28:08] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4957399999999978490450303070247173309326171875
[2026-03-11 00:28:08] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 00:28:08] [INFO]   -> Found value: 2026-03-10 19:23:51
[2026-03-11 00:28:08] [INFO]   -> Set field 'alarm' = "2026-03-10 19:23:51"
[2026-03-11 00:28:08] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 00:28:08] [INFO]   -> Found value: 2026-03-10 19:26:16
[2026-03-11 00:28:08] [INFO]   -> Set field 'dispatched' = "2026-03-10 19:26:16"
[2026-03-11 00:28:08] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 00:28:08] [INFO]   -> Found value: 2026-03-10 19:28:02
[2026-03-11 00:28:08] [INFO]   -> Set field 'enroute' = "2026-03-10 19:28:02"
[2026-03-11 00:28:08] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 00:28:08] [INFO]   -> No value found (null or empty)
[2026-03-11 00:28:08] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 00:28:08] [INFO]   -> No value found (null or empty)
[2026-03-11 00:28:08] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 00:28:08] [INFO]   -> No value found (null or empty)
[2026-03-11 00:28:08] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 00:28:08] [INFO]   -> Found value: TK12
[2026-03-11 00:28:08] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-11 00:28:08] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 00:28:08] [INFO]   -> Found value: 2026-03-10 19:26:16
[2026-03-11 00:28:08] [INFO]   -> Set field 'timedispatch' = "2026-03-10 19:26:16"
[2026-03-11 00:28:08] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 00:28:08] [INFO]   -> Found value: 2026-03-10 19:28:02
[2026-03-11 00:28:08] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-10 19:28:02"
[2026-03-11 00:28:08] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 00:28:08] [INFO]   -> No value found (null or empty)
[2026-03-11 00:28:08] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 00:28:08] [INFO]   -> No value found (null or empty)
[2026-03-11 00:28:08] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 00:28:08] [INFO]   -> No value found (null or empty)
[2026-03-11 00:28:08] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 00:28:08] [INFO]   -> Found value: 20260026460
[2026-03-11 00:28:08] [INFO]   -> Set field 'policeReportNumber' = "20260026460"
[2026-03-11 00:28:08] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 00:28:08] [INFO]   -> Found value: NEIGHBOR HAS A LARGE FIRE WITH BLACK SMOKE  LARGE BRUSH FIRE  [03/10/26 19:24:50 BPICHE]
[2026-03-11 00:28:08] [INFO]   -> Set field 'dispatchNotes' = "NEIGHBOR HAS A LARGE FIRE WITH BLACK SMOKE  LARGE BRUSH FIRE  [03\/10\/26 19:24:50 BPICHE]"
[2026-03-11 00:28:08] [INFO]   -> Set field 'cADLog' = "NEIGHBOR HAS A LARGE FIRE WITH BLACK SMOKE  LARGE BRUSH FIRE  [03\/10\/26 19:24:50 BPICHE]"
[2026-03-11 00:28:08] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 00:28:08] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 00:28:08] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 00:28:08] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 00:28:08] [INFO]   -> Found value: NORMAN MAYBERRY
[2026-03-11 00:28:08] [INFO]   -> Set field 'streetName' = "NORMAN MAYBERRY"
[2026-03-11 00:28:08] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 00:28:08] [INFO]   -> Found value: RD
[2026-03-11 00:28:08] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 00:28:08] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 00:28:08] [INFO]   -> Found value: 468 NORMAN MAYBERRY RD
[2026-03-11 00:28:08] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "468 NORMAN MAYBERRY RD"
[2026-03-11 00:28:08] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-11 00:28:08] [INFO] Concatenating street name and type
[2026-03-11 00:28:08] [INFO]   -> Combined street name: NORMAN MAYBERRY RD
[2026-03-11 00:28:08] [INFO] Built locationCoordinates from lat/lng: 36.29911,-85.49574
[2026-03-11 00:28:08] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000660","dispatchRunNumber":"2026000660","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":468,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.2991099999999988767740433104336261749267578125,"nERISIncidentLongitude":-85.4957399999999978490450303070247173309326171875,"alarm":"2026-03-10 19:23:51","dispatched":"2026-03-10 19:26:16","enroute":"2026-03-10 19:28:02","cADVehicleID":"TK12","timedispatch":"2026-03-10 19:26:16","timeenroutetoscene":"2026-03-10 19:28:02","policeReportNumber":"20260026460","dispatchNotes":"NEIGHBOR HAS A LARGE FIRE WITH BLACK SMOKE  LARGE BRUSH FIRE  [03\/10\/26 19:24:50 BPICHE]","cADLog":"NEIGHBOR HAS A LARGE FIRE WITH BLACK SMOKE  LARGE BRUSH FIRE  [03\/10\/26 19:24:50 BPICHE]","incidentLocationCity":"COOKEVILLE","streetName":"NORMAN MAYBERRY RD","incidentAddressTextVersionStreet":"468 NORMAN MAYBERRY RD","locationCoordinates":"36.29911,-85.49574"}
[2026-03-11 00:28:08] [INFO] Number of extracted fields: 22
[2026-03-11 00:28:08] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-11 00:28:08] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-11 00:28:08] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-11 00:28:08] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 00:28:08] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 00:28:08] [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-11 00:28:08] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 00:28:08] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 00:28:08] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-11 00:28:09] [INFO] Found existing Dispatch with cADNumber '2026000660', ID: 69b0b6af82d6fb9f3 - will update instead of create
[2026-03-11 00:28:09] [INFO] Updated existing Dispatches record with ID: 69b0b6af82d6fb9f3
[2026-03-11 00:28:09] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026460_20260311_002807.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026460_20260311_002807.XML
[2026-03-11 00:28:09] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026460_20260311_002807.XML
[2026-03-11 00:28:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026460_20260311_002813.XML
[2026-03-11 00:28:13] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026460_20260311_002813.XML for user: 68f1466aed072ad4a
[2026-03-11 00:28:13] [INFO] File size: 4716 bytes
[2026-03-11 00:28:13] [INFO] Created FTPFiles record with ID: 69b0b71d835a2b95a
[2026-03-11 00:28:13] [INFO] About to extract fields from XML. File size: 4716 bytes
[2026-03-11 00:28:13] [INFO] Number of mappings: 28
[2026-03-11 00:28:13] [INFO] Starting XML parsing. Content length: 4716
[2026-03-11 00:28:13] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 00:28:13] [INFO] Processing 28 field mappings
[2026-03-11 00:28:13] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 00:28:13] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 00:28:13] [INFO]   -> Found value: PCFD
[2026-03-11 00:28:13] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-11 00:28:13] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 00:28:13] [INFO]   -> Found value: 2026000660
[2026-03-11 00:28:13] [INFO]   -> Set field 'incidentInternalId' = "2026000660"
[2026-03-11 00:28:13] [INFO]   -> Set field 'dispatchRunNumber' = "2026000660"
[2026-03-11 00:28:13] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 00:28:13] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-11 00:28:13] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-11 00:28:13] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 00:28:13] [INFO]   -> Found value: 468
[2026-03-11 00:28:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 468
[2026-03-11 00:28:13] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 00:28:13] [INFO]   -> Found value: TN
[2026-03-11 00:28:13] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 00:28:13] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 00:28:13] [INFO]   -> Found value: 38501
[2026-03-11 00:28:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-11 00:28:13] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 00:28:13] [INFO]   -> No value found (null or empty)
[2026-03-11 00:28:13] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 00:28:13] [INFO]   -> No value found (null or empty)
[2026-03-11 00:28:13] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 00:28:13] [INFO]   -> Found value: 36.29911
[2026-03-11 00:28:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2991099999999988767740433104336261749267578125
[2026-03-11 00:28:13] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 00:28:13] [INFO]   -> Found value: -85.49574
[2026-03-11 00:28:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4957399999999978490450303070247173309326171875
[2026-03-11 00:28:13] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 00:28:13] [INFO]   -> Found value: 2026-03-10 19:23:51
[2026-03-11 00:28:13] [INFO]   -> Set field 'alarm' = "2026-03-10 19:23:51"
[2026-03-11 00:28:13] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 00:28:13] [INFO]   -> Found value: 2026-03-10 19:26:16
[2026-03-11 00:28:13] [INFO]   -> Set field 'dispatched' = "2026-03-10 19:26:16"
[2026-03-11 00:28:13] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 00:28:13] [INFO]   -> Found value: 2026-03-10 19:28:02
[2026-03-11 00:28:13] [INFO]   -> Set field 'enroute' = "2026-03-10 19:28:02"
[2026-03-11 00:28:13] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 00:28:13] [INFO]   -> No value found (null or empty)
[2026-03-11 00:28:13] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 00:28:13] [INFO]   -> No value found (null or empty)
[2026-03-11 00:28:13] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 00:28:13] [INFO]   -> No value found (null or empty)
[2026-03-11 00:28:13] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 00:28:13] [INFO]   -> Found value: TK12
[2026-03-11 00:28:13] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-11 00:28:13] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 00:28:13] [INFO]   -> Found value: 2026-03-10 19:26:16
[2026-03-11 00:28:13] [INFO]   -> Set field 'timedispatch' = "2026-03-10 19:26:16"
[2026-03-11 00:28:13] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 00:28:13] [INFO]   -> Found value: 2026-03-10 19:28:02
[2026-03-11 00:28:13] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-10 19:28:02"
[2026-03-11 00:28:13] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 00:28:13] [INFO]   -> No value found (null or empty)
[2026-03-11 00:28:13] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 00:28:13] [INFO]   -> No value found (null or empty)
[2026-03-11 00:28:13] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 00:28:13] [INFO]   -> No value found (null or empty)
[2026-03-11 00:28:13] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 00:28:13] [INFO]   -> Found value: 20260026460
[2026-03-11 00:28:13] [INFO]   -> Set field 'policeReportNumber' = "20260026460"
[2026-03-11 00:28:13] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 00:28:13] [INFO]   -> Found value: NEIGHBOR HAS A LARGE FIRE WITH BLACK SMOKE  LARGE BRUSH FIRE  [03/10/26 19:24:50 BPICHE]
[2026-03-11 00:28:13] [INFO]   -> Set field 'dispatchNotes' = "NEIGHBOR HAS A LARGE FIRE WITH BLACK SMOKE  LARGE BRUSH FIRE  [03\/10\/26 19:24:50 BPICHE]"
[2026-03-11 00:28:13] [INFO]   -> Set field 'cADLog' = "NEIGHBOR HAS A LARGE FIRE WITH BLACK SMOKE  LARGE BRUSH FIRE  [03\/10\/26 19:24:50 BPICHE]"
[2026-03-11 00:28:13] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 00:28:13] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 00:28:13] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 00:28:13] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 00:28:13] [INFO]   -> Found value: NORMAN MAYBERRY
[2026-03-11 00:28:13] [INFO]   -> Set field 'streetName' = "NORMAN MAYBERRY"
[2026-03-11 00:28:13] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 00:28:13] [INFO]   -> Found value: RD
[2026-03-11 00:28:13] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 00:28:13] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 00:28:13] [INFO]   -> Found value: 468 NORMAN MAYBERRY RD
[2026-03-11 00:28:13] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "468 NORMAN MAYBERRY RD"
[2026-03-11 00:28:13] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-11 00:28:13] [INFO] Concatenating street name and type
[2026-03-11 00:28:13] [INFO]   -> Combined street name: NORMAN MAYBERRY RD
[2026-03-11 00:28:13] [INFO] Built locationCoordinates from lat/lng: 36.29911,-85.49574
[2026-03-11 00:28:13] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000660","dispatchRunNumber":"2026000660","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":468,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.2991099999999988767740433104336261749267578125,"nERISIncidentLongitude":-85.4957399999999978490450303070247173309326171875,"alarm":"2026-03-10 19:23:51","dispatched":"2026-03-10 19:26:16","enroute":"2026-03-10 19:28:02","cADVehicleID":"TK12","timedispatch":"2026-03-10 19:26:16","timeenroutetoscene":"2026-03-10 19:28:02","policeReportNumber":"20260026460","dispatchNotes":"NEIGHBOR HAS A LARGE FIRE WITH BLACK SMOKE  LARGE BRUSH FIRE  [03\/10\/26 19:24:50 BPICHE]","cADLog":"NEIGHBOR HAS A LARGE FIRE WITH BLACK SMOKE  LARGE BRUSH FIRE  [03\/10\/26 19:24:50 BPICHE]","incidentLocationCity":"COOKEVILLE","streetName":"NORMAN MAYBERRY RD","incidentAddressTextVersionStreet":"468 NORMAN MAYBERRY RD","locationCoordinates":"36.29911,-85.49574"}
[2026-03-11 00:28:13] [INFO] Number of extracted fields: 22
[2026-03-11 00:28:13] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-11 00:28:13] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-11 00:28:13] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-11 00:28:13] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 00:28:13] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 00:28: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-11 00:28: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-11 00:28:13] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 00:28:14] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-11 00:28:14] [INFO] Found existing Dispatch with cADNumber '2026000660', ID: 69b0b6af82d6fb9f3 - will update instead of create
[2026-03-11 00:28:14] [INFO] Updated existing Dispatches record with ID: 69b0b6af82d6fb9f3
[2026-03-11 00:28:14] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026460_20260311_002813.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026460_20260311_002813.XML
[2026-03-11 00:28:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026460_20260311_002813.XML
[2026-03-11 00:46:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-14823_20260310204623340.xml
[2026-03-11 00:46:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-14823_20260310204623340.xml for user: 68920395733981a47
[2026-03-11 00:46:25] [INFO] File size: 16473 bytes
[2026-03-11 00:46:26] [INFO] Created FTPFiles record with ID: 69b0bb621199f305e
[2026-03-11 00:46:26] [INFO] About to extract fields from XML. File size: 16473 bytes
[2026-03-11 00:46:26] [INFO] Number of mappings: 24
[2026-03-11 00:46:26] [INFO] Starting XML parsing. Content length: 16473
[2026-03-11 00:46:26] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 00:46:26] [INFO] Processing 24 field mappings
[2026-03-11 00:46:26] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 00:46:26] [INFO]   -> Found value: FASCIT-Fire Assist Citizen
[2026-03-11 00:46:26] [INFO]   -> Set field 'incidentTypeValue1' = "FASCIT-Fire Assist Citizen"
[2026-03-11 00:46:26] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 00:46:26] [INFO]   -> Found value: ,1770 CASEY HOLW
[2026-03-11 00:46:26] [INFO]   -> Set field 'businessName' = ",1770 CASEY HOLW"
[2026-03-11 00:46:26] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 00:46:26] [INFO]   -> Found value: 37379
[2026-03-11 00:46:26] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 00:46:26] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 00:46:26] [INFO]   -> Found value: 1744
[2026-03-11 00:46:26] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1744
[2026-03-11 00:46:26] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 00:46:26] [INFO]   -> Found value: CASEY
[2026-03-11 00:46:26] [INFO]   -> Set field 'streetName' = "CASEY"
[2026-03-11 00:46:26] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 00:46:26] [INFO]   -> Found value: No Cross Street/CANYON CIR
[2026-03-11 00:46:26] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/CANYON CIR"
[2026-03-11 00:46:26] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 00:46:26] [INFO]   -> Found value: 2026-03-10T18:30:02.52-04:00
[2026-03-11 00:46:26] [INFO]   -> Set field 'alarm' = "2026-03-10 22:30:02"
[2026-03-11 00:46:26] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 00:46:26] [INFO]   -> Found value: 2026-03-10T18:36:09.413-04:00
[2026-03-11 00:46:26] [INFO]   -> Set field 'enroute' = "2026-03-10 22:36:09"
[2026-03-11 00:46:26] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 00:46:26] [INFO]   -> Found value: 2026-03-10T18:40:23.52-04:00
[2026-03-11 00:46:26] [INFO]   -> Set field 'onScene' = "2026-03-10 22:40:23"
[2026-03-11 00:46:26] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 00:46:26] [INFO]   -> Found value: 2026-03-10T19:37:12.79-04:00
[2026-03-11 00:46:26] [INFO]   -> Set field 'cleared' = "2026-03-10 23:37:12"
[2026-03-11 00:46:26] [INFO]   -> Set field 'inService' = "2026-03-10 23:37:12"
[2026-03-11 00:46:26] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 00:46:26] [INFO]   -> Found value: 35.245695999999995
[2026-03-11 00:46:26] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.2456959999999952515281620435416698455810546875
[2026-03-11 00:46:26] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 00:46:26] [INFO]   -> Found value: -85.126485
[2026-03-11 00:46:26] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.126485000000002401066012680530548095703125
[2026-03-11 00:46:26] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 00:46:26] [INFO]   -> Found value: 2026-03-10T18:33:28.75-04:00
[2026-03-11 00:46:26] [INFO]   -> Set field 'dispatched' = "2026-03-10 22:33:28"
[2026-03-11 00:46:26] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 00:46:26] [INFO]   -> Found value: QRV05DB
[2026-03-11 00:46:26] [INFO]   -> Set field 'cADVehicleID' = "QRV05DB"
[2026-03-11 00:46:26] [INFO]   -> Set field 'name' = "QRV05DB"
[2026-03-11 00:46:26] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 00:46:26] [INFO]   -> Found value: 2026-03-10T19:36:29.273-04:00
[2026-03-11 00:46:26] [INFO]   -> Set field 'timeunitclear' = "2026-03-10 23:36:29"
[2026-03-11 00:46:26] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 00:46:26] [INFO]   -> Found value: 2026-03-10T19:25:44.983-04:00
[2026-03-11 00:46:26] [INFO]   -> Set field 'timeonscene' = "2026-03-10 23:25:44"
[2026-03-11 00:46:26] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 00:46:26] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 00:46:26] [INFO]   -> Set field 'timestaging' = null
[2026-03-11 00:46:26] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 00:46:26] [INFO]   -> Found value: 2026-03-10T19:16:30.58-04:00
[2026-03-11 00:46:26] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-10 23:16:30"
[2026-03-11 00:46:26] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 00:46:26] [INFO]   -> Found value: 2026-03-10T19:16:30.55-04:00
[2026-03-11 00:46:26] [INFO]   -> Set field 'timedispatch' = "2026-03-10 23:16:30"
[2026-03-11 00:46:26] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 00:46:26] [INFO]   -> Found value: HOLW
[2026-03-11 00:46:26] [INFO]   -> Set field 'streetType' = "HOLW"
[2026-03-11 00:46:26] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 00:46:26] [INFO]   -> Found value: 26-000023
[2026-03-11 00:46:26] [INFO]   -> Set field 'incidentInternalId' = "26-000023"
[2026-03-11 00:46:26] [INFO]   -> Set field 'dispatchRunNumber' = "26-000023"
[2026-03-11 00:46:26] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 00:46:26] [INFO]   -> Found value: 2026-03-14823
[2026-03-11 00:46:26] [INFO]   -> Set field 'policeReportNumber' = "2026-03-14823"
[2026-03-11 00:46:26] [INFO]   -> Set field 'cADNumber' = "2026-03-14823"
[2026-03-11 00:46:26] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 00:46:26] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 00:46:26] [INFO] Found 14 elements for 'Comment', concatenating 14 non-empty values
[2026-03-11 00:46:26] [INFO]   -> Found value: 03/10/2026 18:33:04 SNYDER_C                [1] 71 YOM 250 LBS
03/10/2026 18:33:12 SNYDER_C         ...
[2026-03-11 00:46:26] [INFO]   -> Set field 'dispatchNotes' = "03\/10\/2026 18:33:04 SNYDER_C                [1] 71 YOM 250 LBS\n03\/10\/2026 18:33:12 SNYDER_C                [2] NO LIGHT OR SIRENS\n03\/10\/2026 18:33:19 SNYDER_C                [3] RP IS WANTING HELP GETTING PARTY UP\n03\/10\/2026 18:33:27 SNYDER_C                [4] BUT HE IS NOT WANTING ANYONE\n03\/10\/2026 18:33:28 HYDER_K                 [5] Automatic Case Number(s) issued for Incident #[2026-03-14823], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000023 requested by H1700.\n03\/10\/2026 18:34:24 HYDER_K                 [6] FG5**\n03\/10\/2026 19:02:37 DAVIS_A                 [7] Multi-Agency Law Incident #: 2026-03-14864\n03\/10\/2026 19:02:36 DAVIS_A                 [8] Multi-Agency EMS Incident #: 2026-03-14863\n03\/10\/2026 19:02:58 SNYDER_C                [9] ADV ON PD [Shared 2, 2026-03-14864 - FALL - 1744 CASEY HOLW]\n03\/10\/2026 19:03:48 APP01                   [10] Requested Case Number(s) issued for Incident #[2026-03-14863], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009319. requested by M04. [Shared 1, 2026-03-14863 - FALL - 1744 CASEY HOLW]\n03\/10\/2026 19:16:26 SNYDER_C                [11] [Law] has closed their incident [2026-03-14864]\n03\/10\/2026 19:16:30 DAVIS_A                 [12] Automatic Case Number(s) issued for Incident #[2026-03-14823], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000474 requested by QRV05DB. [Shared]\n03\/10\/2026 19:36:41 M04                     [13] M04 - Transported person gender is Male [Shared 1, 2026-03-14863 - FALL - 1744 CASEY HOLW]\n03\/10\/2026 20:46:21 calub_m                 [14] [EMS] has closed their incident [2026-03-14863]"
[2026-03-11 00:46:26] [INFO]   -> Set field 'cADLog' = "03\/10\/2026 18:33:04 SNYDER_C                [1] 71 YOM 250 LBS\n03\/10\/2026 18:33:12 SNYDER_C                [2] NO LIGHT OR SIRENS\n03\/10\/2026 18:33:19 SNYDER_C                [3] RP IS WANTING HELP GETTING PARTY UP\n03\/10\/2026 18:33:27 SNYDER_C                [4] BUT HE IS NOT WANTING ANYONE\n03\/10\/2026 18:33:28 HYDER_K                 [5] Automatic Case Number(s) issued for Incident #[2026-03-14823], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000023 requested by H1700.\n03\/10\/2026 18:34:24 HYDER_K                 [6] FG5**\n03\/10\/2026 19:02:37 DAVIS_A                 [7] Multi-Agency Law Incident #: 2026-03-14864\n03\/10\/2026 19:02:36 DAVIS_A                 [8] Multi-Agency EMS Incident #: 2026-03-14863\n03\/10\/2026 19:02:58 SNYDER_C                [9] ADV ON PD [Shared 2, 2026-03-14864 - FALL - 1744 CASEY HOLW]\n03\/10\/2026 19:03:48 APP01                   [10] Requested Case Number(s) issued for Incident #[2026-03-14863], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009319. requested by M04. [Shared 1, 2026-03-14863 - FALL - 1744 CASEY HOLW]\n03\/10\/2026 19:16:26 SNYDER_C                [11] [Law] has closed their incident [2026-03-14864]\n03\/10\/2026 19:16:30 DAVIS_A                 [12] Automatic Case Number(s) issued for Incident #[2026-03-14823], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000474 requested by QRV05DB. [Shared]\n03\/10\/2026 19:36:41 M04                     [13] M04 - Transported person gender is Male [Shared 1, 2026-03-14863 - FALL - 1744 CASEY HOLW]\n03\/10\/2026 20:46:21 calub_m                 [14] [EMS] has closed their incident [2026-03-14863]"
[2026-03-11 00:46:26] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 00:46:26] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 00:46:26] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 00:46:26] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-03-11 00:46:26] [INFO]   -> Found value: SFD
DBFD
SFD
SFD
[2026-03-11 00:46:26] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nDBFD\nSFD\nSFD"
[2026-03-11 00:46:26] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-11 00:46:26] [INFO] Concatenating street name and type
[2026-03-11 00:46:26] [INFO]   -> Combined street name: CASEY HOLW
[2026-03-11 00:46:26] [INFO] Built locationCoordinates from lat/lng: 35.245696,-85.126485
[2026-03-11 00:46:26] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FASCIT-Fire Assist Citizen","businessName":",1770 CASEY HOLW","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1744,"streetName":"CASEY HOLW","incidentLocationCross":"No Cross Street\/CANYON CIR","alarm":"2026-03-10 22:30:02","enroute":"2026-03-10 22:36:09","onScene":"2026-03-10 22:40:23","cleared":"2026-03-10 23:37:12","inService":"2026-03-10 23:37:12","nERISIncidentLatitude":35.2456959999999952515281620435416698455810546875,"nERISIncidentLongitude":-85.126485000000002401066012680530548095703125,"dispatched":"2026-03-10 22:33:28","cADVehicleID":"QRV05DB","name":"QRV05DB","timeunitclear":"2026-03-10 23:36:29","timeonscene":"2026-03-10 23:25:44","timestaging":null,"timeenroutetoscene":"2026-03-10 23:16:30","timedispatch":"2026-03-10 23:16:30","incidentInternalId":"26-000023","dispatchRunNumber":"26-000023","policeReportNumber":"2026-03-14823","cADNumber":"2026-03-14823","dispatchNotes":"03\/10\/2026 18:33:04 SNYDER_C                [1] 71 YOM 250 LBS\n03\/10\/2026 18:33:12 SNYDER_C                [2] NO LIGHT OR SIRENS\n03\/10\/2026 18:33:19 SNYDER_C                [3] RP IS WANTING HELP GETTING PARTY UP\n03\/10\/2026 18:33:27 SNYDER_C                [4] BUT HE IS NOT WANTING ANYONE\n03\/10\/2026 18:33:28 HYDER_K                 [5] Automatic Case Number(s) issued for Incident #[2026-03-14823], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000023 requested by H1700.\n03\/10\/2026 18:34:24 HYDER_K                 [6] FG5**\n03\/10\/2026 19:02:37 DAVIS_A                 [7] Multi-Agency Law Incident #: 2026-03-14864\n03\/10\/2026 19:02:36 DAVIS_A                 [8] Multi-Agency EMS Incident #: 2026-03-14863\n03\/10\/2026 19:02:58 SNYDER_C                [9] ADV ON PD [Shared 2, 2026-03-14864 - FALL - 1744 CASEY HOLW]\n03\/10\/2026 19:03:48 APP01                   [10] Requested Case Number(s) issued for Incident #[2026-03-14863], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009319. requested by M04. [Shared 1, 2026-03-14863 - FALL - 1744 CASEY HOLW]\n03\/10\/2026 19:16:26 SNYDER_C                [11] [Law] has closed their incident [2026-03-14864]\n03\/10\/2026 19:16:30 DAVIS_A                 [12] Automatic Case Number(s) issued for Incident #[2026-03-14823], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000474 requested by QRV05DB. [Shared]\n03\/10\/2026 19:36:41 M04                     [13] M04 - Transported person gender is Male [Shared 1, 2026-03-14863 - FALL - 1744 CASEY HOLW]\n03\/10\/2026 20:46:21 calub_m                 [14] [EMS] has closed their incident [2026-03-14863]","cADLog":"03\/10\/2026 18:33:04 SNYDER_C                [1] 71 YOM 250 LBS\n03\/10\/2026 18:33:12 SNYDER_C                [2] NO LIGHT OR SIRENS\n03\/10\/2026 18:33:19 SNYDER_C                [3] RP IS WANTING HELP GETTING PARTY UP\n03\/10\/2026 18:33:27 SNYDER_C                [4] BUT HE IS NOT WANTING ANYONE\n03\/10\/2026 18:33:28 HYDER_K                 [5] Automatic Case Number(s) issued for Incident #[2026-03-14823], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000023 requested by H1700.\n03\/10\/2026 18:34:24 HYDER_K                 [6] FG5**\n03\/10\/2026 19:02:37 DAVIS_A                 [7] Multi-Agency Law Incident #: 2026-03-14864\n03\/10\/2026 19:02:36 DAVIS_A                 [8] Multi-Agency EMS Incident #: 2026-03-14863\n03\/10\/2026 19:02:58 SNYDER_C                [9] ADV ON PD [Shared 2, 2026-03-14864 - FALL - 1744 CASEY HOLW]\n03\/10\/2026 19:03:48 APP01                   [10] Requested Case Number(s) issued for Incident #[2026-03-14863], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009319. requested by M04. [Shared 1, 2026-03-14863 - FALL - 1744 CASEY HOLW]\n03\/10\/2026 19:16:26 SNYDER_C                [11] [Law] has closed their incident [2026-03-14864]\n03\/10\/2026 19:16:30 DAVIS_A                 [12] Automatic Case Number(s) issued for Incident #[2026-03-14823], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000474 requested by QRV05DB. [Shared]\n03\/10\/2026 19:36:41 M04                     [13] M04 - Transported person gender is Male [Shared 1, 2026-03-14863 - FALL - 1744 CASEY HOLW]\n03\/10\/2026 20:46:21 calub_m                 [14] [EMS] has closed their incident [2026-03-14863]","cADAgencyIdentifier":"SFD\nDBFD\nSFD\nSFD","locationCoordinates":"35.245696,-85.126485"}
[2026-03-11 00:46:26] [INFO] Number of extracted fields: 29
[2026-03-11 00:46:26] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
DBFD
SFD
SFD'
[2026-03-11 00:46:26] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
DBFD
SFD
SFD', Parsed IDs = ["SFD","DBFD","SFD","SFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-03-11 00:46:26] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","DBFD","SFD","SFD"]
[2026-03-11 00:46:26] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 00:46:26] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 00:46:26] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["DBFD","SFD","SFD"]
[2026-03-11 00:46:26] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 00:46:26] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 00:46:26] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-11 00:46:26] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-11 00:46:26] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 00:46:26] [INFO] Found existing IncidentTypeMapping with ID: 695d4c65e4ee180a0
[2026-03-11 00:46:26] [INFO] Found existing Dispatch with cADNumber '2026-03-14823', ID: 69b09c14aba1e469b - will update instead of create
[2026-03-11 00:46:27] [INFO] Updated existing Dispatches record with ID: 69b09c14aba1e469b
[2026-03-11 00:46:27] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 00:46:27] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 00:46:30] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-14823_20260310204623340.xml
[2026-03-11 00:46:30] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11
[2026-03-11 00:46:30] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-14823_20260310204623340.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-14823_20260310204623340.xml
[2026-03-11 00:46:30] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-14823_20260310204623340.xml
[2026-03-11 01:16:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026479_20260311_011612.XML
[2026-03-11 01:16:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026479_20260311_011612.XML for user: 68f1466aed072ad4a
[2026-03-11 01:16:12] [INFO] File size: 5532 bytes
[2026-03-11 01:16:12] [INFO] Created FTPFiles record with ID: 69b0c25c6e8c7ff15
[2026-03-11 01:16:12] [INFO] About to extract fields from XML. File size: 5532 bytes
[2026-03-11 01:16:12] [INFO] Number of mappings: 28
[2026-03-11 01:16:12] [INFO] Starting XML parsing. Content length: 5532
[2026-03-11 01:16:12] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 01:16:12] [INFO] Processing 28 field mappings
[2026-03-11 01:16:12] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 01:16:12] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 01:16:12] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 01:16:12] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-11 01:16:12] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-11 01:16:12] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-11 01:16:12] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 01:16:12] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-11 01:16:12] [INFO]   -> Found value: 2026000661
[2026-03-11 01:16:12] [INFO]   -> Set field 'incidentInternalId' = "2026000661"
[2026-03-11 01:16:12] [INFO]   -> Set field 'dispatchRunNumber' = "2026000661"
[2026-03-11 01:16:12] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 01:16:12] [INFO]   -> Found value: CHEST PAIN
[2026-03-11 01:16:12] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-11 01:16:12] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 01:16:12] [INFO]   -> Found value: 164
[2026-03-11 01:16:12] [INFO]   -> Set field 'incidentLocationStreetNumber' = 164
[2026-03-11 01:16:12] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 01:16:12] [INFO]   -> Found value: TN
[2026-03-11 01:16:12] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 01:16:12] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 01:16:12] [INFO]   -> Found value: 38574
[2026-03-11 01:16:12] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-11 01:16:12] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 01:16:12] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:12] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 01:16:12] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:12] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 01:16:12] [INFO]   -> Found value: 36.11952
[2026-03-11 01:16:12] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11952000000000140289557748474180698394775390625
[2026-03-11 01:16:12] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 01:16:12] [INFO]   -> Found value: -85.19721
[2026-03-11 01:16:12] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1972099999999983310772222466766834259033203125
[2026-03-11 01:16:12] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 01:16:12] [INFO]   -> Found value: 2026-03-10 20:15:54
[2026-03-11 01:16:12] [INFO]   -> Set field 'alarm' = "2026-03-10 20:15:54"
[2026-03-11 01:16:12] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 01:16:12] [INFO]   -> Found value: 2026-03-10 20:16:06
[2026-03-11 01:16:12] [INFO]   -> Set field 'dispatched' = "2026-03-10 20:16:06"
[2026-03-11 01:16:12] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 01:16:12] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:12] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 01:16:12] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:12] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 01:16:12] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:12] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 01:16:12] [INFO]   -> Found value: CLARKRANGE HWY/DRIPPING SPRINGS RD
[2026-03-11 01:16:12] [INFO]   -> Set field 'incidentLocationCross' = "CLARKRANGE HWY\/DRIPPING SPRINGS RD"
[2026-03-11 01:16:12] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 01:16:12] [INFO]   -> Found value: PCFR
[2026-03-11 01:16:12] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-11 01:16:12] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 01:16:12] [INFO]   -> Found value: 2026-03-10 20:16:06
[2026-03-11 01:16:12] [INFO]   -> Set field 'timedispatch' = "2026-03-10 20:16:06"
[2026-03-11 01:16:12] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 01:16:12] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:12] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 01:16:12] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:12] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 01:16:12] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:12] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 01:16:12] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:12] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 01:16:12] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 01:16:12] [INFO]   -> Found value: 20260026479
[2026-03-11 01:16:12] [INFO]   -> Set field 'policeReportNumber' = "20260026479"
[2026-03-11 01:16:12] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 01:16:12] [INFO]   -> Found value: [EMS] FRONT DOOR UNLOCKED  [03/10/26 20:16:00 TSCOTT] Event spawned from CHEST PAIN.  [03/10/2026 20...
[2026-03-11 01:16:12] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FRONT DOOR UNLOCKED  [03\/10\/26 20:16:00 TSCOTT] Event spawned from CHEST PAIN.  [03\/10\/2026 20:15:54 TSCOTT] GRANDFATHER IS HAVING CHEST PAIN AND TROUBLE BREATHING 70ISH MALE  NO CARDIAC ISSUES  PT IS AWAKE AND ALERT  [03\/10\/26 20:15:29 TSCOTT]"
[2026-03-11 01:16:12] [INFO]   -> Set field 'cADLog' = "[EMS] FRONT DOOR UNLOCKED  [03\/10\/26 20:16:00 TSCOTT] Event spawned from CHEST PAIN.  [03\/10\/2026 20:15:54 TSCOTT] GRANDFATHER IS HAVING CHEST PAIN AND TROUBLE BREATHING 70ISH MALE  NO CARDIAC ISSUES  PT IS AWAKE AND ALERT  [03\/10\/26 20:15:29 TSCOTT]"
[2026-03-11 01:16:12] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 01:16:12] [INFO]   -> Found value: MONTEREY
[2026-03-11 01:16:12] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-11 01:16:12] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 01:16:12] [INFO]   -> Found value: COPPERHEAD
[2026-03-11 01:16:12] [INFO]   -> Set field 'streetName' = "COPPERHEAD"
[2026-03-11 01:16:12] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 01:16:12] [INFO]   -> Found value: DR
[2026-03-11 01:16:12] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-11 01:16:12] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 01:16:12] [INFO]   -> Found value: 164 COPPERHEAD DR
[2026-03-11 01:16:12] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "164 COPPERHEAD DR"
[2026-03-11 01:16:12] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-11 01:16:12] [INFO] Concatenating street name and type
[2026-03-11 01:16:12] [INFO]   -> Combined street name: COPPERHEAD DR
[2026-03-11 01:16:12] [INFO] Built locationCoordinates from lat/lng: 36.11952,-85.19721
[2026-03-11 01:16:12] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000661","dispatchRunNumber":"2026000661","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":164,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.11952000000000140289557748474180698394775390625,"nERISIncidentLongitude":-85.1972099999999983310772222466766834259033203125,"alarm":"2026-03-10 20:15:54","dispatched":"2026-03-10 20:16:06","incidentLocationCross":"CLARKRANGE HWY\/DRIPPING SPRINGS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-10 20:16:06","policeReportNumber":"20260026479","dispatchNotes":"[EMS] FRONT DOOR UNLOCKED  [03\/10\/26 20:16:00 TSCOTT] Event spawned from CHEST PAIN.  [03\/10\/2026 20:15:54 TSCOTT] GRANDFATHER IS HAVING CHEST PAIN AND TROUBLE BREATHING 70ISH MALE  NO CARDIAC ISSUES  PT IS AWAKE AND ALERT  [03\/10\/26 20:15:29 TSCOTT]","cADLog":"[EMS] FRONT DOOR UNLOCKED  [03\/10\/26 20:16:00 TSCOTT] Event spawned from CHEST PAIN.  [03\/10\/2026 20:15:54 TSCOTT] GRANDFATHER IS HAVING CHEST PAIN AND TROUBLE BREATHING 70ISH MALE  NO CARDIAC ISSUES  PT IS AWAKE AND ALERT  [03\/10\/26 20:15:29 TSCOTT]","incidentLocationCity":"MONTEREY","streetName":"COPPERHEAD DR","incidentAddressTextVersionStreet":"164 COPPERHEAD DR","locationCoordinates":"36.11952,-85.19721"}
[2026-03-11 01:16:12] [INFO] Number of extracted fields: 21
[2026-03-11 01:16:12] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-11 01:16:12] [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-11 01:16:12] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-11 01:16:12] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 01:16:12] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 01:16:12] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-11 01:16: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-11 01:16: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-11 01:16:12] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-11 01:16:12] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 01:16:12] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 01:16:12] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-11 01:16:22] [INFO] Created new Dispatches record with ID: 69b0c25d45e36829e
[2026-03-11 01:16:22] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026479_20260311_011612.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026479_20260311_011612.XML
[2026-03-11 01:16:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026479_20260311_011612.XML
[2026-03-11 01:16:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026479_20260311_011612_1.XML
[2026-03-11 01:16:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026479_20260311_011612_1.XML for user: 68f1466aed072ad4a
[2026-03-11 01:16:22] [INFO] File size: 5532 bytes
[2026-03-11 01:16:22] [INFO] Created FTPFiles record with ID: 69b0c266bc5579de3
[2026-03-11 01:16:22] [INFO] About to extract fields from XML. File size: 5532 bytes
[2026-03-11 01:16:22] [INFO] Number of mappings: 28
[2026-03-11 01:16:22] [INFO] Starting XML parsing. Content length: 5532
[2026-03-11 01:16:22] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 01:16:22] [INFO] Processing 28 field mappings
[2026-03-11 01:16:22] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 01:16:22] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 01:16:22] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 01:16:22] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-11 01:16:22] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-11 01:16:22] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-11 01:16:22] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 01:16:22] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-11 01:16:22] [INFO]   -> Found value: 2026000661
[2026-03-11 01:16:22] [INFO]   -> Set field 'incidentInternalId' = "2026000661"
[2026-03-11 01:16:22] [INFO]   -> Set field 'dispatchRunNumber' = "2026000661"
[2026-03-11 01:16:22] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 01:16:22] [INFO]   -> Found value: CHEST PAIN
[2026-03-11 01:16:22] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-11 01:16:22] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 01:16:22] [INFO]   -> Found value: 164
[2026-03-11 01:16:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 164
[2026-03-11 01:16:22] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 01:16:22] [INFO]   -> Found value: TN
[2026-03-11 01:16:22] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 01:16:22] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 01:16:22] [INFO]   -> Found value: 38574
[2026-03-11 01:16:22] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-11 01:16:22] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 01:16:22] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:22] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 01:16:22] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:22] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 01:16:22] [INFO]   -> Found value: 36.11952
[2026-03-11 01:16:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11952000000000140289557748474180698394775390625
[2026-03-11 01:16:22] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 01:16:22] [INFO]   -> Found value: -85.19721
[2026-03-11 01:16:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1972099999999983310772222466766834259033203125
[2026-03-11 01:16:22] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 01:16:22] [INFO]   -> Found value: 2026-03-10 20:15:54
[2026-03-11 01:16:22] [INFO]   -> Set field 'alarm' = "2026-03-10 20:15:54"
[2026-03-11 01:16:22] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 01:16:22] [INFO]   -> Found value: 2026-03-10 20:16:06
[2026-03-11 01:16:22] [INFO]   -> Set field 'dispatched' = "2026-03-10 20:16:06"
[2026-03-11 01:16:22] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 01:16:22] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:22] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 01:16:22] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:22] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 01:16:22] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:22] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 01:16:22] [INFO]   -> Found value: CLARKRANGE HWY/DRIPPING SPRINGS RD
[2026-03-11 01:16:22] [INFO]   -> Set field 'incidentLocationCross' = "CLARKRANGE HWY\/DRIPPING SPRINGS RD"
[2026-03-11 01:16:22] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 01:16:22] [INFO]   -> Found value: PCFR
[2026-03-11 01:16:22] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-11 01:16:22] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 01:16:22] [INFO]   -> Found value: 2026-03-10 20:16:06
[2026-03-11 01:16:22] [INFO]   -> Set field 'timedispatch' = "2026-03-10 20:16:06"
[2026-03-11 01:16:22] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 01:16:22] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:22] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 01:16:22] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:22] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 01:16:22] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:22] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 01:16:22] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:22] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 01:16:22] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 01:16:22] [INFO]   -> Found value: 20260026479
[2026-03-11 01:16:22] [INFO]   -> Set field 'policeReportNumber' = "20260026479"
[2026-03-11 01:16:22] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 01:16:22] [INFO]   -> Found value: [EMS] FRONT DOOR UNLOCKED  [03/10/26 20:16:00 TSCOTT] Event spawned from CHEST PAIN.  [03/10/2026 20...
[2026-03-11 01:16:22] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FRONT DOOR UNLOCKED  [03\/10\/26 20:16:00 TSCOTT] Event spawned from CHEST PAIN.  [03\/10\/2026 20:15:54 TSCOTT] GRANDFATHER IS HAVING CHEST PAIN AND TROUBLE BREATHING 70ISH MALE  NO CARDIAC ISSUES  PT IS AWAKE AND ALERT  [03\/10\/26 20:15:29 TSCOTT]"
[2026-03-11 01:16:22] [INFO]   -> Set field 'cADLog' = "[EMS] FRONT DOOR UNLOCKED  [03\/10\/26 20:16:00 TSCOTT] Event spawned from CHEST PAIN.  [03\/10\/2026 20:15:54 TSCOTT] GRANDFATHER IS HAVING CHEST PAIN AND TROUBLE BREATHING 70ISH MALE  NO CARDIAC ISSUES  PT IS AWAKE AND ALERT  [03\/10\/26 20:15:29 TSCOTT]"
[2026-03-11 01:16:22] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 01:16:22] [INFO]   -> Found value: MONTEREY
[2026-03-11 01:16:22] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-11 01:16:22] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 01:16:22] [INFO]   -> Found value: COPPERHEAD
[2026-03-11 01:16:22] [INFO]   -> Set field 'streetName' = "COPPERHEAD"
[2026-03-11 01:16:22] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 01:16:22] [INFO]   -> Found value: DR
[2026-03-11 01:16:22] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-11 01:16:22] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 01:16:22] [INFO]   -> Found value: 164 COPPERHEAD DR
[2026-03-11 01:16:22] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "164 COPPERHEAD DR"
[2026-03-11 01:16:22] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-11 01:16:22] [INFO] Concatenating street name and type
[2026-03-11 01:16:22] [INFO]   -> Combined street name: COPPERHEAD DR
[2026-03-11 01:16:22] [INFO] Built locationCoordinates from lat/lng: 36.11952,-85.19721
[2026-03-11 01:16:22] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000661","dispatchRunNumber":"2026000661","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":164,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.11952000000000140289557748474180698394775390625,"nERISIncidentLongitude":-85.1972099999999983310772222466766834259033203125,"alarm":"2026-03-10 20:15:54","dispatched":"2026-03-10 20:16:06","incidentLocationCross":"CLARKRANGE HWY\/DRIPPING SPRINGS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-10 20:16:06","policeReportNumber":"20260026479","dispatchNotes":"[EMS] FRONT DOOR UNLOCKED  [03\/10\/26 20:16:00 TSCOTT] Event spawned from CHEST PAIN.  [03\/10\/2026 20:15:54 TSCOTT] GRANDFATHER IS HAVING CHEST PAIN AND TROUBLE BREATHING 70ISH MALE  NO CARDIAC ISSUES  PT IS AWAKE AND ALERT  [03\/10\/26 20:15:29 TSCOTT]","cADLog":"[EMS] FRONT DOOR UNLOCKED  [03\/10\/26 20:16:00 TSCOTT] Event spawned from CHEST PAIN.  [03\/10\/2026 20:15:54 TSCOTT] GRANDFATHER IS HAVING CHEST PAIN AND TROUBLE BREATHING 70ISH MALE  NO CARDIAC ISSUES  PT IS AWAKE AND ALERT  [03\/10\/26 20:15:29 TSCOTT]","incidentLocationCity":"MONTEREY","streetName":"COPPERHEAD DR","incidentAddressTextVersionStreet":"164 COPPERHEAD DR","locationCoordinates":"36.11952,-85.19721"}
[2026-03-11 01:16:22] [INFO] Number of extracted fields: 21
[2026-03-11 01:16:22] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-11 01:16: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-11 01:16:22] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-11 01:16:22] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 01:16:22] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 01:16:22] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-11 01:16: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-11 01:16: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-11 01:16:23] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-11 01:16:23] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 01:16:23] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 01:16:23] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-11 01:16:23] [INFO] Found existing Dispatch with cADNumber '2026000661', ID: 69b0c25d45e36829e - will update instead of create
[2026-03-11 01:16:23] [INFO] Updated existing Dispatches record with ID: 69b0c25d45e36829e
[2026-03-11 01:16:23] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026479_20260311_011612_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026479_20260311_011612_1.XML
[2026-03-11 01:16:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026479_20260311_011612_1.XML
[2026-03-11 01:16:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026479_20260311_011612_2.XML
[2026-03-11 01:16:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026479_20260311_011612_2.XML for user: 68f1466aed072ad4a
[2026-03-11 01:16:23] [INFO] File size: 5532 bytes
[2026-03-11 01:16:24] [INFO] Created FTPFiles record with ID: 69b0c267f22a22aef
[2026-03-11 01:16:24] [INFO] About to extract fields from XML. File size: 5532 bytes
[2026-03-11 01:16:24] [INFO] Number of mappings: 28
[2026-03-11 01:16:24] [INFO] Starting XML parsing. Content length: 5532
[2026-03-11 01:16:24] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 01:16:24] [INFO] Processing 28 field mappings
[2026-03-11 01:16:24] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 01:16:24] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 01:16:24] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 01:16:24] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-11 01:16:24] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-11 01:16:24] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-11 01:16:24] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 01:16:24] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-11 01:16:24] [INFO]   -> Found value: 2026000661
[2026-03-11 01:16:24] [INFO]   -> Set field 'incidentInternalId' = "2026000661"
[2026-03-11 01:16:24] [INFO]   -> Set field 'dispatchRunNumber' = "2026000661"
[2026-03-11 01:16:24] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 01:16:24] [INFO]   -> Found value: CHEST PAIN
[2026-03-11 01:16:24] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-11 01:16:24] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 01:16:24] [INFO]   -> Found value: 164
[2026-03-11 01:16:24] [INFO]   -> Set field 'incidentLocationStreetNumber' = 164
[2026-03-11 01:16:24] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 01:16:24] [INFO]   -> Found value: TN
[2026-03-11 01:16:24] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 01:16:24] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 01:16:24] [INFO]   -> Found value: 38574
[2026-03-11 01:16:24] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-11 01:16:24] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 01:16:24] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:24] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 01:16:24] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:24] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 01:16:24] [INFO]   -> Found value: 36.11952
[2026-03-11 01:16:24] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11952000000000140289557748474180698394775390625
[2026-03-11 01:16:24] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 01:16:24] [INFO]   -> Found value: -85.19721
[2026-03-11 01:16:24] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1972099999999983310772222466766834259033203125
[2026-03-11 01:16:24] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 01:16:24] [INFO]   -> Found value: 2026-03-10 20:15:54
[2026-03-11 01:16:24] [INFO]   -> Set field 'alarm' = "2026-03-10 20:15:54"
[2026-03-11 01:16:24] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 01:16:24] [INFO]   -> Found value: 2026-03-10 20:16:06
[2026-03-11 01:16:24] [INFO]   -> Set field 'dispatched' = "2026-03-10 20:16:06"
[2026-03-11 01:16:24] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 01:16:24] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:24] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 01:16:24] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:24] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 01:16:24] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:24] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 01:16:24] [INFO]   -> Found value: CLARKRANGE HWY/DRIPPING SPRINGS RD
[2026-03-11 01:16:24] [INFO]   -> Set field 'incidentLocationCross' = "CLARKRANGE HWY\/DRIPPING SPRINGS RD"
[2026-03-11 01:16:24] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 01:16:24] [INFO]   -> Found value: PCFR
[2026-03-11 01:16:24] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-11 01:16:24] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 01:16:24] [INFO]   -> Found value: 2026-03-10 20:16:06
[2026-03-11 01:16:24] [INFO]   -> Set field 'timedispatch' = "2026-03-10 20:16:06"
[2026-03-11 01:16:24] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 01:16:24] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:24] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 01:16:24] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:24] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 01:16:24] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:24] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 01:16:24] [INFO]   -> No value found (null or empty)
[2026-03-11 01:16:24] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 01:16:24] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 01:16:24] [INFO]   -> Found value: 20260026479
[2026-03-11 01:16:24] [INFO]   -> Set field 'policeReportNumber' = "20260026479"
[2026-03-11 01:16:24] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 01:16:24] [INFO]   -> Found value: [EMS] FRONT DOOR UNLOCKED  [03/10/26 20:16:00 TSCOTT] Event spawned from CHEST PAIN.  [03/10/2026 20...
[2026-03-11 01:16:24] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FRONT DOOR UNLOCKED  [03\/10\/26 20:16:00 TSCOTT] Event spawned from CHEST PAIN.  [03\/10\/2026 20:15:54 TSCOTT] GRANDFATHER IS HAVING CHEST PAIN AND TROUBLE BREATHING 70ISH MALE  NO CARDIAC ISSUES  PT IS AWAKE AND ALERT  [03\/10\/26 20:15:29 TSCOTT]"
[2026-03-11 01:16:24] [INFO]   -> Set field 'cADLog' = "[EMS] FRONT DOOR UNLOCKED  [03\/10\/26 20:16:00 TSCOTT] Event spawned from CHEST PAIN.  [03\/10\/2026 20:15:54 TSCOTT] GRANDFATHER IS HAVING CHEST PAIN AND TROUBLE BREATHING 70ISH MALE  NO CARDIAC ISSUES  PT IS AWAKE AND ALERT  [03\/10\/26 20:15:29 TSCOTT]"
[2026-03-11 01:16:24] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 01:16:24] [INFO]   -> Found value: MONTEREY
[2026-03-11 01:16:24] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-11 01:16:24] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 01:16:24] [INFO]   -> Found value: COPPERHEAD
[2026-03-11 01:16:24] [INFO]   -> Set field 'streetName' = "COPPERHEAD"
[2026-03-11 01:16:24] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 01:16:24] [INFO]   -> Found value: DR
[2026-03-11 01:16:24] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-11 01:16:24] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 01:16:24] [INFO]   -> Found value: 164 COPPERHEAD DR
[2026-03-11 01:16:24] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "164 COPPERHEAD DR"
[2026-03-11 01:16:24] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-11 01:16:24] [INFO] Concatenating street name and type
[2026-03-11 01:16:24] [INFO]   -> Combined street name: COPPERHEAD DR
[2026-03-11 01:16:24] [INFO] Built locationCoordinates from lat/lng: 36.11952,-85.19721
[2026-03-11 01:16:24] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000661","dispatchRunNumber":"2026000661","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":164,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.11952000000000140289557748474180698394775390625,"nERISIncidentLongitude":-85.1972099999999983310772222466766834259033203125,"alarm":"2026-03-10 20:15:54","dispatched":"2026-03-10 20:16:06","incidentLocationCross":"CLARKRANGE HWY\/DRIPPING SPRINGS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-10 20:16:06","policeReportNumber":"20260026479","dispatchNotes":"[EMS] FRONT DOOR UNLOCKED  [03\/10\/26 20:16:00 TSCOTT] Event spawned from CHEST PAIN.  [03\/10\/2026 20:15:54 TSCOTT] GRANDFATHER IS HAVING CHEST PAIN AND TROUBLE BREATHING 70ISH MALE  NO CARDIAC ISSUES  PT IS AWAKE AND ALERT  [03\/10\/26 20:15:29 TSCOTT]","cADLog":"[EMS] FRONT DOOR UNLOCKED  [03\/10\/26 20:16:00 TSCOTT] Event spawned from CHEST PAIN.  [03\/10\/2026 20:15:54 TSCOTT] GRANDFATHER IS HAVING CHEST PAIN AND TROUBLE BREATHING 70ISH MALE  NO CARDIAC ISSUES  PT IS AWAKE AND ALERT  [03\/10\/26 20:15:29 TSCOTT]","incidentLocationCity":"MONTEREY","streetName":"COPPERHEAD DR","incidentAddressTextVersionStreet":"164 COPPERHEAD DR","locationCoordinates":"36.11952,-85.19721"}
[2026-03-11 01:16:24] [INFO] Number of extracted fields: 21
[2026-03-11 01:16:24] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-11 01:16:24] [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-11 01:16:24] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-11 01:16:24] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 01:16:24] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 01:16:24] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-11 01:16: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-11 01:16: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-11 01:16:24] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-11 01:16:24] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 01:16:24] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 01:16:24] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-11 01:16:24] [INFO] Found existing Dispatch with cADNumber '2026000661', ID: 69b0c25d45e36829e - will update instead of create
[2026-03-11 01:16:25] [INFO] Updated existing Dispatches record with ID: 69b0c25d45e36829e
[2026-03-11 01:16:25] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026479_20260311_011612_2.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026479_20260311_011612_2.XML
[2026-03-11 01:16:25] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026479_20260311_011612_2.XML
[2026-03-11 01:18:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026479_20260311_011803.XML
[2026-03-11 01:18:03] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026479_20260311_011803.XML for user: 68f1466aed072ad4a
[2026-03-11 01:18:03] [INFO] File size: 6609 bytes
[2026-03-11 01:18:03] [INFO] Created FTPFiles record with ID: 69b0c2cbe16f67713
[2026-03-11 01:18:03] [INFO] About to extract fields from XML. File size: 6609 bytes
[2026-03-11 01:18:03] [INFO] Number of mappings: 28
[2026-03-11 01:18:03] [INFO] Starting XML parsing. Content length: 6609
[2026-03-11 01:18:03] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 01:18:03] [INFO] Processing 28 field mappings
[2026-03-11 01:18:03] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 01:18:03] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 01:18:03] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 01:18:03] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-11 01:18:03] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-11 01:18:03] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-11 01:18:03] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 01:18:03] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-11 01:18:03] [INFO]   -> Found value: 2026000661
[2026-03-11 01:18:03] [INFO]   -> Set field 'incidentInternalId' = "2026000661"
[2026-03-11 01:18:03] [INFO]   -> Set field 'dispatchRunNumber' = "2026000661"
[2026-03-11 01:18:03] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 01:18:03] [INFO]   -> Found value: CHEST PAIN
[2026-03-11 01:18:03] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-11 01:18:03] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 01:18:03] [INFO]   -> Found value: 164
[2026-03-11 01:18:03] [INFO]   -> Set field 'incidentLocationStreetNumber' = 164
[2026-03-11 01:18:03] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 01:18:03] [INFO]   -> Found value: TN
[2026-03-11 01:18:03] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 01:18:03] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 01:18:03] [INFO]   -> Found value: 38574
[2026-03-11 01:18:03] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-11 01:18:03] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 01:18:03] [INFO]   -> No value found (null or empty)
[2026-03-11 01:18:03] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 01:18:03] [INFO]   -> No value found (null or empty)
[2026-03-11 01:18:03] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 01:18:03] [INFO]   -> Found value: 36.11952
[2026-03-11 01:18:03] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11952000000000140289557748474180698394775390625
[2026-03-11 01:18:03] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 01:18:03] [INFO]   -> Found value: -85.19721
[2026-03-11 01:18:03] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1972099999999983310772222466766834259033203125
[2026-03-11 01:18:03] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 01:18:03] [INFO]   -> Found value: 2026-03-10 20:15:54
[2026-03-11 01:18:03] [INFO]   -> Set field 'alarm' = "2026-03-10 20:15:54"
[2026-03-11 01:18:03] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 01:18:03] [INFO]   -> Found value: 2026-03-10 20:16:06
[2026-03-11 01:18:03] [INFO]   -> Set field 'dispatched' = "2026-03-10 20:16:06"
[2026-03-11 01:18:03] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 01:18:03] [INFO]   -> No value found (null or empty)
[2026-03-11 01:18:03] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 01:18:03] [INFO]   -> No value found (null or empty)
[2026-03-11 01:18:03] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 01:18:03] [INFO]   -> No value found (null or empty)
[2026-03-11 01:18:03] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 01:18:03] [INFO]   -> Found value: CLARKRANGE HWY/DRIPPING SPRINGS RD
[2026-03-11 01:18:03] [INFO]   -> Set field 'incidentLocationCross' = "CLARKRANGE HWY\/DRIPPING SPRINGS RD"
[2026-03-11 01:18:03] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 01:18:03] [INFO]   -> Found value: PCFR
[2026-03-11 01:18:03] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-11 01:18:03] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 01:18:03] [INFO]   -> Found value: 2026-03-10 20:16:06
[2026-03-11 01:18:03] [INFO]   -> Set field 'timedispatch' = "2026-03-10 20:16:06"
[2026-03-11 01:18:03] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 01:18:03] [INFO]   -> No value found (null or empty)
[2026-03-11 01:18:03] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 01:18:03] [INFO]   -> No value found (null or empty)
[2026-03-11 01:18:03] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 01:18:03] [INFO]   -> Found value: 2026-03-10 20:17:59
[2026-03-11 01:18:03] [INFO]   -> Set field 'timeunitclear' = "2026-03-10 20:17:59"
[2026-03-11 01:18:03] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 01:18:03] [INFO]   -> Found value: 2026-03-10 20:17:59
[2026-03-11 01:18:03] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-10 20:17:59"
[2026-03-11 01:18:03] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 01:18:03] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 01:18:03] [INFO]   -> Found value: 20260026479
[2026-03-11 01:18:03] [INFO]   -> Set field 'policeReportNumber' = "20260026479"
[2026-03-11 01:18:03] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 01:18:03] [INFO]   -> Found value: [LAW] UDTS: LE NOT RESPONDING  [03/10/26 20:16:38 CHERNANDEZ] [EMS] FRONT DOOR UNLOCKED  [03/10/26 2...
[2026-03-11 01:18:03] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LE NOT RESPONDING  [03\/10\/26 20:16:38 CHERNANDEZ] [EMS] FRONT DOOR UNLOCKED  [03\/10\/26 20:16:00 TSCOTT] Event spawned from CHEST PAIN.  [03\/10\/2026 20:15:54 TSCOTT] GRANDFATHER IS HAVING CHEST PAIN AND TROUBLE BREATHING 70ISH MALE  NO CARDIAC ISSUES  PT IS AWAKE AND ALERT  [03\/10\/26 20:15:29 TSCOTT]"
[2026-03-11 01:18:03] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LE NOT RESPONDING  [03\/10\/26 20:16:38 CHERNANDEZ] [EMS] FRONT DOOR UNLOCKED  [03\/10\/26 20:16:00 TSCOTT] Event spawned from CHEST PAIN.  [03\/10\/2026 20:15:54 TSCOTT] GRANDFATHER IS HAVING CHEST PAIN AND TROUBLE BREATHING 70ISH MALE  NO CARDIAC ISSUES  PT IS AWAKE AND ALERT  [03\/10\/26 20:15:29 TSCOTT]"
[2026-03-11 01:18:03] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 01:18:03] [INFO]   -> Found value: MONTEREY
[2026-03-11 01:18:03] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-11 01:18:03] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 01:18:03] [INFO]   -> Found value: COPPERHEAD
[2026-03-11 01:18:03] [INFO]   -> Set field 'streetName' = "COPPERHEAD"
[2026-03-11 01:18:03] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 01:18:03] [INFO]   -> Found value: DR
[2026-03-11 01:18:03] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-11 01:18:03] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 01:18:03] [INFO]   -> Found value: 164 COPPERHEAD DR
[2026-03-11 01:18:03] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "164 COPPERHEAD DR"
[2026-03-11 01:18:03] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 01:18:03] [INFO] Concatenating street name and type
[2026-03-11 01:18:03] [INFO]   -> Combined street name: COPPERHEAD DR
[2026-03-11 01:18:03] [INFO] Built locationCoordinates from lat/lng: 36.11952,-85.19721
[2026-03-11 01:18:03] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000661","dispatchRunNumber":"2026000661","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":164,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.11952000000000140289557748474180698394775390625,"nERISIncidentLongitude":-85.1972099999999983310772222466766834259033203125,"alarm":"2026-03-10 20:15:54","dispatched":"2026-03-10 20:16:06","incidentLocationCross":"CLARKRANGE HWY\/DRIPPING SPRINGS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-10 20:16:06","timeunitclear":"2026-03-10 20:17:59","timecanceledenroute":"2026-03-10 20:17:59","policeReportNumber":"20260026479","dispatchNotes":"[LAW] UDTS: LE NOT RESPONDING  [03\/10\/26 20:16:38 CHERNANDEZ] [EMS] FRONT DOOR UNLOCKED  [03\/10\/26 20:16:00 TSCOTT] Event spawned from CHEST PAIN.  [03\/10\/2026 20:15:54 TSCOTT] GRANDFATHER IS HAVING CHEST PAIN AND TROUBLE BREATHING 70ISH MALE  NO CARDIAC ISSUES  PT IS AWAKE AND ALERT  [03\/10\/26 20:15:29 TSCOTT]","cADLog":"[LAW] UDTS: LE NOT RESPONDING  [03\/10\/26 20:16:38 CHERNANDEZ] [EMS] FRONT DOOR UNLOCKED  [03\/10\/26 20:16:00 TSCOTT] Event spawned from CHEST PAIN.  [03\/10\/2026 20:15:54 TSCOTT] GRANDFATHER IS HAVING CHEST PAIN AND TROUBLE BREATHING 70ISH MALE  NO CARDIAC ISSUES  PT IS AWAKE AND ALERT  [03\/10\/26 20:15:29 TSCOTT]","incidentLocationCity":"MONTEREY","streetName":"COPPERHEAD DR","incidentAddressTextVersionStreet":"164 COPPERHEAD DR","locationCoordinates":"36.11952,-85.19721"}
[2026-03-11 01:18:03] [INFO] Number of extracted fields: 23
[2026-03-11 01:18:03] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-11 01:18:03] [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-11 01:18:03] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-11 01:18:03] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 01:18:04] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 01:18:04] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-11 01:18: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-11 01:18: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-11 01:18:04] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-11 01:18:04] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 01:18:04] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 01:18:04] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-11 01:18:04] [INFO] Found existing Dispatch with cADNumber '2026000661', ID: 69b0c25d45e36829e - will update instead of create
[2026-03-11 01:18:04] [INFO] Updated existing Dispatches record with ID: 69b0c25d45e36829e
[2026-03-11 01:18:04] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026479_20260311_011803.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026479_20260311_011803.XML
[2026-03-11 01:18:04] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026479_20260311_011803.XML
[2026-03-11 01:18:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026479_20260311_011808.XML
[2026-03-11 01:18:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026479_20260311_011808.XML for user: 68f1466aed072ad4a
[2026-03-11 01:18:08] [INFO] File size: 6676 bytes
[2026-03-11 01:18:08] [INFO] Created FTPFiles record with ID: 69b0c2d071a1699ce
[2026-03-11 01:18:08] [INFO] About to extract fields from XML. File size: 6676 bytes
[2026-03-11 01:18:08] [INFO] Number of mappings: 28
[2026-03-11 01:18:08] [INFO] Starting XML parsing. Content length: 6676
[2026-03-11 01:18:08] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 01:18:08] [INFO] Processing 28 field mappings
[2026-03-11 01:18:08] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 01:18:08] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 01:18:08] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 01:18:08] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-11 01:18:08] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-11 01:18:08] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-11 01:18:08] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 01:18:08] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-11 01:18:08] [INFO]   -> Found value: 2026000661
[2026-03-11 01:18:08] [INFO]   -> Set field 'incidentInternalId' = "2026000661"
[2026-03-11 01:18:08] [INFO]   -> Set field 'dispatchRunNumber' = "2026000661"
[2026-03-11 01:18:08] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 01:18:08] [INFO]   -> Found value: CHEST PAIN
[2026-03-11 01:18:08] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-11 01:18:08] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 01:18:08] [INFO]   -> Found value: 164
[2026-03-11 01:18:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 164
[2026-03-11 01:18:08] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 01:18:08] [INFO]   -> Found value: TN
[2026-03-11 01:18:08] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 01:18:08] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 01:18:08] [INFO]   -> Found value: 38574
[2026-03-11 01:18:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-11 01:18:08] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 01:18:08] [INFO]   -> No value found (null or empty)
[2026-03-11 01:18:08] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 01:18:08] [INFO]   -> No value found (null or empty)
[2026-03-11 01:18:08] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 01:18:08] [INFO]   -> Found value: 36.11952
[2026-03-11 01:18:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11952000000000140289557748474180698394775390625
[2026-03-11 01:18:08] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 01:18:08] [INFO]   -> Found value: -85.19721
[2026-03-11 01:18:08] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1972099999999983310772222466766834259033203125
[2026-03-11 01:18:08] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 01:18:08] [INFO]   -> Found value: 2026-03-10 20:15:54
[2026-03-11 01:18:08] [INFO]   -> Set field 'alarm' = "2026-03-10 20:15:54"
[2026-03-11 01:18:08] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 01:18:08] [INFO]   -> Found value: 2026-03-10 20:16:06
[2026-03-11 01:18:08] [INFO]   -> Set field 'dispatched' = "2026-03-10 20:16:06"
[2026-03-11 01:18:08] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 01:18:08] [INFO]   -> Found value: 2026-03-10 20:18:02
[2026-03-11 01:18:08] [INFO]   -> Set field 'enroute' = "2026-03-10 20:18:02"
[2026-03-11 01:18:08] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 01:18:08] [INFO]   -> No value found (null or empty)
[2026-03-11 01:18:08] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 01:18:08] [INFO]   -> No value found (null or empty)
[2026-03-11 01:18:08] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 01:18:08] [INFO]   -> Found value: CLARKRANGE HWY/DRIPPING SPRINGS RD
[2026-03-11 01:18:08] [INFO]   -> Set field 'incidentLocationCross' = "CLARKRANGE HWY\/DRIPPING SPRINGS RD"
[2026-03-11 01:18:08] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 01:18:08] [INFO]   -> Found value: TK21
[2026-03-11 01:18:08] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-11 01:18:08] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 01:18:08] [INFO]   -> Found value: 2026-03-10 20:17:59
[2026-03-11 01:18:08] [INFO]   -> Set field 'timedispatch' = "2026-03-10 20:17:59"
[2026-03-11 01:18:08] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 01:18:08] [INFO]   -> Found value: 2026-03-10 20:18:02
[2026-03-11 01:18:08] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-10 20:18:02"
[2026-03-11 01:18:08] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 01:18:08] [INFO]   -> No value found (null or empty)
[2026-03-11 01:18:08] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 01:18:08] [INFO]   -> No value found (null or empty)
[2026-03-11 01:18:08] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 01:18:08] [INFO]   -> No value found (null or empty)
[2026-03-11 01:18:08] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 01:18:08] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 01:18:08] [INFO]   -> Found value: 20260026479
[2026-03-11 01:18:08] [INFO]   -> Set field 'policeReportNumber' = "20260026479"
[2026-03-11 01:18:08] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 01:18:08] [INFO]   -> Found value: [LAW] UDTS: LE NOT RESPONDING  [03/10/26 20:16:38 CHERNANDEZ] [EMS] FRONT DOOR UNLOCKED  [03/10/26 2...
[2026-03-11 01:18:08] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LE NOT RESPONDING  [03\/10\/26 20:16:38 CHERNANDEZ] [EMS] FRONT DOOR UNLOCKED  [03\/10\/26 20:16:00 TSCOTT] Event spawned from CHEST PAIN.  [03\/10\/2026 20:15:54 TSCOTT] GRANDFATHER IS HAVING CHEST PAIN AND TROUBLE BREATHING 70ISH MALE  NO CARDIAC ISSUES  PT IS AWAKE AND ALERT  [03\/10\/26 20:15:29 TSCOTT]"
[2026-03-11 01:18:08] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LE NOT RESPONDING  [03\/10\/26 20:16:38 CHERNANDEZ] [EMS] FRONT DOOR UNLOCKED  [03\/10\/26 20:16:00 TSCOTT] Event spawned from CHEST PAIN.  [03\/10\/2026 20:15:54 TSCOTT] GRANDFATHER IS HAVING CHEST PAIN AND TROUBLE BREATHING 70ISH MALE  NO CARDIAC ISSUES  PT IS AWAKE AND ALERT  [03\/10\/26 20:15:29 TSCOTT]"
[2026-03-11 01:18:08] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 01:18:08] [INFO]   -> Found value: MONTEREY
[2026-03-11 01:18:08] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-11 01:18:08] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 01:18:08] [INFO]   -> Found value: COPPERHEAD
[2026-03-11 01:18:08] [INFO]   -> Set field 'streetName' = "COPPERHEAD"
[2026-03-11 01:18:08] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 01:18:08] [INFO]   -> Found value: DR
[2026-03-11 01:18:08] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-11 01:18:08] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 01:18:08] [INFO]   -> Found value: 164 COPPERHEAD DR
[2026-03-11 01:18:08] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "164 COPPERHEAD DR"
[2026-03-11 01:18:08] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 01:18:08] [INFO] Concatenating street name and type
[2026-03-11 01:18:08] [INFO]   -> Combined street name: COPPERHEAD DR
[2026-03-11 01:18:08] [INFO] Built locationCoordinates from lat/lng: 36.11952,-85.19721
[2026-03-11 01:18:08] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000661","dispatchRunNumber":"2026000661","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":164,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.11952000000000140289557748474180698394775390625,"nERISIncidentLongitude":-85.1972099999999983310772222466766834259033203125,"alarm":"2026-03-10 20:15:54","dispatched":"2026-03-10 20:16:06","enroute":"2026-03-10 20:18:02","incidentLocationCross":"CLARKRANGE HWY\/DRIPPING SPRINGS RD","cADVehicleID":"TK21","timedispatch":"2026-03-10 20:17:59","timeenroutetoscene":"2026-03-10 20:18:02","policeReportNumber":"20260026479","dispatchNotes":"[LAW] UDTS: LE NOT RESPONDING  [03\/10\/26 20:16:38 CHERNANDEZ] [EMS] FRONT DOOR UNLOCKED  [03\/10\/26 20:16:00 TSCOTT] Event spawned from CHEST PAIN.  [03\/10\/2026 20:15:54 TSCOTT] GRANDFATHER IS HAVING CHEST PAIN AND TROUBLE BREATHING 70ISH MALE  NO CARDIAC ISSUES  PT IS AWAKE AND ALERT  [03\/10\/26 20:15:29 TSCOTT]","cADLog":"[LAW] UDTS: LE NOT RESPONDING  [03\/10\/26 20:16:38 CHERNANDEZ] [EMS] FRONT DOOR UNLOCKED  [03\/10\/26 20:16:00 TSCOTT] Event spawned from CHEST PAIN.  [03\/10\/2026 20:15:54 TSCOTT] GRANDFATHER IS HAVING CHEST PAIN AND TROUBLE BREATHING 70ISH MALE  NO CARDIAC ISSUES  PT IS AWAKE AND ALERT  [03\/10\/26 20:15:29 TSCOTT]","incidentLocationCity":"MONTEREY","streetName":"COPPERHEAD DR","incidentAddressTextVersionStreet":"164 COPPERHEAD DR","locationCoordinates":"36.11952,-85.19721"}
[2026-03-11 01:18:08] [INFO] Number of extracted fields: 23
[2026-03-11 01:18:08] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-11 01:18:08] [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-11 01:18:08] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-11 01:18:08] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 01:18:08] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 01:18:08] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-11 01:18:08] [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-11 01:18:08] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 01:18:08] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-11 01:18:08] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 01:18:08] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 01:18:08] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-11 01:18:09] [INFO] Found existing Dispatch with cADNumber '2026000661', ID: 69b0c25d45e36829e - will update instead of create
[2026-03-11 01:18:09] [INFO] Updated existing Dispatches record with ID: 69b0c25d45e36829e
[2026-03-11 01:18:09] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026479_20260311_011808.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026479_20260311_011808.XML
[2026-03-11 01:18:09] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026479_20260311_011808.XML
[2026-03-11 01:55:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260026486_20260311_015538.XML
[2026-03-11 01:55:38] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260026486_20260311_015538.XML for user: 68f1466aed072ad4a
[2026-03-11 01:55:38] [INFO] File size: 5325 bytes
[2026-03-11 01:55:38] [INFO] Created FTPFiles record with ID: 69b0cb9aca425f357
[2026-03-11 01:55:38] [INFO] About to extract fields from XML. File size: 5325 bytes
[2026-03-11 01:55:38] [INFO] Number of mappings: 28
[2026-03-11 01:55:38] [INFO] Starting XML parsing. Content length: 5325
[2026-03-11 01:55:38] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 01:55:38] [INFO] Processing 28 field mappings
[2026-03-11 01:55:38] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 01:55:38] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 01:55:38] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 01:55:38] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 01:55:38] [INFO]   -> Found value: AFD
EMS
APD
[2026-03-11 01:55:38] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS\nAPD"
[2026-03-11 01:55:38] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 01:55:38] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 01:55:38] [INFO]   -> Found value: 2026000100
[2026-03-11 01:55:38] [INFO]   -> Set field 'incidentInternalId' = "2026000100"
[2026-03-11 01:55:38] [INFO]   -> Set field 'dispatchRunNumber' = "2026000100"
[2026-03-11 01:55:38] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 01:55:38] [INFO]   -> Found value: SEIZURE
[2026-03-11 01:55:38] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZURE"
[2026-03-11 01:55:38] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 01:55:38] [INFO]   -> Found value: 589
[2026-03-11 01:55:38] [INFO]   -> Set field 'incidentLocationStreetNumber' = 589
[2026-03-11 01:55:38] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 01:55:38] [INFO]   -> Found value: TN
[2026-03-11 01:55:38] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 01:55:38] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 01:55:38] [INFO]   -> Found value: 38506
[2026-03-11 01:55:38] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-11 01:55:38] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 01:55:38] [INFO]   -> Found value: WALMART
[2026-03-11 01:55:38] [INFO]   -> Set field 'businessName' = "WALMART"
[2026-03-11 01:55:38] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 01:55:38] [INFO]   -> No value found (null or empty)
[2026-03-11 01:55:38] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 01:55:38] [INFO]   -> Found value: 36.18563
[2026-03-11 01:55:38] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18563000000000329237082041800022125244140625
[2026-03-11 01:55:38] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 01:55:38] [INFO]   -> Found value: -85.45925
[2026-03-11 01:55:38] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4592499999999972715158946812152862548828125
[2026-03-11 01:55:38] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 01:55:38] [INFO]   -> Found value: 2026-03-10 20:54:57
[2026-03-11 01:55:38] [INFO]   -> Set field 'alarm' = "2026-03-10 20:54:57"
[2026-03-11 01:55:38] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 01:55:38] [INFO]   -> Found value: 2026-03-10 20:55:35
[2026-03-11 01:55:38] [INFO]   -> Set field 'dispatched' = "2026-03-10 20:55:35"
[2026-03-11 01:55:38] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 01:55:38] [INFO]   -> No value found (null or empty)
[2026-03-11 01:55:38] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 01:55:38] [INFO]   -> No value found (null or empty)
[2026-03-11 01:55:38] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 01:55:38] [INFO]   -> No value found (null or empty)
[2026-03-11 01:55:38] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 01:55:38] [INFO]   -> Found value: COOPER RD/BIG MAC DR
[2026-03-11 01:55:38] [INFO]   -> Set field 'incidentLocationCross' = "COOPER RD\/BIG MAC DR"
[2026-03-11 01:55:38] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 01:55:38] [INFO]   -> Found value: AFR
[2026-03-11 01:55:38] [INFO]   -> Set field 'cADVehicleID' = "AFR"
[2026-03-11 01:55:38] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 01:55:38] [INFO]   -> Found value: 2026-03-10 20:55:35
[2026-03-11 01:55:38] [INFO]   -> Set field 'timedispatch' = "2026-03-10 20:55:35"
[2026-03-11 01:55:38] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 01:55:38] [INFO]   -> No value found (null or empty)
[2026-03-11 01:55:38] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 01:55:38] [INFO]   -> No value found (null or empty)
[2026-03-11 01:55:38] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 01:55:38] [INFO]   -> No value found (null or empty)
[2026-03-11 01:55:38] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 01:55:38] [INFO]   -> No value found (null or empty)
[2026-03-11 01:55:38] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 01:55:38] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 01:55:38] [INFO]   -> Found value: 20260026486
[2026-03-11 01:55:38] [INFO]   -> Set field 'policeReportNumber' = "20260026486"
[2026-03-11 01:55:38] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 01:55:38] [INFO]   -> Found value: [EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03/10/26 20:55:14 T...
[2026-03-11 01:55:38] [INFO]   -> Set field 'dispatchNotes' = "[EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03\/10\/26 20:55:14 TSCOTT] Event spawned from SEIZURE.  [03\/10\/2026 20:54:57 TSCOTT] IN THE FRONT WOMEN`S BATHROOM  INFANT HAVING A SEIZURE  [03\/10\/26 20:54:55 TSCOTT]]"
[2026-03-11 01:55:38] [INFO]   -> Set field 'cADLog' = "[EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03\/10\/26 20:55:14 TSCOTT] Event spawned from SEIZURE.  [03\/10\/2026 20:54:57 TSCOTT] IN THE FRONT WOMEN`S BATHROOM  INFANT HAVING A SEIZURE  [03\/10\/26 20:54:55 TSCOTT]]"
[2026-03-11 01:55:38] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 01:55:38] [INFO]   -> Found value: ALGOOD
[2026-03-11 01:55:38] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-11 01:55:38] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 01:55:38] [INFO]   -> Found value: MAIN
[2026-03-11 01:55:38] [INFO]   -> Set field 'streetName' = "MAIN"
[2026-03-11 01:55:38] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 01:55:38] [INFO]   -> Found value: ST
[2026-03-11 01:55:38] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-11 01:55:38] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 01:55:38] [INFO]   -> Found value: 589 W MAIN ST
[2026-03-11 01:55:38] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "589 W MAIN ST"
[2026-03-11 01:55:38] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-11 01:55:38] [INFO] Concatenating street name and type
[2026-03-11 01:55:38] [INFO]   -> Combined street name: MAIN ST
[2026-03-11 01:55:38] [INFO] Built locationCoordinates from lat/lng: 36.18563,-85.45925
[2026-03-11 01:55:38] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS\nAPD","incidentInternalId":"2026000100","dispatchRunNumber":"2026000100","incidentTypeValue1":"SEIZURE","incidentLocationStreetNumber":589,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"WALMART","nERISIncidentLatitude":36.18563000000000329237082041800022125244140625,"nERISIncidentLongitude":-85.4592499999999972715158946812152862548828125,"alarm":"2026-03-10 20:54:57","dispatched":"2026-03-10 20:55:35","incidentLocationCross":"COOPER RD\/BIG MAC DR","cADVehicleID":"AFR","timedispatch":"2026-03-10 20:55:35","policeReportNumber":"20260026486","dispatchNotes":"[EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03\/10\/26 20:55:14 TSCOTT] Event spawned from SEIZURE.  [03\/10\/2026 20:54:57 TSCOTT] IN THE FRONT WOMEN`S BATHROOM  INFANT HAVING A SEIZURE  [03\/10\/26 20:54:55 TSCOTT]]","cADLog":"[EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03\/10\/26 20:55:14 TSCOTT] Event spawned from SEIZURE.  [03\/10\/2026 20:54:57 TSCOTT] IN THE FRONT WOMEN`S BATHROOM  INFANT HAVING A SEIZURE  [03\/10\/26 20:54:55 TSCOTT]]","incidentLocationCity":"ALGOOD","streetName":"MAIN ST","incidentAddressTextVersionStreet":"589 W MAIN ST","locationCoordinates":"36.18563,-85.45925"}
[2026-03-11 01:55:38] [INFO] Number of extracted fields: 22
[2026-03-11 01:55:38] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS
APD'
[2026-03-11 01:55:38] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS
APD', Parsed IDs = ["AFD","EMS","APD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-11 01:55:38] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS","APD"]
[2026-03-11 01:55:38] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-11 01:55:39] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-11 01:55:39] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","APD"]
[2026-03-11 01:55:39] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-11 01:55:39] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-11 01:55:39] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 01:55:39] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-11 01:55:39] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-11 01:55:39] [INFO] Found existing IncidentTypeMapping with ID: 69533df71070e385d
[2026-03-11 01:55:45] [INFO] Created new Dispatches record with ID: 69b0cb9bb4f483222
[2026-03-11 01:55:45] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260026486_20260311_015538.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/AFD_20260026486_20260311_015538.XML
[2026-03-11 01:55:45] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260026486_20260311_015538.XML
[2026-03-11 01:56:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260026486_20260311_015623.XML
[2026-03-11 01:56:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260026486_20260311_015623.XML for user: 68f1466aed072ad4a
[2026-03-11 01:56:23] [INFO] File size: 6361 bytes
[2026-03-11 01:56:24] [INFO] Created FTPFiles record with ID: 69b0cbc828358bd89
[2026-03-11 01:56:24] [INFO] About to extract fields from XML. File size: 6361 bytes
[2026-03-11 01:56:24] [INFO] Number of mappings: 28
[2026-03-11 01:56:24] [INFO] Starting XML parsing. Content length: 6361
[2026-03-11 01:56:24] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 01:56:24] [INFO] Processing 28 field mappings
[2026-03-11 01:56:24] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 01:56:24] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 01:56:24] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 01:56:24] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 01:56:24] [INFO]   -> Found value: AFD
EMS
APD
[2026-03-11 01:56:24] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS\nAPD"
[2026-03-11 01:56:24] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 01:56:24] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 01:56:24] [INFO]   -> Found value: 2026000100
[2026-03-11 01:56:24] [INFO]   -> Set field 'incidentInternalId' = "2026000100"
[2026-03-11 01:56:24] [INFO]   -> Set field 'dispatchRunNumber' = "2026000100"
[2026-03-11 01:56:24] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 01:56:24] [INFO]   -> Found value: SEIZURE
[2026-03-11 01:56:24] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZURE"
[2026-03-11 01:56:24] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 01:56:24] [INFO]   -> Found value: 589
[2026-03-11 01:56:24] [INFO]   -> Set field 'incidentLocationStreetNumber' = 589
[2026-03-11 01:56:24] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 01:56:24] [INFO]   -> Found value: TN
[2026-03-11 01:56:24] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 01:56:24] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 01:56:24] [INFO]   -> Found value: 38506
[2026-03-11 01:56:24] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-11 01:56:24] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 01:56:24] [INFO]   -> Found value: WALMART
[2026-03-11 01:56:24] [INFO]   -> Set field 'businessName' = "WALMART"
[2026-03-11 01:56:24] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 01:56:24] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:24] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 01:56:24] [INFO]   -> Found value: 36.18563
[2026-03-11 01:56:24] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18563000000000329237082041800022125244140625
[2026-03-11 01:56:24] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 01:56:24] [INFO]   -> Found value: -85.45925
[2026-03-11 01:56:24] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4592499999999972715158946812152862548828125
[2026-03-11 01:56:24] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 01:56:24] [INFO]   -> Found value: 2026-03-10 20:54:57
[2026-03-11 01:56:24] [INFO]   -> Set field 'alarm' = "2026-03-10 20:54:57"
[2026-03-11 01:56:24] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 01:56:24] [INFO]   -> Found value: 2026-03-10 20:55:35
[2026-03-11 01:56:24] [INFO]   -> Set field 'dispatched' = "2026-03-10 20:55:35"
[2026-03-11 01:56:24] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 01:56:24] [INFO]   -> Found value: 2026-03-10 20:56:21
[2026-03-11 01:56:24] [INFO]   -> Set field 'enroute' = "2026-03-10 20:56:21"
[2026-03-11 01:56:24] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 01:56:24] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:24] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 01:56:24] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:24] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 01:56:24] [INFO]   -> Found value: COOPER RD/BIG MAC DR
[2026-03-11 01:56:24] [INFO]   -> Set field 'incidentLocationCross' = "COOPER RD\/BIG MAC DR"
[2026-03-11 01:56:24] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 01:56:24] [INFO]   -> Found value: A1200
[2026-03-11 01:56:24] [INFO]   -> Set field 'cADVehicleID' = "A1200"
[2026-03-11 01:56:24] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 01:56:24] [INFO]   -> Found value: 2026-03-10 20:56:19
[2026-03-11 01:56:24] [INFO]   -> Set field 'timedispatch' = "2026-03-10 20:56:19"
[2026-03-11 01:56:24] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 01:56:24] [INFO]   -> Found value: 2026-03-10 20:56:21
[2026-03-11 01:56:24] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-10 20:56:21"
[2026-03-11 01:56:24] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 01:56:24] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:24] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 01:56:24] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:24] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 01:56:24] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:24] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 01:56:24] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 01:56:24] [INFO]   -> Found value: 20260026486
[2026-03-11 01:56:24] [INFO]   -> Set field 'policeReportNumber' = "20260026486"
[2026-03-11 01:56:24] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 01:56:24] [INFO]   -> Found value: [EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03/10/26 20:55:14 T...
[2026-03-11 01:56:24] [INFO]   -> Set field 'dispatchNotes' = "[EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03\/10\/26 20:55:14 TSCOTT] Event spawned from SEIZURE.  [03\/10\/2026 20:54:57 TSCOTT] IN THE FRONT WOMEN`S BATHROOM  INFANT HAVING A SEIZURE  [03\/10\/26 20:54:55 TSCOTT]]"
[2026-03-11 01:56:24] [INFO]   -> Set field 'cADLog' = "[EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03\/10\/26 20:55:14 TSCOTT] Event spawned from SEIZURE.  [03\/10\/2026 20:54:57 TSCOTT] IN THE FRONT WOMEN`S BATHROOM  INFANT HAVING A SEIZURE  [03\/10\/26 20:54:55 TSCOTT]]"
[2026-03-11 01:56:24] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 01:56:24] [INFO]   -> Found value: ALGOOD
[2026-03-11 01:56:24] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-11 01:56:24] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 01:56:24] [INFO]   -> Found value: MAIN
[2026-03-11 01:56:24] [INFO]   -> Set field 'streetName' = "MAIN"
[2026-03-11 01:56:24] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 01:56:24] [INFO]   -> Found value: ST
[2026-03-11 01:56:24] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-11 01:56:24] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 01:56:24] [INFO]   -> Found value: 589 W MAIN ST
[2026-03-11 01:56:24] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "589 W MAIN ST"
[2026-03-11 01:56:24] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-11 01:56:24] [INFO] Concatenating street name and type
[2026-03-11 01:56:24] [INFO]   -> Combined street name: MAIN ST
[2026-03-11 01:56:24] [INFO] Built locationCoordinates from lat/lng: 36.18563,-85.45925
[2026-03-11 01:56:24] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS\nAPD","incidentInternalId":"2026000100","dispatchRunNumber":"2026000100","incidentTypeValue1":"SEIZURE","incidentLocationStreetNumber":589,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"WALMART","nERISIncidentLatitude":36.18563000000000329237082041800022125244140625,"nERISIncidentLongitude":-85.4592499999999972715158946812152862548828125,"alarm":"2026-03-10 20:54:57","dispatched":"2026-03-10 20:55:35","enroute":"2026-03-10 20:56:21","incidentLocationCross":"COOPER RD\/BIG MAC DR","cADVehicleID":"A1200","timedispatch":"2026-03-10 20:56:19","timeenroutetoscene":"2026-03-10 20:56:21","policeReportNumber":"20260026486","dispatchNotes":"[EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03\/10\/26 20:55:14 TSCOTT] Event spawned from SEIZURE.  [03\/10\/2026 20:54:57 TSCOTT] IN THE FRONT WOMEN`S BATHROOM  INFANT HAVING A SEIZURE  [03\/10\/26 20:54:55 TSCOTT]]","cADLog":"[EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03\/10\/26 20:55:14 TSCOTT] Event spawned from SEIZURE.  [03\/10\/2026 20:54:57 TSCOTT] IN THE FRONT WOMEN`S BATHROOM  INFANT HAVING A SEIZURE  [03\/10\/26 20:54:55 TSCOTT]]","incidentLocationCity":"ALGOOD","streetName":"MAIN ST","incidentAddressTextVersionStreet":"589 W MAIN ST","locationCoordinates":"36.18563,-85.45925"}
[2026-03-11 01:56:24] [INFO] Number of extracted fields: 24
[2026-03-11 01:56:24] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS
APD'
[2026-03-11 01:56:24] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS
APD', Parsed IDs = ["AFD","EMS","APD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-11 01:56:24] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS","APD"]
[2026-03-11 01:56:24] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-11 01:56:24] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-11 01:56:24] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","APD"]
[2026-03-11 01:56:24] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-11 01:56:24] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-11 01:56:24] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 01:56:24] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-11 01:56:24] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-11 01:56:24] [INFO] Found existing IncidentTypeMapping with ID: 69533df71070e385d
[2026-03-11 01:56:24] [INFO] Found existing Dispatch with cADNumber '2026000100', ID: 69b0cb9bb4f483222 - will update instead of create
[2026-03-11 01:56:25] [INFO] Updated existing Dispatches record with ID: 69b0cb9bb4f483222
[2026-03-11 01:56:25] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260026486_20260311_015623.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/AFD_20260026486_20260311_015623.XML
[2026-03-11 01:56:25] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260026486_20260311_015623.XML
[2026-03-11 01:56:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260026486_20260311_015632.XML
[2026-03-11 01:56:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260026486_20260311_015632.XML for user: 68f1466aed072ad4a
[2026-03-11 01:56:32] [INFO] File size: 6361 bytes
[2026-03-11 01:56:32] [INFO] Created FTPFiles record with ID: 69b0cbd08e53b29cb
[2026-03-11 01:56:32] [INFO] About to extract fields from XML. File size: 6361 bytes
[2026-03-11 01:56:32] [INFO] Number of mappings: 28
[2026-03-11 01:56:32] [INFO] Starting XML parsing. Content length: 6361
[2026-03-11 01:56:32] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 01:56:32] [INFO] Processing 28 field mappings
[2026-03-11 01:56:32] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 01:56:32] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 01:56:32] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 01:56:32] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 01:56:32] [INFO]   -> Found value: AFD
EMS
APD
[2026-03-11 01:56:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS\nAPD"
[2026-03-11 01:56:32] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 01:56:32] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 01:56:32] [INFO]   -> Found value: 2026000100
[2026-03-11 01:56:32] [INFO]   -> Set field 'incidentInternalId' = "2026000100"
[2026-03-11 01:56:32] [INFO]   -> Set field 'dispatchRunNumber' = "2026000100"
[2026-03-11 01:56:32] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 01:56:32] [INFO]   -> Found value: SEIZURE
[2026-03-11 01:56:32] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZURE"
[2026-03-11 01:56:32] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 01:56:32] [INFO]   -> Found value: 589
[2026-03-11 01:56:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 589
[2026-03-11 01:56:32] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 01:56:32] [INFO]   -> Found value: TN
[2026-03-11 01:56:32] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 01:56:32] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 01:56:32] [INFO]   -> Found value: 38506
[2026-03-11 01:56:32] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-11 01:56:32] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 01:56:32] [INFO]   -> Found value: WALMART
[2026-03-11 01:56:32] [INFO]   -> Set field 'businessName' = "WALMART"
[2026-03-11 01:56:32] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 01:56:32] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:32] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 01:56:32] [INFO]   -> Found value: 36.18563
[2026-03-11 01:56:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18563000000000329237082041800022125244140625
[2026-03-11 01:56:32] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 01:56:32] [INFO]   -> Found value: -85.45925
[2026-03-11 01:56:32] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4592499999999972715158946812152862548828125
[2026-03-11 01:56:32] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 01:56:32] [INFO]   -> Found value: 2026-03-10 20:54:57
[2026-03-11 01:56:32] [INFO]   -> Set field 'alarm' = "2026-03-10 20:54:57"
[2026-03-11 01:56:32] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 01:56:32] [INFO]   -> Found value: 2026-03-10 20:55:35
[2026-03-11 01:56:32] [INFO]   -> Set field 'dispatched' = "2026-03-10 20:55:35"
[2026-03-11 01:56:32] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 01:56:32] [INFO]   -> Found value: 2026-03-10 20:56:21
[2026-03-11 01:56:32] [INFO]   -> Set field 'enroute' = "2026-03-10 20:56:21"
[2026-03-11 01:56:32] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 01:56:32] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:32] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 01:56:32] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:32] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 01:56:32] [INFO]   -> Found value: COOPER RD/BIG MAC DR
[2026-03-11 01:56:32] [INFO]   -> Set field 'incidentLocationCross' = "COOPER RD\/BIG MAC DR"
[2026-03-11 01:56:32] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 01:56:32] [INFO]   -> Found value: A1200
[2026-03-11 01:56:32] [INFO]   -> Set field 'cADVehicleID' = "A1200"
[2026-03-11 01:56:32] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 01:56:32] [INFO]   -> Found value: 2026-03-10 20:56:19
[2026-03-11 01:56:32] [INFO]   -> Set field 'timedispatch' = "2026-03-10 20:56:19"
[2026-03-11 01:56:32] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 01:56:32] [INFO]   -> Found value: 2026-03-10 20:56:21
[2026-03-11 01:56:32] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-10 20:56:21"
[2026-03-11 01:56:32] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 01:56:32] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:32] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 01:56:32] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:32] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 01:56:32] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:32] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 01:56:32] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 01:56:32] [INFO]   -> Found value: 20260026486
[2026-03-11 01:56:32] [INFO]   -> Set field 'policeReportNumber' = "20260026486"
[2026-03-11 01:56:32] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 01:56:32] [INFO]   -> Found value: [EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03/10/26 20:55:14 T...
[2026-03-11 01:56:32] [INFO]   -> Set field 'dispatchNotes' = "[EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03\/10\/26 20:55:14 TSCOTT] Event spawned from SEIZURE.  [03\/10\/2026 20:54:57 TSCOTT] IN THE FRONT WOMEN`S BATHROOM  INFANT HAVING A SEIZURE  [03\/10\/26 20:54:55 TSCOTT]]"
[2026-03-11 01:56:32] [INFO]   -> Set field 'cADLog' = "[EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03\/10\/26 20:55:14 TSCOTT] Event spawned from SEIZURE.  [03\/10\/2026 20:54:57 TSCOTT] IN THE FRONT WOMEN`S BATHROOM  INFANT HAVING A SEIZURE  [03\/10\/26 20:54:55 TSCOTT]]"
[2026-03-11 01:56:32] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 01:56:32] [INFO]   -> Found value: ALGOOD
[2026-03-11 01:56:32] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-11 01:56:32] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 01:56:32] [INFO]   -> Found value: MAIN
[2026-03-11 01:56:32] [INFO]   -> Set field 'streetName' = "MAIN"
[2026-03-11 01:56:32] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 01:56:32] [INFO]   -> Found value: ST
[2026-03-11 01:56:32] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-11 01:56:32] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 01:56:32] [INFO]   -> Found value: 589 W MAIN ST
[2026-03-11 01:56:32] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "589 W MAIN ST"
[2026-03-11 01:56:32] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-11 01:56:32] [INFO] Concatenating street name and type
[2026-03-11 01:56:32] [INFO]   -> Combined street name: MAIN ST
[2026-03-11 01:56:32] [INFO] Built locationCoordinates from lat/lng: 36.18563,-85.45925
[2026-03-11 01:56:32] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS\nAPD","incidentInternalId":"2026000100","dispatchRunNumber":"2026000100","incidentTypeValue1":"SEIZURE","incidentLocationStreetNumber":589,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"WALMART","nERISIncidentLatitude":36.18563000000000329237082041800022125244140625,"nERISIncidentLongitude":-85.4592499999999972715158946812152862548828125,"alarm":"2026-03-10 20:54:57","dispatched":"2026-03-10 20:55:35","enroute":"2026-03-10 20:56:21","incidentLocationCross":"COOPER RD\/BIG MAC DR","cADVehicleID":"A1200","timedispatch":"2026-03-10 20:56:19","timeenroutetoscene":"2026-03-10 20:56:21","policeReportNumber":"20260026486","dispatchNotes":"[EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03\/10\/26 20:55:14 TSCOTT] Event spawned from SEIZURE.  [03\/10\/2026 20:54:57 TSCOTT] IN THE FRONT WOMEN`S BATHROOM  INFANT HAVING A SEIZURE  [03\/10\/26 20:54:55 TSCOTT]]","cADLog":"[EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03\/10\/26 20:55:14 TSCOTT] Event spawned from SEIZURE.  [03\/10\/2026 20:54:57 TSCOTT] IN THE FRONT WOMEN`S BATHROOM  INFANT HAVING A SEIZURE  [03\/10\/26 20:54:55 TSCOTT]]","incidentLocationCity":"ALGOOD","streetName":"MAIN ST","incidentAddressTextVersionStreet":"589 W MAIN ST","locationCoordinates":"36.18563,-85.45925"}
[2026-03-11 01:56:32] [INFO] Number of extracted fields: 24
[2026-03-11 01:56:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS
APD'
[2026-03-11 01:56:32] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS
APD', Parsed IDs = ["AFD","EMS","APD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-11 01:56:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS","APD"]
[2026-03-11 01:56:32] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-11 01:56:32] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-11 01:56:32] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","APD"]
[2026-03-11 01:56:32] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-11 01:56:32] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-11 01:56:32] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 01:56:32] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-11 01:56:33] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-11 01:56:33] [INFO] Found existing IncidentTypeMapping with ID: 69533df71070e385d
[2026-03-11 01:56:33] [INFO] Found existing Dispatch with cADNumber '2026000100', ID: 69b0cb9bb4f483222 - will update instead of create
[2026-03-11 01:56:33] [INFO] Updated existing Dispatches record with ID: 69b0cb9bb4f483222
[2026-03-11 01:56:33] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260026486_20260311_015632.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/AFD_20260026486_20260311_015632.XML
[2026-03-11 01:56:33] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260026486_20260311_015632.XML
[2026-03-11 01:56:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260026486_20260311_015632_1.XML
[2026-03-11 01:56:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260026486_20260311_015632_1.XML for user: 68f1466aed072ad4a
[2026-03-11 01:56:33] [INFO] File size: 6361 bytes
[2026-03-11 01:56:33] [INFO] Created FTPFiles record with ID: 69b0cbd1e45bbc351
[2026-03-11 01:56:33] [INFO] About to extract fields from XML. File size: 6361 bytes
[2026-03-11 01:56:33] [INFO] Number of mappings: 28
[2026-03-11 01:56:33] [INFO] Starting XML parsing. Content length: 6361
[2026-03-11 01:56:33] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 01:56:33] [INFO] Processing 28 field mappings
[2026-03-11 01:56:33] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 01:56:33] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 01:56:33] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 01:56:33] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 01:56:33] [INFO]   -> Found value: AFD
EMS
APD
[2026-03-11 01:56:33] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS\nAPD"
[2026-03-11 01:56:33] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 01:56:33] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 01:56:33] [INFO]   -> Found value: 2026000100
[2026-03-11 01:56:33] [INFO]   -> Set field 'incidentInternalId' = "2026000100"
[2026-03-11 01:56:33] [INFO]   -> Set field 'dispatchRunNumber' = "2026000100"
[2026-03-11 01:56:33] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 01:56:33] [INFO]   -> Found value: SEIZURE
[2026-03-11 01:56:33] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZURE"
[2026-03-11 01:56:33] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 01:56:33] [INFO]   -> Found value: 589
[2026-03-11 01:56:33] [INFO]   -> Set field 'incidentLocationStreetNumber' = 589
[2026-03-11 01:56:33] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 01:56:33] [INFO]   -> Found value: TN
[2026-03-11 01:56:33] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 01:56:33] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 01:56:33] [INFO]   -> Found value: 38506
[2026-03-11 01:56:33] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-11 01:56:33] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 01:56:33] [INFO]   -> Found value: WALMART
[2026-03-11 01:56:33] [INFO]   -> Set field 'businessName' = "WALMART"
[2026-03-11 01:56:33] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 01:56:33] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:33] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 01:56:33] [INFO]   -> Found value: 36.18563
[2026-03-11 01:56:33] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18563000000000329237082041800022125244140625
[2026-03-11 01:56:33] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 01:56:33] [INFO]   -> Found value: -85.45925
[2026-03-11 01:56:33] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4592499999999972715158946812152862548828125
[2026-03-11 01:56:33] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 01:56:33] [INFO]   -> Found value: 2026-03-10 20:54:57
[2026-03-11 01:56:33] [INFO]   -> Set field 'alarm' = "2026-03-10 20:54:57"
[2026-03-11 01:56:33] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 01:56:33] [INFO]   -> Found value: 2026-03-10 20:55:35
[2026-03-11 01:56:33] [INFO]   -> Set field 'dispatched' = "2026-03-10 20:55:35"
[2026-03-11 01:56:33] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 01:56:33] [INFO]   -> Found value: 2026-03-10 20:56:21
[2026-03-11 01:56:33] [INFO]   -> Set field 'enroute' = "2026-03-10 20:56:21"
[2026-03-11 01:56:33] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 01:56:33] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:33] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 01:56:33] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:33] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 01:56:33] [INFO]   -> Found value: COOPER RD/BIG MAC DR
[2026-03-11 01:56:33] [INFO]   -> Set field 'incidentLocationCross' = "COOPER RD\/BIG MAC DR"
[2026-03-11 01:56:33] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 01:56:33] [INFO]   -> Found value: A1200
[2026-03-11 01:56:33] [INFO]   -> Set field 'cADVehicleID' = "A1200"
[2026-03-11 01:56:33] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 01:56:33] [INFO]   -> Found value: 2026-03-10 20:56:19
[2026-03-11 01:56:33] [INFO]   -> Set field 'timedispatch' = "2026-03-10 20:56:19"
[2026-03-11 01:56:33] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 01:56:33] [INFO]   -> Found value: 2026-03-10 20:56:21
[2026-03-11 01:56:33] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-10 20:56:21"
[2026-03-11 01:56:33] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 01:56:33] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:33] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 01:56:33] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:33] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 01:56:33] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:33] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 01:56:33] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 01:56:33] [INFO]   -> Found value: 20260026486
[2026-03-11 01:56:33] [INFO]   -> Set field 'policeReportNumber' = "20260026486"
[2026-03-11 01:56:33] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 01:56:33] [INFO]   -> Found value: [EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03/10/26 20:55:14 T...
[2026-03-11 01:56:33] [INFO]   -> Set field 'dispatchNotes' = "[EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03\/10\/26 20:55:14 TSCOTT] Event spawned from SEIZURE.  [03\/10\/2026 20:54:57 TSCOTT] IN THE FRONT WOMEN`S BATHROOM  INFANT HAVING A SEIZURE  [03\/10\/26 20:54:55 TSCOTT]]"
[2026-03-11 01:56:33] [INFO]   -> Set field 'cADLog' = "[EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03\/10\/26 20:55:14 TSCOTT] Event spawned from SEIZURE.  [03\/10\/2026 20:54:57 TSCOTT] IN THE FRONT WOMEN`S BATHROOM  INFANT HAVING A SEIZURE  [03\/10\/26 20:54:55 TSCOTT]]"
[2026-03-11 01:56:33] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 01:56:33] [INFO]   -> Found value: ALGOOD
[2026-03-11 01:56:33] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-11 01:56:33] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 01:56:33] [INFO]   -> Found value: MAIN
[2026-03-11 01:56:33] [INFO]   -> Set field 'streetName' = "MAIN"
[2026-03-11 01:56:33] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 01:56:33] [INFO]   -> Found value: ST
[2026-03-11 01:56:33] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-11 01:56:33] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 01:56:33] [INFO]   -> Found value: 589 W MAIN ST
[2026-03-11 01:56:33] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "589 W MAIN ST"
[2026-03-11 01:56:33] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-11 01:56:33] [INFO] Concatenating street name and type
[2026-03-11 01:56:33] [INFO]   -> Combined street name: MAIN ST
[2026-03-11 01:56:33] [INFO] Built locationCoordinates from lat/lng: 36.18563,-85.45925
[2026-03-11 01:56:33] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS\nAPD","incidentInternalId":"2026000100","dispatchRunNumber":"2026000100","incidentTypeValue1":"SEIZURE","incidentLocationStreetNumber":589,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"WALMART","nERISIncidentLatitude":36.18563000000000329237082041800022125244140625,"nERISIncidentLongitude":-85.4592499999999972715158946812152862548828125,"alarm":"2026-03-10 20:54:57","dispatched":"2026-03-10 20:55:35","enroute":"2026-03-10 20:56:21","incidentLocationCross":"COOPER RD\/BIG MAC DR","cADVehicleID":"A1200","timedispatch":"2026-03-10 20:56:19","timeenroutetoscene":"2026-03-10 20:56:21","policeReportNumber":"20260026486","dispatchNotes":"[EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03\/10\/26 20:55:14 TSCOTT] Event spawned from SEIZURE.  [03\/10\/2026 20:54:57 TSCOTT] IN THE FRONT WOMEN`S BATHROOM  INFANT HAVING A SEIZURE  [03\/10\/26 20:54:55 TSCOTT]]","cADLog":"[EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03\/10\/26 20:55:14 TSCOTT] Event spawned from SEIZURE.  [03\/10\/2026 20:54:57 TSCOTT] IN THE FRONT WOMEN`S BATHROOM  INFANT HAVING A SEIZURE  [03\/10\/26 20:54:55 TSCOTT]]","incidentLocationCity":"ALGOOD","streetName":"MAIN ST","incidentAddressTextVersionStreet":"589 W MAIN ST","locationCoordinates":"36.18563,-85.45925"}
[2026-03-11 01:56:33] [INFO] Number of extracted fields: 24
[2026-03-11 01:56:33] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS
APD'
[2026-03-11 01:56:33] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS
APD', Parsed IDs = ["AFD","EMS","APD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-11 01:56:33] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS","APD"]
[2026-03-11 01:56:33] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-11 01:56:34] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-11 01:56:34] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","APD"]
[2026-03-11 01:56:34] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-11 01:56:34] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-11 01:56:34] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 01:56:34] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-11 01:56:34] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-11 01:56:34] [INFO] Found existing IncidentTypeMapping with ID: 69533df71070e385d
[2026-03-11 01:56:34] [INFO] Found existing Dispatch with cADNumber '2026000100', ID: 69b0cb9bb4f483222 - will update instead of create
[2026-03-11 01:56:35] [INFO] Updated existing Dispatches record with ID: 69b0cb9bb4f483222
[2026-03-11 01:56:35] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260026486_20260311_015632_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/AFD_20260026486_20260311_015632_1.XML
[2026-03-11 01:56:35] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260026486_20260311_015632_1.XML
[2026-03-11 01:56:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260026486_20260311_015632_2.XML
[2026-03-11 01:56:35] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260026486_20260311_015632_2.XML for user: 68f1466aed072ad4a
[2026-03-11 01:56:35] [INFO] File size: 6361 bytes
[2026-03-11 01:56:35] [INFO] Created FTPFiles record with ID: 69b0cbd368572b584
[2026-03-11 01:56:35] [INFO] About to extract fields from XML. File size: 6361 bytes
[2026-03-11 01:56:35] [INFO] Number of mappings: 28
[2026-03-11 01:56:35] [INFO] Starting XML parsing. Content length: 6361
[2026-03-11 01:56:35] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 01:56:35] [INFO] Processing 28 field mappings
[2026-03-11 01:56:35] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 01:56:35] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 01:56:35] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 01:56:35] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 01:56:35] [INFO]   -> Found value: AFD
EMS
APD
[2026-03-11 01:56:35] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS\nAPD"
[2026-03-11 01:56:35] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 01:56:35] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 01:56:35] [INFO]   -> Found value: 2026000100
[2026-03-11 01:56:35] [INFO]   -> Set field 'incidentInternalId' = "2026000100"
[2026-03-11 01:56:35] [INFO]   -> Set field 'dispatchRunNumber' = "2026000100"
[2026-03-11 01:56:35] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 01:56:35] [INFO]   -> Found value: SEIZURE
[2026-03-11 01:56:35] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZURE"
[2026-03-11 01:56:35] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 01:56:35] [INFO]   -> Found value: 589
[2026-03-11 01:56:35] [INFO]   -> Set field 'incidentLocationStreetNumber' = 589
[2026-03-11 01:56:35] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 01:56:35] [INFO]   -> Found value: TN
[2026-03-11 01:56:35] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 01:56:35] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 01:56:35] [INFO]   -> Found value: 38506
[2026-03-11 01:56:35] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-11 01:56:35] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 01:56:35] [INFO]   -> Found value: WALMART
[2026-03-11 01:56:35] [INFO]   -> Set field 'businessName' = "WALMART"
[2026-03-11 01:56:35] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 01:56:35] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:35] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 01:56:35] [INFO]   -> Found value: 36.18563
[2026-03-11 01:56:35] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18563000000000329237082041800022125244140625
[2026-03-11 01:56:35] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 01:56:35] [INFO]   -> Found value: -85.45925
[2026-03-11 01:56:35] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4592499999999972715158946812152862548828125
[2026-03-11 01:56:35] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 01:56:35] [INFO]   -> Found value: 2026-03-10 20:54:57
[2026-03-11 01:56:35] [INFO]   -> Set field 'alarm' = "2026-03-10 20:54:57"
[2026-03-11 01:56:35] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 01:56:35] [INFO]   -> Found value: 2026-03-10 20:55:35
[2026-03-11 01:56:35] [INFO]   -> Set field 'dispatched' = "2026-03-10 20:55:35"
[2026-03-11 01:56:35] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 01:56:35] [INFO]   -> Found value: 2026-03-10 20:56:21
[2026-03-11 01:56:35] [INFO]   -> Set field 'enroute' = "2026-03-10 20:56:21"
[2026-03-11 01:56:35] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 01:56:35] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:35] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 01:56:35] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:35] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 01:56:35] [INFO]   -> Found value: COOPER RD/BIG MAC DR
[2026-03-11 01:56:35] [INFO]   -> Set field 'incidentLocationCross' = "COOPER RD\/BIG MAC DR"
[2026-03-11 01:56:35] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 01:56:35] [INFO]   -> Found value: A1200
[2026-03-11 01:56:35] [INFO]   -> Set field 'cADVehicleID' = "A1200"
[2026-03-11 01:56:35] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 01:56:35] [INFO]   -> Found value: 2026-03-10 20:56:19
[2026-03-11 01:56:35] [INFO]   -> Set field 'timedispatch' = "2026-03-10 20:56:19"
[2026-03-11 01:56:35] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 01:56:35] [INFO]   -> Found value: 2026-03-10 20:56:21
[2026-03-11 01:56:35] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-10 20:56:21"
[2026-03-11 01:56:35] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 01:56:35] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:35] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 01:56:35] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:35] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 01:56:35] [INFO]   -> No value found (null or empty)
[2026-03-11 01:56:35] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 01:56:35] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 01:56:35] [INFO]   -> Found value: 20260026486
[2026-03-11 01:56:35] [INFO]   -> Set field 'policeReportNumber' = "20260026486"
[2026-03-11 01:56:35] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 01:56:35] [INFO]   -> Found value: [EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03/10/26 20:55:14 T...
[2026-03-11 01:56:35] [INFO]   -> Set field 'dispatchNotes' = "[EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03\/10\/26 20:55:14 TSCOTT] Event spawned from SEIZURE.  [03\/10\/2026 20:54:57 TSCOTT] IN THE FRONT WOMEN`S BATHROOM  INFANT HAVING A SEIZURE  [03\/10\/26 20:54:55 TSCOTT]]"
[2026-03-11 01:56:35] [INFO]   -> Set field 'cADLog' = "[EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03\/10\/26 20:55:14 TSCOTT] Event spawned from SEIZURE.  [03\/10\/2026 20:54:57 TSCOTT] IN THE FRONT WOMEN`S BATHROOM  INFANT HAVING A SEIZURE  [03\/10\/26 20:54:55 TSCOTT]]"
[2026-03-11 01:56:35] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 01:56:35] [INFO]   -> Found value: ALGOOD
[2026-03-11 01:56:35] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-11 01:56:35] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 01:56:35] [INFO]   -> Found value: MAIN
[2026-03-11 01:56:35] [INFO]   -> Set field 'streetName' = "MAIN"
[2026-03-11 01:56:35] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 01:56:35] [INFO]   -> Found value: ST
[2026-03-11 01:56:35] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-11 01:56:35] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 01:56:35] [INFO]   -> Found value: 589 W MAIN ST
[2026-03-11 01:56:35] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "589 W MAIN ST"
[2026-03-11 01:56:35] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-11 01:56:35] [INFO] Concatenating street name and type
[2026-03-11 01:56:35] [INFO]   -> Combined street name: MAIN ST
[2026-03-11 01:56:35] [INFO] Built locationCoordinates from lat/lng: 36.18563,-85.45925
[2026-03-11 01:56:35] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS\nAPD","incidentInternalId":"2026000100","dispatchRunNumber":"2026000100","incidentTypeValue1":"SEIZURE","incidentLocationStreetNumber":589,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"WALMART","nERISIncidentLatitude":36.18563000000000329237082041800022125244140625,"nERISIncidentLongitude":-85.4592499999999972715158946812152862548828125,"alarm":"2026-03-10 20:54:57","dispatched":"2026-03-10 20:55:35","enroute":"2026-03-10 20:56:21","incidentLocationCross":"COOPER RD\/BIG MAC DR","cADVehicleID":"A1200","timedispatch":"2026-03-10 20:56:19","timeenroutetoscene":"2026-03-10 20:56:21","policeReportNumber":"20260026486","dispatchNotes":"[EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03\/10\/26 20:55:14 TSCOTT] Event spawned from SEIZURE.  [03\/10\/2026 20:54:57 TSCOTT] IN THE FRONT WOMEN`S BATHROOM  INFANT HAVING A SEIZURE  [03\/10\/26 20:54:55 TSCOTT]]","cADLog":"[EMS] CALLER CALLING FROM THE GUEST SERVICES DESK - DOES NOT HAVE ALOT OF INFO  [03\/10\/26 20:55:14 TSCOTT] Event spawned from SEIZURE.  [03\/10\/2026 20:54:57 TSCOTT] IN THE FRONT WOMEN`S BATHROOM  INFANT HAVING A SEIZURE  [03\/10\/26 20:54:55 TSCOTT]]","incidentLocationCity":"ALGOOD","streetName":"MAIN ST","incidentAddressTextVersionStreet":"589 W MAIN ST","locationCoordinates":"36.18563,-85.45925"}
[2026-03-11 01:56:35] [INFO] Number of extracted fields: 24
[2026-03-11 01:56:35] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS
APD'
[2026-03-11 01:56:35] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS
APD', Parsed IDs = ["AFD","EMS","APD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-11 01:56:35] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS","APD"]
[2026-03-11 01:56:35] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-11 01:56:35] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-11 01:56:35] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","APD"]
[2026-03-11 01:56:35] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-11 01:56:35] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-11 01:56:35] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 01:56:35] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-11 01:56:35] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-11 01:56:36] [INFO] Found existing IncidentTypeMapping with ID: 69533df71070e385d
[2026-03-11 01:56:36] [INFO] Found existing Dispatch with cADNumber '2026000100', ID: 69b0cb9bb4f483222 - will update instead of create
[2026-03-11 01:56:36] [INFO] Updated existing Dispatches record with ID: 69b0cb9bb4f483222
[2026-03-11 01:56:36] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260026486_20260311_015632_2.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/AFD_20260026486_20260311_015632_2.XML
[2026-03-11 01:56:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260026486_20260311_015632_2.XML
[2026-03-11 04:29:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026520_20260311_042922.XML
[2026-03-11 04:29:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026520_20260311_042922.XML for user: 68f1466aed072ad4a
[2026-03-11 04:29:22] [INFO] File size: 5338 bytes
[2026-03-11 04:29:23] [INFO] Created FTPFiles record with ID: 69b0efa30c6f3a747
[2026-03-11 04:29:23] [INFO] About to extract fields from XML. File size: 5338 bytes
[2026-03-11 04:29:23] [INFO] Number of mappings: 28
[2026-03-11 04:29:23] [INFO] Starting XML parsing. Content length: 5338
[2026-03-11 04:29:23] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 04:29:23] [INFO] Processing 28 field mappings
[2026-03-11 04:29:23] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 04:29:23] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 04:29:23] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 04:29:23] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 04:29:23] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-11 04:29:23] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-11 04:29:23] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 04:29:23] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 04:29:23] [INFO]   -> Found value: 2026000662
[2026-03-11 04:29:23] [INFO]   -> Set field 'incidentInternalId' = "2026000662"
[2026-03-11 04:29:23] [INFO]   -> Set field 'dispatchRunNumber' = "2026000662"
[2026-03-11 04:29:23] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 04:29:23] [INFO]   -> Found value: FALL VICTIM
[2026-03-11 04:29:23] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-11 04:29:23] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 04:29:23] [INFO]   -> Found value: 1800
[2026-03-11 04:29:23] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1800
[2026-03-11 04:29:23] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 04:29:23] [INFO]   -> Found value: TN
[2026-03-11 04:29:23] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 04:29:23] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 04:29:23] [INFO]   -> Found value: 38506
[2026-03-11 04:29:23] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-11 04:29:23] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 04:29:23] [INFO]   -> No value found (null or empty)
[2026-03-11 04:29:23] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 04:29:23] [INFO]   -> No value found (null or empty)
[2026-03-11 04:29:23] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 04:29:23] [INFO]   -> Found value: 36.16731
[2026-03-11 04:29:23] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1673100000000005138645065017044544219970703125
[2026-03-11 04:29:23] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 04:29:23] [INFO]   -> Found value: -85.38335
[2026-03-11 04:29:23] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.3833499999999929741534288041293621063232421875
[2026-03-11 04:29:23] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 04:29:23] [INFO]   -> Found value: 2026-03-10 23:28:23
[2026-03-11 04:29:23] [INFO]   -> Set field 'alarm' = "2026-03-10 23:28:23"
[2026-03-11 04:29:23] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 04:29:23] [INFO]   -> Found value: 2026-03-10 23:29:17
[2026-03-11 04:29:23] [INFO]   -> Set field 'dispatched' = "2026-03-10 23:29:17"
[2026-03-11 04:29:23] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 04:29:23] [INFO]   -> No value found (null or empty)
[2026-03-11 04:29:23] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 04:29:23] [INFO]   -> No value found (null or empty)
[2026-03-11 04:29:23] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 04:29:23] [INFO]   -> No value found (null or empty)
[2026-03-11 04:29:23] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 04:29:23] [INFO]   -> Found value: POPLAR GROVE RD/CLINTON CONLEY RD
[2026-03-11 04:29:23] [INFO]   -> Set field 'incidentLocationCross' = "POPLAR GROVE RD\/CLINTON CONLEY RD"
[2026-03-11 04:29:23] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 04:29:23] [INFO]   -> Found value: PCFR
[2026-03-11 04:29:23] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-11 04:29:23] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 04:29:23] [INFO]   -> Found value: 2026-03-10 23:29:17
[2026-03-11 04:29:23] [INFO]   -> Set field 'timedispatch' = "2026-03-10 23:29:17"
[2026-03-11 04:29:23] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 04:29:23] [INFO]   -> No value found (null or empty)
[2026-03-11 04:29:23] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 04:29:23] [INFO]   -> No value found (null or empty)
[2026-03-11 04:29:23] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 04:29:23] [INFO]   -> No value found (null or empty)
[2026-03-11 04:29:23] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 04:29:23] [INFO]   -> No value found (null or empty)
[2026-03-11 04:29:23] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 04:29:23] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 04:29:23] [INFO]   -> Found value: 20260026520
[2026-03-11 04:29:23] [INFO]   -> Set field 'policeReportNumber' = "20260026520"
[2026-03-11 04:29:23] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 04:29:23] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [03/10/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND TH...
[2026-03-11 04:29:23] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [03\/10\/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND THE DRESSER PT IS AWAKE AND ALERT PT COMPLAINING LEG PAIN  POSS HAD A BOWEL MOVEMENT ALSO  FRONT DOOR UNLOCKED 79 YOM  [03\/10\/26 23:28:11 TSCOTT]"
[2026-03-11 04:29:23] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [03\/10\/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND THE DRESSER PT IS AWAKE AND ALERT PT COMPLAINING LEG PAIN  POSS HAD A BOWEL MOVEMENT ALSO  FRONT DOOR UNLOCKED 79 YOM  [03\/10\/26 23:28:11 TSCOTT]"
[2026-03-11 04:29:23] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 04:29:23] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 04:29:23] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 04:29:23] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 04:29:23] [INFO]   -> Found value: CANADA FLATT
[2026-03-11 04:29:23] [INFO]   -> Set field 'streetName' = "CANADA FLATT"
[2026-03-11 04:29:23] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 04:29:23] [INFO]   -> Found value: RD
[2026-03-11 04:29:23] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 04:29:23] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 04:29:23] [INFO]   -> Found value: 1800 CANADA FLATT RD
[2026-03-11 04:29:23] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1800 CANADA FLATT RD"
[2026-03-11 04:29:23] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-11 04:29:23] [INFO] Concatenating street name and type
[2026-03-11 04:29:23] [INFO]   -> Combined street name: CANADA FLATT RD
[2026-03-11 04:29:23] [INFO] Built locationCoordinates from lat/lng: 36.16731,-85.38335
[2026-03-11 04:29:23] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000662","dispatchRunNumber":"2026000662","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":1800,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.1673100000000005138645065017044544219970703125,"nERISIncidentLongitude":-85.3833499999999929741534288041293621063232421875,"alarm":"2026-03-10 23:28:23","dispatched":"2026-03-10 23:29:17","incidentLocationCross":"POPLAR GROVE RD\/CLINTON CONLEY RD","cADVehicleID":"PCFR","timedispatch":"2026-03-10 23:29:17","policeReportNumber":"20260026520","dispatchNotes":"Event spawned from FALL VICTIM.  [03\/10\/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND THE DRESSER PT IS AWAKE AND ALERT PT COMPLAINING LEG PAIN  POSS HAD A BOWEL MOVEMENT ALSO  FRONT DOOR UNLOCKED 79 YOM  [03\/10\/26 23:28:11 TSCOTT]","cADLog":"Event spawned from FALL VICTIM.  [03\/10\/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND THE DRESSER PT IS AWAKE AND ALERT PT COMPLAINING LEG PAIN  POSS HAD A BOWEL MOVEMENT ALSO  FRONT DOOR UNLOCKED 79 YOM  [03\/10\/26 23:28:11 TSCOTT]","incidentLocationCity":"COOKEVILLE","streetName":"CANADA FLATT RD","incidentAddressTextVersionStreet":"1800 CANADA FLATT RD","locationCoordinates":"36.16731,-85.38335"}
[2026-03-11 04:29:23] [INFO] Number of extracted fields: 21
[2026-03-11 04:29:23] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-11 04:29:23] [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-11 04:29:23] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-11 04:29:23] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 04:29:23] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 04:29:23] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-11 04:29: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-11 04:29: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-11 04:29:23] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 04:29:23] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 04:29:23] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 04:29:23] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-11 04:29:33] [INFO] Created new Dispatches record with ID: 69b0efa3ce5d5dbc0
[2026-03-11 04:29:33] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026520_20260311_042922.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026520_20260311_042922.XML
[2026-03-11 04:29:33] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026520_20260311_042922.XML
[2026-03-11 04:31:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026520_20260311_043109.XML
[2026-03-11 04:31:09] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026520_20260311_043109.XML for user: 68f1466aed072ad4a
[2026-03-11 04:31:09] [INFO] File size: 6344 bytes
[2026-03-11 04:31:10] [INFO] Created FTPFiles record with ID: 69b0f00e1019ea8d7
[2026-03-11 04:31:10] [INFO] About to extract fields from XML. File size: 6344 bytes
[2026-03-11 04:31:10] [INFO] Number of mappings: 28
[2026-03-11 04:31:10] [INFO] Starting XML parsing. Content length: 6344
[2026-03-11 04:31:10] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 04:31:10] [INFO] Processing 28 field mappings
[2026-03-11 04:31:10] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 04:31:10] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 04:31:10] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 04:31:10] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 04:31:10] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-11 04:31:10] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-11 04:31:10] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 04:31:10] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 04:31:10] [INFO]   -> Found value: 2026000662
[2026-03-11 04:31:10] [INFO]   -> Set field 'incidentInternalId' = "2026000662"
[2026-03-11 04:31:10] [INFO]   -> Set field 'dispatchRunNumber' = "2026000662"
[2026-03-11 04:31:10] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 04:31:10] [INFO]   -> Found value: FALL VICTIM
[2026-03-11 04:31:10] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-11 04:31:10] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 04:31:10] [INFO]   -> Found value: 1800
[2026-03-11 04:31:10] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1800
[2026-03-11 04:31:10] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 04:31:10] [INFO]   -> Found value: TN
[2026-03-11 04:31:10] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 04:31:10] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 04:31:10] [INFO]   -> Found value: 38506
[2026-03-11 04:31:10] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-11 04:31:10] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 04:31:10] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:10] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 04:31:10] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:10] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 04:31:10] [INFO]   -> Found value: 36.16731
[2026-03-11 04:31:10] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1673100000000005138645065017044544219970703125
[2026-03-11 04:31:10] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 04:31:10] [INFO]   -> Found value: -85.38335
[2026-03-11 04:31:10] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.3833499999999929741534288041293621063232421875
[2026-03-11 04:31:10] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 04:31:10] [INFO]   -> Found value: 2026-03-10 23:28:23
[2026-03-11 04:31:10] [INFO]   -> Set field 'alarm' = "2026-03-10 23:28:23"
[2026-03-11 04:31:10] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 04:31:10] [INFO]   -> Found value: 2026-03-10 23:29:17
[2026-03-11 04:31:10] [INFO]   -> Set field 'dispatched' = "2026-03-10 23:29:17"
[2026-03-11 04:31:10] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 04:31:10] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:10] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 04:31:10] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:10] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 04:31:10] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:10] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 04:31:10] [INFO]   -> Found value: POPLAR GROVE RD/CLINTON CONLEY RD
[2026-03-11 04:31:10] [INFO]   -> Set field 'incidentLocationCross' = "POPLAR GROVE RD\/CLINTON CONLEY RD"
[2026-03-11 04:31:10] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 04:31:10] [INFO]   -> Found value: PCFR
[2026-03-11 04:31:10] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-11 04:31:10] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 04:31:10] [INFO]   -> Found value: 2026-03-10 23:29:17
[2026-03-11 04:31:10] [INFO]   -> Set field 'timedispatch' = "2026-03-10 23:29:17"
[2026-03-11 04:31:10] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 04:31:10] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:10] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 04:31:10] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:10] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 04:31:10] [INFO]   -> Found value: 2026-03-10 23:31:06
[2026-03-11 04:31:10] [INFO]   -> Set field 'timeunitclear' = "2026-03-10 23:31:06"
[2026-03-11 04:31:10] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 04:31:10] [INFO]   -> Found value: 2026-03-10 23:31:06
[2026-03-11 04:31:10] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-10 23:31:06"
[2026-03-11 04:31:10] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 04:31:10] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 04:31:10] [INFO]   -> Found value: 20260026520
[2026-03-11 04:31:10] [INFO]   -> Set field 'policeReportNumber' = "20260026520"
[2026-03-11 04:31:10] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 04:31:10] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [03/10/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND TH...
[2026-03-11 04:31:10] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [03\/10\/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND THE DRESSER PT IS AWAKE AND ALERT PT COMPLAINING LEG PAIN  POSS HAD A BOWEL MOVEMENT ALSO  FRONT DOOR UNLOCKED 79 YOM  [03\/10\/26 23:28:11 TSCOTT]"
[2026-03-11 04:31:10] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [03\/10\/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND THE DRESSER PT IS AWAKE AND ALERT PT COMPLAINING LEG PAIN  POSS HAD A BOWEL MOVEMENT ALSO  FRONT DOOR UNLOCKED 79 YOM  [03\/10\/26 23:28:11 TSCOTT]"
[2026-03-11 04:31:10] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 04:31:10] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 04:31:10] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 04:31:10] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 04:31:10] [INFO]   -> Found value: CANADA FLATT
[2026-03-11 04:31:10] [INFO]   -> Set field 'streetName' = "CANADA FLATT"
[2026-03-11 04:31:10] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 04:31:10] [INFO]   -> Found value: RD
[2026-03-11 04:31:10] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 04:31:10] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 04:31:10] [INFO]   -> Found value: 1800 CANADA FLATT RD
[2026-03-11 04:31:10] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1800 CANADA FLATT RD"
[2026-03-11 04:31:10] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 04:31:10] [INFO] Concatenating street name and type
[2026-03-11 04:31:10] [INFO]   -> Combined street name: CANADA FLATT RD
[2026-03-11 04:31:10] [INFO] Built locationCoordinates from lat/lng: 36.16731,-85.38335
[2026-03-11 04:31:10] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000662","dispatchRunNumber":"2026000662","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":1800,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.1673100000000005138645065017044544219970703125,"nERISIncidentLongitude":-85.3833499999999929741534288041293621063232421875,"alarm":"2026-03-10 23:28:23","dispatched":"2026-03-10 23:29:17","incidentLocationCross":"POPLAR GROVE RD\/CLINTON CONLEY RD","cADVehicleID":"PCFR","timedispatch":"2026-03-10 23:29:17","timeunitclear":"2026-03-10 23:31:06","timecanceledenroute":"2026-03-10 23:31:06","policeReportNumber":"20260026520","dispatchNotes":"Event spawned from FALL VICTIM.  [03\/10\/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND THE DRESSER PT IS AWAKE AND ALERT PT COMPLAINING LEG PAIN  POSS HAD A BOWEL MOVEMENT ALSO  FRONT DOOR UNLOCKED 79 YOM  [03\/10\/26 23:28:11 TSCOTT]","cADLog":"Event spawned from FALL VICTIM.  [03\/10\/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND THE DRESSER PT IS AWAKE AND ALERT PT COMPLAINING LEG PAIN  POSS HAD A BOWEL MOVEMENT ALSO  FRONT DOOR UNLOCKED 79 YOM  [03\/10\/26 23:28:11 TSCOTT]","incidentLocationCity":"COOKEVILLE","streetName":"CANADA FLATT RD","incidentAddressTextVersionStreet":"1800 CANADA FLATT RD","locationCoordinates":"36.16731,-85.38335"}
[2026-03-11 04:31:10] [INFO] Number of extracted fields: 23
[2026-03-11 04:31:10] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-11 04:31: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-11 04:31:10] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-11 04:31:10] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 04:31:10] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 04:31:10] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-11 04:31: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-11 04:31: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-11 04:31:10] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 04:31:10] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 04:31:10] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 04:31:10] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-11 04:31:10] [INFO] Found existing Dispatch with cADNumber '2026000662', ID: 69b0efa3ce5d5dbc0 - will update instead of create
[2026-03-11 04:31:10] [INFO] Updated existing Dispatches record with ID: 69b0efa3ce5d5dbc0
[2026-03-11 04:31:10] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026520_20260311_043109.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026520_20260311_043109.XML
[2026-03-11 04:31:10] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026520_20260311_043109.XML
[2026-03-11 04:31:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026520_20260311_043113.XML
[2026-03-11 04:31:13] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026520_20260311_043113.XML for user: 68f1466aed072ad4a
[2026-03-11 04:31:13] [INFO] File size: 6411 bytes
[2026-03-11 04:31:13] [INFO] Created FTPFiles record with ID: 69b0f011a4dab8476
[2026-03-11 04:31:13] [INFO] About to extract fields from XML. File size: 6411 bytes
[2026-03-11 04:31:13] [INFO] Number of mappings: 28
[2026-03-11 04:31:13] [INFO] Starting XML parsing. Content length: 6411
[2026-03-11 04:31:13] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 04:31:13] [INFO] Processing 28 field mappings
[2026-03-11 04:31:13] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 04:31:13] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 04:31:13] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 04:31:13] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 04:31:13] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-11 04:31:13] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-11 04:31:13] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 04:31:13] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 04:31:13] [INFO]   -> Found value: 2026000662
[2026-03-11 04:31:13] [INFO]   -> Set field 'incidentInternalId' = "2026000662"
[2026-03-11 04:31:13] [INFO]   -> Set field 'dispatchRunNumber' = "2026000662"
[2026-03-11 04:31:13] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 04:31:13] [INFO]   -> Found value: FALL VICTIM
[2026-03-11 04:31:13] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-11 04:31:13] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 04:31:13] [INFO]   -> Found value: 1800
[2026-03-11 04:31:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1800
[2026-03-11 04:31:13] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 04:31:13] [INFO]   -> Found value: TN
[2026-03-11 04:31:13] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 04:31:13] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 04:31:13] [INFO]   -> Found value: 38506
[2026-03-11 04:31:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-11 04:31:13] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 04:31:13] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:13] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 04:31:13] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:13] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 04:31:13] [INFO]   -> Found value: 36.16731
[2026-03-11 04:31:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1673100000000005138645065017044544219970703125
[2026-03-11 04:31:13] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 04:31:13] [INFO]   -> Found value: -85.38335
[2026-03-11 04:31:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.3833499999999929741534288041293621063232421875
[2026-03-11 04:31:13] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 04:31:13] [INFO]   -> Found value: 2026-03-10 23:28:23
[2026-03-11 04:31:13] [INFO]   -> Set field 'alarm' = "2026-03-10 23:28:23"
[2026-03-11 04:31:13] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 04:31:13] [INFO]   -> Found value: 2026-03-10 23:29:17
[2026-03-11 04:31:13] [INFO]   -> Set field 'dispatched' = "2026-03-10 23:29:17"
[2026-03-11 04:31:13] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 04:31:13] [INFO]   -> Found value: 2026-03-10 23:31:08
[2026-03-11 04:31:13] [INFO]   -> Set field 'enroute' = "2026-03-10 23:31:08"
[2026-03-11 04:31:13] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 04:31:13] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:13] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 04:31:13] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:13] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 04:31:13] [INFO]   -> Found value: POPLAR GROVE RD/CLINTON CONLEY RD
[2026-03-11 04:31:13] [INFO]   -> Set field 'incidentLocationCross' = "POPLAR GROVE RD\/CLINTON CONLEY RD"
[2026-03-11 04:31:13] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 04:31:13] [INFO]   -> Found value: 953
[2026-03-11 04:31:13] [INFO]   -> Set field 'cADVehicleID' = 953
[2026-03-11 04:31:13] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 04:31:13] [INFO]   -> Found value: 2026-03-10 23:31:06
[2026-03-11 04:31:13] [INFO]   -> Set field 'timedispatch' = "2026-03-10 23:31:06"
[2026-03-11 04:31:13] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 04:31:13] [INFO]   -> Found value: 2026-03-10 23:31:08
[2026-03-11 04:31:13] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-10 23:31:08"
[2026-03-11 04:31:13] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 04:31:13] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:13] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 04:31:13] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:13] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 04:31:13] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:13] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 04:31:13] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 04:31:13] [INFO]   -> Found value: 20260026520
[2026-03-11 04:31:13] [INFO]   -> Set field 'policeReportNumber' = "20260026520"
[2026-03-11 04:31:13] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 04:31:13] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [03/10/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND TH...
[2026-03-11 04:31:13] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [03\/10\/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND THE DRESSER PT IS AWAKE AND ALERT PT COMPLAINING LEG PAIN  POSS HAD A BOWEL MOVEMENT ALSO  FRONT DOOR UNLOCKED 79 YOM  [03\/10\/26 23:28:11 TSCOTT]"
[2026-03-11 04:31:13] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [03\/10\/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND THE DRESSER PT IS AWAKE AND ALERT PT COMPLAINING LEG PAIN  POSS HAD A BOWEL MOVEMENT ALSO  FRONT DOOR UNLOCKED 79 YOM  [03\/10\/26 23:28:11 TSCOTT]"
[2026-03-11 04:31:13] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 04:31:13] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 04:31:13] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 04:31:13] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 04:31:13] [INFO]   -> Found value: CANADA FLATT
[2026-03-11 04:31:13] [INFO]   -> Set field 'streetName' = "CANADA FLATT"
[2026-03-11 04:31:13] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 04:31:13] [INFO]   -> Found value: RD
[2026-03-11 04:31:13] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 04:31:13] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 04:31:13] [INFO]   -> Found value: 1800 CANADA FLATT RD
[2026-03-11 04:31:13] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1800 CANADA FLATT RD"
[2026-03-11 04:31:13] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 04:31:13] [INFO] Concatenating street name and type
[2026-03-11 04:31:13] [INFO]   -> Combined street name: CANADA FLATT RD
[2026-03-11 04:31:13] [INFO] Built locationCoordinates from lat/lng: 36.16731,-85.38335
[2026-03-11 04:31:13] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000662","dispatchRunNumber":"2026000662","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":1800,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.1673100000000005138645065017044544219970703125,"nERISIncidentLongitude":-85.3833499999999929741534288041293621063232421875,"alarm":"2026-03-10 23:28:23","dispatched":"2026-03-10 23:29:17","enroute":"2026-03-10 23:31:08","incidentLocationCross":"POPLAR GROVE RD\/CLINTON CONLEY RD","cADVehicleID":953,"timedispatch":"2026-03-10 23:31:06","timeenroutetoscene":"2026-03-10 23:31:08","policeReportNumber":"20260026520","dispatchNotes":"Event spawned from FALL VICTIM.  [03\/10\/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND THE DRESSER PT IS AWAKE AND ALERT PT COMPLAINING LEG PAIN  POSS HAD A BOWEL MOVEMENT ALSO  FRONT DOOR UNLOCKED 79 YOM  [03\/10\/26 23:28:11 TSCOTT]","cADLog":"Event spawned from FALL VICTIM.  [03\/10\/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND THE DRESSER PT IS AWAKE AND ALERT PT COMPLAINING LEG PAIN  POSS HAD A BOWEL MOVEMENT ALSO  FRONT DOOR UNLOCKED 79 YOM  [03\/10\/26 23:28:11 TSCOTT]","incidentLocationCity":"COOKEVILLE","streetName":"CANADA FLATT RD","incidentAddressTextVersionStreet":"1800 CANADA FLATT RD","locationCoordinates":"36.16731,-85.38335"}
[2026-03-11 04:31:13] [INFO] Number of extracted fields: 23
[2026-03-11 04:31:13] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-11 04:31:13] [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-11 04:31:13] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-11 04:31:13] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 04:31:13] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 04:31:13] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-11 04:31: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-11 04:31: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-11 04:31:13] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 04:31:13] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 04:31:13] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 04:31:14] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-11 04:31:14] [INFO] Found existing Dispatch with cADNumber '2026000662', ID: 69b0efa3ce5d5dbc0 - will update instead of create
[2026-03-11 04:31:14] [INFO] Updated existing Dispatches record with ID: 69b0efa3ce5d5dbc0
[2026-03-11 04:31:14] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026520_20260311_043113.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026520_20260311_043113.XML
[2026-03-11 04:31:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026520_20260311_043113.XML
[2026-03-11 04:31:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026520_20260311_043113_1.XML
[2026-03-11 04:31:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026520_20260311_043113_1.XML for user: 68f1466aed072ad4a
[2026-03-11 04:31:14] [INFO] File size: 6411 bytes
[2026-03-11 04:31:14] [INFO] Created FTPFiles record with ID: 69b0f012ccc2ad719
[2026-03-11 04:31:14] [INFO] About to extract fields from XML. File size: 6411 bytes
[2026-03-11 04:31:14] [INFO] Number of mappings: 28
[2026-03-11 04:31:14] [INFO] Starting XML parsing. Content length: 6411
[2026-03-11 04:31:14] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 04:31:14] [INFO] Processing 28 field mappings
[2026-03-11 04:31:14] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 04:31:14] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 04:31:14] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 04:31:14] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 04:31:14] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-11 04:31:14] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-11 04:31:14] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 04:31:14] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 04:31:14] [INFO]   -> Found value: 2026000662
[2026-03-11 04:31:14] [INFO]   -> Set field 'incidentInternalId' = "2026000662"
[2026-03-11 04:31:14] [INFO]   -> Set field 'dispatchRunNumber' = "2026000662"
[2026-03-11 04:31:14] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 04:31:14] [INFO]   -> Found value: FALL VICTIM
[2026-03-11 04:31:14] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-11 04:31:14] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 04:31:14] [INFO]   -> Found value: 1800
[2026-03-11 04:31:14] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1800
[2026-03-11 04:31:14] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 04:31:14] [INFO]   -> Found value: TN
[2026-03-11 04:31:14] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 04:31:14] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 04:31:14] [INFO]   -> Found value: 38506
[2026-03-11 04:31:14] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-11 04:31:14] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 04:31:14] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:14] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 04:31:14] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:14] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 04:31:14] [INFO]   -> Found value: 36.16731
[2026-03-11 04:31:14] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1673100000000005138645065017044544219970703125
[2026-03-11 04:31:14] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 04:31:14] [INFO]   -> Found value: -85.38335
[2026-03-11 04:31:14] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.3833499999999929741534288041293621063232421875
[2026-03-11 04:31:14] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 04:31:14] [INFO]   -> Found value: 2026-03-10 23:28:23
[2026-03-11 04:31:14] [INFO]   -> Set field 'alarm' = "2026-03-10 23:28:23"
[2026-03-11 04:31:14] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 04:31:14] [INFO]   -> Found value: 2026-03-10 23:29:17
[2026-03-11 04:31:14] [INFO]   -> Set field 'dispatched' = "2026-03-10 23:29:17"
[2026-03-11 04:31:14] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 04:31:14] [INFO]   -> Found value: 2026-03-10 23:31:08
[2026-03-11 04:31:14] [INFO]   -> Set field 'enroute' = "2026-03-10 23:31:08"
[2026-03-11 04:31:14] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 04:31:14] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:14] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 04:31:14] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:14] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 04:31:14] [INFO]   -> Found value: POPLAR GROVE RD/CLINTON CONLEY RD
[2026-03-11 04:31:14] [INFO]   -> Set field 'incidentLocationCross' = "POPLAR GROVE RD\/CLINTON CONLEY RD"
[2026-03-11 04:31:14] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 04:31:14] [INFO]   -> Found value: 953
[2026-03-11 04:31:14] [INFO]   -> Set field 'cADVehicleID' = 953
[2026-03-11 04:31:14] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 04:31:14] [INFO]   -> Found value: 2026-03-10 23:31:06
[2026-03-11 04:31:14] [INFO]   -> Set field 'timedispatch' = "2026-03-10 23:31:06"
[2026-03-11 04:31:14] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 04:31:14] [INFO]   -> Found value: 2026-03-10 23:31:08
[2026-03-11 04:31:14] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-10 23:31:08"
[2026-03-11 04:31:14] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 04:31:14] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:14] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 04:31:14] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:14] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 04:31:14] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:14] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 04:31:14] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 04:31:14] [INFO]   -> Found value: 20260026520
[2026-03-11 04:31:14] [INFO]   -> Set field 'policeReportNumber' = "20260026520"
[2026-03-11 04:31:14] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 04:31:14] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [03/10/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND TH...
[2026-03-11 04:31:14] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [03\/10\/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND THE DRESSER PT IS AWAKE AND ALERT PT COMPLAINING LEG PAIN  POSS HAD A BOWEL MOVEMENT ALSO  FRONT DOOR UNLOCKED 79 YOM  [03\/10\/26 23:28:11 TSCOTT]"
[2026-03-11 04:31:14] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [03\/10\/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND THE DRESSER PT IS AWAKE AND ALERT PT COMPLAINING LEG PAIN  POSS HAD A BOWEL MOVEMENT ALSO  FRONT DOOR UNLOCKED 79 YOM  [03\/10\/26 23:28:11 TSCOTT]"
[2026-03-11 04:31:14] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 04:31:14] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 04:31:14] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 04:31:14] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 04:31:14] [INFO]   -> Found value: CANADA FLATT
[2026-03-11 04:31:14] [INFO]   -> Set field 'streetName' = "CANADA FLATT"
[2026-03-11 04:31:14] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 04:31:14] [INFO]   -> Found value: RD
[2026-03-11 04:31:14] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 04:31:14] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 04:31:14] [INFO]   -> Found value: 1800 CANADA FLATT RD
[2026-03-11 04:31:14] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1800 CANADA FLATT RD"
[2026-03-11 04:31:14] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 04:31:14] [INFO] Concatenating street name and type
[2026-03-11 04:31:14] [INFO]   -> Combined street name: CANADA FLATT RD
[2026-03-11 04:31:14] [INFO] Built locationCoordinates from lat/lng: 36.16731,-85.38335
[2026-03-11 04:31:14] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000662","dispatchRunNumber":"2026000662","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":1800,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.1673100000000005138645065017044544219970703125,"nERISIncidentLongitude":-85.3833499999999929741534288041293621063232421875,"alarm":"2026-03-10 23:28:23","dispatched":"2026-03-10 23:29:17","enroute":"2026-03-10 23:31:08","incidentLocationCross":"POPLAR GROVE RD\/CLINTON CONLEY RD","cADVehicleID":953,"timedispatch":"2026-03-10 23:31:06","timeenroutetoscene":"2026-03-10 23:31:08","policeReportNumber":"20260026520","dispatchNotes":"Event spawned from FALL VICTIM.  [03\/10\/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND THE DRESSER PT IS AWAKE AND ALERT PT COMPLAINING LEG PAIN  POSS HAD A BOWEL MOVEMENT ALSO  FRONT DOOR UNLOCKED 79 YOM  [03\/10\/26 23:28:11 TSCOTT]","cADLog":"Event spawned from FALL VICTIM.  [03\/10\/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND THE DRESSER PT IS AWAKE AND ALERT PT COMPLAINING LEG PAIN  POSS HAD A BOWEL MOVEMENT ALSO  FRONT DOOR UNLOCKED 79 YOM  [03\/10\/26 23:28:11 TSCOTT]","incidentLocationCity":"COOKEVILLE","streetName":"CANADA FLATT RD","incidentAddressTextVersionStreet":"1800 CANADA FLATT RD","locationCoordinates":"36.16731,-85.38335"}
[2026-03-11 04:31:14] [INFO] Number of extracted fields: 23
[2026-03-11 04:31:14] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-11 04:31:14] [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-11 04:31:14] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-11 04:31:14] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 04:31:15] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 04:31:15] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-11 04:31:15] [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-11 04:31:15] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 04:31:15] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 04:31:15] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 04:31:15] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 04:31:15] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-11 04:31:15] [INFO] Found existing Dispatch with cADNumber '2026000662', ID: 69b0efa3ce5d5dbc0 - will update instead of create
[2026-03-11 04:31:15] [INFO] Updated existing Dispatches record with ID: 69b0efa3ce5d5dbc0
[2026-03-11 04:31:15] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026520_20260311_043113_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026520_20260311_043113_1.XML
[2026-03-11 04:31:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026520_20260311_043113_1.XML
[2026-03-11 04:31:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026520_20260311_043115.XML
[2026-03-11 04:31:15] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026520_20260311_043115.XML for user: 68f1466aed072ad4a
[2026-03-11 04:31:15] [INFO] File size: 6411 bytes
[2026-03-11 04:31:16] [INFO] Created FTPFiles record with ID: 69b0f013f0af075e1
[2026-03-11 04:31:16] [INFO] About to extract fields from XML. File size: 6411 bytes
[2026-03-11 04:31:16] [INFO] Number of mappings: 28
[2026-03-11 04:31:16] [INFO] Starting XML parsing. Content length: 6411
[2026-03-11 04:31:16] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 04:31:16] [INFO] Processing 28 field mappings
[2026-03-11 04:31:16] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 04:31:16] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 04:31:16] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 04:31:16] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 04:31:16] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-11 04:31:16] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-11 04:31:16] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 04:31:16] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 04:31:16] [INFO]   -> Found value: 2026000662
[2026-03-11 04:31:16] [INFO]   -> Set field 'incidentInternalId' = "2026000662"
[2026-03-11 04:31:16] [INFO]   -> Set field 'dispatchRunNumber' = "2026000662"
[2026-03-11 04:31:16] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 04:31:16] [INFO]   -> Found value: FALL VICTIM
[2026-03-11 04:31:16] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-11 04:31:16] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 04:31:16] [INFO]   -> Found value: 1800
[2026-03-11 04:31:16] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1800
[2026-03-11 04:31:16] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 04:31:16] [INFO]   -> Found value: TN
[2026-03-11 04:31:16] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 04:31:16] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 04:31:16] [INFO]   -> Found value: 38506
[2026-03-11 04:31:16] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-11 04:31:16] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 04:31:16] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:16] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 04:31:16] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:16] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 04:31:16] [INFO]   -> Found value: 36.16731
[2026-03-11 04:31:16] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1673100000000005138645065017044544219970703125
[2026-03-11 04:31:16] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 04:31:16] [INFO]   -> Found value: -85.38335
[2026-03-11 04:31:16] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.3833499999999929741534288041293621063232421875
[2026-03-11 04:31:16] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 04:31:16] [INFO]   -> Found value: 2026-03-10 23:28:23
[2026-03-11 04:31:16] [INFO]   -> Set field 'alarm' = "2026-03-10 23:28:23"
[2026-03-11 04:31:16] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 04:31:16] [INFO]   -> Found value: 2026-03-10 23:29:17
[2026-03-11 04:31:16] [INFO]   -> Set field 'dispatched' = "2026-03-10 23:29:17"
[2026-03-11 04:31:16] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 04:31:16] [INFO]   -> Found value: 2026-03-10 23:31:08
[2026-03-11 04:31:16] [INFO]   -> Set field 'enroute' = "2026-03-10 23:31:08"
[2026-03-11 04:31:16] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 04:31:16] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:16] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 04:31:16] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:16] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 04:31:16] [INFO]   -> Found value: POPLAR GROVE RD/CLINTON CONLEY RD
[2026-03-11 04:31:16] [INFO]   -> Set field 'incidentLocationCross' = "POPLAR GROVE RD\/CLINTON CONLEY RD"
[2026-03-11 04:31:16] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 04:31:16] [INFO]   -> Found value: 953
[2026-03-11 04:31:16] [INFO]   -> Set field 'cADVehicleID' = 953
[2026-03-11 04:31:16] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 04:31:16] [INFO]   -> Found value: 2026-03-10 23:31:06
[2026-03-11 04:31:16] [INFO]   -> Set field 'timedispatch' = "2026-03-10 23:31:06"
[2026-03-11 04:31:16] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 04:31:16] [INFO]   -> Found value: 2026-03-10 23:31:08
[2026-03-11 04:31:16] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-10 23:31:08"
[2026-03-11 04:31:16] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 04:31:16] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:16] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 04:31:16] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:16] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 04:31:16] [INFO]   -> No value found (null or empty)
[2026-03-11 04:31:16] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 04:31:16] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 04:31:16] [INFO]   -> Found value: 20260026520
[2026-03-11 04:31:16] [INFO]   -> Set field 'policeReportNumber' = "20260026520"
[2026-03-11 04:31:16] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 04:31:16] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [03/10/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND TH...
[2026-03-11 04:31:16] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [03\/10\/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND THE DRESSER PT IS AWAKE AND ALERT PT COMPLAINING LEG PAIN  POSS HAD A BOWEL MOVEMENT ALSO  FRONT DOOR UNLOCKED 79 YOM  [03\/10\/26 23:28:11 TSCOTT]"
[2026-03-11 04:31:16] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [03\/10\/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND THE DRESSER PT IS AWAKE AND ALERT PT COMPLAINING LEG PAIN  POSS HAD A BOWEL MOVEMENT ALSO  FRONT DOOR UNLOCKED 79 YOM  [03\/10\/26 23:28:11 TSCOTT]"
[2026-03-11 04:31:16] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 04:31:16] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 04:31:16] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 04:31:16] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 04:31:16] [INFO]   -> Found value: CANADA FLATT
[2026-03-11 04:31:16] [INFO]   -> Set field 'streetName' = "CANADA FLATT"
[2026-03-11 04:31:16] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 04:31:16] [INFO]   -> Found value: RD
[2026-03-11 04:31:16] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 04:31:16] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 04:31:16] [INFO]   -> Found value: 1800 CANADA FLATT RD
[2026-03-11 04:31:16] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1800 CANADA FLATT RD"
[2026-03-11 04:31:16] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 04:31:16] [INFO] Concatenating street name and type
[2026-03-11 04:31:16] [INFO]   -> Combined street name: CANADA FLATT RD
[2026-03-11 04:31:16] [INFO] Built locationCoordinates from lat/lng: 36.16731,-85.38335
[2026-03-11 04:31:16] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000662","dispatchRunNumber":"2026000662","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":1800,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.1673100000000005138645065017044544219970703125,"nERISIncidentLongitude":-85.3833499999999929741534288041293621063232421875,"alarm":"2026-03-10 23:28:23","dispatched":"2026-03-10 23:29:17","enroute":"2026-03-10 23:31:08","incidentLocationCross":"POPLAR GROVE RD\/CLINTON CONLEY RD","cADVehicleID":953,"timedispatch":"2026-03-10 23:31:06","timeenroutetoscene":"2026-03-10 23:31:08","policeReportNumber":"20260026520","dispatchNotes":"Event spawned from FALL VICTIM.  [03\/10\/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND THE DRESSER PT IS AWAKE AND ALERT PT COMPLAINING LEG PAIN  POSS HAD A BOWEL MOVEMENT ALSO  FRONT DOOR UNLOCKED 79 YOM  [03\/10\/26 23:28:11 TSCOTT]","cADLog":"Event spawned from FALL VICTIM.  [03\/10\/2026 23:28:23 TSCOTT] HUSBAND FELL IN BETWEEN THE BED AND THE DRESSER PT IS AWAKE AND ALERT PT COMPLAINING LEG PAIN  POSS HAD A BOWEL MOVEMENT ALSO  FRONT DOOR UNLOCKED 79 YOM  [03\/10\/26 23:28:11 TSCOTT]","incidentLocationCity":"COOKEVILLE","streetName":"CANADA FLATT RD","incidentAddressTextVersionStreet":"1800 CANADA FLATT RD","locationCoordinates":"36.16731,-85.38335"}
[2026-03-11 04:31:16] [INFO] Number of extracted fields: 23
[2026-03-11 04:31:16] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-11 04:31:16] [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-11 04:31:16] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-11 04:31:16] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 04:31:16] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 04:31:16] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-11 04:31:16] [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-11 04:31:16] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 04:31:16] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 04:31:16] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 04:31:16] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 04:31:16] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-11 04:31:16] [INFO] Found existing Dispatch with cADNumber '2026000662', ID: 69b0efa3ce5d5dbc0 - will update instead of create
[2026-03-11 04:31:16] [INFO] Updated existing Dispatches record with ID: 69b0efa3ce5d5dbc0
[2026-03-11 04:31:16] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026520_20260311_043115.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026520_20260311_043115.XML
[2026-03-11 04:31:16] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026520_20260311_043115.XML
[2026-03-11 06:38:04] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026538_20260311_063804.XML
[2026-03-11 06:38:04] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026538_20260311_063804.XML for user: 68f1466aed072ad4a
[2026-03-11 06:38:04] [INFO] File size: 5432 bytes
[2026-03-11 06:38:04] [INFO] Created FTPFiles record with ID: 69b10dcc545cc44ee
[2026-03-11 06:38:04] [INFO] About to extract fields from XML. File size: 5432 bytes
[2026-03-11 06:38:04] [INFO] Number of mappings: 28
[2026-03-11 06:38:04] [INFO] Starting XML parsing. Content length: 5432
[2026-03-11 06:38:04] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 06:38:04] [INFO] Processing 28 field mappings
[2026-03-11 06:38:04] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 06:38:04] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 06:38:04] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 06:38:04] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 06:38:04] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-11 06:38:04] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-11 06:38:04] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 06:38:04] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 06:38:04] [INFO]   -> Found value: 2026000663
[2026-03-11 06:38:04] [INFO]   -> Set field 'incidentInternalId' = "2026000663"
[2026-03-11 06:38:04] [INFO]   -> Set field 'dispatchRunNumber' = "2026000663"
[2026-03-11 06:38:04] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 06:38:04] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-11 06:38:04] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-11 06:38:04] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 06:38:04] [INFO]   -> Found value: 1125
[2026-03-11 06:38:04] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1125
[2026-03-11 06:38:04] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 06:38:04] [INFO]   -> Found value: TN
[2026-03-11 06:38:04] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 06:38:04] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 06:38:04] [INFO]   -> Found value: 38501
[2026-03-11 06:38:04] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-11 06:38:04] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 06:38:04] [INFO]   -> Found value: ABSOLUTE CARE
[2026-03-11 06:38:04] [INFO]   -> Set field 'businessName' = "ABSOLUTE CARE"
[2026-03-11 06:38:04] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 06:38:04] [INFO]   -> Found value: A1
[2026-03-11 06:38:04] [INFO]   -> Set field 'incidentLocationApt' = "A1"
[2026-03-11 06:38:04] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 06:38:04] [INFO]   -> Found value: 36.15172
[2026-03-11 06:38:04] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1517199999999974124875734560191631317138671875
[2026-03-11 06:38:04] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 06:38:04] [INFO]   -> Found value: -85.61602
[2026-03-11 06:38:04] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6160200000000060072125052101910114288330078125
[2026-03-11 06:38:04] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 06:38:04] [INFO]   -> Found value: 2026-03-11 01:37:33
[2026-03-11 06:38:04] [INFO]   -> Set field 'alarm' = "2026-03-11 01:37:33"
[2026-03-11 06:38:04] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 06:38:04] [INFO]   -> Found value: 2026-03-11 01:38:00
[2026-03-11 06:38:04] [INFO]   -> Set field 'dispatched' = "2026-03-11 01:38:00"
[2026-03-11 06:38:04] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 06:38:04] [INFO]   -> No value found (null or empty)
[2026-03-11 06:38:04] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 06:38:04] [INFO]   -> No value found (null or empty)
[2026-03-11 06:38:04] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 06:38:04] [INFO]   -> No value found (null or empty)
[2026-03-11 06:38:04] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 06:38:04] [INFO]   -> Found value: /FAWN DR
[2026-03-11 06:38:04] [INFO]   -> Set field 'incidentLocationCross' = "\/FAWN DR"
[2026-03-11 06:38:04] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 06:38:04] [INFO]   -> Found value: PCFR
[2026-03-11 06:38:04] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-11 06:38:04] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 06:38:04] [INFO]   -> Found value: 2026-03-11 01:38:00
[2026-03-11 06:38:04] [INFO]   -> Set field 'timedispatch' = "2026-03-11 01:38:00"
[2026-03-11 06:38:04] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 06:38:04] [INFO]   -> No value found (null or empty)
[2026-03-11 06:38:04] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 06:38:04] [INFO]   -> No value found (null or empty)
[2026-03-11 06:38:04] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 06:38:04] [INFO]   -> No value found (null or empty)
[2026-03-11 06:38:04] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 06:38:04] [INFO]   -> No value found (null or empty)
[2026-03-11 06:38:04] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 06:38:04] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 06:38:04] [INFO]   -> Found value: 20260026538
[2026-03-11 06:38:04] [INFO]   -> Set field 'policeReportNumber' = "20260026538"
[2026-03-11 06:38:04] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 06:38:04] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/11/2026 01:37:33 BPICHE] ALLERGIC TO MORPHINE AND CODINE...
[2026-03-11 06:38:04] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 01:37:33 BPICHE] ALLERGIC TO MORPHINE AND CODINE  [03\/11\/26 01:37:13 BPICHE] RECENTLY RELEASED FROM CRMC FOR COPD  BREATHING PROBLEMS  OXYGEN AT 70%  1\/17\/1969  SHARON FOUNTAINE  [03\/11\/26 01:36:49 BPICHE]"
[2026-03-11 06:38:04] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 01:37:33 BPICHE] ALLERGIC TO MORPHINE AND CODINE  [03\/11\/26 01:37:13 BPICHE] RECENTLY RELEASED FROM CRMC FOR COPD  BREATHING PROBLEMS  OXYGEN AT 70%  1\/17\/1969  SHARON FOUNTAINE  [03\/11\/26 01:36:49 BPICHE]"
[2026-03-11 06:38:04] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 06:38:04] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 06:38:04] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 06:38:04] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 06:38:04] [INFO]   -> Found value: DEER CREEK
[2026-03-11 06:38:04] [INFO]   -> Set field 'streetName' = "DEER CREEK"
[2026-03-11 06:38:04] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 06:38:04] [INFO]   -> Found value: DR
[2026-03-11 06:38:04] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-11 06:38:04] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 06:38:04] [INFO]   -> Found value: 1125-A1 DEER CREEK DR
[2026-03-11 06:38:04] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1125-A1 DEER CREEK DR"
[2026-03-11 06:38:04] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 06:38:04] [INFO] Concatenating street name and type
[2026-03-11 06:38:04] [INFO]   -> Combined street name: DEER CREEK DR
[2026-03-11 06:38:04] [INFO] Built locationCoordinates from lat/lng: 36.15172,-85.61602
[2026-03-11 06:38:04] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000663","dispatchRunNumber":"2026000663","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1125,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"ABSOLUTE CARE","incidentLocationApt":"A1","nERISIncidentLatitude":36.1517199999999974124875734560191631317138671875,"nERISIncidentLongitude":-85.6160200000000060072125052101910114288330078125,"alarm":"2026-03-11 01:37:33","dispatched":"2026-03-11 01:38:00","incidentLocationCross":"\/FAWN DR","cADVehicleID":"PCFR","timedispatch":"2026-03-11 01:38:00","policeReportNumber":"20260026538","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 01:37:33 BPICHE] ALLERGIC TO MORPHINE AND CODINE  [03\/11\/26 01:37:13 BPICHE] RECENTLY RELEASED FROM CRMC FOR COPD  BREATHING PROBLEMS  OXYGEN AT 70%  1\/17\/1969  SHARON FOUNTAINE  [03\/11\/26 01:36:49 BPICHE]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 01:37:33 BPICHE] ALLERGIC TO MORPHINE AND CODINE  [03\/11\/26 01:37:13 BPICHE] RECENTLY RELEASED FROM CRMC FOR COPD  BREATHING PROBLEMS  OXYGEN AT 70%  1\/17\/1969  SHARON FOUNTAINE  [03\/11\/26 01:36:49 BPICHE]","incidentLocationCity":"COOKEVILLE","streetName":"DEER CREEK DR","incidentAddressTextVersionStreet":"1125-A1 DEER CREEK DR","locationCoordinates":"36.15172,-85.61602"}
[2026-03-11 06:38:04] [INFO] Number of extracted fields: 23
[2026-03-11 06:38:04] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-11 06:38:04] [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-11 06:38:04] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-11 06:38:04] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 06:38:04] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 06:38:04] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-11 06:38: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-11 06:38: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-11 06:38:04] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 06:38:04] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 06:38:04] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 06:38:04] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-11 06:38:14] [INFO] Created new Dispatches record with ID: 69b10dcd1e92cdf69
[2026-03-11 06:38:14] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026538_20260311_063804.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026538_20260311_063804.XML
[2026-03-11 06:38:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026538_20260311_063804.XML
[2026-03-11 06:38:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026538_20260311_063804_1.XML
[2026-03-11 06:38:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026538_20260311_063804_1.XML for user: 68f1466aed072ad4a
[2026-03-11 06:38:14] [INFO] File size: 5432 bytes
[2026-03-11 06:38:14] [INFO] Created FTPFiles record with ID: 69b10dd68493971f8
[2026-03-11 06:38:14] [INFO] About to extract fields from XML. File size: 5432 bytes
[2026-03-11 06:38:14] [INFO] Number of mappings: 28
[2026-03-11 06:38:14] [INFO] Starting XML parsing. Content length: 5432
[2026-03-11 06:38:14] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 06:38:14] [INFO] Processing 28 field mappings
[2026-03-11 06:38:14] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 06:38:14] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 06:38:14] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 06:38:14] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 06:38:14] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-11 06:38:14] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-11 06:38:14] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 06:38:14] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 06:38:14] [INFO]   -> Found value: 2026000663
[2026-03-11 06:38:14] [INFO]   -> Set field 'incidentInternalId' = "2026000663"
[2026-03-11 06:38:14] [INFO]   -> Set field 'dispatchRunNumber' = "2026000663"
[2026-03-11 06:38:14] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 06:38:14] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-11 06:38:14] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-11 06:38:14] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 06:38:14] [INFO]   -> Found value: 1125
[2026-03-11 06:38:14] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1125
[2026-03-11 06:38:14] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 06:38:14] [INFO]   -> Found value: TN
[2026-03-11 06:38:14] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 06:38:14] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 06:38:14] [INFO]   -> Found value: 38501
[2026-03-11 06:38:14] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-11 06:38:14] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 06:38:14] [INFO]   -> Found value: ABSOLUTE CARE
[2026-03-11 06:38:14] [INFO]   -> Set field 'businessName' = "ABSOLUTE CARE"
[2026-03-11 06:38:14] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 06:38:14] [INFO]   -> Found value: A1
[2026-03-11 06:38:14] [INFO]   -> Set field 'incidentLocationApt' = "A1"
[2026-03-11 06:38:14] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 06:38:14] [INFO]   -> Found value: 36.15172
[2026-03-11 06:38:14] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1517199999999974124875734560191631317138671875
[2026-03-11 06:38:14] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 06:38:14] [INFO]   -> Found value: -85.61602
[2026-03-11 06:38:14] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6160200000000060072125052101910114288330078125
[2026-03-11 06:38:14] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 06:38:14] [INFO]   -> Found value: 2026-03-11 01:37:33
[2026-03-11 06:38:14] [INFO]   -> Set field 'alarm' = "2026-03-11 01:37:33"
[2026-03-11 06:38:14] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 06:38:14] [INFO]   -> Found value: 2026-03-11 01:38:00
[2026-03-11 06:38:14] [INFO]   -> Set field 'dispatched' = "2026-03-11 01:38:00"
[2026-03-11 06:38:14] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 06:38:14] [INFO]   -> No value found (null or empty)
[2026-03-11 06:38:14] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 06:38:14] [INFO]   -> No value found (null or empty)
[2026-03-11 06:38:14] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 06:38:14] [INFO]   -> No value found (null or empty)
[2026-03-11 06:38:14] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 06:38:14] [INFO]   -> Found value: /FAWN DR
[2026-03-11 06:38:14] [INFO]   -> Set field 'incidentLocationCross' = "\/FAWN DR"
[2026-03-11 06:38:14] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 06:38:14] [INFO]   -> Found value: PCFR
[2026-03-11 06:38:14] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-11 06:38:14] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 06:38:14] [INFO]   -> Found value: 2026-03-11 01:38:00
[2026-03-11 06:38:14] [INFO]   -> Set field 'timedispatch' = "2026-03-11 01:38:00"
[2026-03-11 06:38:14] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 06:38:14] [INFO]   -> No value found (null or empty)
[2026-03-11 06:38:14] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 06:38:14] [INFO]   -> No value found (null or empty)
[2026-03-11 06:38:14] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 06:38:14] [INFO]   -> No value found (null or empty)
[2026-03-11 06:38:14] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 06:38:14] [INFO]   -> No value found (null or empty)
[2026-03-11 06:38:14] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 06:38:14] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 06:38:14] [INFO]   -> Found value: 20260026538
[2026-03-11 06:38:14] [INFO]   -> Set field 'policeReportNumber' = "20260026538"
[2026-03-11 06:38:14] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 06:38:14] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/11/2026 01:37:33 BPICHE] ALLERGIC TO MORPHINE AND CODINE...
[2026-03-11 06:38:14] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 01:37:33 BPICHE] ALLERGIC TO MORPHINE AND CODINE  [03\/11\/26 01:37:13 BPICHE] RECENTLY RELEASED FROM CRMC FOR COPD  BREATHING PROBLEMS  OXYGEN AT 70%  1\/17\/1969  SHARON FOUNTAINE  [03\/11\/26 01:36:49 BPICHE]"
[2026-03-11 06:38:14] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 01:37:33 BPICHE] ALLERGIC TO MORPHINE AND CODINE  [03\/11\/26 01:37:13 BPICHE] RECENTLY RELEASED FROM CRMC FOR COPD  BREATHING PROBLEMS  OXYGEN AT 70%  1\/17\/1969  SHARON FOUNTAINE  [03\/11\/26 01:36:49 BPICHE]"
[2026-03-11 06:38:14] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 06:38:14] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 06:38:14] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 06:38:14] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 06:38:14] [INFO]   -> Found value: DEER CREEK
[2026-03-11 06:38:14] [INFO]   -> Set field 'streetName' = "DEER CREEK"
[2026-03-11 06:38:14] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 06:38:14] [INFO]   -> Found value: DR
[2026-03-11 06:38:14] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-11 06:38:14] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 06:38:14] [INFO]   -> Found value: 1125-A1 DEER CREEK DR
[2026-03-11 06:38:14] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1125-A1 DEER CREEK DR"
[2026-03-11 06:38:14] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 06:38:14] [INFO] Concatenating street name and type
[2026-03-11 06:38:14] [INFO]   -> Combined street name: DEER CREEK DR
[2026-03-11 06:38:14] [INFO] Built locationCoordinates from lat/lng: 36.15172,-85.61602
[2026-03-11 06:38:14] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000663","dispatchRunNumber":"2026000663","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1125,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"ABSOLUTE CARE","incidentLocationApt":"A1","nERISIncidentLatitude":36.1517199999999974124875734560191631317138671875,"nERISIncidentLongitude":-85.6160200000000060072125052101910114288330078125,"alarm":"2026-03-11 01:37:33","dispatched":"2026-03-11 01:38:00","incidentLocationCross":"\/FAWN DR","cADVehicleID":"PCFR","timedispatch":"2026-03-11 01:38:00","policeReportNumber":"20260026538","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 01:37:33 BPICHE] ALLERGIC TO MORPHINE AND CODINE  [03\/11\/26 01:37:13 BPICHE] RECENTLY RELEASED FROM CRMC FOR COPD  BREATHING PROBLEMS  OXYGEN AT 70%  1\/17\/1969  SHARON FOUNTAINE  [03\/11\/26 01:36:49 BPICHE]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 01:37:33 BPICHE] ALLERGIC TO MORPHINE AND CODINE  [03\/11\/26 01:37:13 BPICHE] RECENTLY RELEASED FROM CRMC FOR COPD  BREATHING PROBLEMS  OXYGEN AT 70%  1\/17\/1969  SHARON FOUNTAINE  [03\/11\/26 01:36:49 BPICHE]","incidentLocationCity":"COOKEVILLE","streetName":"DEER CREEK DR","incidentAddressTextVersionStreet":"1125-A1 DEER CREEK DR","locationCoordinates":"36.15172,-85.61602"}
[2026-03-11 06:38:14] [INFO] Number of extracted fields: 23
[2026-03-11 06:38:14] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-11 06:38:14] [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-11 06:38:14] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-11 06:38:14] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 06:38:14] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 06:38:14] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-11 06:38: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-11 06:38: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-11 06:38:14] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 06:38:14] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 06:38:14] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 06:38:15] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-11 06:38:15] [INFO] Found existing Dispatch with cADNumber '2026000663', ID: 69b10dcd1e92cdf69 - will update instead of create
[2026-03-11 06:38:15] [INFO] Updated existing Dispatches record with ID: 69b10dcd1e92cdf69
[2026-03-11 06:38:15] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026538_20260311_063804_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026538_20260311_063804_1.XML
[2026-03-11 06:38:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026538_20260311_063804_1.XML
[2026-03-11 06:42:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026538_20260311_064210.XML
[2026-03-11 06:42:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026538_20260311_064210.XML for user: 68f1466aed072ad4a
[2026-03-11 06:42:10] [INFO] File size: 6174 bytes
[2026-03-11 06:42:10] [INFO] Created FTPFiles record with ID: 69b10ec2c3020643e
[2026-03-11 06:42:10] [INFO] About to extract fields from XML. File size: 6174 bytes
[2026-03-11 06:42:10] [INFO] Number of mappings: 28
[2026-03-11 06:42:10] [INFO] Starting XML parsing. Content length: 6174
[2026-03-11 06:42:10] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 06:42:10] [INFO] Processing 28 field mappings
[2026-03-11 06:42:10] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 06:42:10] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 06:42:10] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 06:42:10] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 06:42:10] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-11 06:42:10] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-11 06:42:10] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 06:42:10] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 06:42:10] [INFO]   -> Found value: 2026000663
[2026-03-11 06:42:10] [INFO]   -> Set field 'incidentInternalId' = "2026000663"
[2026-03-11 06:42:10] [INFO]   -> Set field 'dispatchRunNumber' = "2026000663"
[2026-03-11 06:42:10] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 06:42:10] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-11 06:42:10] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-11 06:42:10] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 06:42:10] [INFO]   -> Found value: 1125
[2026-03-11 06:42:10] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1125
[2026-03-11 06:42:10] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 06:42:10] [INFO]   -> Found value: TN
[2026-03-11 06:42:10] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 06:42:10] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 06:42:10] [INFO]   -> Found value: 38501
[2026-03-11 06:42:10] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-11 06:42:10] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 06:42:10] [INFO]   -> Found value: ABSOLUTE CARE
[2026-03-11 06:42:10] [INFO]   -> Set field 'businessName' = "ABSOLUTE CARE"
[2026-03-11 06:42:10] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 06:42:10] [INFO]   -> Found value: A1
[2026-03-11 06:42:10] [INFO]   -> Set field 'incidentLocationApt' = "A1"
[2026-03-11 06:42:10] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 06:42:10] [INFO]   -> Found value: 36.15172
[2026-03-11 06:42:10] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1517199999999974124875734560191631317138671875
[2026-03-11 06:42:10] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 06:42:10] [INFO]   -> Found value: -85.61602
[2026-03-11 06:42:10] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6160200000000060072125052101910114288330078125
[2026-03-11 06:42:10] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 06:42:10] [INFO]   -> Found value: 2026-03-11 01:37:33
[2026-03-11 06:42:10] [INFO]   -> Set field 'alarm' = "2026-03-11 01:37:33"
[2026-03-11 06:42:10] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 06:42:10] [INFO]   -> Found value: 2026-03-11 01:38:00
[2026-03-11 06:42:10] [INFO]   -> Set field 'dispatched' = "2026-03-11 01:38:00"
[2026-03-11 06:42:10] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 06:42:10] [INFO]   -> Found value: 2026-03-11 01:42:04
[2026-03-11 06:42:10] [INFO]   -> Set field 'enroute' = "2026-03-11 01:42:04"
[2026-03-11 06:42:10] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 06:42:10] [INFO]   -> No value found (null or empty)
[2026-03-11 06:42:10] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 06:42:10] [INFO]   -> No value found (null or empty)
[2026-03-11 06:42:10] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 06:42:10] [INFO]   -> Found value: /FAWN DR
[2026-03-11 06:42:10] [INFO]   -> Set field 'incidentLocationCross' = "\/FAWN DR"
[2026-03-11 06:42:10] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 06:42:10] [INFO]   -> Found value: TK31
[2026-03-11 06:42:10] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-11 06:42:10] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 06:42:10] [INFO]   -> Found value: 2026-03-11 01:42:04
[2026-03-11 06:42:10] [INFO]   -> Set field 'timedispatch' = "2026-03-11 01:42:04"
[2026-03-11 06:42:10] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 06:42:10] [INFO]   -> Found value: 2026-03-11 01:42:04
[2026-03-11 06:42:10] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 01:42:04"
[2026-03-11 06:42:10] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 06:42:10] [INFO]   -> No value found (null or empty)
[2026-03-11 06:42:10] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 06:42:10] [INFO]   -> No value found (null or empty)
[2026-03-11 06:42:10] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 06:42:10] [INFO]   -> No value found (null or empty)
[2026-03-11 06:42:10] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 06:42:10] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 06:42:10] [INFO]   -> Found value: 20260026538
[2026-03-11 06:42:10] [INFO]   -> Set field 'policeReportNumber' = "20260026538"
[2026-03-11 06:42:10] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 06:42:10] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/11/2026 01:37:33 BPICHE] ALLERGIC TO MORPHINE AND CODINE...
[2026-03-11 06:42:10] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 01:37:33 BPICHE] ALLERGIC TO MORPHINE AND CODINE  [03\/11\/26 01:37:13 BPICHE] RECENTLY RELEASED FROM CRMC FOR COPD  BREATHING PROBLEMS  OXYGEN AT 70%  1\/17\/1969  SHARON FOUNTAINE  [03\/11\/26 01:36:49 BPICHE]"
[2026-03-11 06:42:10] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 01:37:33 BPICHE] ALLERGIC TO MORPHINE AND CODINE  [03\/11\/26 01:37:13 BPICHE] RECENTLY RELEASED FROM CRMC FOR COPD  BREATHING PROBLEMS  OXYGEN AT 70%  1\/17\/1969  SHARON FOUNTAINE  [03\/11\/26 01:36:49 BPICHE]"
[2026-03-11 06:42:10] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 06:42:10] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 06:42:10] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 06:42:10] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 06:42:10] [INFO]   -> Found value: DEER CREEK
[2026-03-11 06:42:10] [INFO]   -> Set field 'streetName' = "DEER CREEK"
[2026-03-11 06:42:10] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 06:42:10] [INFO]   -> Found value: DR
[2026-03-11 06:42:10] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-11 06:42:10] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 06:42:10] [INFO]   -> Found value: 1125-A1 DEER CREEK DR
[2026-03-11 06:42:10] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1125-A1 DEER CREEK DR"
[2026-03-11 06:42:10] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-03-11 06:42:10] [INFO] Concatenating street name and type
[2026-03-11 06:42:10] [INFO]   -> Combined street name: DEER CREEK DR
[2026-03-11 06:42:10] [INFO] Built locationCoordinates from lat/lng: 36.15172,-85.61602
[2026-03-11 06:42:10] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000663","dispatchRunNumber":"2026000663","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1125,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"ABSOLUTE CARE","incidentLocationApt":"A1","nERISIncidentLatitude":36.1517199999999974124875734560191631317138671875,"nERISIncidentLongitude":-85.6160200000000060072125052101910114288330078125,"alarm":"2026-03-11 01:37:33","dispatched":"2026-03-11 01:38:00","enroute":"2026-03-11 01:42:04","incidentLocationCross":"\/FAWN DR","cADVehicleID":"TK31","timedispatch":"2026-03-11 01:42:04","timeenroutetoscene":"2026-03-11 01:42:04","policeReportNumber":"20260026538","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 01:37:33 BPICHE] ALLERGIC TO MORPHINE AND CODINE  [03\/11\/26 01:37:13 BPICHE] RECENTLY RELEASED FROM CRMC FOR COPD  BREATHING PROBLEMS  OXYGEN AT 70%  1\/17\/1969  SHARON FOUNTAINE  [03\/11\/26 01:36:49 BPICHE]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 01:37:33 BPICHE] ALLERGIC TO MORPHINE AND CODINE  [03\/11\/26 01:37:13 BPICHE] RECENTLY RELEASED FROM CRMC FOR COPD  BREATHING PROBLEMS  OXYGEN AT 70%  1\/17\/1969  SHARON FOUNTAINE  [03\/11\/26 01:36:49 BPICHE]","incidentLocationCity":"COOKEVILLE","streetName":"DEER CREEK DR","incidentAddressTextVersionStreet":"1125-A1 DEER CREEK DR","locationCoordinates":"36.15172,-85.61602"}
[2026-03-11 06:42:10] [INFO] Number of extracted fields: 25
[2026-03-11 06:42:10] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-11 06:42: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-11 06:42:10] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-11 06:42:10] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 06:42:10] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 06:42:10] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-11 06:42:11] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-11 06:42:11] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 06:42:11] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 06:42:11] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 06:42:11] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 06:42:11] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-11 06:42:11] [INFO] Found existing Dispatch with cADNumber '2026000663', ID: 69b10dcd1e92cdf69 - will update instead of create
[2026-03-11 06:42:11] [INFO] Updated existing Dispatches record with ID: 69b10dcd1e92cdf69
[2026-03-11 06:42:11] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026538_20260311_064210.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026538_20260311_064210.XML
[2026-03-11 06:42:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026538_20260311_064210.XML
[2026-03-11 06:42:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026538_20260311_064214.XML
[2026-03-11 06:42:15] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026538_20260311_064214.XML for user: 68f1466aed072ad4a
[2026-03-11 06:42:15] [INFO] File size: 6174 bytes
[2026-03-11 06:42:15] [INFO] Created FTPFiles record with ID: 69b10ec7484bed7fa
[2026-03-11 06:42:15] [INFO] About to extract fields from XML. File size: 6174 bytes
[2026-03-11 06:42:15] [INFO] Number of mappings: 28
[2026-03-11 06:42:15] [INFO] Starting XML parsing. Content length: 6174
[2026-03-11 06:42:15] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 06:42:15] [INFO] Processing 28 field mappings
[2026-03-11 06:42:15] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 06:42:15] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 06:42:15] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 06:42:15] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 06:42:15] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-11 06:42:15] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-11 06:42:15] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 06:42:15] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 06:42:15] [INFO]   -> Found value: 2026000663
[2026-03-11 06:42:15] [INFO]   -> Set field 'incidentInternalId' = "2026000663"
[2026-03-11 06:42:15] [INFO]   -> Set field 'dispatchRunNumber' = "2026000663"
[2026-03-11 06:42:15] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 06:42:15] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-11 06:42:15] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-11 06:42:15] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 06:42:15] [INFO]   -> Found value: 1125
[2026-03-11 06:42:15] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1125
[2026-03-11 06:42:15] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 06:42:15] [INFO]   -> Found value: TN
[2026-03-11 06:42:15] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 06:42:15] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 06:42:15] [INFO]   -> Found value: 38501
[2026-03-11 06:42:15] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-11 06:42:15] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 06:42:15] [INFO]   -> Found value: ABSOLUTE CARE
[2026-03-11 06:42:15] [INFO]   -> Set field 'businessName' = "ABSOLUTE CARE"
[2026-03-11 06:42:15] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 06:42:15] [INFO]   -> Found value: A1
[2026-03-11 06:42:15] [INFO]   -> Set field 'incidentLocationApt' = "A1"
[2026-03-11 06:42:15] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 06:42:15] [INFO]   -> Found value: 36.15172
[2026-03-11 06:42:15] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1517199999999974124875734560191631317138671875
[2026-03-11 06:42:15] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 06:42:15] [INFO]   -> Found value: -85.61602
[2026-03-11 06:42:15] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6160200000000060072125052101910114288330078125
[2026-03-11 06:42:15] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 06:42:15] [INFO]   -> Found value: 2026-03-11 01:37:33
[2026-03-11 06:42:15] [INFO]   -> Set field 'alarm' = "2026-03-11 01:37:33"
[2026-03-11 06:42:15] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 06:42:15] [INFO]   -> Found value: 2026-03-11 01:38:00
[2026-03-11 06:42:15] [INFO]   -> Set field 'dispatched' = "2026-03-11 01:38:00"
[2026-03-11 06:42:15] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 06:42:15] [INFO]   -> Found value: 2026-03-11 01:42:04
[2026-03-11 06:42:15] [INFO]   -> Set field 'enroute' = "2026-03-11 01:42:04"
[2026-03-11 06:42:15] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 06:42:15] [INFO]   -> No value found (null or empty)
[2026-03-11 06:42:15] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 06:42:15] [INFO]   -> No value found (null or empty)
[2026-03-11 06:42:15] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 06:42:15] [INFO]   -> Found value: /FAWN DR
[2026-03-11 06:42:15] [INFO]   -> Set field 'incidentLocationCross' = "\/FAWN DR"
[2026-03-11 06:42:15] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 06:42:15] [INFO]   -> Found value: TK31
[2026-03-11 06:42:15] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-11 06:42:15] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 06:42:15] [INFO]   -> Found value: 2026-03-11 01:42:04
[2026-03-11 06:42:15] [INFO]   -> Set field 'timedispatch' = "2026-03-11 01:42:04"
[2026-03-11 06:42:15] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 06:42:15] [INFO]   -> Found value: 2026-03-11 01:42:04
[2026-03-11 06:42:15] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 01:42:04"
[2026-03-11 06:42:15] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 06:42:15] [INFO]   -> No value found (null or empty)
[2026-03-11 06:42:15] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 06:42:15] [INFO]   -> No value found (null or empty)
[2026-03-11 06:42:15] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 06:42:15] [INFO]   -> No value found (null or empty)
[2026-03-11 06:42:15] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 06:42:15] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 06:42:15] [INFO]   -> Found value: 20260026538
[2026-03-11 06:42:15] [INFO]   -> Set field 'policeReportNumber' = "20260026538"
[2026-03-11 06:42:15] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 06:42:15] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/11/2026 01:37:33 BPICHE] ALLERGIC TO MORPHINE AND CODINE...
[2026-03-11 06:42:15] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 01:37:33 BPICHE] ALLERGIC TO MORPHINE AND CODINE  [03\/11\/26 01:37:13 BPICHE] RECENTLY RELEASED FROM CRMC FOR COPD  BREATHING PROBLEMS  OXYGEN AT 70%  1\/17\/1969  SHARON FOUNTAINE  [03\/11\/26 01:36:49 BPICHE]"
[2026-03-11 06:42:15] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 01:37:33 BPICHE] ALLERGIC TO MORPHINE AND CODINE  [03\/11\/26 01:37:13 BPICHE] RECENTLY RELEASED FROM CRMC FOR COPD  BREATHING PROBLEMS  OXYGEN AT 70%  1\/17\/1969  SHARON FOUNTAINE  [03\/11\/26 01:36:49 BPICHE]"
[2026-03-11 06:42:15] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 06:42:15] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 06:42:15] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 06:42:15] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 06:42:15] [INFO]   -> Found value: DEER CREEK
[2026-03-11 06:42:15] [INFO]   -> Set field 'streetName' = "DEER CREEK"
[2026-03-11 06:42:15] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 06:42:15] [INFO]   -> Found value: DR
[2026-03-11 06:42:15] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-11 06:42:15] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 06:42:15] [INFO]   -> Found value: 1125-A1 DEER CREEK DR
[2026-03-11 06:42:15] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1125-A1 DEER CREEK DR"
[2026-03-11 06:42:15] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-03-11 06:42:15] [INFO] Concatenating street name and type
[2026-03-11 06:42:15] [INFO]   -> Combined street name: DEER CREEK DR
[2026-03-11 06:42:15] [INFO] Built locationCoordinates from lat/lng: 36.15172,-85.61602
[2026-03-11 06:42:15] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000663","dispatchRunNumber":"2026000663","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1125,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"ABSOLUTE CARE","incidentLocationApt":"A1","nERISIncidentLatitude":36.1517199999999974124875734560191631317138671875,"nERISIncidentLongitude":-85.6160200000000060072125052101910114288330078125,"alarm":"2026-03-11 01:37:33","dispatched":"2026-03-11 01:38:00","enroute":"2026-03-11 01:42:04","incidentLocationCross":"\/FAWN DR","cADVehicleID":"TK31","timedispatch":"2026-03-11 01:42:04","timeenroutetoscene":"2026-03-11 01:42:04","policeReportNumber":"20260026538","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 01:37:33 BPICHE] ALLERGIC TO MORPHINE AND CODINE  [03\/11\/26 01:37:13 BPICHE] RECENTLY RELEASED FROM CRMC FOR COPD  BREATHING PROBLEMS  OXYGEN AT 70%  1\/17\/1969  SHARON FOUNTAINE  [03\/11\/26 01:36:49 BPICHE]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 01:37:33 BPICHE] ALLERGIC TO MORPHINE AND CODINE  [03\/11\/26 01:37:13 BPICHE] RECENTLY RELEASED FROM CRMC FOR COPD  BREATHING PROBLEMS  OXYGEN AT 70%  1\/17\/1969  SHARON FOUNTAINE  [03\/11\/26 01:36:49 BPICHE]","incidentLocationCity":"COOKEVILLE","streetName":"DEER CREEK DR","incidentAddressTextVersionStreet":"1125-A1 DEER CREEK DR","locationCoordinates":"36.15172,-85.61602"}
[2026-03-11 06:42:15] [INFO] Number of extracted fields: 25
[2026-03-11 06:42:15] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-11 06:42:15] [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-11 06:42:15] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-11 06:42:15] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 06:42:15] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 06:42:15] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-11 06:42:15] [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-11 06:42:15] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 06:42:15] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 06:42:15] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 06:42:15] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 06:42:15] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-11 06:42:15] [INFO] Found existing Dispatch with cADNumber '2026000663', ID: 69b10dcd1e92cdf69 - will update instead of create
[2026-03-11 06:42:16] [INFO] Updated existing Dispatches record with ID: 69b10dcd1e92cdf69
[2026-03-11 06:42:16] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026538_20260311_064214.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026538_20260311_064214.XML
[2026-03-11 06:42:16] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026538_20260311_064214.XML
[2026-03-11 12:42:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026582_20260311_124242.XML
[2026-03-11 12:42:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026582_20260311_124242.XML for user: 68f1466aed072ad4a
[2026-03-11 12:42:42] [INFO] File size: 5058 bytes
[2026-03-11 12:42:43] [INFO] Created FTPFiles record with ID: 69b16343563a18652
[2026-03-11 12:42:43] [INFO] About to extract fields from XML. File size: 5058 bytes
[2026-03-11 12:42:43] [INFO] Number of mappings: 28
[2026-03-11 12:42:43] [INFO] Starting XML parsing. Content length: 5058
[2026-03-11 12:42:43] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 12:42:43] [INFO] Processing 28 field mappings
[2026-03-11 12:42:43] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 12:42:43] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 12:42:43] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 12:42:43] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-11 12:42:43] [INFO]   -> Found value: PCFD
EMS
[2026-03-11 12:42:43] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS"
[2026-03-11 12:42:43] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 12:42:43] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-11 12:42:43] [INFO]   -> Found value: 2026000664
[2026-03-11 12:42:43] [INFO]   -> Set field 'incidentInternalId' = "2026000664"
[2026-03-11 12:42:43] [INFO]   -> Set field 'dispatchRunNumber' = "2026000664"
[2026-03-11 12:42:43] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 12:42:43] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-03-11 12:42:43] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-03-11 12:42:43] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 12:42:43] [INFO]   -> Found value: 6751
[2026-03-11 12:42:43] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6751
[2026-03-11 12:42:43] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 12:42:43] [INFO]   -> Found value: TN
[2026-03-11 12:42:43] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 12:42:43] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 12:42:43] [INFO]   -> Found value: 38544
[2026-03-11 12:42:43] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-11 12:42:43] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 12:42:43] [INFO]   -> No value found (null or empty)
[2026-03-11 12:42:43] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 12:42:43] [INFO]   -> No value found (null or empty)
[2026-03-11 12:42:43] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 12:42:43] [INFO]   -> Found value: 36.18576
[2026-03-11 12:42:43] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1857600000000019235812942497432231903076171875
[2026-03-11 12:42:43] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 12:42:43] [INFO]   -> Found value: -85.63637
[2026-03-11 12:42:43] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.63636999999999943611328490078449249267578125
[2026-03-11 12:42:43] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 12:42:43] [INFO]   -> Found value: 2026-03-11 07:41:32
[2026-03-11 12:42:43] [INFO]   -> Set field 'alarm' = "2026-03-11 07:41:32"
[2026-03-11 12:42:43] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 12:42:43] [INFO]   -> Found value: 2026-03-11 07:42:37
[2026-03-11 12:42:43] [INFO]   -> Set field 'dispatched' = "2026-03-11 07:42:37"
[2026-03-11 12:42:43] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 12:42:43] [INFO]   -> No value found (null or empty)
[2026-03-11 12:42:43] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 12:42:43] [INFO]   -> No value found (null or empty)
[2026-03-11 12:42:43] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 12:42:43] [INFO]   -> No value found (null or empty)
[2026-03-11 12:42:43] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 12:42:43] [INFO]   -> Found value: O D RODGERS RD
[2026-03-11 12:42:43] [INFO]   -> Set field 'incidentLocationCross' = "O D RODGERS RD"
[2026-03-11 12:42:43] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 12:42:43] [INFO]   -> Found value: TK31
[2026-03-11 12:42:43] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-11 12:42:43] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 12:42:43] [INFO]   -> Found value: 2026-03-11 07:42:37
[2026-03-11 12:42:43] [INFO]   -> Set field 'timedispatch' = "2026-03-11 07:42:37"
[2026-03-11 12:42:43] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 12:42:43] [INFO]   -> No value found (null or empty)
[2026-03-11 12:42:43] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 12:42:43] [INFO]   -> No value found (null or empty)
[2026-03-11 12:42:43] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 12:42:43] [INFO]   -> No value found (null or empty)
[2026-03-11 12:42:43] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 12:42:43] [INFO]   -> No value found (null or empty)
[2026-03-11 12:42:43] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 12:42:43] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 12:42:43] [INFO]   -> Found value: 20260026582
[2026-03-11 12:42:43] [INFO]   -> Set field 'policeReportNumber' = "20260026582"
[2026-03-11 12:42:43] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 12:42:43] [INFO]   -> Found value: [EMS] vickie jackson 07/22/1958    slide out of bed  not injuried  lift assist       400 lbs  [03/11...
[2026-03-11 12:42:43] [INFO]   -> Set field 'dispatchNotes' = "[EMS] vickie jackson 07\/22\/1958    slide out of bed  not injuried  lift assist       400 lbs  [03\/11\/26 07:42:27 KELLIS] Event spawned from EMS NON-EMERGENCY.  [03\/11\/2026 07:41:32 KHILL]"
[2026-03-11 12:42:43] [INFO]   -> Set field 'cADLog' = "[EMS] vickie jackson 07\/22\/1958    slide out of bed  not injuried  lift assist       400 lbs  [03\/11\/26 07:42:27 KELLIS] Event spawned from EMS NON-EMERGENCY.  [03\/11\/2026 07:41:32 KHILL]"
[2026-03-11 12:42:43] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 12:42:43] [INFO]   -> Found value: BAXTER
[2026-03-11 12:42:43] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-11 12:42:43] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 12:42:43] [INFO]   -> Found value: BROWN RIDGE
[2026-03-11 12:42:43] [INFO]   -> Set field 'streetName' = "BROWN RIDGE"
[2026-03-11 12:42:43] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 12:42:43] [INFO]   -> Found value: RD
[2026-03-11 12:42:43] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 12:42:43] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 12:42:43] [INFO]   -> Found value: 6751 BROWN RIDGE RD
[2026-03-11 12:42:43] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6751 BROWN RIDGE RD"
[2026-03-11 12:42:43] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-11 12:42:43] [INFO] Concatenating street name and type
[2026-03-11 12:42:43] [INFO]   -> Combined street name: BROWN RIDGE RD
[2026-03-11 12:42:43] [INFO] Built locationCoordinates from lat/lng: 36.18576,-85.63637
[2026-03-11 12:42:43] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS","incidentInternalId":"2026000664","dispatchRunNumber":"2026000664","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":6751,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1857600000000019235812942497432231903076171875,"nERISIncidentLongitude":-85.63636999999999943611328490078449249267578125,"alarm":"2026-03-11 07:41:32","dispatched":"2026-03-11 07:42:37","incidentLocationCross":"O D RODGERS RD","cADVehicleID":"TK31","timedispatch":"2026-03-11 07:42:37","policeReportNumber":"20260026582","dispatchNotes":"[EMS] vickie jackson 07\/22\/1958    slide out of bed  not injuried  lift assist       400 lbs  [03\/11\/26 07:42:27 KELLIS] Event spawned from EMS NON-EMERGENCY.  [03\/11\/2026 07:41:32 KHILL]","cADLog":"[EMS] vickie jackson 07\/22\/1958    slide out of bed  not injuried  lift assist       400 lbs  [03\/11\/26 07:42:27 KELLIS] Event spawned from EMS NON-EMERGENCY.  [03\/11\/2026 07:41:32 KHILL]","incidentLocationCity":"BAXTER","streetName":"BROWN RIDGE RD","incidentAddressTextVersionStreet":"6751 BROWN RIDGE RD","locationCoordinates":"36.18576,-85.63637"}
[2026-03-11 12:42:43] [INFO] Number of extracted fields: 21
[2026-03-11 12:42:43] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS'
[2026-03-11 12:42:43] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS', Parsed IDs = ["PCFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-11 12:42:43] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS"]
[2026-03-11 12:42:43] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 12:42:43] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 12:42:43] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-11 12:42:43] [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-11 12:42:43] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 12:42:43] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-11 12:42:43] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 12:42:43] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 12:42:43] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2026-03-11 12:42:53] [INFO] Created new Dispatches record with ID: 69b1634433ba19b74
[2026-03-11 12:42:53] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026582_20260311_124242.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026582_20260311_124242.XML
[2026-03-11 12:42:53] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026582_20260311_124242.XML
[2026-03-11 12:43:44] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026582_20260311_124344.XML
[2026-03-11 12:43:44] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026582_20260311_124344.XML for user: 68f1466aed072ad4a
[2026-03-11 12:43:44] [INFO] File size: 5125 bytes
[2026-03-11 12:43:45] [INFO] Created FTPFiles record with ID: 69b1638112fa4f040
[2026-03-11 12:43:45] [INFO] About to extract fields from XML. File size: 5125 bytes
[2026-03-11 12:43:45] [INFO] Number of mappings: 28
[2026-03-11 12:43:45] [INFO] Starting XML parsing. Content length: 5125
[2026-03-11 12:43:45] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 12:43:45] [INFO] Processing 28 field mappings
[2026-03-11 12:43:45] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 12:43:45] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 12:43:45] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 12:43:45] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-11 12:43:45] [INFO]   -> Found value: PCFD
EMS
[2026-03-11 12:43:45] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS"
[2026-03-11 12:43:45] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 12:43:45] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-11 12:43:45] [INFO]   -> Found value: 2026000664
[2026-03-11 12:43:45] [INFO]   -> Set field 'incidentInternalId' = "2026000664"
[2026-03-11 12:43:45] [INFO]   -> Set field 'dispatchRunNumber' = "2026000664"
[2026-03-11 12:43:45] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 12:43:45] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-03-11 12:43:45] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-03-11 12:43:45] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 12:43:45] [INFO]   -> Found value: 6751
[2026-03-11 12:43:45] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6751
[2026-03-11 12:43:45] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 12:43:45] [INFO]   -> Found value: TN
[2026-03-11 12:43:45] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 12:43:45] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 12:43:45] [INFO]   -> Found value: 38544
[2026-03-11 12:43:45] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-11 12:43:45] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 12:43:45] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:45] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 12:43:45] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:45] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 12:43:45] [INFO]   -> Found value: 36.18576
[2026-03-11 12:43:45] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1857600000000019235812942497432231903076171875
[2026-03-11 12:43:45] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 12:43:45] [INFO]   -> Found value: -85.63637
[2026-03-11 12:43:45] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.63636999999999943611328490078449249267578125
[2026-03-11 12:43:45] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 12:43:45] [INFO]   -> Found value: 2026-03-11 07:41:32
[2026-03-11 12:43:45] [INFO]   -> Set field 'alarm' = "2026-03-11 07:41:32"
[2026-03-11 12:43:45] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 12:43:45] [INFO]   -> Found value: 2026-03-11 07:42:37
[2026-03-11 12:43:45] [INFO]   -> Set field 'dispatched' = "2026-03-11 07:42:37"
[2026-03-11 12:43:45] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 12:43:45] [INFO]   -> Found value: 2026-03-11 07:43:33
[2026-03-11 12:43:45] [INFO]   -> Set field 'enroute' = "2026-03-11 07:43:33"
[2026-03-11 12:43:45] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 12:43:45] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:45] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 12:43:45] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:45] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 12:43:45] [INFO]   -> Found value: O D RODGERS RD
[2026-03-11 12:43:45] [INFO]   -> Set field 'incidentLocationCross' = "O D RODGERS RD"
[2026-03-11 12:43:45] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 12:43:45] [INFO]   -> Found value: TK31
[2026-03-11 12:43:45] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-11 12:43:45] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 12:43:45] [INFO]   -> Found value: 2026-03-11 07:42:37
[2026-03-11 12:43:45] [INFO]   -> Set field 'timedispatch' = "2026-03-11 07:42:37"
[2026-03-11 12:43:45] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 12:43:45] [INFO]   -> Found value: 2026-03-11 07:43:33
[2026-03-11 12:43:45] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 07:43:33"
[2026-03-11 12:43:45] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 12:43:45] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:45] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 12:43:45] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:45] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 12:43:45] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:45] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 12:43:45] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 12:43:45] [INFO]   -> Found value: 20260026582
[2026-03-11 12:43:45] [INFO]   -> Set field 'policeReportNumber' = "20260026582"
[2026-03-11 12:43:45] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 12:43:45] [INFO]   -> Found value: [EMS] vickie jackson 07/22/1958    slide out of bed  not injuried  lift assist       400 lbs  [03/11...
[2026-03-11 12:43:45] [INFO]   -> Set field 'dispatchNotes' = "[EMS] vickie jackson 07\/22\/1958    slide out of bed  not injuried  lift assist       400 lbs  [03\/11\/26 07:42:27 KELLIS] Event spawned from EMS NON-EMERGENCY.  [03\/11\/2026 07:41:32 KHILL]"
[2026-03-11 12:43:45] [INFO]   -> Set field 'cADLog' = "[EMS] vickie jackson 07\/22\/1958    slide out of bed  not injuried  lift assist       400 lbs  [03\/11\/26 07:42:27 KELLIS] Event spawned from EMS NON-EMERGENCY.  [03\/11\/2026 07:41:32 KHILL]"
[2026-03-11 12:43:45] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 12:43:45] [INFO]   -> Found value: BAXTER
[2026-03-11 12:43:45] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-11 12:43:45] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 12:43:45] [INFO]   -> Found value: BROWN RIDGE
[2026-03-11 12:43:45] [INFO]   -> Set field 'streetName' = "BROWN RIDGE"
[2026-03-11 12:43:45] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 12:43:45] [INFO]   -> Found value: RD
[2026-03-11 12:43:45] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 12:43:45] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 12:43:45] [INFO]   -> Found value: 6751 BROWN RIDGE RD
[2026-03-11 12:43:45] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6751 BROWN RIDGE RD"
[2026-03-11 12:43:45] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 12:43:45] [INFO] Concatenating street name and type
[2026-03-11 12:43:45] [INFO]   -> Combined street name: BROWN RIDGE RD
[2026-03-11 12:43:45] [INFO] Built locationCoordinates from lat/lng: 36.18576,-85.63637
[2026-03-11 12:43:45] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS","incidentInternalId":"2026000664","dispatchRunNumber":"2026000664","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":6751,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1857600000000019235812942497432231903076171875,"nERISIncidentLongitude":-85.63636999999999943611328490078449249267578125,"alarm":"2026-03-11 07:41:32","dispatched":"2026-03-11 07:42:37","enroute":"2026-03-11 07:43:33","incidentLocationCross":"O D RODGERS RD","cADVehicleID":"TK31","timedispatch":"2026-03-11 07:42:37","timeenroutetoscene":"2026-03-11 07:43:33","policeReportNumber":"20260026582","dispatchNotes":"[EMS] vickie jackson 07\/22\/1958    slide out of bed  not injuried  lift assist       400 lbs  [03\/11\/26 07:42:27 KELLIS] Event spawned from EMS NON-EMERGENCY.  [03\/11\/2026 07:41:32 KHILL]","cADLog":"[EMS] vickie jackson 07\/22\/1958    slide out of bed  not injuried  lift assist       400 lbs  [03\/11\/26 07:42:27 KELLIS] Event spawned from EMS NON-EMERGENCY.  [03\/11\/2026 07:41:32 KHILL]","incidentLocationCity":"BAXTER","streetName":"BROWN RIDGE RD","incidentAddressTextVersionStreet":"6751 BROWN RIDGE RD","locationCoordinates":"36.18576,-85.63637"}
[2026-03-11 12:43:45] [INFO] Number of extracted fields: 23
[2026-03-11 12:43:45] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS'
[2026-03-11 12:43:45] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS', Parsed IDs = ["PCFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-11 12:43:45] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS"]
[2026-03-11 12:43:45] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 12:43:45] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 12:43:45] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-11 12:43:45] [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-11 12:43:45] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 12:43:45] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-11 12:43:45] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 12:43:45] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 12:43:45] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2026-03-11 12:43:45] [INFO] Found existing Dispatch with cADNumber '2026000664', ID: 69b1634433ba19b74 - will update instead of create
[2026-03-11 12:43:46] [INFO] Updated existing Dispatches record with ID: 69b1634433ba19b74
[2026-03-11 12:43:46] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026582_20260311_124344.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026582_20260311_124344.XML
[2026-03-11 12:43:46] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026582_20260311_124344.XML
[2026-03-11 12:43:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026582_20260311_124344_1.XML
[2026-03-11 12:43:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026582_20260311_124344_1.XML for user: 68f1466aed072ad4a
[2026-03-11 12:43:46] [INFO] File size: 5125 bytes
[2026-03-11 12:43:47] [INFO] Created FTPFiles record with ID: 69b16383332d72c05
[2026-03-11 12:43:47] [INFO] About to extract fields from XML. File size: 5125 bytes
[2026-03-11 12:43:47] [INFO] Number of mappings: 28
[2026-03-11 12:43:47] [INFO] Starting XML parsing. Content length: 5125
[2026-03-11 12:43:47] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 12:43:47] [INFO] Processing 28 field mappings
[2026-03-11 12:43:47] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 12:43:47] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 12:43:47] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 12:43:47] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-11 12:43:47] [INFO]   -> Found value: PCFD
EMS
[2026-03-11 12:43:47] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS"
[2026-03-11 12:43:47] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 12:43:47] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-11 12:43:47] [INFO]   -> Found value: 2026000664
[2026-03-11 12:43:47] [INFO]   -> Set field 'incidentInternalId' = "2026000664"
[2026-03-11 12:43:47] [INFO]   -> Set field 'dispatchRunNumber' = "2026000664"
[2026-03-11 12:43:47] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 12:43:47] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-03-11 12:43:47] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-03-11 12:43:47] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 12:43:47] [INFO]   -> Found value: 6751
[2026-03-11 12:43:47] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6751
[2026-03-11 12:43:47] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 12:43:47] [INFO]   -> Found value: TN
[2026-03-11 12:43:47] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 12:43:47] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 12:43:47] [INFO]   -> Found value: 38544
[2026-03-11 12:43:47] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-11 12:43:47] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 12:43:47] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:47] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 12:43:47] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:47] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 12:43:47] [INFO]   -> Found value: 36.18576
[2026-03-11 12:43:47] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1857600000000019235812942497432231903076171875
[2026-03-11 12:43:47] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 12:43:47] [INFO]   -> Found value: -85.63637
[2026-03-11 12:43:47] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.63636999999999943611328490078449249267578125
[2026-03-11 12:43:47] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 12:43:47] [INFO]   -> Found value: 2026-03-11 07:41:32
[2026-03-11 12:43:47] [INFO]   -> Set field 'alarm' = "2026-03-11 07:41:32"
[2026-03-11 12:43:47] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 12:43:47] [INFO]   -> Found value: 2026-03-11 07:42:37
[2026-03-11 12:43:47] [INFO]   -> Set field 'dispatched' = "2026-03-11 07:42:37"
[2026-03-11 12:43:47] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 12:43:47] [INFO]   -> Found value: 2026-03-11 07:43:33
[2026-03-11 12:43:47] [INFO]   -> Set field 'enroute' = "2026-03-11 07:43:33"
[2026-03-11 12:43:47] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 12:43:47] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:47] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 12:43:47] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:47] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 12:43:47] [INFO]   -> Found value: O D RODGERS RD
[2026-03-11 12:43:47] [INFO]   -> Set field 'incidentLocationCross' = "O D RODGERS RD"
[2026-03-11 12:43:47] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 12:43:47] [INFO]   -> Found value: TK31
[2026-03-11 12:43:47] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-11 12:43:47] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 12:43:47] [INFO]   -> Found value: 2026-03-11 07:42:37
[2026-03-11 12:43:47] [INFO]   -> Set field 'timedispatch' = "2026-03-11 07:42:37"
[2026-03-11 12:43:47] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 12:43:47] [INFO]   -> Found value: 2026-03-11 07:43:33
[2026-03-11 12:43:47] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 07:43:33"
[2026-03-11 12:43:47] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 12:43:47] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:47] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 12:43:47] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:47] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 12:43:47] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:47] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 12:43:47] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 12:43:47] [INFO]   -> Found value: 20260026582
[2026-03-11 12:43:47] [INFO]   -> Set field 'policeReportNumber' = "20260026582"
[2026-03-11 12:43:47] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 12:43:47] [INFO]   -> Found value: [EMS] vickie jackson 07/22/1958    slide out of bed  not injuried  lift assist       400 lbs  [03/11...
[2026-03-11 12:43:47] [INFO]   -> Set field 'dispatchNotes' = "[EMS] vickie jackson 07\/22\/1958    slide out of bed  not injuried  lift assist       400 lbs  [03\/11\/26 07:42:27 KELLIS] Event spawned from EMS NON-EMERGENCY.  [03\/11\/2026 07:41:32 KHILL]"
[2026-03-11 12:43:47] [INFO]   -> Set field 'cADLog' = "[EMS] vickie jackson 07\/22\/1958    slide out of bed  not injuried  lift assist       400 lbs  [03\/11\/26 07:42:27 KELLIS] Event spawned from EMS NON-EMERGENCY.  [03\/11\/2026 07:41:32 KHILL]"
[2026-03-11 12:43:47] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 12:43:47] [INFO]   -> Found value: BAXTER
[2026-03-11 12:43:47] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-11 12:43:47] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 12:43:47] [INFO]   -> Found value: BROWN RIDGE
[2026-03-11 12:43:47] [INFO]   -> Set field 'streetName' = "BROWN RIDGE"
[2026-03-11 12:43:47] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 12:43:47] [INFO]   -> Found value: RD
[2026-03-11 12:43:47] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 12:43:47] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 12:43:47] [INFO]   -> Found value: 6751 BROWN RIDGE RD
[2026-03-11 12:43:47] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6751 BROWN RIDGE RD"
[2026-03-11 12:43:47] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 12:43:47] [INFO] Concatenating street name and type
[2026-03-11 12:43:47] [INFO]   -> Combined street name: BROWN RIDGE RD
[2026-03-11 12:43:47] [INFO] Built locationCoordinates from lat/lng: 36.18576,-85.63637
[2026-03-11 12:43:47] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS","incidentInternalId":"2026000664","dispatchRunNumber":"2026000664","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":6751,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1857600000000019235812942497432231903076171875,"nERISIncidentLongitude":-85.63636999999999943611328490078449249267578125,"alarm":"2026-03-11 07:41:32","dispatched":"2026-03-11 07:42:37","enroute":"2026-03-11 07:43:33","incidentLocationCross":"O D RODGERS RD","cADVehicleID":"TK31","timedispatch":"2026-03-11 07:42:37","timeenroutetoscene":"2026-03-11 07:43:33","policeReportNumber":"20260026582","dispatchNotes":"[EMS] vickie jackson 07\/22\/1958    slide out of bed  not injuried  lift assist       400 lbs  [03\/11\/26 07:42:27 KELLIS] Event spawned from EMS NON-EMERGENCY.  [03\/11\/2026 07:41:32 KHILL]","cADLog":"[EMS] vickie jackson 07\/22\/1958    slide out of bed  not injuried  lift assist       400 lbs  [03\/11\/26 07:42:27 KELLIS] Event spawned from EMS NON-EMERGENCY.  [03\/11\/2026 07:41:32 KHILL]","incidentLocationCity":"BAXTER","streetName":"BROWN RIDGE RD","incidentAddressTextVersionStreet":"6751 BROWN RIDGE RD","locationCoordinates":"36.18576,-85.63637"}
[2026-03-11 12:43:47] [INFO] Number of extracted fields: 23
[2026-03-11 12:43:47] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS'
[2026-03-11 12:43:47] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS', Parsed IDs = ["PCFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-11 12:43:47] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS"]
[2026-03-11 12:43:47] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 12:43:47] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 12:43:47] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-11 12:43: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-11 12:43: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-11 12:43:47] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-11 12:43:47] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 12:43:47] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 12:43:48] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2026-03-11 12:43:48] [INFO] Found existing Dispatch with cADNumber '2026000664', ID: 69b1634433ba19b74 - will update instead of create
[2026-03-11 12:43:48] [INFO] Updated existing Dispatches record with ID: 69b1634433ba19b74
[2026-03-11 12:43:48] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026582_20260311_124344_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026582_20260311_124344_1.XML
[2026-03-11 12:43:48] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026582_20260311_124344_1.XML
[2026-03-11 12:43:48] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026582_20260311_124344_2.XML
[2026-03-11 12:43:48] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026582_20260311_124344_2.XML for user: 68f1466aed072ad4a
[2026-03-11 12:43:48] [INFO] File size: 5125 bytes
[2026-03-11 12:43:48] [INFO] Created FTPFiles record with ID: 69b16384bb316c24c
[2026-03-11 12:43:48] [INFO] About to extract fields from XML. File size: 5125 bytes
[2026-03-11 12:43:48] [INFO] Number of mappings: 28
[2026-03-11 12:43:48] [INFO] Starting XML parsing. Content length: 5125
[2026-03-11 12:43:48] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 12:43:48] [INFO] Processing 28 field mappings
[2026-03-11 12:43:48] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 12:43:48] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 12:43:48] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 12:43:48] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-11 12:43:48] [INFO]   -> Found value: PCFD
EMS
[2026-03-11 12:43:48] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS"
[2026-03-11 12:43:48] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 12:43:48] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-11 12:43:48] [INFO]   -> Found value: 2026000664
[2026-03-11 12:43:48] [INFO]   -> Set field 'incidentInternalId' = "2026000664"
[2026-03-11 12:43:48] [INFO]   -> Set field 'dispatchRunNumber' = "2026000664"
[2026-03-11 12:43:48] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 12:43:48] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-03-11 12:43:48] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-03-11 12:43:48] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 12:43:48] [INFO]   -> Found value: 6751
[2026-03-11 12:43:48] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6751
[2026-03-11 12:43:48] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 12:43:48] [INFO]   -> Found value: TN
[2026-03-11 12:43:48] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 12:43:48] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 12:43:48] [INFO]   -> Found value: 38544
[2026-03-11 12:43:48] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-11 12:43:48] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 12:43:48] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:48] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 12:43:48] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:48] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 12:43:48] [INFO]   -> Found value: 36.18576
[2026-03-11 12:43:48] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1857600000000019235812942497432231903076171875
[2026-03-11 12:43:48] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 12:43:48] [INFO]   -> Found value: -85.63637
[2026-03-11 12:43:48] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.63636999999999943611328490078449249267578125
[2026-03-11 12:43:48] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 12:43:48] [INFO]   -> Found value: 2026-03-11 07:41:32
[2026-03-11 12:43:48] [INFO]   -> Set field 'alarm' = "2026-03-11 07:41:32"
[2026-03-11 12:43:48] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 12:43:48] [INFO]   -> Found value: 2026-03-11 07:42:37
[2026-03-11 12:43:48] [INFO]   -> Set field 'dispatched' = "2026-03-11 07:42:37"
[2026-03-11 12:43:48] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 12:43:48] [INFO]   -> Found value: 2026-03-11 07:43:33
[2026-03-11 12:43:48] [INFO]   -> Set field 'enroute' = "2026-03-11 07:43:33"
[2026-03-11 12:43:48] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 12:43:48] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:48] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 12:43:48] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:48] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 12:43:48] [INFO]   -> Found value: O D RODGERS RD
[2026-03-11 12:43:48] [INFO]   -> Set field 'incidentLocationCross' = "O D RODGERS RD"
[2026-03-11 12:43:48] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 12:43:48] [INFO]   -> Found value: TK31
[2026-03-11 12:43:48] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-11 12:43:48] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 12:43:48] [INFO]   -> Found value: 2026-03-11 07:42:37
[2026-03-11 12:43:48] [INFO]   -> Set field 'timedispatch' = "2026-03-11 07:42:37"
[2026-03-11 12:43:48] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 12:43:48] [INFO]   -> Found value: 2026-03-11 07:43:33
[2026-03-11 12:43:48] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 07:43:33"
[2026-03-11 12:43:48] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 12:43:48] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:48] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 12:43:48] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:48] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 12:43:48] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:48] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 12:43:48] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 12:43:48] [INFO]   -> Found value: 20260026582
[2026-03-11 12:43:48] [INFO]   -> Set field 'policeReportNumber' = "20260026582"
[2026-03-11 12:43:48] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 12:43:48] [INFO]   -> Found value: [EMS] vickie jackson 07/22/1958    slide out of bed  not injuried  lift assist       400 lbs  [03/11...
[2026-03-11 12:43:48] [INFO]   -> Set field 'dispatchNotes' = "[EMS] vickie jackson 07\/22\/1958    slide out of bed  not injuried  lift assist       400 lbs  [03\/11\/26 07:42:27 KELLIS] Event spawned from EMS NON-EMERGENCY.  [03\/11\/2026 07:41:32 KHILL]"
[2026-03-11 12:43:48] [INFO]   -> Set field 'cADLog' = "[EMS] vickie jackson 07\/22\/1958    slide out of bed  not injuried  lift assist       400 lbs  [03\/11\/26 07:42:27 KELLIS] Event spawned from EMS NON-EMERGENCY.  [03\/11\/2026 07:41:32 KHILL]"
[2026-03-11 12:43:48] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 12:43:48] [INFO]   -> Found value: BAXTER
[2026-03-11 12:43:48] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-11 12:43:48] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 12:43:48] [INFO]   -> Found value: BROWN RIDGE
[2026-03-11 12:43:48] [INFO]   -> Set field 'streetName' = "BROWN RIDGE"
[2026-03-11 12:43:48] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 12:43:48] [INFO]   -> Found value: RD
[2026-03-11 12:43:48] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 12:43:48] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 12:43:48] [INFO]   -> Found value: 6751 BROWN RIDGE RD
[2026-03-11 12:43:48] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6751 BROWN RIDGE RD"
[2026-03-11 12:43:48] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 12:43:48] [INFO] Concatenating street name and type
[2026-03-11 12:43:48] [INFO]   -> Combined street name: BROWN RIDGE RD
[2026-03-11 12:43:48] [INFO] Built locationCoordinates from lat/lng: 36.18576,-85.63637
[2026-03-11 12:43:48] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS","incidentInternalId":"2026000664","dispatchRunNumber":"2026000664","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":6751,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1857600000000019235812942497432231903076171875,"nERISIncidentLongitude":-85.63636999999999943611328490078449249267578125,"alarm":"2026-03-11 07:41:32","dispatched":"2026-03-11 07:42:37","enroute":"2026-03-11 07:43:33","incidentLocationCross":"O D RODGERS RD","cADVehicleID":"TK31","timedispatch":"2026-03-11 07:42:37","timeenroutetoscene":"2026-03-11 07:43:33","policeReportNumber":"20260026582","dispatchNotes":"[EMS] vickie jackson 07\/22\/1958    slide out of bed  not injuried  lift assist       400 lbs  [03\/11\/26 07:42:27 KELLIS] Event spawned from EMS NON-EMERGENCY.  [03\/11\/2026 07:41:32 KHILL]","cADLog":"[EMS] vickie jackson 07\/22\/1958    slide out of bed  not injuried  lift assist       400 lbs  [03\/11\/26 07:42:27 KELLIS] Event spawned from EMS NON-EMERGENCY.  [03\/11\/2026 07:41:32 KHILL]","incidentLocationCity":"BAXTER","streetName":"BROWN RIDGE RD","incidentAddressTextVersionStreet":"6751 BROWN RIDGE RD","locationCoordinates":"36.18576,-85.63637"}
[2026-03-11 12:43:48] [INFO] Number of extracted fields: 23
[2026-03-11 12:43:48] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS'
[2026-03-11 12:43:48] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS', Parsed IDs = ["PCFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-11 12:43:48] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS"]
[2026-03-11 12:43:48] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 12:43:48] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 12:43:48] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-11 12:43:49] [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-11 12:43:49] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 12:43:49] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-11 12:43:49] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 12:43:49] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 12:43:49] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2026-03-11 12:43:49] [INFO] Found existing Dispatch with cADNumber '2026000664', ID: 69b1634433ba19b74 - will update instead of create
[2026-03-11 12:43:49] [INFO] Updated existing Dispatches record with ID: 69b1634433ba19b74
[2026-03-11 12:43:49] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026582_20260311_124344_2.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026582_20260311_124344_2.XML
[2026-03-11 12:43:49] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026582_20260311_124344_2.XML
[2026-03-11 12:43:49] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026582_20260311_124347.XML
[2026-03-11 12:43:49] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026582_20260311_124347.XML for user: 68f1466aed072ad4a
[2026-03-11 12:43:49] [INFO] File size: 5125 bytes
[2026-03-11 12:43:49] [INFO] Created FTPFiles record with ID: 69b16385e1ad4244f
[2026-03-11 12:43:49] [INFO] About to extract fields from XML. File size: 5125 bytes
[2026-03-11 12:43:49] [INFO] Number of mappings: 28
[2026-03-11 12:43:49] [INFO] Starting XML parsing. Content length: 5125
[2026-03-11 12:43:49] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 12:43:49] [INFO] Processing 28 field mappings
[2026-03-11 12:43:49] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 12:43:49] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 12:43:49] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 12:43:49] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-11 12:43:49] [INFO]   -> Found value: PCFD
EMS
[2026-03-11 12:43:49] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS"
[2026-03-11 12:43:49] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 12:43:49] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-11 12:43:49] [INFO]   -> Found value: 2026000664
[2026-03-11 12:43:49] [INFO]   -> Set field 'incidentInternalId' = "2026000664"
[2026-03-11 12:43:49] [INFO]   -> Set field 'dispatchRunNumber' = "2026000664"
[2026-03-11 12:43:49] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 12:43:49] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-03-11 12:43:49] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-03-11 12:43:49] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 12:43:49] [INFO]   -> Found value: 6751
[2026-03-11 12:43:49] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6751
[2026-03-11 12:43:49] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 12:43:49] [INFO]   -> Found value: TN
[2026-03-11 12:43:49] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 12:43:49] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 12:43:49] [INFO]   -> Found value: 38544
[2026-03-11 12:43:49] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-11 12:43:49] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 12:43:49] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:49] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 12:43:49] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:49] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 12:43:49] [INFO]   -> Found value: 36.18576
[2026-03-11 12:43:49] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1857600000000019235812942497432231903076171875
[2026-03-11 12:43:49] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 12:43:49] [INFO]   -> Found value: -85.63637
[2026-03-11 12:43:49] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.63636999999999943611328490078449249267578125
[2026-03-11 12:43:49] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 12:43:49] [INFO]   -> Found value: 2026-03-11 07:41:32
[2026-03-11 12:43:49] [INFO]   -> Set field 'alarm' = "2026-03-11 07:41:32"
[2026-03-11 12:43:49] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 12:43:49] [INFO]   -> Found value: 2026-03-11 07:42:37
[2026-03-11 12:43:49] [INFO]   -> Set field 'dispatched' = "2026-03-11 07:42:37"
[2026-03-11 12:43:49] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 12:43:49] [INFO]   -> Found value: 2026-03-11 07:43:33
[2026-03-11 12:43:49] [INFO]   -> Set field 'enroute' = "2026-03-11 07:43:33"
[2026-03-11 12:43:49] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 12:43:49] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:49] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 12:43:49] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:49] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 12:43:49] [INFO]   -> Found value: O D RODGERS RD
[2026-03-11 12:43:49] [INFO]   -> Set field 'incidentLocationCross' = "O D RODGERS RD"
[2026-03-11 12:43:49] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 12:43:49] [INFO]   -> Found value: TK31
[2026-03-11 12:43:49] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-11 12:43:49] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 12:43:49] [INFO]   -> Found value: 2026-03-11 07:42:37
[2026-03-11 12:43:49] [INFO]   -> Set field 'timedispatch' = "2026-03-11 07:42:37"
[2026-03-11 12:43:49] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 12:43:49] [INFO]   -> Found value: 2026-03-11 07:43:33
[2026-03-11 12:43:49] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 07:43:33"
[2026-03-11 12:43:49] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 12:43:49] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:49] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 12:43:49] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:49] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 12:43:49] [INFO]   -> No value found (null or empty)
[2026-03-11 12:43:49] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 12:43:49] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 12:43:49] [INFO]   -> Found value: 20260026582
[2026-03-11 12:43:49] [INFO]   -> Set field 'policeReportNumber' = "20260026582"
[2026-03-11 12:43:49] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 12:43:49] [INFO]   -> Found value: [EMS] vickie jackson 07/22/1958    slide out of bed  not injuried  lift assist       400 lbs  [03/11...
[2026-03-11 12:43:49] [INFO]   -> Set field 'dispatchNotes' = "[EMS] vickie jackson 07\/22\/1958    slide out of bed  not injuried  lift assist       400 lbs  [03\/11\/26 07:42:27 KELLIS] Event spawned from EMS NON-EMERGENCY.  [03\/11\/2026 07:41:32 KHILL]"
[2026-03-11 12:43:49] [INFO]   -> Set field 'cADLog' = "[EMS] vickie jackson 07\/22\/1958    slide out of bed  not injuried  lift assist       400 lbs  [03\/11\/26 07:42:27 KELLIS] Event spawned from EMS NON-EMERGENCY.  [03\/11\/2026 07:41:32 KHILL]"
[2026-03-11 12:43:49] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 12:43:49] [INFO]   -> Found value: BAXTER
[2026-03-11 12:43:49] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-11 12:43:49] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 12:43:49] [INFO]   -> Found value: BROWN RIDGE
[2026-03-11 12:43:49] [INFO]   -> Set field 'streetName' = "BROWN RIDGE"
[2026-03-11 12:43:49] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 12:43:49] [INFO]   -> Found value: RD
[2026-03-11 12:43:49] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 12:43:49] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 12:43:49] [INFO]   -> Found value: 6751 BROWN RIDGE RD
[2026-03-11 12:43:49] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6751 BROWN RIDGE RD"
[2026-03-11 12:43:49] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 12:43:49] [INFO] Concatenating street name and type
[2026-03-11 12:43:49] [INFO]   -> Combined street name: BROWN RIDGE RD
[2026-03-11 12:43:49] [INFO] Built locationCoordinates from lat/lng: 36.18576,-85.63637
[2026-03-11 12:43:49] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS","incidentInternalId":"2026000664","dispatchRunNumber":"2026000664","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":6751,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1857600000000019235812942497432231903076171875,"nERISIncidentLongitude":-85.63636999999999943611328490078449249267578125,"alarm":"2026-03-11 07:41:32","dispatched":"2026-03-11 07:42:37","enroute":"2026-03-11 07:43:33","incidentLocationCross":"O D RODGERS RD","cADVehicleID":"TK31","timedispatch":"2026-03-11 07:42:37","timeenroutetoscene":"2026-03-11 07:43:33","policeReportNumber":"20260026582","dispatchNotes":"[EMS] vickie jackson 07\/22\/1958    slide out of bed  not injuried  lift assist       400 lbs  [03\/11\/26 07:42:27 KELLIS] Event spawned from EMS NON-EMERGENCY.  [03\/11\/2026 07:41:32 KHILL]","cADLog":"[EMS] vickie jackson 07\/22\/1958    slide out of bed  not injuried  lift assist       400 lbs  [03\/11\/26 07:42:27 KELLIS] Event spawned from EMS NON-EMERGENCY.  [03\/11\/2026 07:41:32 KHILL]","incidentLocationCity":"BAXTER","streetName":"BROWN RIDGE RD","incidentAddressTextVersionStreet":"6751 BROWN RIDGE RD","locationCoordinates":"36.18576,-85.63637"}
[2026-03-11 12:43:49] [INFO] Number of extracted fields: 23
[2026-03-11 12:43:49] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS'
[2026-03-11 12:43:49] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS', Parsed IDs = ["PCFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-11 12:43:49] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS"]
[2026-03-11 12:43:49] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 12:43:50] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 12:43:50] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-11 12:43:50] [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-11 12:43:50] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 12:43:50] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-11 12:43:50] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 12:43:50] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 12:43:50] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2026-03-11 12:43:50] [INFO] Found existing Dispatch with cADNumber '2026000664', ID: 69b1634433ba19b74 - will update instead of create
[2026-03-11 12:43:50] [INFO] Updated existing Dispatches record with ID: 69b1634433ba19b74
[2026-03-11 12:43:50] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026582_20260311_124347.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026582_20260311_124347.XML
[2026-03-11 12:43:50] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026582_20260311_124347.XML
[2026-03-11 13:14:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091431807.xml
[2026-03-11 13:14:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091431807.xml for user: 68920395733981a47
[2026-03-11 13:14:32] [INFO] File size: 5107 bytes
[2026-03-11 13:14:32] [INFO] Created FTPFiles record with ID: 69b16ab87080a69a5
[2026-03-11 13:14:32] [INFO] About to extract fields from XML. File size: 5107 bytes
[2026-03-11 13:14:32] [INFO] Number of mappings: 24
[2026-03-11 13:14:32] [INFO] Starting XML parsing. Content length: 5107
[2026-03-11 13:14:32] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 13:14:32] [INFO] Processing 24 field mappings
[2026-03-11 13:14:32] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 13:14:32] [INFO]   -> Found value: SICK-Sick Person
[2026-03-11 13:14:32] [INFO]   -> Set field 'incidentTypeValue1' = "SICK-Sick Person"
[2026-03-11 13:14:32] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 13:14:32] [INFO]   -> Found value: ,2200 GREEN POND RD
[2026-03-11 13:14:32] [INFO]   -> Set field 'businessName' = ",2200 GREEN POND RD"
[2026-03-11 13:14:32] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 13:14:32] [INFO]   -> Found value: 37379
[2026-03-11 13:14:32] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 13:14:32] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 13:14:32] [INFO]   -> Found value: 2200
[2026-03-11 13:14:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2200
[2026-03-11 13:14:32] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 13:14:32] [INFO]   -> Found value: GREEN POND
[2026-03-11 13:14:32] [INFO]   -> Set field 'streetName' = "GREEN POND"
[2026-03-11 13:14:32] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 13:14:32] [INFO]   -> Found value: DODD CEMETERY RD/HIXSON PIKE
[2026-03-11 13:14:32] [INFO]   -> Set field 'incidentLocationCross' = "DODD CEMETERY RD\/HIXSON PIKE"
[2026-03-11 13:14:32] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 13:14:32] [INFO]   -> Found value: 2026-03-11T09:14:31.343-04:00
[2026-03-11 13:14:32] [INFO]   -> Set field 'alarm' = "2026-03-11 13:14:31"
[2026-03-11 13:14:32] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 13:14:32] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:14:32] [INFO]   -> Set field 'enroute' = null
[2026-03-11 13:14:32] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 13:14:32] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:14:32] [INFO]   -> Set field 'onScene' = null
[2026-03-11 13:14:32] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 13:14:32] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:14:32] [INFO]   -> Set field 'cleared' = null
[2026-03-11 13:14:32] [INFO]   -> Set field 'inService' = null
[2026-03-11 13:14:32] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 13:14:32] [INFO]   -> Found value: 35.242264999999996
[2026-03-11 13:14:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24226499999999617784851579926908016204833984375
[2026-03-11 13:14:32] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 13:14:32] [INFO]   -> Found value: -85.11359
[2026-03-11 13:14:32] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1135900000000020781953935511410236358642578125
[2026-03-11 13:14:32] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 13:14:32] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:14:32] [INFO]   -> Set field 'dispatched' = null
[2026-03-11 13:14:32] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 13:14:32] [INFO]   -> No value found (null or empty)
[2026-03-11 13:14:32] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 13:14:32] [INFO]   -> No value found (null or empty)
[2026-03-11 13:14:32] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 13:14:32] [INFO]   -> No value found (null or empty)
[2026-03-11 13:14:32] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 13:14:32] [INFO]   -> No value found (null or empty)
[2026-03-11 13:14:32] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 13:14:32] [INFO]   -> No value found (null or empty)
[2026-03-11 13:14:32] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 13:14:32] [INFO]   -> No value found (null or empty)
[2026-03-11 13:14:32] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 13:14:32] [INFO]   -> Found value: RD
[2026-03-11 13:14:32] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 13:14:32] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 13:14:32] [INFO]   -> No value found (null or empty)
[2026-03-11 13:14:32] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 13:14:32] [INFO]   -> Found value: 2026-03-15548
[2026-03-11 13:14:32] [INFO]   -> Set field 'policeReportNumber' = "2026-03-15548"
[2026-03-11 13:14:32] [INFO]   -> Set field 'cADNumber' = "2026-03-15548"
[2026-03-11 13:14:32] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 13:14:32] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 13:14:32] [INFO] Found 2 elements for 'Comment', concatenating 2 non-empty values
[2026-03-11 13:14:32] [INFO]   -> Found value: 03/11/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]
03/11/2026 ...
[2026-03-11 13:14:32] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547"
[2026-03-11 13:14:32] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547"
[2026-03-11 13:14:32] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 13:14:32] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 13:14:32] [INFO]   -> Found value: SFD
[2026-03-11 13:14:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-11 13:14:32] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 13:14:32] [INFO] Concatenating street name and type
[2026-03-11 13:14:32] [INFO]   -> Combined street name: GREEN POND RD
[2026-03-11 13:14:32] [INFO] Built locationCoordinates from lat/lng: 35.242265,-85.11359
[2026-03-11 13:14:32] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SICK-Sick Person","businessName":",2200 GREEN POND RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":2200,"streetName":"GREEN POND RD","incidentLocationCross":"DODD CEMETERY RD\/HIXSON PIKE","alarm":"2026-03-11 13:14:31","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24226499999999617784851579926908016204833984375,"nERISIncidentLongitude":-85.1135900000000020781953935511410236358642578125,"dispatched":null,"policeReportNumber":"2026-03-15548","cADNumber":"2026-03-15548","dispatchNotes":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547","cADLog":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547","cADAgencyIdentifier":"SFD","locationCoordinates":"35.242265,-85.11359"}
[2026-03-11 13:14:32] [INFO] Number of extracted fields: 20
[2026-03-11 13:14:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-11 13:14:32] [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-11 13:14:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-11 13:14:32] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 13:14:32] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 13:14:32] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 13:14:32] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 13:14:32] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 13:14:33] [INFO] Found existing IncidentTypeMapping with ID: 695bec4ad5612a4c9
[2026-03-11 13:14:35] [INFO] Created new Dispatches record with ID: 69b16ab963443f0a6
[2026-03-11 13:14:35] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 13:14:36] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 13:14:40] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-15548_20260311091431807.xml
[2026-03-11 13:14:40] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091431807.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-15548_20260311091431807.xml
[2026-03-11 13:14:40] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091431807.xml
[2026-03-11 13:14:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091441924.xml
[2026-03-11 13:14:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091441924.xml for user: 68920395733981a47
[2026-03-11 13:14:42] [INFO] File size: 5508 bytes
[2026-03-11 13:14:42] [INFO] Created FTPFiles record with ID: 69b16ac2542730c29
[2026-03-11 13:14:42] [INFO] About to extract fields from XML. File size: 5508 bytes
[2026-03-11 13:14:42] [INFO] Number of mappings: 24
[2026-03-11 13:14:42] [INFO] Starting XML parsing. Content length: 5508
[2026-03-11 13:14:42] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 13:14:42] [INFO] Processing 24 field mappings
[2026-03-11 13:14:42] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 13:14:42] [INFO]   -> Found value: SICK-Sick Person
[2026-03-11 13:14:42] [INFO]   -> Set field 'incidentTypeValue1' = "SICK-Sick Person"
[2026-03-11 13:14:42] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 13:14:42] [INFO]   -> Found value: ,2200 GREEN POND RD
[2026-03-11 13:14:42] [INFO]   -> Set field 'businessName' = ",2200 GREEN POND RD"
[2026-03-11 13:14:42] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 13:14:42] [INFO]   -> Found value: 37379
[2026-03-11 13:14:42] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 13:14:42] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 13:14:42] [INFO]   -> Found value: 2200
[2026-03-11 13:14:42] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2200
[2026-03-11 13:14:42] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 13:14:42] [INFO]   -> Found value: GREEN POND
[2026-03-11 13:14:42] [INFO]   -> Set field 'streetName' = "GREEN POND"
[2026-03-11 13:14:42] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 13:14:42] [INFO]   -> Found value: DODD CEMETERY RD/HIXSON PIKE
[2026-03-11 13:14:42] [INFO]   -> Set field 'incidentLocationCross' = "DODD CEMETERY RD\/HIXSON PIKE"
[2026-03-11 13:14:42] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 13:14:42] [INFO]   -> Found value: 2026-03-11T09:14:31.343-04:00
[2026-03-11 13:14:42] [INFO]   -> Set field 'alarm' = "2026-03-11 13:14:31"
[2026-03-11 13:14:42] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 13:14:42] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:14:42] [INFO]   -> Set field 'enroute' = null
[2026-03-11 13:14:42] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 13:14:42] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:14:42] [INFO]   -> Set field 'onScene' = null
[2026-03-11 13:14:42] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 13:14:42] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:14:42] [INFO]   -> Set field 'cleared' = null
[2026-03-11 13:14:42] [INFO]   -> Set field 'inService' = null
[2026-03-11 13:14:42] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 13:14:42] [INFO]   -> Found value: 35.242264999999996
[2026-03-11 13:14:42] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24226499999999617784851579926908016204833984375
[2026-03-11 13:14:42] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 13:14:42] [INFO]   -> Found value: -85.11359
[2026-03-11 13:14:42] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1135900000000020781953935511410236358642578125
[2026-03-11 13:14:42] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 13:14:42] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:14:42] [INFO]   -> Set field 'dispatched' = null
[2026-03-11 13:14:42] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 13:14:42] [INFO]   -> No value found (null or empty)
[2026-03-11 13:14:42] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 13:14:42] [INFO]   -> No value found (null or empty)
[2026-03-11 13:14:42] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 13:14:42] [INFO]   -> No value found (null or empty)
[2026-03-11 13:14:42] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 13:14:42] [INFO]   -> No value found (null or empty)
[2026-03-11 13:14:42] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 13:14:42] [INFO]   -> No value found (null or empty)
[2026-03-11 13:14:42] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 13:14:42] [INFO]   -> No value found (null or empty)
[2026-03-11 13:14:42] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 13:14:42] [INFO]   -> Found value: RD
[2026-03-11 13:14:42] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 13:14:42] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 13:14:42] [INFO]   -> No value found (null or empty)
[2026-03-11 13:14:42] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 13:14:42] [INFO]   -> Found value: 2026-03-15548
[2026-03-11 13:14:42] [INFO]   -> Set field 'policeReportNumber' = "2026-03-15548"
[2026-03-11 13:14:42] [INFO]   -> Set field 'cADNumber' = "2026-03-15548"
[2026-03-11 13:14:42] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 13:14:42] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 13:14:42] [INFO] Found 4 elements for 'Comment', concatenating 4 non-empty values
[2026-03-11 13:14:42] [INFO]   -> Found value: 03/11/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]
03/11/2026 ...
[2026-03-11 13:14:42] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:14:42] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:14:42] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 13:14:42] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 13:14:42] [INFO]   -> Found value: SFD
[2026-03-11 13:14:42] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-11 13:14:42] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 13:14:42] [INFO] Concatenating street name and type
[2026-03-11 13:14:42] [INFO]   -> Combined street name: GREEN POND RD
[2026-03-11 13:14:42] [INFO] Built locationCoordinates from lat/lng: 35.242265,-85.11359
[2026-03-11 13:14:42] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SICK-Sick Person","businessName":",2200 GREEN POND RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":2200,"streetName":"GREEN POND RD","incidentLocationCross":"DODD CEMETERY RD\/HIXSON PIKE","alarm":"2026-03-11 13:14:31","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24226499999999617784851579926908016204833984375,"nERISIncidentLongitude":-85.1135900000000020781953935511410236358642578125,"dispatched":null,"policeReportNumber":"2026-03-15548","cADNumber":"2026-03-15548","dispatchNotes":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADLog":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.242265,-85.11359"}
[2026-03-11 13:14:42] [INFO] Number of extracted fields: 20
[2026-03-11 13:14:42] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-11 13:14:42] [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-11 13:14:42] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-11 13:14:42] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 13:14:42] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 13:14:42] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 13:14:42] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 13:14:42] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 13:14:42] [INFO] Found existing IncidentTypeMapping with ID: 695bec4ad5612a4c9
[2026-03-11 13:14:43] [INFO] Found existing Dispatch with cADNumber '2026-03-15548', ID: 69b16ab963443f0a6 - will update instead of create
[2026-03-11 13:14:43] [INFO] Updated existing Dispatches record with ID: 69b16ab963443f0a6
[2026-03-11 13:14:43] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 13:14:43] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 13:14:47] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-15548_20260311091441924.xml
[2026-03-11 13:14:47] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091441924.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-15548_20260311091441924.xml
[2026-03-11 13:14:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091441924.xml
[2026-03-11 13:14:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091452074.xml
[2026-03-11 13:14:52] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091452074.xml for user: 68920395733981a47
[2026-03-11 13:14:52] [INFO] File size: 5711 bytes
[2026-03-11 13:14:52] [INFO] Created FTPFiles record with ID: 69b16acc760029058
[2026-03-11 13:14:52] [INFO] About to extract fields from XML. File size: 5711 bytes
[2026-03-11 13:14:52] [INFO] Number of mappings: 24
[2026-03-11 13:14:52] [INFO] Starting XML parsing. Content length: 5711
[2026-03-11 13:14:52] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 13:14:52] [INFO] Processing 24 field mappings
[2026-03-11 13:14:52] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 13:14:52] [INFO]   -> Found value: SICK-Sick Person
[2026-03-11 13:14:52] [INFO]   -> Set field 'incidentTypeValue1' = "SICK-Sick Person"
[2026-03-11 13:14:52] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 13:14:52] [INFO]   -> Found value: ,2200 GREEN POND RD
[2026-03-11 13:14:52] [INFO]   -> Set field 'businessName' = ",2200 GREEN POND RD"
[2026-03-11 13:14:52] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 13:14:52] [INFO]   -> Found value: 37379
[2026-03-11 13:14:52] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 13:14:52] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 13:14:52] [INFO]   -> Found value: 2200
[2026-03-11 13:14:52] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2200
[2026-03-11 13:14:52] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 13:14:52] [INFO]   -> Found value: GREEN POND
[2026-03-11 13:14:52] [INFO]   -> Set field 'streetName' = "GREEN POND"
[2026-03-11 13:14:52] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 13:14:52] [INFO]   -> Found value: DODD CEMETERY RD/HIXSON PIKE
[2026-03-11 13:14:52] [INFO]   -> Set field 'incidentLocationCross' = "DODD CEMETERY RD\/HIXSON PIKE"
[2026-03-11 13:14:52] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 13:14:52] [INFO]   -> Found value: 2026-03-11T09:14:31.343-04:00
[2026-03-11 13:14:52] [INFO]   -> Set field 'alarm' = "2026-03-11 13:14:31"
[2026-03-11 13:14:52] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 13:14:52] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:14:52] [INFO]   -> Set field 'enroute' = null
[2026-03-11 13:14:52] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 13:14:52] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:14:52] [INFO]   -> Set field 'onScene' = null
[2026-03-11 13:14:52] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 13:14:52] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:14:52] [INFO]   -> Set field 'cleared' = null
[2026-03-11 13:14:52] [INFO]   -> Set field 'inService' = null
[2026-03-11 13:14:52] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 13:14:52] [INFO]   -> Found value: 35.242264999999996
[2026-03-11 13:14:52] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24226499999999617784851579926908016204833984375
[2026-03-11 13:14:52] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 13:14:52] [INFO]   -> Found value: -85.11359
[2026-03-11 13:14:52] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1135900000000020781953935511410236358642578125
[2026-03-11 13:14:52] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 13:14:52] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:14:52] [INFO]   -> Set field 'dispatched' = null
[2026-03-11 13:14:52] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 13:14:52] [INFO]   -> No value found (null or empty)
[2026-03-11 13:14:52] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 13:14:52] [INFO]   -> No value found (null or empty)
[2026-03-11 13:14:52] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 13:14:52] [INFO]   -> No value found (null or empty)
[2026-03-11 13:14:52] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 13:14:52] [INFO]   -> No value found (null or empty)
[2026-03-11 13:14:52] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 13:14:52] [INFO]   -> No value found (null or empty)
[2026-03-11 13:14:52] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 13:14:52] [INFO]   -> No value found (null or empty)
[2026-03-11 13:14:52] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 13:14:52] [INFO]   -> Found value: RD
[2026-03-11 13:14:52] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 13:14:52] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 13:14:52] [INFO]   -> No value found (null or empty)
[2026-03-11 13:14:52] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 13:14:52] [INFO]   -> Found value: 2026-03-15548
[2026-03-11 13:14:52] [INFO]   -> Set field 'policeReportNumber' = "2026-03-15548"
[2026-03-11 13:14:52] [INFO]   -> Set field 'cADNumber' = "2026-03-15548"
[2026-03-11 13:14:52] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 13:14:52] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 13:14:52] [INFO] Found 5 elements for 'Comment', concatenating 5 non-empty values
[2026-03-11 13:14:52] [INFO]   -> Found value: 03/11/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]
03/11/2026 ...
[2026-03-11 13:14:52] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:14:52] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:14:52] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 13:14:52] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 13:14:52] [INFO]   -> Found value: SFD
[2026-03-11 13:14:52] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-11 13:14:52] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 13:14:52] [INFO] Concatenating street name and type
[2026-03-11 13:14:52] [INFO]   -> Combined street name: GREEN POND RD
[2026-03-11 13:14:52] [INFO] Built locationCoordinates from lat/lng: 35.242265,-85.11359
[2026-03-11 13:14:52] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SICK-Sick Person","businessName":",2200 GREEN POND RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":2200,"streetName":"GREEN POND RD","incidentLocationCross":"DODD CEMETERY RD\/HIXSON PIKE","alarm":"2026-03-11 13:14:31","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24226499999999617784851579926908016204833984375,"nERISIncidentLongitude":-85.1135900000000020781953935511410236358642578125,"dispatched":null,"policeReportNumber":"2026-03-15548","cADNumber":"2026-03-15548","dispatchNotes":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADLog":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.242265,-85.11359"}
[2026-03-11 13:14:52] [INFO] Number of extracted fields: 20
[2026-03-11 13:14:52] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-11 13:14:52] [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-11 13:14:52] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-11 13:14:52] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 13:14:52] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 13:14:52] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 13:14:52] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 13:14:52] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 13:14:53] [INFO] Found existing IncidentTypeMapping with ID: 695bec4ad5612a4c9
[2026-03-11 13:14:53] [INFO] Found existing Dispatch with cADNumber '2026-03-15548', ID: 69b16ab963443f0a6 - will update instead of create
[2026-03-11 13:14:53] [INFO] Updated existing Dispatches record with ID: 69b16ab963443f0a6
[2026-03-11 13:14:53] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 13:14:53] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 13:14:56] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-15548_20260311091452074.xml
[2026-03-11 13:14:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091452074.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-15548_20260311091452074.xml
[2026-03-11 13:14:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091452074.xml
[2026-03-11 13:15:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091517296.xml
[2026-03-11 13:15:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091517296.xml for user: 68920395733981a47
[2026-03-11 13:15:17] [INFO] File size: 5915 bytes
[2026-03-11 13:15:17] [INFO] Created FTPFiles record with ID: 69b16ae5b428e16ca
[2026-03-11 13:15:17] [INFO] About to extract fields from XML. File size: 5915 bytes
[2026-03-11 13:15:17] [INFO] Number of mappings: 24
[2026-03-11 13:15:17] [INFO] Starting XML parsing. Content length: 5915
[2026-03-11 13:15:17] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 13:15:17] [INFO] Processing 24 field mappings
[2026-03-11 13:15:17] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 13:15:17] [INFO]   -> Found value: SICK-Sick Person
[2026-03-11 13:15:17] [INFO]   -> Set field 'incidentTypeValue1' = "SICK-Sick Person"
[2026-03-11 13:15:17] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 13:15:17] [INFO]   -> Found value: ,2200 GREEN POND RD
[2026-03-11 13:15:17] [INFO]   -> Set field 'businessName' = ",2200 GREEN POND RD"
[2026-03-11 13:15:17] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 13:15:17] [INFO]   -> Found value: 37379
[2026-03-11 13:15:17] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 13:15:17] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 13:15:17] [INFO]   -> Found value: 2200
[2026-03-11 13:15:17] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2200
[2026-03-11 13:15:17] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 13:15:17] [INFO]   -> Found value: GREEN POND
[2026-03-11 13:15:17] [INFO]   -> Set field 'streetName' = "GREEN POND"
[2026-03-11 13:15:17] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 13:15:17] [INFO]   -> Found value: DODD CEMETERY RD/HIXSON PIKE
[2026-03-11 13:15:17] [INFO]   -> Set field 'incidentLocationCross' = "DODD CEMETERY RD\/HIXSON PIKE"
[2026-03-11 13:15:17] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 13:15:17] [INFO]   -> Found value: 2026-03-11T09:14:31.343-04:00
[2026-03-11 13:15:17] [INFO]   -> Set field 'alarm' = "2026-03-11 13:14:31"
[2026-03-11 13:15:17] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 13:15:17] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:17] [INFO]   -> Set field 'enroute' = null
[2026-03-11 13:15:17] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 13:15:17] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:17] [INFO]   -> Set field 'onScene' = null
[2026-03-11 13:15:17] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 13:15:17] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:17] [INFO]   -> Set field 'cleared' = null
[2026-03-11 13:15:17] [INFO]   -> Set field 'inService' = null
[2026-03-11 13:15:17] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 13:15:17] [INFO]   -> Found value: 35.242264999999996
[2026-03-11 13:15:17] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24226499999999617784851579926908016204833984375
[2026-03-11 13:15:17] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 13:15:17] [INFO]   -> Found value: -85.11359
[2026-03-11 13:15:17] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1135900000000020781953935511410236358642578125
[2026-03-11 13:15:17] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 13:15:17] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:17] [INFO]   -> Set field 'dispatched' = null
[2026-03-11 13:15:17] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 13:15:17] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:17] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 13:15:17] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:17] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 13:15:17] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:17] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 13:15:17] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:17] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 13:15:17] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:17] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 13:15:17] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:17] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 13:15:17] [INFO]   -> Found value: RD
[2026-03-11 13:15:17] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 13:15:17] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 13:15:17] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:17] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 13:15:17] [INFO]   -> Found value: 2026-03-15548
[2026-03-11 13:15:17] [INFO]   -> Set field 'policeReportNumber' = "2026-03-15548"
[2026-03-11 13:15:17] [INFO]   -> Set field 'cADNumber' = "2026-03-15548"
[2026-03-11 13:15:17] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 13:15:17] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 13:15:17] [INFO] Found 6 elements for 'Comment', concatenating 6 non-empty values
[2026-03-11 13:15:17] [INFO]   -> Found value: 03/11/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]
03/11/2026 ...
[2026-03-11 13:15:17] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:15:17] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:15:17] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 13:15:17] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 13:15:17] [INFO]   -> Found value: SFD
[2026-03-11 13:15:17] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-11 13:15:17] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 13:15:17] [INFO] Concatenating street name and type
[2026-03-11 13:15:17] [INFO]   -> Combined street name: GREEN POND RD
[2026-03-11 13:15:17] [INFO] Built locationCoordinates from lat/lng: 35.242265,-85.11359
[2026-03-11 13:15:17] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SICK-Sick Person","businessName":",2200 GREEN POND RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":2200,"streetName":"GREEN POND RD","incidentLocationCross":"DODD CEMETERY RD\/HIXSON PIKE","alarm":"2026-03-11 13:14:31","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24226499999999617784851579926908016204833984375,"nERISIncidentLongitude":-85.1135900000000020781953935511410236358642578125,"dispatched":null,"policeReportNumber":"2026-03-15548","cADNumber":"2026-03-15548","dispatchNotes":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADLog":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.242265,-85.11359"}
[2026-03-11 13:15:17] [INFO] Number of extracted fields: 20
[2026-03-11 13:15:17] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-11 13:15:17] [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-11 13:15:17] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-11 13:15:17] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 13:15:18] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 13:15:18] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 13:15:18] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 13:15:18] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 13:15:18] [INFO] Found existing IncidentTypeMapping with ID: 695bec4ad5612a4c9
[2026-03-11 13:15:18] [INFO] Found existing Dispatch with cADNumber '2026-03-15548', ID: 69b16ab963443f0a6 - will update instead of create
[2026-03-11 13:15:18] [INFO] Updated existing Dispatches record with ID: 69b16ab963443f0a6
[2026-03-11 13:15:18] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 13:15:18] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 13:15:22] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-15548_20260311091517296.xml
[2026-03-11 13:15:22] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091517296.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-15548_20260311091517296.xml
[2026-03-11 13:15:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091517296.xml
[2026-03-11 13:15:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091532504.xml
[2026-03-11 13:15:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091532504.xml for user: 68920395733981a47
[2026-03-11 13:15:32] [INFO] File size: 6050 bytes
[2026-03-11 13:15:32] [INFO] Created FTPFiles record with ID: 69b16af4e09a1232e
[2026-03-11 13:15:32] [INFO] About to extract fields from XML. File size: 6050 bytes
[2026-03-11 13:15:32] [INFO] Number of mappings: 24
[2026-03-11 13:15:32] [INFO] Starting XML parsing. Content length: 6050
[2026-03-11 13:15:32] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 13:15:32] [INFO] Processing 24 field mappings
[2026-03-11 13:15:32] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 13:15:32] [INFO]   -> Found value: SICK-Sick Person
[2026-03-11 13:15:32] [INFO]   -> Set field 'incidentTypeValue1' = "SICK-Sick Person"
[2026-03-11 13:15:32] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 13:15:32] [INFO]   -> Found value: ,2200 GREEN POND RD
[2026-03-11 13:15:32] [INFO]   -> Set field 'businessName' = ",2200 GREEN POND RD"
[2026-03-11 13:15:32] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 13:15:32] [INFO]   -> Found value: 37379
[2026-03-11 13:15:32] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 13:15:32] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 13:15:32] [INFO]   -> Found value: 2200
[2026-03-11 13:15:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2200
[2026-03-11 13:15:32] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 13:15:32] [INFO]   -> Found value: GREEN POND
[2026-03-11 13:15:32] [INFO]   -> Set field 'streetName' = "GREEN POND"
[2026-03-11 13:15:32] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 13:15:32] [INFO]   -> Found value: DODD CEMETERY RD/HIXSON PIKE
[2026-03-11 13:15:32] [INFO]   -> Set field 'incidentLocationCross' = "DODD CEMETERY RD\/HIXSON PIKE"
[2026-03-11 13:15:32] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 13:15:32] [INFO]   -> Found value: 2026-03-11T09:14:31.343-04:00
[2026-03-11 13:15:32] [INFO]   -> Set field 'alarm' = "2026-03-11 13:14:31"
[2026-03-11 13:15:32] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 13:15:32] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:32] [INFO]   -> Set field 'enroute' = null
[2026-03-11 13:15:32] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 13:15:32] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:32] [INFO]   -> Set field 'onScene' = null
[2026-03-11 13:15:32] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 13:15:32] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:32] [INFO]   -> Set field 'cleared' = null
[2026-03-11 13:15:32] [INFO]   -> Set field 'inService' = null
[2026-03-11 13:15:32] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 13:15:32] [INFO]   -> Found value: 35.242264999999996
[2026-03-11 13:15:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24226499999999617784851579926908016204833984375
[2026-03-11 13:15:32] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 13:15:32] [INFO]   -> Found value: -85.11359
[2026-03-11 13:15:32] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1135900000000020781953935511410236358642578125
[2026-03-11 13:15:32] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 13:15:32] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:32] [INFO]   -> Set field 'dispatched' = null
[2026-03-11 13:15:32] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 13:15:32] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:32] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 13:15:32] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:32] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 13:15:32] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:32] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 13:15:32] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:32] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 13:15:32] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:32] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 13:15:32] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:32] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 13:15:32] [INFO]   -> Found value: RD
[2026-03-11 13:15:32] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 13:15:32] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 13:15:32] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:32] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 13:15:32] [INFO]   -> Found value: 2026-03-15548
[2026-03-11 13:15:32] [INFO]   -> Set field 'policeReportNumber' = "2026-03-15548"
[2026-03-11 13:15:32] [INFO]   -> Set field 'cADNumber' = "2026-03-15548"
[2026-03-11 13:15:32] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 13:15:32] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 13:15:32] [INFO] Found 7 elements for 'Comment', concatenating 7 non-empty values
[2026-03-11 13:15:32] [INFO]   -> Found value: 03/11/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]
03/11/2026 ...
[2026-03-11 13:15:32] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:15:32] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:15:32] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 13:15:32] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 13:15:32] [INFO]   -> Found value: SFD
[2026-03-11 13:15:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-11 13:15:32] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 13:15:32] [INFO] Concatenating street name and type
[2026-03-11 13:15:32] [INFO]   -> Combined street name: GREEN POND RD
[2026-03-11 13:15:32] [INFO] Built locationCoordinates from lat/lng: 35.242265,-85.11359
[2026-03-11 13:15:32] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SICK-Sick Person","businessName":",2200 GREEN POND RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":2200,"streetName":"GREEN POND RD","incidentLocationCross":"DODD CEMETERY RD\/HIXSON PIKE","alarm":"2026-03-11 13:14:31","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24226499999999617784851579926908016204833984375,"nERISIncidentLongitude":-85.1135900000000020781953935511410236358642578125,"dispatched":null,"policeReportNumber":"2026-03-15548","cADNumber":"2026-03-15548","dispatchNotes":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADLog":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.242265,-85.11359"}
[2026-03-11 13:15:32] [INFO] Number of extracted fields: 20
[2026-03-11 13:15:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-11 13:15:32] [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-11 13:15:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-11 13:15:32] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 13:15:33] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 13:15:33] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 13:15:33] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 13:15:33] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 13:15:33] [INFO] Found existing IncidentTypeMapping with ID: 695bec4ad5612a4c9
[2026-03-11 13:15:33] [INFO] Found existing Dispatch with cADNumber '2026-03-15548', ID: 69b16ab963443f0a6 - will update instead of create
[2026-03-11 13:15:33] [INFO] Updated existing Dispatches record with ID: 69b16ab963443f0a6
[2026-03-11 13:15:33] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 13:15:33] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 13:15:37] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-15548_20260311091532504.xml
[2026-03-11 13:15:37] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091532504.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-15548_20260311091532504.xml
[2026-03-11 13:15:37] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091532504.xml
[2026-03-11 13:15:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091537542.xml
[2026-03-11 13:15:37] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091537542.xml for user: 68920395733981a47
[2026-03-11 13:15:37] [INFO] File size: 6249 bytes
[2026-03-11 13:15:38] [INFO] Created FTPFiles record with ID: 69b16af9ef94ca57b
[2026-03-11 13:15:38] [INFO] About to extract fields from XML. File size: 6249 bytes
[2026-03-11 13:15:38] [INFO] Number of mappings: 24
[2026-03-11 13:15:38] [INFO] Starting XML parsing. Content length: 6249
[2026-03-11 13:15:38] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 13:15:38] [INFO] Processing 24 field mappings
[2026-03-11 13:15:38] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 13:15:38] [INFO]   -> Found value: SICK-Sick Person
[2026-03-11 13:15:38] [INFO]   -> Set field 'incidentTypeValue1' = "SICK-Sick Person"
[2026-03-11 13:15:38] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 13:15:38] [INFO]   -> Found value: ,2200 GREEN POND RD
[2026-03-11 13:15:38] [INFO]   -> Set field 'businessName' = ",2200 GREEN POND RD"
[2026-03-11 13:15:38] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 13:15:38] [INFO]   -> Found value: 37379
[2026-03-11 13:15:38] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 13:15:38] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 13:15:38] [INFO]   -> Found value: 2200
[2026-03-11 13:15:38] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2200
[2026-03-11 13:15:38] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 13:15:38] [INFO]   -> Found value: GREEN POND
[2026-03-11 13:15:38] [INFO]   -> Set field 'streetName' = "GREEN POND"
[2026-03-11 13:15:38] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 13:15:38] [INFO]   -> Found value: DODD CEMETERY RD/HIXSON PIKE
[2026-03-11 13:15:38] [INFO]   -> Set field 'incidentLocationCross' = "DODD CEMETERY RD\/HIXSON PIKE"
[2026-03-11 13:15:38] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 13:15:38] [INFO]   -> Found value: 2026-03-11T09:14:31.343-04:00
[2026-03-11 13:15:38] [INFO]   -> Set field 'alarm' = "2026-03-11 13:14:31"
[2026-03-11 13:15:38] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 13:15:38] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:38] [INFO]   -> Set field 'enroute' = null
[2026-03-11 13:15:38] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 13:15:38] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:38] [INFO]   -> Set field 'onScene' = null
[2026-03-11 13:15:38] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 13:15:38] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:38] [INFO]   -> Set field 'cleared' = null
[2026-03-11 13:15:38] [INFO]   -> Set field 'inService' = null
[2026-03-11 13:15:38] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 13:15:38] [INFO]   -> Found value: 35.242264999999996
[2026-03-11 13:15:38] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24226499999999617784851579926908016204833984375
[2026-03-11 13:15:38] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 13:15:38] [INFO]   -> Found value: -85.11359
[2026-03-11 13:15:38] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1135900000000020781953935511410236358642578125
[2026-03-11 13:15:38] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 13:15:38] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:38] [INFO]   -> Set field 'dispatched' = null
[2026-03-11 13:15:38] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 13:15:38] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:38] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 13:15:38] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:38] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 13:15:38] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:38] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 13:15:38] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:38] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 13:15:38] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:38] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 13:15:38] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:38] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 13:15:38] [INFO]   -> Found value: RD
[2026-03-11 13:15:38] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 13:15:38] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 13:15:38] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:38] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 13:15:38] [INFO]   -> Found value: 2026-03-15548
[2026-03-11 13:15:38] [INFO]   -> Set field 'policeReportNumber' = "2026-03-15548"
[2026-03-11 13:15:38] [INFO]   -> Set field 'cADNumber' = "2026-03-15548"
[2026-03-11 13:15:38] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 13:15:38] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 13:15:38] [INFO] Found 8 elements for 'Comment', concatenating 8 non-empty values
[2026-03-11 13:15:38] [INFO]   -> Found value: 03/11/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]
03/11/2026 ...
[2026-03-11 13:15:38] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:15:38] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:15:38] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 13:15:38] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 13:15:38] [INFO]   -> Found value: SFD
[2026-03-11 13:15:38] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-11 13:15:38] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 13:15:38] [INFO] Concatenating street name and type
[2026-03-11 13:15:38] [INFO]   -> Combined street name: GREEN POND RD
[2026-03-11 13:15:38] [INFO] Built locationCoordinates from lat/lng: 35.242265,-85.11359
[2026-03-11 13:15:38] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SICK-Sick Person","businessName":",2200 GREEN POND RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":2200,"streetName":"GREEN POND RD","incidentLocationCross":"DODD CEMETERY RD\/HIXSON PIKE","alarm":"2026-03-11 13:14:31","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24226499999999617784851579926908016204833984375,"nERISIncidentLongitude":-85.1135900000000020781953935511410236358642578125,"dispatched":null,"policeReportNumber":"2026-03-15548","cADNumber":"2026-03-15548","dispatchNotes":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADLog":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.242265,-85.11359"}
[2026-03-11 13:15:38] [INFO] Number of extracted fields: 20
[2026-03-11 13:15:38] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-11 13:15:38] [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-11 13:15:38] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-11 13:15:38] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 13:15:38] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 13:15:38] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 13:15:38] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 13:15:38] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 13:15:38] [INFO] Found existing IncidentTypeMapping with ID: 695bec4ad5612a4c9
[2026-03-11 13:15:38] [INFO] Found existing Dispatch with cADNumber '2026-03-15548', ID: 69b16ab963443f0a6 - will update instead of create
[2026-03-11 13:15:38] [INFO] Updated existing Dispatches record with ID: 69b16ab963443f0a6
[2026-03-11 13:15:38] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 13:15:38] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 13:15:42] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-15548_20260311091537542.xml
[2026-03-11 13:15:42] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091537542.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-15548_20260311091537542.xml
[2026-03-11 13:15:42] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091537542.xml
[2026-03-11 13:15:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091542604.xml
[2026-03-11 13:15:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091542604.xml for user: 68920395733981a47
[2026-03-11 13:15:42] [INFO] File size: 6459 bytes
[2026-03-11 13:15:43] [INFO] Created FTPFiles record with ID: 69b16afef116412e0
[2026-03-11 13:15:43] [INFO] About to extract fields from XML. File size: 6459 bytes
[2026-03-11 13:15:43] [INFO] Number of mappings: 24
[2026-03-11 13:15:43] [INFO] Starting XML parsing. Content length: 6459
[2026-03-11 13:15:43] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 13:15:43] [INFO] Processing 24 field mappings
[2026-03-11 13:15:43] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 13:15:43] [INFO]   -> Found value: SICK-Sick Person
[2026-03-11 13:15:43] [INFO]   -> Set field 'incidentTypeValue1' = "SICK-Sick Person"
[2026-03-11 13:15:43] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 13:15:43] [INFO]   -> Found value: ,2200 GREEN POND RD
[2026-03-11 13:15:43] [INFO]   -> Set field 'businessName' = ",2200 GREEN POND RD"
[2026-03-11 13:15:43] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 13:15:43] [INFO]   -> Found value: 37379
[2026-03-11 13:15:43] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 13:15:43] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 13:15:43] [INFO]   -> Found value: 2200
[2026-03-11 13:15:43] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2200
[2026-03-11 13:15:43] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 13:15:43] [INFO]   -> Found value: GREEN POND
[2026-03-11 13:15:43] [INFO]   -> Set field 'streetName' = "GREEN POND"
[2026-03-11 13:15:43] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 13:15:43] [INFO]   -> Found value: DODD CEMETERY RD/HIXSON PIKE
[2026-03-11 13:15:43] [INFO]   -> Set field 'incidentLocationCross' = "DODD CEMETERY RD\/HIXSON PIKE"
[2026-03-11 13:15:43] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 13:15:43] [INFO]   -> Found value: 2026-03-11T09:14:31.343-04:00
[2026-03-11 13:15:43] [INFO]   -> Set field 'alarm' = "2026-03-11 13:14:31"
[2026-03-11 13:15:43] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 13:15:43] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:43] [INFO]   -> Set field 'enroute' = null
[2026-03-11 13:15:43] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 13:15:43] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:43] [INFO]   -> Set field 'onScene' = null
[2026-03-11 13:15:43] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 13:15:43] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:43] [INFO]   -> Set field 'cleared' = null
[2026-03-11 13:15:43] [INFO]   -> Set field 'inService' = null
[2026-03-11 13:15:43] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 13:15:43] [INFO]   -> Found value: 35.242264999999996
[2026-03-11 13:15:43] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24226499999999617784851579926908016204833984375
[2026-03-11 13:15:43] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 13:15:43] [INFO]   -> Found value: -85.11359
[2026-03-11 13:15:43] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1135900000000020781953935511410236358642578125
[2026-03-11 13:15:43] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 13:15:43] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:43] [INFO]   -> Set field 'dispatched' = null
[2026-03-11 13:15:43] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 13:15:43] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:43] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 13:15:43] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:43] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 13:15:43] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:43] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 13:15:43] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:43] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 13:15:43] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:43] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 13:15:43] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:43] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 13:15:43] [INFO]   -> Found value: RD
[2026-03-11 13:15:43] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 13:15:43] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 13:15:43] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:43] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 13:15:43] [INFO]   -> Found value: 2026-03-15548
[2026-03-11 13:15:43] [INFO]   -> Set field 'policeReportNumber' = "2026-03-15548"
[2026-03-11 13:15:43] [INFO]   -> Set field 'cADNumber' = "2026-03-15548"
[2026-03-11 13:15:43] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 13:15:43] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 13:15:43] [INFO] Found 9 elements for 'Comment', concatenating 9 non-empty values
[2026-03-11 13:15:43] [INFO]   -> Found value: 03/11/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]
03/11/2026 ...
[2026-03-11 13:15:43] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:15:43] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:15:43] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 13:15:43] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 13:15:43] [INFO]   -> Found value: SFD
[2026-03-11 13:15:43] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-11 13:15:43] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 13:15:43] [INFO] Concatenating street name and type
[2026-03-11 13:15:43] [INFO]   -> Combined street name: GREEN POND RD
[2026-03-11 13:15:43] [INFO] Built locationCoordinates from lat/lng: 35.242265,-85.11359
[2026-03-11 13:15:43] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SICK-Sick Person","businessName":",2200 GREEN POND RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":2200,"streetName":"GREEN POND RD","incidentLocationCross":"DODD CEMETERY RD\/HIXSON PIKE","alarm":"2026-03-11 13:14:31","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24226499999999617784851579926908016204833984375,"nERISIncidentLongitude":-85.1135900000000020781953935511410236358642578125,"dispatched":null,"policeReportNumber":"2026-03-15548","cADNumber":"2026-03-15548","dispatchNotes":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADLog":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.242265,-85.11359"}
[2026-03-11 13:15:43] [INFO] Number of extracted fields: 20
[2026-03-11 13:15:43] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-11 13:15:43] [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-11 13:15:43] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-11 13:15:43] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 13:15:43] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 13:15:43] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 13:15:43] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 13:15:43] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 13:15:43] [INFO] Found existing IncidentTypeMapping with ID: 695bec4ad5612a4c9
[2026-03-11 13:15:43] [INFO] Found existing Dispatch with cADNumber '2026-03-15548', ID: 69b16ab963443f0a6 - will update instead of create
[2026-03-11 13:15:43] [INFO] Updated existing Dispatches record with ID: 69b16ab963443f0a6
[2026-03-11 13:15:43] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 13:15:44] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 13:15:47] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-15548_20260311091542604.xml
[2026-03-11 13:15:47] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091542604.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-15548_20260311091542604.xml
[2026-03-11 13:15:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091542604.xml
[2026-03-11 13:15:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091547652.xml
[2026-03-11 13:15:47] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091547652.xml for user: 68920395733981a47
[2026-03-11 13:15:47] [INFO] File size: 6655 bytes
[2026-03-11 13:15:48] [INFO] Created FTPFiles record with ID: 69b16b0409dd9a4c5
[2026-03-11 13:15:48] [INFO] About to extract fields from XML. File size: 6655 bytes
[2026-03-11 13:15:48] [INFO] Number of mappings: 24
[2026-03-11 13:15:48] [INFO] Starting XML parsing. Content length: 6655
[2026-03-11 13:15:48] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 13:15:48] [INFO] Processing 24 field mappings
[2026-03-11 13:15:48] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 13:15:48] [INFO]   -> Found value: SICK-Sick Person
[2026-03-11 13:15:48] [INFO]   -> Set field 'incidentTypeValue1' = "SICK-Sick Person"
[2026-03-11 13:15:48] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 13:15:48] [INFO]   -> Found value: ,2200 GREEN POND RD
[2026-03-11 13:15:48] [INFO]   -> Set field 'businessName' = ",2200 GREEN POND RD"
[2026-03-11 13:15:48] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 13:15:48] [INFO]   -> Found value: 37379
[2026-03-11 13:15:48] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 13:15:48] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 13:15:48] [INFO]   -> Found value: 2200
[2026-03-11 13:15:48] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2200
[2026-03-11 13:15:48] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 13:15:48] [INFO]   -> Found value: GREEN POND
[2026-03-11 13:15:48] [INFO]   -> Set field 'streetName' = "GREEN POND"
[2026-03-11 13:15:48] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 13:15:48] [INFO]   -> Found value: DODD CEMETERY RD/HIXSON PIKE
[2026-03-11 13:15:48] [INFO]   -> Set field 'incidentLocationCross' = "DODD CEMETERY RD\/HIXSON PIKE"
[2026-03-11 13:15:48] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 13:15:48] [INFO]   -> Found value: 2026-03-11T09:14:31.343-04:00
[2026-03-11 13:15:48] [INFO]   -> Set field 'alarm' = "2026-03-11 13:14:31"
[2026-03-11 13:15:48] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 13:15:48] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:48] [INFO]   -> Set field 'enroute' = null
[2026-03-11 13:15:48] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 13:15:48] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:48] [INFO]   -> Set field 'onScene' = null
[2026-03-11 13:15:48] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 13:15:48] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:48] [INFO]   -> Set field 'cleared' = null
[2026-03-11 13:15:48] [INFO]   -> Set field 'inService' = null
[2026-03-11 13:15:48] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 13:15:48] [INFO]   -> Found value: 35.242264999999996
[2026-03-11 13:15:48] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24226499999999617784851579926908016204833984375
[2026-03-11 13:15:48] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 13:15:48] [INFO]   -> Found value: -85.11359
[2026-03-11 13:15:48] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1135900000000020781953935511410236358642578125
[2026-03-11 13:15:48] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 13:15:48] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:48] [INFO]   -> Set field 'dispatched' = null
[2026-03-11 13:15:48] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 13:15:48] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:48] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 13:15:48] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:48] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 13:15:48] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:48] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 13:15:48] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:48] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 13:15:48] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:48] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 13:15:48] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:48] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 13:15:48] [INFO]   -> Found value: RD
[2026-03-11 13:15:48] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 13:15:48] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 13:15:48] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:48] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 13:15:48] [INFO]   -> Found value: 2026-03-15548
[2026-03-11 13:15:48] [INFO]   -> Set field 'policeReportNumber' = "2026-03-15548"
[2026-03-11 13:15:48] [INFO]   -> Set field 'cADNumber' = "2026-03-15548"
[2026-03-11 13:15:48] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 13:15:48] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 13:15:48] [INFO] Found 10 elements for 'Comment', concatenating 10 non-empty values
[2026-03-11 13:15:48] [INFO]   -> Found value: 03/11/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]
03/11/2026 ...
[2026-03-11 13:15:48] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:15:48] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:15:48] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 13:15:48] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 13:15:48] [INFO]   -> Found value: SFD
[2026-03-11 13:15:48] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-11 13:15:48] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 13:15:48] [INFO] Concatenating street name and type
[2026-03-11 13:15:48] [INFO]   -> Combined street name: GREEN POND RD
[2026-03-11 13:15:48] [INFO] Built locationCoordinates from lat/lng: 35.242265,-85.11359
[2026-03-11 13:15:48] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SICK-Sick Person","businessName":",2200 GREEN POND RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":2200,"streetName":"GREEN POND RD","incidentLocationCross":"DODD CEMETERY RD\/HIXSON PIKE","alarm":"2026-03-11 13:14:31","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24226499999999617784851579926908016204833984375,"nERISIncidentLongitude":-85.1135900000000020781953935511410236358642578125,"dispatched":null,"policeReportNumber":"2026-03-15548","cADNumber":"2026-03-15548","dispatchNotes":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADLog":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.242265,-85.11359"}
[2026-03-11 13:15:48] [INFO] Number of extracted fields: 20
[2026-03-11 13:15:48] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-11 13:15:48] [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-11 13:15:48] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-11 13:15:48] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 13:15:48] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 13:15:48] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 13:15:48] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 13:15:48] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 13:15:48] [INFO] Found existing IncidentTypeMapping with ID: 695bec4ad5612a4c9
[2026-03-11 13:15:48] [INFO] Found existing Dispatch with cADNumber '2026-03-15548', ID: 69b16ab963443f0a6 - will update instead of create
[2026-03-11 13:15:49] [INFO] Updated existing Dispatches record with ID: 69b16ab963443f0a6
[2026-03-11 13:15:49] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 13:15:49] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 13:15:52] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-15548_20260311091547652.xml
[2026-03-11 13:15:52] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091547652.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-15548_20260311091547652.xml
[2026-03-11 13:15:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091547652.xml
[2026-03-11 13:15:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091557779.xml
[2026-03-11 13:15:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091557779.xml for user: 68920395733981a47
[2026-03-11 13:15:57] [INFO] File size: 6873 bytes
[2026-03-11 13:15:58] [INFO] Created FTPFiles record with ID: 69b16b0e2a9bfff7d
[2026-03-11 13:15:58] [INFO] About to extract fields from XML. File size: 6873 bytes
[2026-03-11 13:15:58] [INFO] Number of mappings: 24
[2026-03-11 13:15:58] [INFO] Starting XML parsing. Content length: 6873
[2026-03-11 13:15:58] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 13:15:58] [INFO] Processing 24 field mappings
[2026-03-11 13:15:58] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 13:15:58] [INFO]   -> Found value: SICK-Sick Person
[2026-03-11 13:15:58] [INFO]   -> Set field 'incidentTypeValue1' = "SICK-Sick Person"
[2026-03-11 13:15:58] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 13:15:58] [INFO]   -> Found value: ,2200 GREEN POND RD
[2026-03-11 13:15:58] [INFO]   -> Set field 'businessName' = ",2200 GREEN POND RD"
[2026-03-11 13:15:58] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 13:15:58] [INFO]   -> Found value: 37379
[2026-03-11 13:15:58] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 13:15:58] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 13:15:58] [INFO]   -> Found value: 2200
[2026-03-11 13:15:58] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2200
[2026-03-11 13:15:58] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 13:15:58] [INFO]   -> Found value: GREEN POND
[2026-03-11 13:15:58] [INFO]   -> Set field 'streetName' = "GREEN POND"
[2026-03-11 13:15:58] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 13:15:58] [INFO]   -> Found value: DODD CEMETERY RD/HIXSON PIKE
[2026-03-11 13:15:58] [INFO]   -> Set field 'incidentLocationCross' = "DODD CEMETERY RD\/HIXSON PIKE"
[2026-03-11 13:15:58] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 13:15:58] [INFO]   -> Found value: 2026-03-11T09:14:31.343-04:00
[2026-03-11 13:15:58] [INFO]   -> Set field 'alarm' = "2026-03-11 13:14:31"
[2026-03-11 13:15:58] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 13:15:58] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:58] [INFO]   -> Set field 'enroute' = null
[2026-03-11 13:15:58] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 13:15:58] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:58] [INFO]   -> Set field 'onScene' = null
[2026-03-11 13:15:58] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 13:15:58] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:58] [INFO]   -> Set field 'cleared' = null
[2026-03-11 13:15:58] [INFO]   -> Set field 'inService' = null
[2026-03-11 13:15:58] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 13:15:58] [INFO]   -> Found value: 35.242264999999996
[2026-03-11 13:15:58] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24226499999999617784851579926908016204833984375
[2026-03-11 13:15:58] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 13:15:58] [INFO]   -> Found value: -85.11359
[2026-03-11 13:15:58] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1135900000000020781953935511410236358642578125
[2026-03-11 13:15:58] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 13:15:58] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:15:58] [INFO]   -> Set field 'dispatched' = null
[2026-03-11 13:15:58] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 13:15:58] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:58] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 13:15:58] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:58] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 13:15:58] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:58] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 13:15:58] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:58] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 13:15:58] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:58] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 13:15:58] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:58] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 13:15:58] [INFO]   -> Found value: RD
[2026-03-11 13:15:58] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 13:15:58] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 13:15:58] [INFO]   -> No value found (null or empty)
[2026-03-11 13:15:58] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 13:15:58] [INFO]   -> Found value: 2026-03-15548
[2026-03-11 13:15:58] [INFO]   -> Set field 'policeReportNumber' = "2026-03-15548"
[2026-03-11 13:15:58] [INFO]   -> Set field 'cADNumber' = "2026-03-15548"
[2026-03-11 13:15:58] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 13:15:58] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 13:15:58] [INFO] Found 11 elements for 'Comment', concatenating 11 non-empty values
[2026-03-11 13:15:58] [INFO]   -> Found value: 03/11/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]
03/11/2026 ...
[2026-03-11 13:15:58] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:15:58] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:15:58] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 13:15:58] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 13:15:58] [INFO]   -> Found value: SFD
[2026-03-11 13:15:58] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-11 13:15:58] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 13:15:58] [INFO] Concatenating street name and type
[2026-03-11 13:15:58] [INFO]   -> Combined street name: GREEN POND RD
[2026-03-11 13:15:58] [INFO] Built locationCoordinates from lat/lng: 35.242265,-85.11359
[2026-03-11 13:15:58] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SICK-Sick Person","businessName":",2200 GREEN POND RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":2200,"streetName":"GREEN POND RD","incidentLocationCross":"DODD CEMETERY RD\/HIXSON PIKE","alarm":"2026-03-11 13:14:31","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24226499999999617784851579926908016204833984375,"nERISIncidentLongitude":-85.1135900000000020781953935511410236358642578125,"dispatched":null,"policeReportNumber":"2026-03-15548","cADNumber":"2026-03-15548","dispatchNotes":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADLog":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.242265,-85.11359"}
[2026-03-11 13:15:58] [INFO] Number of extracted fields: 20
[2026-03-11 13:15:58] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-11 13:15:58] [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-11 13:15:58] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-11 13:15:58] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 13:15:58] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 13:15:58] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 13:15:58] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 13:15:58] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 13:15:58] [INFO] Found existing IncidentTypeMapping with ID: 695bec4ad5612a4c9
[2026-03-11 13:15:58] [INFO] Found existing Dispatch with cADNumber '2026-03-15548', ID: 69b16ab963443f0a6 - will update instead of create
[2026-03-11 13:15:59] [INFO] Updated existing Dispatches record with ID: 69b16ab963443f0a6
[2026-03-11 13:15:59] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 13:15:59] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 13:16:02] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-15548_20260311091557779.xml
[2026-03-11 13:16:02] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091557779.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-15548_20260311091557779.xml
[2026-03-11 13:16:02] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091557779.xml
[2026-03-11 13:16:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091612919.xml
[2026-03-11 13:16:13] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091612919.xml for user: 68920395733981a47
[2026-03-11 13:16:13] [INFO] File size: 7088 bytes
[2026-03-11 13:16:13] [INFO] Created FTPFiles record with ID: 69b16b1d55142dd0c
[2026-03-11 13:16:13] [INFO] About to extract fields from XML. File size: 7088 bytes
[2026-03-11 13:16:13] [INFO] Number of mappings: 24
[2026-03-11 13:16:13] [INFO] Starting XML parsing. Content length: 7088
[2026-03-11 13:16:13] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 13:16:13] [INFO] Processing 24 field mappings
[2026-03-11 13:16:13] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 13:16:13] [INFO]   -> Found value: SICK-Sick Person
[2026-03-11 13:16:13] [INFO]   -> Set field 'incidentTypeValue1' = "SICK-Sick Person"
[2026-03-11 13:16:13] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 13:16:13] [INFO]   -> Found value: ,2200 GREEN POND RD
[2026-03-11 13:16:13] [INFO]   -> Set field 'businessName' = ",2200 GREEN POND RD"
[2026-03-11 13:16:13] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 13:16:13] [INFO]   -> Found value: 37379
[2026-03-11 13:16:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 13:16:13] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 13:16:13] [INFO]   -> Found value: 2200
[2026-03-11 13:16:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2200
[2026-03-11 13:16:13] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 13:16:13] [INFO]   -> Found value: GREEN POND
[2026-03-11 13:16:13] [INFO]   -> Set field 'streetName' = "GREEN POND"
[2026-03-11 13:16:13] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 13:16:13] [INFO]   -> Found value: DODD CEMETERY RD/HIXSON PIKE
[2026-03-11 13:16:13] [INFO]   -> Set field 'incidentLocationCross' = "DODD CEMETERY RD\/HIXSON PIKE"
[2026-03-11 13:16:13] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 13:16:13] [INFO]   -> Found value: 2026-03-11T09:14:31.343-04:00
[2026-03-11 13:16:13] [INFO]   -> Set field 'alarm' = "2026-03-11 13:14:31"
[2026-03-11 13:16:13] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 13:16:13] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:16:13] [INFO]   -> Set field 'enroute' = null
[2026-03-11 13:16:13] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 13:16:13] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:16:13] [INFO]   -> Set field 'onScene' = null
[2026-03-11 13:16:13] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 13:16:13] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:16:13] [INFO]   -> Set field 'cleared' = null
[2026-03-11 13:16:13] [INFO]   -> Set field 'inService' = null
[2026-03-11 13:16:13] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 13:16:13] [INFO]   -> Found value: 35.242264999999996
[2026-03-11 13:16:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24226499999999617784851579926908016204833984375
[2026-03-11 13:16:13] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 13:16:13] [INFO]   -> Found value: -85.11359
[2026-03-11 13:16:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1135900000000020781953935511410236358642578125
[2026-03-11 13:16:13] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 13:16:13] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:16:13] [INFO]   -> Set field 'dispatched' = null
[2026-03-11 13:16:13] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 13:16:13] [INFO]   -> No value found (null or empty)
[2026-03-11 13:16:13] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 13:16:13] [INFO]   -> No value found (null or empty)
[2026-03-11 13:16:13] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 13:16:13] [INFO]   -> No value found (null or empty)
[2026-03-11 13:16:13] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 13:16:13] [INFO]   -> No value found (null or empty)
[2026-03-11 13:16:13] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 13:16:13] [INFO]   -> No value found (null or empty)
[2026-03-11 13:16:13] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 13:16:13] [INFO]   -> No value found (null or empty)
[2026-03-11 13:16:13] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 13:16:13] [INFO]   -> Found value: RD
[2026-03-11 13:16:13] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 13:16:13] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 13:16:13] [INFO]   -> No value found (null or empty)
[2026-03-11 13:16:13] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 13:16:13] [INFO]   -> Found value: 2026-03-15548
[2026-03-11 13:16:13] [INFO]   -> Set field 'policeReportNumber' = "2026-03-15548"
[2026-03-11 13:16:13] [INFO]   -> Set field 'cADNumber' = "2026-03-15548"
[2026-03-11 13:16:13] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 13:16:13] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 13:16:13] [INFO] Found 12 elements for 'Comment', concatenating 12 non-empty values
[2026-03-11 13:16:13] [INFO]   -> Found value: 03/11/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]
03/11/2026 ...
[2026-03-11 13:16:13] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:16:13] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:16:13] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 13:16:13] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 13:16:13] [INFO]   -> Found value: SFD
[2026-03-11 13:16:13] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-11 13:16:13] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 13:16:13] [INFO] Concatenating street name and type
[2026-03-11 13:16:13] [INFO]   -> Combined street name: GREEN POND RD
[2026-03-11 13:16:13] [INFO] Built locationCoordinates from lat/lng: 35.242265,-85.11359
[2026-03-11 13:16:13] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SICK-Sick Person","businessName":",2200 GREEN POND RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":2200,"streetName":"GREEN POND RD","incidentLocationCross":"DODD CEMETERY RD\/HIXSON PIKE","alarm":"2026-03-11 13:14:31","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24226499999999617784851579926908016204833984375,"nERISIncidentLongitude":-85.1135900000000020781953935511410236358642578125,"dispatched":null,"policeReportNumber":"2026-03-15548","cADNumber":"2026-03-15548","dispatchNotes":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADLog":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.242265,-85.11359"}
[2026-03-11 13:16:13] [INFO] Number of extracted fields: 20
[2026-03-11 13:16:13] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-11 13:16:13] [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-11 13:16:13] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-11 13:16:13] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 13:16:13] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 13:16:13] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 13:16:13] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 13:16:13] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 13:16:14] [INFO] Found existing IncidentTypeMapping with ID: 695bec4ad5612a4c9
[2026-03-11 13:16:14] [INFO] Found existing Dispatch with cADNumber '2026-03-15548', ID: 69b16ab963443f0a6 - will update instead of create
[2026-03-11 13:16:14] [INFO] Updated existing Dispatches record with ID: 69b16ab963443f0a6
[2026-03-11 13:16:14] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 13:16:14] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 13:16:17] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-15548_20260311091612919.xml
[2026-03-11 13:16:17] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091612919.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-15548_20260311091612919.xml
[2026-03-11 13:16:17] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091612919.xml
[2026-03-11 13:16:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091628114.xml
[2026-03-11 13:16:28] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091628114.xml for user: 68920395733981a47
[2026-03-11 13:16:28] [INFO] File size: 7303 bytes
[2026-03-11 13:16:28] [INFO] Created FTPFiles record with ID: 69b16b2c80de838af
[2026-03-11 13:16:28] [INFO] About to extract fields from XML. File size: 7303 bytes
[2026-03-11 13:16:28] [INFO] Number of mappings: 24
[2026-03-11 13:16:28] [INFO] Starting XML parsing. Content length: 7303
[2026-03-11 13:16:28] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 13:16:28] [INFO] Processing 24 field mappings
[2026-03-11 13:16:28] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 13:16:28] [INFO]   -> Found value: SICK-Sick Person
[2026-03-11 13:16:28] [INFO]   -> Set field 'incidentTypeValue1' = "SICK-Sick Person"
[2026-03-11 13:16:28] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 13:16:28] [INFO]   -> Found value: ,2200 GREEN POND RD
[2026-03-11 13:16:28] [INFO]   -> Set field 'businessName' = ",2200 GREEN POND RD"
[2026-03-11 13:16:28] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 13:16:28] [INFO]   -> Found value: 37379
[2026-03-11 13:16:28] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 13:16:28] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 13:16:28] [INFO]   -> Found value: 2200
[2026-03-11 13:16:28] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2200
[2026-03-11 13:16:28] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 13:16:28] [INFO]   -> Found value: GREEN POND
[2026-03-11 13:16:28] [INFO]   -> Set field 'streetName' = "GREEN POND"
[2026-03-11 13:16:28] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 13:16:28] [INFO]   -> Found value: DODD CEMETERY RD/HIXSON PIKE
[2026-03-11 13:16:28] [INFO]   -> Set field 'incidentLocationCross' = "DODD CEMETERY RD\/HIXSON PIKE"
[2026-03-11 13:16:28] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 13:16:28] [INFO]   -> Found value: 2026-03-11T09:14:31.343-04:00
[2026-03-11 13:16:28] [INFO]   -> Set field 'alarm' = "2026-03-11 13:14:31"
[2026-03-11 13:16:28] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 13:16:28] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:16:28] [INFO]   -> Set field 'enroute' = null
[2026-03-11 13:16:28] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 13:16:28] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:16:28] [INFO]   -> Set field 'onScene' = null
[2026-03-11 13:16:28] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 13:16:28] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:16:28] [INFO]   -> Set field 'cleared' = null
[2026-03-11 13:16:28] [INFO]   -> Set field 'inService' = null
[2026-03-11 13:16:28] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 13:16:28] [INFO]   -> Found value: 35.242264999999996
[2026-03-11 13:16:28] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24226499999999617784851579926908016204833984375
[2026-03-11 13:16:28] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 13:16:28] [INFO]   -> Found value: -85.11359
[2026-03-11 13:16:28] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1135900000000020781953935511410236358642578125
[2026-03-11 13:16:28] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 13:16:28] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:16:28] [INFO]   -> Set field 'dispatched' = null
[2026-03-11 13:16:28] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 13:16:28] [INFO]   -> No value found (null or empty)
[2026-03-11 13:16:28] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 13:16:28] [INFO]   -> No value found (null or empty)
[2026-03-11 13:16:28] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 13:16:28] [INFO]   -> No value found (null or empty)
[2026-03-11 13:16:28] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 13:16:28] [INFO]   -> No value found (null or empty)
[2026-03-11 13:16:28] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 13:16:28] [INFO]   -> No value found (null or empty)
[2026-03-11 13:16:28] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 13:16:28] [INFO]   -> No value found (null or empty)
[2026-03-11 13:16:28] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 13:16:28] [INFO]   -> Found value: RD
[2026-03-11 13:16:28] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 13:16:28] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 13:16:28] [INFO]   -> No value found (null or empty)
[2026-03-11 13:16:28] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 13:16:28] [INFO]   -> Found value: 2026-03-15548
[2026-03-11 13:16:28] [INFO]   -> Set field 'policeReportNumber' = "2026-03-15548"
[2026-03-11 13:16:28] [INFO]   -> Set field 'cADNumber' = "2026-03-15548"
[2026-03-11 13:16:28] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 13:16:28] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 13:16:28] [INFO] Found 13 elements for 'Comment', concatenating 13 non-empty values
[2026-03-11 13:16:28] [INFO]   -> Found value: 03/11/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]
03/11/2026 ...
[2026-03-11 13:16:28] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:16:28] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:16:28] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 13:16:28] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 13:16:28] [INFO]   -> Found value: SFD
[2026-03-11 13:16:28] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-11 13:16:28] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 13:16:28] [INFO] Concatenating street name and type
[2026-03-11 13:16:28] [INFO]   -> Combined street name: GREEN POND RD
[2026-03-11 13:16:28] [INFO] Built locationCoordinates from lat/lng: 35.242265,-85.11359
[2026-03-11 13:16:28] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SICK-Sick Person","businessName":",2200 GREEN POND RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":2200,"streetName":"GREEN POND RD","incidentLocationCross":"DODD CEMETERY RD\/HIXSON PIKE","alarm":"2026-03-11 13:14:31","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24226499999999617784851579926908016204833984375,"nERISIncidentLongitude":-85.1135900000000020781953935511410236358642578125,"dispatched":null,"policeReportNumber":"2026-03-15548","cADNumber":"2026-03-15548","dispatchNotes":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADLog":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.242265,-85.11359"}
[2026-03-11 13:16:28] [INFO] Number of extracted fields: 20
[2026-03-11 13:16:28] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-11 13:16:28] [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-11 13:16:28] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-11 13:16:28] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 13:16:28] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 13:16:28] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 13:16:28] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 13:16:28] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 13:16:29] [INFO] Found existing IncidentTypeMapping with ID: 695bec4ad5612a4c9
[2026-03-11 13:16:29] [INFO] Found existing Dispatch with cADNumber '2026-03-15548', ID: 69b16ab963443f0a6 - will update instead of create
[2026-03-11 13:16:29] [INFO] Updated existing Dispatches record with ID: 69b16ab963443f0a6
[2026-03-11 13:16:29] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 13:16:29] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 13:16:32] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-15548_20260311091628114.xml
[2026-03-11 13:16:32] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091628114.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-15548_20260311091628114.xml
[2026-03-11 13:16:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091628114.xml
[2026-03-11 13:16:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091643255.xml
[2026-03-11 13:16:43] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091643255.xml for user: 68920395733981a47
[2026-03-11 13:16:43] [INFO] File size: 7516 bytes
[2026-03-11 13:16:43] [INFO] Created FTPFiles record with ID: 69b16b3ba758d47d8
[2026-03-11 13:16:43] [INFO] About to extract fields from XML. File size: 7516 bytes
[2026-03-11 13:16:43] [INFO] Number of mappings: 24
[2026-03-11 13:16:43] [INFO] Starting XML parsing. Content length: 7516
[2026-03-11 13:16:43] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 13:16:43] [INFO] Processing 24 field mappings
[2026-03-11 13:16:43] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 13:16:43] [INFO]   -> Found value: SICK-Sick Person
[2026-03-11 13:16:43] [INFO]   -> Set field 'incidentTypeValue1' = "SICK-Sick Person"
[2026-03-11 13:16:43] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 13:16:43] [INFO]   -> Found value: ,2200 GREEN POND RD
[2026-03-11 13:16:43] [INFO]   -> Set field 'businessName' = ",2200 GREEN POND RD"
[2026-03-11 13:16:43] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 13:16:43] [INFO]   -> Found value: 37379
[2026-03-11 13:16:43] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 13:16:43] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 13:16:43] [INFO]   -> Found value: 2200
[2026-03-11 13:16:43] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2200
[2026-03-11 13:16:43] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 13:16:43] [INFO]   -> Found value: GREEN POND
[2026-03-11 13:16:43] [INFO]   -> Set field 'streetName' = "GREEN POND"
[2026-03-11 13:16:43] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 13:16:43] [INFO]   -> Found value: DODD CEMETERY RD/HIXSON PIKE
[2026-03-11 13:16:43] [INFO]   -> Set field 'incidentLocationCross' = "DODD CEMETERY RD\/HIXSON PIKE"
[2026-03-11 13:16:43] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 13:16:43] [INFO]   -> Found value: 2026-03-11T09:14:31.343-04:00
[2026-03-11 13:16:43] [INFO]   -> Set field 'alarm' = "2026-03-11 13:14:31"
[2026-03-11 13:16:43] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 13:16:43] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:16:43] [INFO]   -> Set field 'enroute' = null
[2026-03-11 13:16:43] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 13:16:43] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:16:43] [INFO]   -> Set field 'onScene' = null
[2026-03-11 13:16:43] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 13:16:43] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:16:43] [INFO]   -> Set field 'cleared' = null
[2026-03-11 13:16:43] [INFO]   -> Set field 'inService' = null
[2026-03-11 13:16:43] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 13:16:43] [INFO]   -> Found value: 35.242264999999996
[2026-03-11 13:16:43] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24226499999999617784851579926908016204833984375
[2026-03-11 13:16:43] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 13:16:43] [INFO]   -> Found value: -85.11359
[2026-03-11 13:16:43] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1135900000000020781953935511410236358642578125
[2026-03-11 13:16:43] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 13:16:43] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:16:43] [INFO]   -> Set field 'dispatched' = null
[2026-03-11 13:16:43] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 13:16:43] [INFO]   -> No value found (null or empty)
[2026-03-11 13:16:43] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 13:16:43] [INFO]   -> No value found (null or empty)
[2026-03-11 13:16:43] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 13:16:43] [INFO]   -> No value found (null or empty)
[2026-03-11 13:16:43] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 13:16:43] [INFO]   -> No value found (null or empty)
[2026-03-11 13:16:43] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 13:16:43] [INFO]   -> No value found (null or empty)
[2026-03-11 13:16:43] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 13:16:43] [INFO]   -> No value found (null or empty)
[2026-03-11 13:16:43] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 13:16:43] [INFO]   -> Found value: RD
[2026-03-11 13:16:43] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 13:16:43] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 13:16:43] [INFO]   -> No value found (null or empty)
[2026-03-11 13:16:43] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 13:16:43] [INFO]   -> Found value: 2026-03-15548
[2026-03-11 13:16:43] [INFO]   -> Set field 'policeReportNumber' = "2026-03-15548"
[2026-03-11 13:16:43] [INFO]   -> Set field 'cADNumber' = "2026-03-15548"
[2026-03-11 13:16:43] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 13:16:43] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 13:16:43] [INFO] Found 14 elements for 'Comment', concatenating 14 non-empty values
[2026-03-11 13:16:43] [INFO]   -> Found value: 03/11/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]
03/11/2026 ...
[2026-03-11 13:16:43] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:16:43] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:16:43] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 13:16:43] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 13:16:43] [INFO]   -> Found value: SFD
[2026-03-11 13:16:43] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-11 13:16:43] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 13:16:43] [INFO] Concatenating street name and type
[2026-03-11 13:16:43] [INFO]   -> Combined street name: GREEN POND RD
[2026-03-11 13:16:43] [INFO] Built locationCoordinates from lat/lng: 35.242265,-85.11359
[2026-03-11 13:16:43] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SICK-Sick Person","businessName":",2200 GREEN POND RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":2200,"streetName":"GREEN POND RD","incidentLocationCross":"DODD CEMETERY RD\/HIXSON PIKE","alarm":"2026-03-11 13:14:31","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24226499999999617784851579926908016204833984375,"nERISIncidentLongitude":-85.1135900000000020781953935511410236358642578125,"dispatched":null,"policeReportNumber":"2026-03-15548","cADNumber":"2026-03-15548","dispatchNotes":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADLog":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.242265,-85.11359"}
[2026-03-11 13:16:43] [INFO] Number of extracted fields: 20
[2026-03-11 13:16:43] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-11 13:16:43] [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-11 13:16:43] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-11 13:16:43] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 13:16:43] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 13:16:44] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 13:16:44] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 13:16:44] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 13:16:44] [INFO] Found existing IncidentTypeMapping with ID: 695bec4ad5612a4c9
[2026-03-11 13:16:44] [INFO] Found existing Dispatch with cADNumber '2026-03-15548', ID: 69b16ab963443f0a6 - will update instead of create
[2026-03-11 13:16:44] [INFO] Updated existing Dispatches record with ID: 69b16ab963443f0a6
[2026-03-11 13:16:44] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 13:16:44] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 13:16:47] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-15548_20260311091643255.xml
[2026-03-11 13:16:47] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091643255.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-15548_20260311091643255.xml
[2026-03-11 13:16:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091643255.xml
[2026-03-11 13:17:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091723650.xml
[2026-03-11 13:17:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091723650.xml for user: 68920395733981a47
[2026-03-11 13:17:23] [INFO] File size: 7717 bytes
[2026-03-11 13:17:24] [INFO] Created FTPFiles record with ID: 69b16b641510b42d2
[2026-03-11 13:17:24] [INFO] About to extract fields from XML. File size: 7717 bytes
[2026-03-11 13:17:24] [INFO] Number of mappings: 24
[2026-03-11 13:17:24] [INFO] Starting XML parsing. Content length: 7717
[2026-03-11 13:17:24] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 13:17:24] [INFO] Processing 24 field mappings
[2026-03-11 13:17:24] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 13:17:24] [INFO]   -> Found value: SICK-Sick Person
[2026-03-11 13:17:24] [INFO]   -> Set field 'incidentTypeValue1' = "SICK-Sick Person"
[2026-03-11 13:17:24] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 13:17:24] [INFO]   -> Found value: ,2200 GREEN POND RD
[2026-03-11 13:17:24] [INFO]   -> Set field 'businessName' = ",2200 GREEN POND RD"
[2026-03-11 13:17:24] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 13:17:24] [INFO]   -> Found value: 37379
[2026-03-11 13:17:24] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 13:17:24] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 13:17:24] [INFO]   -> Found value: 2200
[2026-03-11 13:17:24] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2200
[2026-03-11 13:17:24] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 13:17:24] [INFO]   -> Found value: GREEN POND
[2026-03-11 13:17:24] [INFO]   -> Set field 'streetName' = "GREEN POND"
[2026-03-11 13:17:24] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 13:17:24] [INFO]   -> Found value: DODD CEMETERY RD/HIXSON PIKE
[2026-03-11 13:17:24] [INFO]   -> Set field 'incidentLocationCross' = "DODD CEMETERY RD\/HIXSON PIKE"
[2026-03-11 13:17:24] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 13:17:24] [INFO]   -> Found value: 2026-03-11T09:14:31.343-04:00
[2026-03-11 13:17:24] [INFO]   -> Set field 'alarm' = "2026-03-11 13:14:31"
[2026-03-11 13:17:24] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 13:17:24] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:17:24] [INFO]   -> Set field 'enroute' = null
[2026-03-11 13:17:24] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 13:17:24] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:17:24] [INFO]   -> Set field 'onScene' = null
[2026-03-11 13:17:24] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 13:17:24] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:17:24] [INFO]   -> Set field 'cleared' = null
[2026-03-11 13:17:24] [INFO]   -> Set field 'inService' = null
[2026-03-11 13:17:24] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 13:17:24] [INFO]   -> Found value: 35.242264999999996
[2026-03-11 13:17:24] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24226499999999617784851579926908016204833984375
[2026-03-11 13:17:24] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 13:17:24] [INFO]   -> Found value: -85.11359
[2026-03-11 13:17:24] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1135900000000020781953935511410236358642578125
[2026-03-11 13:17:24] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 13:17:24] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:17:24] [INFO]   -> Set field 'dispatched' = null
[2026-03-11 13:17:24] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 13:17:24] [INFO]   -> No value found (null or empty)
[2026-03-11 13:17:24] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 13:17:24] [INFO]   -> No value found (null or empty)
[2026-03-11 13:17:24] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 13:17:24] [INFO]   -> No value found (null or empty)
[2026-03-11 13:17:24] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 13:17:24] [INFO]   -> No value found (null or empty)
[2026-03-11 13:17:24] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 13:17:24] [INFO]   -> No value found (null or empty)
[2026-03-11 13:17:24] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 13:17:24] [INFO]   -> No value found (null or empty)
[2026-03-11 13:17:24] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 13:17:24] [INFO]   -> Found value: RD
[2026-03-11 13:17:24] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 13:17:24] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 13:17:24] [INFO]   -> No value found (null or empty)
[2026-03-11 13:17:24] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 13:17:24] [INFO]   -> Found value: 2026-03-15548
[2026-03-11 13:17:24] [INFO]   -> Set field 'policeReportNumber' = "2026-03-15548"
[2026-03-11 13:17:24] [INFO]   -> Set field 'cADNumber' = "2026-03-15548"
[2026-03-11 13:17:24] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 13:17:24] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 13:17:24] [INFO] Found 15 elements for 'Comment', concatenating 15 non-empty values
[2026-03-11 13:17:24] [INFO]   -> Found value: 03/11/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]
03/11/2026 ...
[2026-03-11 13:17:24] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:17:24] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:17:24] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 13:17:24] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 13:17:24] [INFO]   -> Found value: SFD
[2026-03-11 13:17:24] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-11 13:17:24] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 13:17:24] [INFO] Concatenating street name and type
[2026-03-11 13:17:24] [INFO]   -> Combined street name: GREEN POND RD
[2026-03-11 13:17:24] [INFO] Built locationCoordinates from lat/lng: 35.242265,-85.11359
[2026-03-11 13:17:24] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SICK-Sick Person","businessName":",2200 GREEN POND RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":2200,"streetName":"GREEN POND RD","incidentLocationCross":"DODD CEMETERY RD\/HIXSON PIKE","alarm":"2026-03-11 13:14:31","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24226499999999617784851579926908016204833984375,"nERISIncidentLongitude":-85.1135900000000020781953935511410236358642578125,"dispatched":null,"policeReportNumber":"2026-03-15548","cADNumber":"2026-03-15548","dispatchNotes":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADLog":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.242265,-85.11359"}
[2026-03-11 13:17:24] [INFO] Number of extracted fields: 20
[2026-03-11 13:17:24] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-11 13:17:24] [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-11 13:17:24] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-11 13:17:24] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 13:17:24] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 13:17:24] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 13:17:24] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 13:17:24] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 13:17:24] [INFO] Found existing IncidentTypeMapping with ID: 695bec4ad5612a4c9
[2026-03-11 13:17:24] [INFO] Found existing Dispatch with cADNumber '2026-03-15548', ID: 69b16ab963443f0a6 - will update instead of create
[2026-03-11 13:17:25] [INFO] Updated existing Dispatches record with ID: 69b16ab963443f0a6
[2026-03-11 13:17:25] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 13:17:25] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 13:17:28] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-15548_20260311091723650.xml
[2026-03-11 13:17:28] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091723650.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-15548_20260311091723650.xml
[2026-03-11 13:17:28] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091723650.xml
[2026-03-11 13:17:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091733760.xml
[2026-03-11 13:17:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091733760.xml for user: 68920395733981a47
[2026-03-11 13:17:33] [INFO] File size: 9229 bytes
[2026-03-11 13:17:34] [INFO] Created FTPFiles record with ID: 69b16b6e3cd4a713b
[2026-03-11 13:17:34] [INFO] About to extract fields from XML. File size: 9229 bytes
[2026-03-11 13:17:34] [INFO] Number of mappings: 24
[2026-03-11 13:17:34] [INFO] Starting XML parsing. Content length: 9229
[2026-03-11 13:17:34] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 13:17:34] [INFO] Processing 24 field mappings
[2026-03-11 13:17:34] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 13:17:34] [INFO]   -> Found value: SICK-Sick Person
[2026-03-11 13:17:34] [INFO]   -> Set field 'incidentTypeValue1' = "SICK-Sick Person"
[2026-03-11 13:17:34] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 13:17:34] [INFO]   -> Found value: ,2200 GREEN POND RD
[2026-03-11 13:17:34] [INFO]   -> Set field 'businessName' = ",2200 GREEN POND RD"
[2026-03-11 13:17:34] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 13:17:34] [INFO]   -> Found value: 37379
[2026-03-11 13:17:34] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 13:17:34] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 13:17:34] [INFO]   -> Found value: 2200
[2026-03-11 13:17:34] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2200
[2026-03-11 13:17:34] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 13:17:34] [INFO]   -> Found value: GREEN POND
[2026-03-11 13:17:34] [INFO]   -> Set field 'streetName' = "GREEN POND"
[2026-03-11 13:17:34] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 13:17:34] [INFO]   -> Found value: DODD CEMETERY RD/HIXSON PIKE
[2026-03-11 13:17:34] [INFO]   -> Set field 'incidentLocationCross' = "DODD CEMETERY RD\/HIXSON PIKE"
[2026-03-11 13:17:34] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 13:17:34] [INFO]   -> Found value: 2026-03-11T09:14:31.343-04:00
[2026-03-11 13:17:34] [INFO]   -> Set field 'alarm' = "2026-03-11 13:14:31"
[2026-03-11 13:17:34] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 13:17:34] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:17:34] [INFO]   -> Set field 'enroute' = null
[2026-03-11 13:17:34] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 13:17:34] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:17:34] [INFO]   -> Set field 'onScene' = null
[2026-03-11 13:17:34] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 13:17:34] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:17:34] [INFO]   -> Set field 'cleared' = null
[2026-03-11 13:17:34] [INFO]   -> Set field 'inService' = null
[2026-03-11 13:17:34] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 13:17:34] [INFO]   -> Found value: 35.242264999999996
[2026-03-11 13:17:34] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24226499999999617784851579926908016204833984375
[2026-03-11 13:17:34] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 13:17:34] [INFO]   -> Found value: -85.11359
[2026-03-11 13:17:34] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1135900000000020781953935511410236358642578125
[2026-03-11 13:17:34] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 13:17:34] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:17:34] [INFO]   -> Set field 'dispatched' = null
[2026-03-11 13:17:34] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 13:17:34] [INFO]   -> No value found (null or empty)
[2026-03-11 13:17:34] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 13:17:34] [INFO]   -> No value found (null or empty)
[2026-03-11 13:17:34] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 13:17:34] [INFO]   -> No value found (null or empty)
[2026-03-11 13:17:34] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 13:17:34] [INFO]   -> No value found (null or empty)
[2026-03-11 13:17:34] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 13:17:34] [INFO]   -> No value found (null or empty)
[2026-03-11 13:17:34] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 13:17:34] [INFO]   -> No value found (null or empty)
[2026-03-11 13:17:34] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 13:17:34] [INFO]   -> Found value: RD
[2026-03-11 13:17:34] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 13:17:34] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 13:17:34] [INFO]   -> No value found (null or empty)
[2026-03-11 13:17:34] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 13:17:34] [INFO]   -> Found value: 2026-03-15548
[2026-03-11 13:17:34] [INFO]   -> Set field 'policeReportNumber' = "2026-03-15548"
[2026-03-11 13:17:34] [INFO]   -> Set field 'cADNumber' = "2026-03-15548"
[2026-03-11 13:17:34] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 13:17:34] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 13:17:34] [INFO] Found 22 elements for 'Comment', concatenating 22 non-empty values
[2026-03-11 13:17:34] [INFO]   -> Found value: 03/11/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]
03/11/2026 ...
[2026-03-11 13:17:34] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:17:34] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:17:34] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 13:17:34] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 13:17:34] [INFO]   -> Found value: SFD
[2026-03-11 13:17:34] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-11 13:17:34] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 13:17:34] [INFO] Concatenating street name and type
[2026-03-11 13:17:34] [INFO]   -> Combined street name: GREEN POND RD
[2026-03-11 13:17:34] [INFO] Built locationCoordinates from lat/lng: 35.242265,-85.11359
[2026-03-11 13:17:34] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SICK-Sick Person","businessName":",2200 GREEN POND RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":2200,"streetName":"GREEN POND RD","incidentLocationCross":"DODD CEMETERY RD\/HIXSON PIKE","alarm":"2026-03-11 13:14:31","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24226499999999617784851579926908016204833984375,"nERISIncidentLongitude":-85.1135900000000020781953935511410236358642578125,"dispatched":null,"policeReportNumber":"2026-03-15548","cADNumber":"2026-03-15548","dispatchNotes":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADLog":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.242265,-85.11359"}
[2026-03-11 13:17:34] [INFO] Number of extracted fields: 20
[2026-03-11 13:17:34] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-11 13:17:34] [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-11 13:17:34] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-11 13:17:34] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 13:17:34] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 13:17:34] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 13:17:34] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 13:17:34] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 13:17:34] [INFO] Found existing IncidentTypeMapping with ID: 695bec4ad5612a4c9
[2026-03-11 13:17:35] [INFO] Found existing Dispatch with cADNumber '2026-03-15548', ID: 69b16ab963443f0a6 - will update instead of create
[2026-03-11 13:17:35] [INFO] Updated existing Dispatches record with ID: 69b16ab963443f0a6
[2026-03-11 13:17:35] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 13:17:35] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 13:17:39] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-15548_20260311091733760.xml
[2026-03-11 13:17:39] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091733760.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-15548_20260311091733760.xml
[2026-03-11 13:17:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091733760.xml
[2026-03-11 13:17:49] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091748923.xml
[2026-03-11 13:17:49] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091748923.xml for user: 68920395733981a47
[2026-03-11 13:17:49] [INFO] File size: 9489 bytes
[2026-03-11 13:17:49] [INFO] Created FTPFiles record with ID: 69b16b7d519234b20
[2026-03-11 13:17:49] [INFO] About to extract fields from XML. File size: 9489 bytes
[2026-03-11 13:17:49] [INFO] Number of mappings: 24
[2026-03-11 13:17:49] [INFO] Starting XML parsing. Content length: 9489
[2026-03-11 13:17:49] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 13:17:49] [INFO] Processing 24 field mappings
[2026-03-11 13:17:49] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 13:17:49] [INFO]   -> Found value: SICK-Sick Person
[2026-03-11 13:17:49] [INFO]   -> Set field 'incidentTypeValue1' = "SICK-Sick Person"
[2026-03-11 13:17:49] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 13:17:49] [INFO]   -> Found value: ,2200 GREEN POND RD
[2026-03-11 13:17:49] [INFO]   -> Set field 'businessName' = ",2200 GREEN POND RD"
[2026-03-11 13:17:49] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 13:17:49] [INFO]   -> Found value: 37379
[2026-03-11 13:17:49] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 13:17:49] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 13:17:49] [INFO]   -> Found value: 2200
[2026-03-11 13:17:49] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2200
[2026-03-11 13:17:49] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 13:17:49] [INFO]   -> Found value: GREEN POND
[2026-03-11 13:17:49] [INFO]   -> Set field 'streetName' = "GREEN POND"
[2026-03-11 13:17:49] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 13:17:49] [INFO]   -> Found value: DODD CEMETERY RD/HIXSON PIKE
[2026-03-11 13:17:49] [INFO]   -> Set field 'incidentLocationCross' = "DODD CEMETERY RD\/HIXSON PIKE"
[2026-03-11 13:17:49] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 13:17:49] [INFO]   -> Found value: 2026-03-11T09:14:31.343-04:00
[2026-03-11 13:17:49] [INFO]   -> Set field 'alarm' = "2026-03-11 13:14:31"
[2026-03-11 13:17:49] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 13:17:49] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:17:49] [INFO]   -> Set field 'enroute' = null
[2026-03-11 13:17:49] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 13:17:49] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:17:49] [INFO]   -> Set field 'onScene' = null
[2026-03-11 13:17:49] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 13:17:49] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:17:49] [INFO]   -> Set field 'cleared' = null
[2026-03-11 13:17:49] [INFO]   -> Set field 'inService' = null
[2026-03-11 13:17:49] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 13:17:49] [INFO]   -> Found value: 35.242264999999996
[2026-03-11 13:17:49] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24226499999999617784851579926908016204833984375
[2026-03-11 13:17:49] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 13:17:49] [INFO]   -> Found value: -85.11359
[2026-03-11 13:17:49] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1135900000000020781953935511410236358642578125
[2026-03-11 13:17:49] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 13:17:49] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:17:49] [INFO]   -> Set field 'dispatched' = null
[2026-03-11 13:17:49] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 13:17:49] [INFO]   -> No value found (null or empty)
[2026-03-11 13:17:49] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 13:17:49] [INFO]   -> No value found (null or empty)
[2026-03-11 13:17:49] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 13:17:49] [INFO]   -> No value found (null or empty)
[2026-03-11 13:17:49] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 13:17:49] [INFO]   -> No value found (null or empty)
[2026-03-11 13:17:49] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 13:17:49] [INFO]   -> No value found (null or empty)
[2026-03-11 13:17:49] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 13:17:49] [INFO]   -> No value found (null or empty)
[2026-03-11 13:17:49] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 13:17:49] [INFO]   -> Found value: RD
[2026-03-11 13:17:49] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 13:17:49] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 13:17:49] [INFO]   -> No value found (null or empty)
[2026-03-11 13:17:49] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 13:17:49] [INFO]   -> Found value: 2026-03-15548
[2026-03-11 13:17:49] [INFO]   -> Set field 'policeReportNumber' = "2026-03-15548"
[2026-03-11 13:17:49] [INFO]   -> Set field 'cADNumber' = "2026-03-15548"
[2026-03-11 13:17:49] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 13:17:49] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 13:17:49] [INFO] Found 23 elements for 'Comment', concatenating 23 non-empty values
[2026-03-11 13:17:49] [INFO]   -> Found value: 03/11/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]
03/11/2026 ...
[2026-03-11 13:17:49] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:44 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-15547], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009371. requested by M12. [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:17:49] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:44 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-15547], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009371. requested by M12. [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:17:49] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 13:17:49] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 13:17:49] [INFO]   -> Found value: SFD
[2026-03-11 13:17:49] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-11 13:17:49] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 13:17:49] [INFO] Concatenating street name and type
[2026-03-11 13:17:49] [INFO]   -> Combined street name: GREEN POND RD
[2026-03-11 13:17:49] [INFO] Built locationCoordinates from lat/lng: 35.242265,-85.11359
[2026-03-11 13:17:49] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SICK-Sick Person","businessName":",2200 GREEN POND RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":2200,"streetName":"GREEN POND RD","incidentLocationCross":"DODD CEMETERY RD\/HIXSON PIKE","alarm":"2026-03-11 13:14:31","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24226499999999617784851579926908016204833984375,"nERISIncidentLongitude":-85.1135900000000020781953935511410236358642578125,"dispatched":null,"policeReportNumber":"2026-03-15548","cADNumber":"2026-03-15548","dispatchNotes":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:44 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-15547], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009371. requested by M12. [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADLog":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:44 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-15547], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009371. requested by M12. [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.242265,-85.11359"}
[2026-03-11 13:17:49] [INFO] Number of extracted fields: 20
[2026-03-11 13:17:49] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-11 13:17:49] [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-11 13:17:49] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-11 13:17:49] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 13:17:49] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 13:17:49] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 13:17:49] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 13:17:49] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 13:17:49] [INFO] Found existing IncidentTypeMapping with ID: 695bec4ad5612a4c9
[2026-03-11 13:17:50] [INFO] Found existing Dispatch with cADNumber '2026-03-15548', ID: 69b16ab963443f0a6 - will update instead of create
[2026-03-11 13:17:50] [INFO] Updated existing Dispatches record with ID: 69b16ab963443f0a6
[2026-03-11 13:17:50] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 13:17:50] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 13:17:53] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-15548_20260311091748923.xml
[2026-03-11 13:17:53] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091748923.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-15548_20260311091748923.xml
[2026-03-11 13:17:53] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091748923.xml
[2026-03-11 13:18:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091834513.xml
[2026-03-11 13:18:34] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091834513.xml for user: 68920395733981a47
[2026-03-11 13:18:34] [INFO] File size: 9632 bytes
[2026-03-11 13:18:34] [INFO] Created FTPFiles record with ID: 69b16baae8de35be3
[2026-03-11 13:18:34] [INFO] About to extract fields from XML. File size: 9632 bytes
[2026-03-11 13:18:34] [INFO] Number of mappings: 24
[2026-03-11 13:18:34] [INFO] Starting XML parsing. Content length: 9632
[2026-03-11 13:18:34] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 13:18:34] [INFO] Processing 24 field mappings
[2026-03-11 13:18:34] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 13:18:34] [INFO]   -> Found value: SICK-Sick Person
[2026-03-11 13:18:34] [INFO]   -> Set field 'incidentTypeValue1' = "SICK-Sick Person"
[2026-03-11 13:18:34] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 13:18:34] [INFO]   -> Found value: ,2200 GREEN POND RD
[2026-03-11 13:18:34] [INFO]   -> Set field 'businessName' = ",2200 GREEN POND RD"
[2026-03-11 13:18:34] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 13:18:34] [INFO]   -> Found value: 37379
[2026-03-11 13:18:34] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 13:18:34] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 13:18:34] [INFO]   -> Found value: 2200
[2026-03-11 13:18:34] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2200
[2026-03-11 13:18:34] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 13:18:34] [INFO]   -> Found value: GREEN POND
[2026-03-11 13:18:34] [INFO]   -> Set field 'streetName' = "GREEN POND"
[2026-03-11 13:18:34] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 13:18:34] [INFO]   -> Found value: DODD CEMETERY RD/HIXSON PIKE
[2026-03-11 13:18:34] [INFO]   -> Set field 'incidentLocationCross' = "DODD CEMETERY RD\/HIXSON PIKE"
[2026-03-11 13:18:34] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 13:18:34] [INFO]   -> Found value: 2026-03-11T09:14:31.343-04:00
[2026-03-11 13:18:34] [INFO]   -> Set field 'alarm' = "2026-03-11 13:14:31"
[2026-03-11 13:18:34] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 13:18:34] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:18:34] [INFO]   -> Set field 'enroute' = null
[2026-03-11 13:18:34] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 13:18:34] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:18:34] [INFO]   -> Set field 'onScene' = null
[2026-03-11 13:18:34] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 13:18:34] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:18:34] [INFO]   -> Set field 'cleared' = null
[2026-03-11 13:18:34] [INFO]   -> Set field 'inService' = null
[2026-03-11 13:18:34] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 13:18:34] [INFO]   -> Found value: 35.242264999999996
[2026-03-11 13:18:34] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24226499999999617784851579926908016204833984375
[2026-03-11 13:18:34] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 13:18:34] [INFO]   -> Found value: -85.11359
[2026-03-11 13:18:34] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1135900000000020781953935511410236358642578125
[2026-03-11 13:18:34] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 13:18:34] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:18:34] [INFO]   -> Set field 'dispatched' = null
[2026-03-11 13:18:34] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 13:18:34] [INFO]   -> No value found (null or empty)
[2026-03-11 13:18:34] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 13:18:34] [INFO]   -> No value found (null or empty)
[2026-03-11 13:18:34] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 13:18:34] [INFO]   -> No value found (null or empty)
[2026-03-11 13:18:34] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 13:18:34] [INFO]   -> No value found (null or empty)
[2026-03-11 13:18:34] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 13:18:34] [INFO]   -> No value found (null or empty)
[2026-03-11 13:18:34] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 13:18:34] [INFO]   -> No value found (null or empty)
[2026-03-11 13:18:34] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 13:18:34] [INFO]   -> Found value: RD
[2026-03-11 13:18:34] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 13:18:34] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 13:18:34] [INFO]   -> No value found (null or empty)
[2026-03-11 13:18:34] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 13:18:34] [INFO]   -> Found value: 2026-03-15548
[2026-03-11 13:18:34] [INFO]   -> Set field 'policeReportNumber' = "2026-03-15548"
[2026-03-11 13:18:34] [INFO]   -> Set field 'cADNumber' = "2026-03-15548"
[2026-03-11 13:18:34] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 13:18:34] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 13:18:34] [INFO] Found 24 elements for 'Comment', concatenating 24 non-empty values
[2026-03-11 13:18:34] [INFO]   -> Found value: 03/11/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]
03/11/2026 ...
[2026-03-11 13:18:34] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:44 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-15547], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009371. requested by M12. [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:18:33 weaver_r                [24] best to use the ramp  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:18:34] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:44 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-15547], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009371. requested by M12. [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:18:33 weaver_r                [24] best to use the ramp  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:18:34] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 13:18:34] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 13:18:34] [INFO]   -> Found value: SFD
[2026-03-11 13:18:34] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-11 13:18:34] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 13:18:34] [INFO] Concatenating street name and type
[2026-03-11 13:18:34] [INFO]   -> Combined street name: GREEN POND RD
[2026-03-11 13:18:34] [INFO] Built locationCoordinates from lat/lng: 35.242265,-85.11359
[2026-03-11 13:18:34] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SICK-Sick Person","businessName":",2200 GREEN POND RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":2200,"streetName":"GREEN POND RD","incidentLocationCross":"DODD CEMETERY RD\/HIXSON PIKE","alarm":"2026-03-11 13:14:31","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24226499999999617784851579926908016204833984375,"nERISIncidentLongitude":-85.1135900000000020781953935511410236358642578125,"dispatched":null,"policeReportNumber":"2026-03-15548","cADNumber":"2026-03-15548","dispatchNotes":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:44 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-15547], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009371. requested by M12. [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:18:33 weaver_r                [24] best to use the ramp  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADLog":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:44 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-15547], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009371. requested by M12. [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:18:33 weaver_r                [24] best to use the ramp  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.242265,-85.11359"}
[2026-03-11 13:18:34] [INFO] Number of extracted fields: 20
[2026-03-11 13:18:34] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-11 13:18:34] [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-11 13:18:34] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-11 13:18:34] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 13:18:35] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 13:18:35] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 13:18:35] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 13:18:35] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 13:18:35] [INFO] Found existing IncidentTypeMapping with ID: 695bec4ad5612a4c9
[2026-03-11 13:18:35] [INFO] Found existing Dispatch with cADNumber '2026-03-15548', ID: 69b16ab963443f0a6 - will update instead of create
[2026-03-11 13:18:35] [INFO] Updated existing Dispatches record with ID: 69b16ab963443f0a6
[2026-03-11 13:18:35] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 13:18:35] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 13:18:39] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-15548_20260311091834513.xml
[2026-03-11 13:18:39] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091834513.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-15548_20260311091834513.xml
[2026-03-11 13:18:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311091834513.xml
[2026-03-11 13:49:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026611_20260311_134943.XML
[2026-03-11 13:49:43] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026611_20260311_134943.XML for user: 68f1466aed072ad4a
[2026-03-11 13:49:43] [INFO] File size: 5385 bytes
[2026-03-11 13:49:43] [INFO] Created FTPFiles record with ID: 69b172f7caedc4778
[2026-03-11 13:49:43] [INFO] About to extract fields from XML. File size: 5385 bytes
[2026-03-11 13:49:43] [INFO] Number of mappings: 28
[2026-03-11 13:49:43] [INFO] Starting XML parsing. Content length: 5385
[2026-03-11 13:49:43] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 13:49:43] [INFO] Processing 28 field mappings
[2026-03-11 13:49:43] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 13:49:43] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 13:49:43] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 13:49:43] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-11 13:49:43] [INFO]   -> Found value: MFD
EMS
[2026-03-11 13:49:43] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nEMS"
[2026-03-11 13:49:43] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 13:49:43] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-11 13:49:43] [INFO]   -> Found value: 2026000090
[2026-03-11 13:49:43] [INFO]   -> Set field 'incidentInternalId' = "2026000090"
[2026-03-11 13:49:43] [INFO]   -> Set field 'dispatchRunNumber' = "2026000090"
[2026-03-11 13:49:43] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 13:49:43] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-03-11 13:49:43] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-03-11 13:49:43] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 13:49:43] [INFO]   -> Found value: 303
[2026-03-11 13:49:43] [INFO]   -> Set field 'incidentLocationStreetNumber' = 303
[2026-03-11 13:49:43] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 13:49:43] [INFO]   -> Found value: TN
[2026-03-11 13:49:43] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 13:49:43] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 13:49:43] [INFO]   -> Found value: 38574
[2026-03-11 13:49:43] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-11 13:49:43] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 13:49:43] [INFO]   -> Found value: HIGHLAND MANOR II
[2026-03-11 13:49:43] [INFO]   -> Set field 'businessName' = "HIGHLAND MANOR II"
[2026-03-11 13:49:43] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 13:49:43] [INFO]   -> Found value: B6
[2026-03-11 13:49:43] [INFO]   -> Set field 'incidentLocationApt' = "B6"
[2026-03-11 13:49:43] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 13:49:43] [INFO]   -> Found value: 36.15002
[2026-03-11 13:49:43] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1500199999999978217601892538368701934814453125
[2026-03-11 13:49:43] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 13:49:43] [INFO]   -> Found value: -85.27093
[2026-03-11 13:49:43] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2709300000000069985617301426827907562255859375
[2026-03-11 13:49:43] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 13:49:43] [INFO]   -> Found value: 2026-03-11 08:48:42
[2026-03-11 13:49:43] [INFO]   -> Set field 'alarm' = "2026-03-11 08:48:42"
[2026-03-11 13:49:43] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 13:49:43] [INFO]   -> Found value: 2026-03-11 08:49:34
[2026-03-11 13:49:43] [INFO]   -> Set field 'dispatched' = "2026-03-11 08:49:34"
[2026-03-11 13:49:43] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 13:49:43] [INFO]   -> No value found (null or empty)
[2026-03-11 13:49:43] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 13:49:43] [INFO]   -> No value found (null or empty)
[2026-03-11 13:49:43] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 13:49:43] [INFO]   -> No value found (null or empty)
[2026-03-11 13:49:43] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 13:49:43] [INFO]   -> Found value: N WALNUT ST/N OAK ST
[2026-03-11 13:49:43] [INFO]   -> Set field 'incidentLocationCross' = "N WALNUT ST\/N OAK ST"
[2026-03-11 13:49:43] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 13:49:43] [INFO]   -> Found value: MFEN1
[2026-03-11 13:49:43] [INFO]   -> Set field 'cADVehicleID' = "MFEN1"
[2026-03-11 13:49:43] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 13:49:43] [INFO]   -> Found value: 2026-03-11 08:49:34
[2026-03-11 13:49:43] [INFO]   -> Set field 'timedispatch' = "2026-03-11 08:49:34"
[2026-03-11 13:49:43] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 13:49:43] [INFO]   -> No value found (null or empty)
[2026-03-11 13:49:43] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 13:49:43] [INFO]   -> No value found (null or empty)
[2026-03-11 13:49:43] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 13:49:43] [INFO]   -> No value found (null or empty)
[2026-03-11 13:49:43] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 13:49:43] [INFO]   -> No value found (null or empty)
[2026-03-11 13:49:43] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 13:49:43] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 13:49:43] [INFO]   -> Found value: 20260026611
[2026-03-11 13:49:43] [INFO]   -> Set field 'policeReportNumber' = "20260026611"
[2026-03-11 13:49:43] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 13:49:43] [INFO]   -> Found value: [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03/11/26 08:48:54 KHILL] Event spawned from...
[2026-03-11 13:49:43] [INFO]   -> Set field 'dispatchNotes' = "[EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]"
[2026-03-11 13:49:43] [INFO]   -> Set field 'cADLog' = "[EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]"
[2026-03-11 13:49:43] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 13:49:43] [INFO]   -> Found value: MONTEREY
[2026-03-11 13:49:43] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-11 13:49:43] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 13:49:43] [INFO]   -> Found value: COMMERCIAL
[2026-03-11 13:49:43] [INFO]   -> Set field 'streetName' = "COMMERCIAL"
[2026-03-11 13:49:43] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 13:49:43] [INFO]   -> Found value: AVE
[2026-03-11 13:49:43] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-11 13:49:43] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 13:49:43] [INFO]   -> Found value: 303-B6 W COMMERCIAL AVE
[2026-03-11 13:49:43] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "303-B6 W COMMERCIAL AVE"
[2026-03-11 13:49:43] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 13:49:43] [INFO] Concatenating street name and type
[2026-03-11 13:49:43] [INFO]   -> Combined street name: COMMERCIAL AVE
[2026-03-11 13:49:43] [INFO] Built locationCoordinates from lat/lng: 36.15002,-85.27093
[2026-03-11 13:49:43] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nEMS","incidentInternalId":"2026000090","dispatchRunNumber":"2026000090","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":303,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"HIGHLAND MANOR II","incidentLocationApt":"B6","nERISIncidentLatitude":36.1500199999999978217601892538368701934814453125,"nERISIncidentLongitude":-85.2709300000000069985617301426827907562255859375,"alarm":"2026-03-11 08:48:42","dispatched":"2026-03-11 08:49:34","incidentLocationCross":"N WALNUT ST\/N OAK ST","cADVehicleID":"MFEN1","timedispatch":"2026-03-11 08:49:34","policeReportNumber":"20260026611","dispatchNotes":"[EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]","cADLog":"[EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]","incidentLocationCity":"MONTEREY","streetName":"COMMERCIAL AVE","incidentAddressTextVersionStreet":"303-B6 W COMMERCIAL AVE","locationCoordinates":"36.15002,-85.27093"}
[2026-03-11 13:49:43] [INFO] Number of extracted fields: 23
[2026-03-11 13:49:43] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
EMS'
[2026-03-11 13:49:43] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
EMS', Parsed IDs = ["MFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-11 13:49:43] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","EMS"]
[2026-03-11 13:49:43] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-11 13:49:44] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-11 13:49:44] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-11 13:49:44] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-11 13:49:44] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-11 13:49:44] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-11 13:49:44] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-11 13:49:44] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-11 13:49:44] [INFO] Found existing IncidentTypeMapping with ID: 6946a65ce82f04f50
[2026-03-11 13:49:47] [INFO] Created new Dispatches record with ID: 69b172f92682d9f4f
[2026-03-11 13:49:47] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026611_20260311_134943.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/MFD_20260026611_20260311_134943.XML
[2026-03-11 13:49:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026611_20260311_134943.XML
[2026-03-11 13:51:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311095150650.xml
[2026-03-11 13:51:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311095150650.xml for user: 68920395733981a47
[2026-03-11 13:51:53] [INFO] File size: 9795 bytes
[2026-03-11 13:51:53] [INFO] Created FTPFiles record with ID: 69b1737965867caff
[2026-03-11 13:51:53] [INFO] About to extract fields from XML. File size: 9795 bytes
[2026-03-11 13:51:53] [INFO] Number of mappings: 24
[2026-03-11 13:51:53] [INFO] Starting XML parsing. Content length: 9795
[2026-03-11 13:51:53] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 13:51:53] [INFO] Processing 24 field mappings
[2026-03-11 13:51:53] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 13:51:53] [INFO]   -> Found value: SICK-Sick Person
[2026-03-11 13:51:53] [INFO]   -> Set field 'incidentTypeValue1' = "SICK-Sick Person"
[2026-03-11 13:51:53] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 13:51:53] [INFO]   -> Found value: ,2200 GREEN POND RD
[2026-03-11 13:51:53] [INFO]   -> Set field 'businessName' = ",2200 GREEN POND RD"
[2026-03-11 13:51:53] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 13:51:53] [INFO]   -> Found value: 37379
[2026-03-11 13:51:53] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 13:51:53] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 13:51:53] [INFO]   -> Found value: 2200
[2026-03-11 13:51:53] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2200
[2026-03-11 13:51:53] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 13:51:53] [INFO]   -> Found value: GREEN POND
[2026-03-11 13:51:53] [INFO]   -> Set field 'streetName' = "GREEN POND"
[2026-03-11 13:51:53] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 13:51:53] [INFO]   -> Found value: DODD CEMETERY RD/HIXSON PIKE
[2026-03-11 13:51:53] [INFO]   -> Set field 'incidentLocationCross' = "DODD CEMETERY RD\/HIXSON PIKE"
[2026-03-11 13:51:53] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 13:51:53] [INFO]   -> Found value: 2026-03-11T09:14:31.343-04:00
[2026-03-11 13:51:53] [INFO]   -> Set field 'alarm' = "2026-03-11 13:14:31"
[2026-03-11 13:51:53] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 13:51:53] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:51:53] [INFO]   -> Set field 'enroute' = null
[2026-03-11 13:51:53] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 13:51:53] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:51:53] [INFO]   -> Set field 'onScene' = null
[2026-03-11 13:51:53] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 13:51:53] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:51:53] [INFO]   -> Set field 'cleared' = null
[2026-03-11 13:51:53] [INFO]   -> Set field 'inService' = null
[2026-03-11 13:51:53] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 13:51:53] [INFO]   -> Found value: 35.242264999999996
[2026-03-11 13:51:53] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24226499999999617784851579926908016204833984375
[2026-03-11 13:51:53] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 13:51:53] [INFO]   -> Found value: -85.11359
[2026-03-11 13:51:53] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1135900000000020781953935511410236358642578125
[2026-03-11 13:51:53] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 13:51:53] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:51:53] [INFO]   -> Set field 'dispatched' = null
[2026-03-11 13:51:53] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 13:51:53] [INFO]   -> No value found (null or empty)
[2026-03-11 13:51:53] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 13:51:53] [INFO]   -> No value found (null or empty)
[2026-03-11 13:51:53] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 13:51:53] [INFO]   -> No value found (null or empty)
[2026-03-11 13:51:53] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 13:51:53] [INFO]   -> No value found (null or empty)
[2026-03-11 13:51:53] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 13:51:53] [INFO]   -> No value found (null or empty)
[2026-03-11 13:51:53] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 13:51:53] [INFO]   -> No value found (null or empty)
[2026-03-11 13:51:53] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 13:51:53] [INFO]   -> Found value: RD
[2026-03-11 13:51:53] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 13:51:53] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 13:51:53] [INFO]   -> No value found (null or empty)
[2026-03-11 13:51:53] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 13:51:53] [INFO]   -> Found value: 2026-03-15548
[2026-03-11 13:51:53] [INFO]   -> Set field 'policeReportNumber' = "2026-03-15548"
[2026-03-11 13:51:53] [INFO]   -> Set field 'cADNumber' = "2026-03-15548"
[2026-03-11 13:51:53] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 13:51:53] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 13:51:53] [INFO] Found 25 elements for 'Comment', concatenating 25 non-empty values
[2026-03-11 13:51:53] [INFO]   -> Found value: 03/11/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]
03/11/2026 ...
[2026-03-11 13:51:53] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:44 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-15547], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009371. requested by M12. [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:18:33 weaver_r                [24] best to use the ramp  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:51:46 M12                     [25] M12 - Transported person gender is Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:51:53] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:44 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-15547], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009371. requested by M12. [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:18:33 weaver_r                [24] best to use the ramp  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:51:46 M12                     [25] M12 - Transported person gender is Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:51:53] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 13:51:53] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 13:51:53] [INFO]   -> Found value: SFD
[2026-03-11 13:51:53] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-11 13:51:53] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 13:51:53] [INFO] Concatenating street name and type
[2026-03-11 13:51:53] [INFO]   -> Combined street name: GREEN POND RD
[2026-03-11 13:51:53] [INFO] Built locationCoordinates from lat/lng: 35.242265,-85.11359
[2026-03-11 13:51:53] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SICK-Sick Person","businessName":",2200 GREEN POND RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":2200,"streetName":"GREEN POND RD","incidentLocationCross":"DODD CEMETERY RD\/HIXSON PIKE","alarm":"2026-03-11 13:14:31","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24226499999999617784851579926908016204833984375,"nERISIncidentLongitude":-85.1135900000000020781953935511410236358642578125,"dispatched":null,"policeReportNumber":"2026-03-15548","cADNumber":"2026-03-15548","dispatchNotes":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:44 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-15547], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009371. requested by M12. [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:18:33 weaver_r                [24] best to use the ramp  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:51:46 M12                     [25] M12 - Transported person gender is Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADLog":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:44 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-15547], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009371. requested by M12. [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:18:33 weaver_r                [24] best to use the ramp  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:51:46 M12                     [25] M12 - Transported person gender is Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.242265,-85.11359"}
[2026-03-11 13:51:53] [INFO] Number of extracted fields: 20
[2026-03-11 13:51:53] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-11 13:51:53] [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-11 13:51:53] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-11 13:51:53] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 13:51:53] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 13:51:53] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 13:51:53] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 13:51:53] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 13:51:54] [INFO] Found existing IncidentTypeMapping with ID: 695bec4ad5612a4c9
[2026-03-11 13:51:54] [INFO] Found existing Dispatch with cADNumber '2026-03-15548', ID: 69b16ab963443f0a6 - will update instead of create
[2026-03-11 13:51:54] [INFO] Updated existing Dispatches record with ID: 69b16ab963443f0a6
[2026-03-11 13:51:54] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 13:51:54] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 13:51:57] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-15548_20260311095150650.xml
[2026-03-11 13:51:57] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311095150650.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-15548_20260311095150650.xml
[2026-03-11 13:51:57] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311095150650.xml
[2026-03-11 13:52:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311095205797.xml
[2026-03-11 13:52:05] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311095205797.xml for user: 68920395733981a47
[2026-03-11 13:52:05] [INFO] File size: 10148 bytes
[2026-03-11 13:52:07] [INFO] Created FTPFiles record with ID: 69b1738730ee52175
[2026-03-11 13:52:07] [INFO] About to extract fields from XML. File size: 10148 bytes
[2026-03-11 13:52:07] [INFO] Number of mappings: 24
[2026-03-11 13:52:07] [INFO] Starting XML parsing. Content length: 10148
[2026-03-11 13:52:07] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 13:52:07] [INFO] Processing 24 field mappings
[2026-03-11 13:52:07] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 13:52:07] [INFO]   -> Found value: SICK-Sick Person
[2026-03-11 13:52:07] [INFO]   -> Set field 'incidentTypeValue1' = "SICK-Sick Person"
[2026-03-11 13:52:07] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 13:52:07] [INFO]   -> Found value: ,2200 GREEN POND RD
[2026-03-11 13:52:07] [INFO]   -> Set field 'businessName' = ",2200 GREEN POND RD"
[2026-03-11 13:52:07] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 13:52:07] [INFO]   -> Found value: 37379
[2026-03-11 13:52:07] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 13:52:07] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 13:52:07] [INFO]   -> Found value: 2200
[2026-03-11 13:52:07] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2200
[2026-03-11 13:52:07] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 13:52:07] [INFO]   -> Found value: GREEN POND
[2026-03-11 13:52:07] [INFO]   -> Set field 'streetName' = "GREEN POND"
[2026-03-11 13:52:07] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 13:52:07] [INFO]   -> Found value: DODD CEMETERY RD/HIXSON PIKE
[2026-03-11 13:52:07] [INFO]   -> Set field 'incidentLocationCross' = "DODD CEMETERY RD\/HIXSON PIKE"
[2026-03-11 13:52:07] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 13:52:07] [INFO]   -> Found value: 2026-03-11T09:14:31.343-04:00
[2026-03-11 13:52:07] [INFO]   -> Set field 'alarm' = "2026-03-11 13:14:31"
[2026-03-11 13:52:07] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 13:52:07] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:52:07] [INFO]   -> Set field 'enroute' = null
[2026-03-11 13:52:07] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 13:52:07] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:52:07] [INFO]   -> Set field 'onScene' = null
[2026-03-11 13:52:07] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 13:52:07] [INFO]   -> Found value: 2026-03-11T09:52:05.75-04:00
[2026-03-11 13:52:07] [INFO]   -> Set field 'cleared' = "2026-03-11 13:52:05"
[2026-03-11 13:52:07] [INFO]   -> Set field 'inService' = "2026-03-11 13:52:05"
[2026-03-11 13:52:07] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 13:52:07] [INFO]   -> Found value: 35.242264999999996
[2026-03-11 13:52:07] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24226499999999617784851579926908016204833984375
[2026-03-11 13:52:07] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 13:52:07] [INFO]   -> Found value: -85.11359
[2026-03-11 13:52:07] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1135900000000020781953935511410236358642578125
[2026-03-11 13:52:07] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 13:52:07] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 13:52:07] [INFO]   -> Set field 'dispatched' = null
[2026-03-11 13:52:07] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 13:52:07] [INFO]   -> No value found (null or empty)
[2026-03-11 13:52:07] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 13:52:07] [INFO]   -> No value found (null or empty)
[2026-03-11 13:52:07] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 13:52:07] [INFO]   -> No value found (null or empty)
[2026-03-11 13:52:07] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 13:52:07] [INFO]   -> No value found (null or empty)
[2026-03-11 13:52:07] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 13:52:07] [INFO]   -> No value found (null or empty)
[2026-03-11 13:52:07] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 13:52:07] [INFO]   -> No value found (null or empty)
[2026-03-11 13:52:07] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 13:52:07] [INFO]   -> Found value: RD
[2026-03-11 13:52:07] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 13:52:07] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 13:52:07] [INFO]   -> No value found (null or empty)
[2026-03-11 13:52:07] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 13:52:07] [INFO]   -> Found value: 2026-03-15548
[2026-03-11 13:52:07] [INFO]   -> Set field 'policeReportNumber' = "2026-03-15548"
[2026-03-11 13:52:07] [INFO]   -> Set field 'cADNumber' = "2026-03-15548"
[2026-03-11 13:52:07] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 13:52:07] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 13:52:07] [INFO] Found 25 elements for 'Comment', concatenating 25 non-empty values
[2026-03-11 13:52:07] [INFO]   -> Found value: 03/11/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]
03/11/2026 ...
[2026-03-11 13:52:07] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:44 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-15547], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009371. requested by M12. [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:18:33 weaver_r                [24] best to use the ramp  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:51:46 M12                     [25] M12 - Transported person gender is Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:52:07] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:44 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-15547], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009371. requested by M12. [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:18:33 weaver_r                [24] best to use the ramp  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:51:46 M12                     [25] M12 - Transported person gender is Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]"
[2026-03-11 13:52:07] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 13:52:07] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 13:52:07] [INFO]   -> Found value: SFD
[2026-03-11 13:52:07] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-11 13:52:07] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 13:52:07] [INFO] Concatenating street name and type
[2026-03-11 13:52:07] [INFO]   -> Combined street name: GREEN POND RD
[2026-03-11 13:52:07] [INFO] Built locationCoordinates from lat/lng: 35.242265,-85.11359
[2026-03-11 13:52:07] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SICK-Sick Person","businessName":",2200 GREEN POND RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":2200,"streetName":"GREEN POND RD","incidentLocationCross":"DODD CEMETERY RD\/HIXSON PIKE","alarm":"2026-03-11 13:14:31","enroute":null,"onScene":null,"cleared":"2026-03-11 13:52:05","inService":"2026-03-11 13:52:05","nERISIncidentLatitude":35.24226499999999617784851579926908016204833984375,"nERISIncidentLongitude":-85.1135900000000020781953935511410236358642578125,"dispatched":null,"policeReportNumber":"2026-03-15548","cADNumber":"2026-03-15548","dispatchNotes":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:44 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-15547], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009371. requested by M12. [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:18:33 weaver_r                [24] best to use the ramp  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:51:46 M12                     [25] M12 - Transported person gender is Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADLog":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:44 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-15547], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009371. requested by M12. [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:18:33 weaver_r                [24] best to use the ramp  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:51:46 M12                     [25] M12 - Transported person gender is Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.242265,-85.11359"}
[2026-03-11 13:52:07] [INFO] Number of extracted fields: 20
[2026-03-11 13:52:07] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-11 13:52:07] [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-11 13:52:07] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-11 13:52:07] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 13:52:07] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 13:52:07] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 13:52:07] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 13:52:07] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 13:52:07] [INFO] Found existing IncidentTypeMapping with ID: 695bec4ad5612a4c9
[2026-03-11 13:52:08] [INFO] Found existing Dispatch with cADNumber '2026-03-15548', ID: 69b16ab963443f0a6 - will update instead of create
[2026-03-11 13:52:08] [INFO] Updated existing Dispatches record with ID: 69b16ab963443f0a6
[2026-03-11 13:52:08] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 13:52:08] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 13:52:11] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-15548_20260311095205797.xml
[2026-03-11 13:52:11] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311095205797.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-15548_20260311095205797.xml
[2026-03-11 13:52:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311095205797.xml
[2026-03-11 13:53:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026615_20260311_135353.XML
[2026-03-11 13:53:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026615_20260311_135353.XML for user: 68f1466aed072ad4a
[2026-03-11 13:53:53] [INFO] File size: 5900 bytes
[2026-03-11 13:53:53] [INFO] Created FTPFiles record with ID: 69b173f1c5478ac09
[2026-03-11 13:53:53] [INFO] About to extract fields from XML. File size: 5900 bytes
[2026-03-11 13:53:53] [INFO] Number of mappings: 28
[2026-03-11 13:53:53] [INFO] Starting XML parsing. Content length: 5900
[2026-03-11 13:53:53] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 13:53:53] [INFO] Processing 28 field mappings
[2026-03-11 13:53:53] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 13:53:53] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 13:53:53] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 13:53:53] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 13:53:53] [INFO]   -> Found value: PCFD
EMS
MFD
[2026-03-11 13:53:53] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMFD"
[2026-03-11 13:53:53] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 13:53:53] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 13:53:53] [INFO]   -> Found value: 2026000665
[2026-03-11 13:53:53] [INFO]   -> Set field 'incidentInternalId' = "2026000665"
[2026-03-11 13:53:53] [INFO]   -> Set field 'dispatchRunNumber' = "2026000665"
[2026-03-11 13:53:53] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 13:53:53] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-03-11 13:53:53] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-03-11 13:53:53] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 13:53:53] [INFO]   -> Found value: 303
[2026-03-11 13:53:53] [INFO]   -> Set field 'incidentLocationStreetNumber' = 303
[2026-03-11 13:53:53] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 13:53:53] [INFO]   -> Found value: TN
[2026-03-11 13:53:53] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 13:53:53] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 13:53:53] [INFO]   -> Found value: 38574
[2026-03-11 13:53:53] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-11 13:53:53] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 13:53:53] [INFO]   -> Found value: HIGHLAND MANOR II
[2026-03-11 13:53:53] [INFO]   -> Set field 'businessName' = "HIGHLAND MANOR II"
[2026-03-11 13:53:53] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 13:53:53] [INFO]   -> Found value: B6
[2026-03-11 13:53:53] [INFO]   -> Set field 'incidentLocationApt' = "B6"
[2026-03-11 13:53:53] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 13:53:53] [INFO]   -> Found value: 36.15002
[2026-03-11 13:53:53] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1500199999999978217601892538368701934814453125
[2026-03-11 13:53:53] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 13:53:53] [INFO]   -> Found value: -85.27093
[2026-03-11 13:53:53] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2709300000000069985617301426827907562255859375
[2026-03-11 13:53:53] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 13:53:53] [INFO]   -> Found value: 2026-03-11 08:53:19
[2026-03-11 13:53:53] [INFO]   -> Set field 'alarm' = "2026-03-11 08:53:19"
[2026-03-11 13:53:53] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 13:53:53] [INFO]   -> Found value: 2026-03-11 08:53:46
[2026-03-11 13:53:53] [INFO]   -> Set field 'dispatched' = "2026-03-11 08:53:46"
[2026-03-11 13:53:53] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 13:53:53] [INFO]   -> No value found (null or empty)
[2026-03-11 13:53:53] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 13:53:53] [INFO]   -> No value found (null or empty)
[2026-03-11 13:53:53] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 13:53:53] [INFO]   -> No value found (null or empty)
[2026-03-11 13:53:53] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 13:53:53] [INFO]   -> Found value: N WALNUT ST/N OAK ST
[2026-03-11 13:53:53] [INFO]   -> Set field 'incidentLocationCross' = "N WALNUT ST\/N OAK ST"
[2026-03-11 13:53:53] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 13:53:53] [INFO]   -> Found value: TK21
[2026-03-11 13:53:53] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-11 13:53:53] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 13:53:53] [INFO]   -> Found value: 2026-03-11 08:53:46
[2026-03-11 13:53:53] [INFO]   -> Set field 'timedispatch' = "2026-03-11 08:53:46"
[2026-03-11 13:53:53] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 13:53:53] [INFO]   -> No value found (null or empty)
[2026-03-11 13:53:53] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 13:53:53] [INFO]   -> No value found (null or empty)
[2026-03-11 13:53:53] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 13:53:53] [INFO]   -> No value found (null or empty)
[2026-03-11 13:53:53] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 13:53:53] [INFO]   -> No value found (null or empty)
[2026-03-11 13:53:53] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 13:53:53] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 13:53:53] [INFO]   -> Found value: 20260026615
[2026-03-11 13:53:53] [INFO]   -> Set field 'policeReportNumber' = "20260026615"
[2026-03-11 13:53:53] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 13:53:53] [INFO]   -> Found value: [FIRE] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03/11/26 08:53:43 KHILL] Event spawned from ...
[2026-03-11 13:53:53] [INFO]   -> Set field 'dispatchNotes' = "[FIRE] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:43 KHILL] Event spawned from MANPOWER - EMS ASSIST.  [03\/11\/2026 08:53:19 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]"
[2026-03-11 13:53:53] [INFO]   -> Set field 'cADLog' = "[FIRE] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:43 KHILL] Event spawned from MANPOWER - EMS ASSIST.  [03\/11\/2026 08:53:19 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]"
[2026-03-11 13:53:53] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 13:53:53] [INFO]   -> Found value: MONTEREY
[2026-03-11 13:53:53] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-11 13:53:53] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 13:53:53] [INFO]   -> Found value: COMMERCIAL
[2026-03-11 13:53:53] [INFO]   -> Set field 'streetName' = "COMMERCIAL"
[2026-03-11 13:53:53] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 13:53:53] [INFO]   -> Found value: AVE
[2026-03-11 13:53:53] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-11 13:53:53] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 13:53:53] [INFO]   -> Found value: 303-B6 W COMMERCIAL AVE
[2026-03-11 13:53:53] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "303-B6 W COMMERCIAL AVE"
[2026-03-11 13:53:53] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 13:53:53] [INFO] Concatenating street name and type
[2026-03-11 13:53:53] [INFO]   -> Combined street name: COMMERCIAL AVE
[2026-03-11 13:53:53] [INFO] Built locationCoordinates from lat/lng: 36.15002,-85.27093
[2026-03-11 13:53:53] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMFD","incidentInternalId":"2026000665","dispatchRunNumber":"2026000665","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":303,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"HIGHLAND MANOR II","incidentLocationApt":"B6","nERISIncidentLatitude":36.1500199999999978217601892538368701934814453125,"nERISIncidentLongitude":-85.2709300000000069985617301426827907562255859375,"alarm":"2026-03-11 08:53:19","dispatched":"2026-03-11 08:53:46","incidentLocationCross":"N WALNUT ST\/N OAK ST","cADVehicleID":"TK21","timedispatch":"2026-03-11 08:53:46","policeReportNumber":"20260026615","dispatchNotes":"[FIRE] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:43 KHILL] Event spawned from MANPOWER - EMS ASSIST.  [03\/11\/2026 08:53:19 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]","cADLog":"[FIRE] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:43 KHILL] Event spawned from MANPOWER - EMS ASSIST.  [03\/11\/2026 08:53:19 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]","incidentLocationCity":"MONTEREY","streetName":"COMMERCIAL AVE","incidentAddressTextVersionStreet":"303-B6 W COMMERCIAL AVE","locationCoordinates":"36.15002,-85.27093"}
[2026-03-11 13:53:53] [INFO] Number of extracted fields: 23
[2026-03-11 13:53:53] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MFD'
[2026-03-11 13:53:53] [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-11 13:53:53] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MFD"]
[2026-03-11 13:53:53] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 13:53:59] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 13:53:59] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MFD"]
[2026-03-11 13:53: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-11 13:53: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-11 13:53:59] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 13:53:59] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 13:53:59] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 13:53:59] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2026-03-11 13:54:09] [INFO] Created new Dispatches record with ID: 69b173f7dc995c04c
[2026-03-11 13:54:09] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026615_20260311_135353.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026615_20260311_135353.XML
[2026-03-11 13:54:09] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026615_20260311_135353.XML
[2026-03-11 13:55:24] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026615_20260311_135524.XML
[2026-03-11 13:55:24] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026615_20260311_135524.XML for user: 68f1466aed072ad4a
[2026-03-11 13:55:24] [INFO] File size: 6971 bytes
[2026-03-11 13:55:25] [INFO] Created FTPFiles record with ID: 69b1744d0f3a49ff5
[2026-03-11 13:55:25] [INFO] About to extract fields from XML. File size: 6971 bytes
[2026-03-11 13:55:25] [INFO] Number of mappings: 28
[2026-03-11 13:55:25] [INFO] Starting XML parsing. Content length: 6971
[2026-03-11 13:55:25] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 13:55:25] [INFO] Processing 28 field mappings
[2026-03-11 13:55:25] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 13:55:25] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 13:55:25] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 13:55:25] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 13:55:25] [INFO]   -> Found value: PCFD
EMS
MFD
[2026-03-11 13:55:25] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMFD"
[2026-03-11 13:55:25] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 13:55:25] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 13:55:25] [INFO]   -> Found value: 2026000665
[2026-03-11 13:55:25] [INFO]   -> Set field 'incidentInternalId' = "2026000665"
[2026-03-11 13:55:25] [INFO]   -> Set field 'dispatchRunNumber' = "2026000665"
[2026-03-11 13:55:25] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 13:55:25] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-03-11 13:55:25] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-03-11 13:55:25] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 13:55:25] [INFO]   -> Found value: 303
[2026-03-11 13:55:25] [INFO]   -> Set field 'incidentLocationStreetNumber' = 303
[2026-03-11 13:55:25] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 13:55:25] [INFO]   -> Found value: TN
[2026-03-11 13:55:25] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 13:55:25] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 13:55:25] [INFO]   -> Found value: 38574
[2026-03-11 13:55:25] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-11 13:55:25] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 13:55:25] [INFO]   -> Found value: HIGHLAND MANOR II
[2026-03-11 13:55:25] [INFO]   -> Set field 'businessName' = "HIGHLAND MANOR II"
[2026-03-11 13:55:25] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 13:55:25] [INFO]   -> Found value: B6
[2026-03-11 13:55:25] [INFO]   -> Set field 'incidentLocationApt' = "B6"
[2026-03-11 13:55:25] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 13:55:25] [INFO]   -> Found value: 36.15002
[2026-03-11 13:55:25] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1500199999999978217601892538368701934814453125
[2026-03-11 13:55:25] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 13:55:25] [INFO]   -> Found value: -85.27093
[2026-03-11 13:55:25] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2709300000000069985617301426827907562255859375
[2026-03-11 13:55:25] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 13:55:25] [INFO]   -> Found value: 2026-03-11 08:53:19
[2026-03-11 13:55:25] [INFO]   -> Set field 'alarm' = "2026-03-11 08:53:19"
[2026-03-11 13:55:25] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 13:55:25] [INFO]   -> Found value: 2026-03-11 08:53:46
[2026-03-11 13:55:25] [INFO]   -> Set field 'dispatched' = "2026-03-11 08:53:46"
[2026-03-11 13:55:25] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 13:55:25] [INFO]   -> Found value: 2026-03-11 08:55:21
[2026-03-11 13:55:25] [INFO]   -> Set field 'enroute' = "2026-03-11 08:55:21"
[2026-03-11 13:55:25] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 13:55:25] [INFO]   -> No value found (null or empty)
[2026-03-11 13:55:25] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 13:55:25] [INFO]   -> No value found (null or empty)
[2026-03-11 13:55:25] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 13:55:25] [INFO]   -> Found value: N WALNUT ST/N OAK ST
[2026-03-11 13:55:25] [INFO]   -> Set field 'incidentLocationCross' = "N WALNUT ST\/N OAK ST"
[2026-03-11 13:55:25] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 13:55:25] [INFO]   -> Found value: EN21
[2026-03-11 13:55:25] [INFO]   -> Set field 'cADVehicleID' = "EN21"
[2026-03-11 13:55:25] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 13:55:25] [INFO]   -> Found value: 2026-03-11 08:55:18
[2026-03-11 13:55:25] [INFO]   -> Set field 'timedispatch' = "2026-03-11 08:55:18"
[2026-03-11 13:55:25] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 13:55:25] [INFO]   -> Found value: 2026-03-11 08:55:21
[2026-03-11 13:55:25] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 08:55:21"
[2026-03-11 13:55:25] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 13:55:25] [INFO]   -> No value found (null or empty)
[2026-03-11 13:55:25] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 13:55:25] [INFO]   -> No value found (null or empty)
[2026-03-11 13:55:25] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 13:55:25] [INFO]   -> No value found (null or empty)
[2026-03-11 13:55:25] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 13:55:25] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 13:55:25] [INFO]   -> Found value: 20260026615
[2026-03-11 13:55:25] [INFO]   -> Set field 'policeReportNumber' = "20260026615"
[2026-03-11 13:55:25] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 13:55:25] [INFO]   -> Found value: [FIRE] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03/11/26 08:53:43 KHILL] Event spawned from ...
[2026-03-11 13:55:25] [INFO]   -> Set field 'dispatchNotes' = "[FIRE] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:43 KHILL] Event spawned from MANPOWER - EMS ASSIST.  [03\/11\/2026 08:53:19 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]"
[2026-03-11 13:55:25] [INFO]   -> Set field 'cADLog' = "[FIRE] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:43 KHILL] Event spawned from MANPOWER - EMS ASSIST.  [03\/11\/2026 08:53:19 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]"
[2026-03-11 13:55:25] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 13:55:25] [INFO]   -> Found value: MONTEREY
[2026-03-11 13:55:25] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-11 13:55:25] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 13:55:25] [INFO]   -> Found value: COMMERCIAL
[2026-03-11 13:55:25] [INFO]   -> Set field 'streetName' = "COMMERCIAL"
[2026-03-11 13:55:25] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 13:55:25] [INFO]   -> Found value: AVE
[2026-03-11 13:55:25] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-11 13:55:25] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 13:55:25] [INFO]   -> Found value: 303-B6 W COMMERCIAL AVE
[2026-03-11 13:55:25] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "303-B6 W COMMERCIAL AVE"
[2026-03-11 13:55:25] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-03-11 13:55:25] [INFO] Concatenating street name and type
[2026-03-11 13:55:25] [INFO]   -> Combined street name: COMMERCIAL AVE
[2026-03-11 13:55:25] [INFO] Built locationCoordinates from lat/lng: 36.15002,-85.27093
[2026-03-11 13:55:25] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMFD","incidentInternalId":"2026000665","dispatchRunNumber":"2026000665","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":303,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"HIGHLAND MANOR II","incidentLocationApt":"B6","nERISIncidentLatitude":36.1500199999999978217601892538368701934814453125,"nERISIncidentLongitude":-85.2709300000000069985617301426827907562255859375,"alarm":"2026-03-11 08:53:19","dispatched":"2026-03-11 08:53:46","enroute":"2026-03-11 08:55:21","incidentLocationCross":"N WALNUT ST\/N OAK ST","cADVehicleID":"EN21","timedispatch":"2026-03-11 08:55:18","timeenroutetoscene":"2026-03-11 08:55:21","policeReportNumber":"20260026615","dispatchNotes":"[FIRE] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:43 KHILL] Event spawned from MANPOWER - EMS ASSIST.  [03\/11\/2026 08:53:19 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]","cADLog":"[FIRE] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:43 KHILL] Event spawned from MANPOWER - EMS ASSIST.  [03\/11\/2026 08:53:19 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]","incidentLocationCity":"MONTEREY","streetName":"COMMERCIAL AVE","incidentAddressTextVersionStreet":"303-B6 W COMMERCIAL AVE","locationCoordinates":"36.15002,-85.27093"}
[2026-03-11 13:55:25] [INFO] Number of extracted fields: 25
[2026-03-11 13:55:25] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MFD'
[2026-03-11 13:55:25] [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-11 13:55:25] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MFD"]
[2026-03-11 13:55:25] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 13:55:26] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 13:55:26] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MFD"]
[2026-03-11 13:55:27] [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-11 13:55:27] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 13:55:27] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 13:55:27] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 13:55:27] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 13:55:27] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2026-03-11 13:55:27] [INFO] Found existing Dispatch with cADNumber '2026000665', ID: 69b173f7dc995c04c - will update instead of create
[2026-03-11 13:55:28] [INFO] Updated existing Dispatches record with ID: 69b173f7dc995c04c
[2026-03-11 13:55:28] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026615_20260311_135524.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026615_20260311_135524.XML
[2026-03-11 13:55:28] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026615_20260311_135524.XML
[2026-03-11 13:55:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026615_20260311_135528.XML
[2026-03-11 13:55:28] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026615_20260311_135528.XML for user: 68f1466aed072ad4a
[2026-03-11 13:55:28] [INFO] File size: 6971 bytes
[2026-03-11 13:55:28] [INFO] Created FTPFiles record with ID: 69b1745084a8c02b8
[2026-03-11 13:55:28] [INFO] About to extract fields from XML. File size: 6971 bytes
[2026-03-11 13:55:28] [INFO] Number of mappings: 28
[2026-03-11 13:55:28] [INFO] Starting XML parsing. Content length: 6971
[2026-03-11 13:55:28] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 13:55:28] [INFO] Processing 28 field mappings
[2026-03-11 13:55:28] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 13:55:28] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 13:55:28] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 13:55:28] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 13:55:28] [INFO]   -> Found value: PCFD
EMS
MFD
[2026-03-11 13:55:28] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMFD"
[2026-03-11 13:55:28] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 13:55:28] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 13:55:28] [INFO]   -> Found value: 2026000665
[2026-03-11 13:55:28] [INFO]   -> Set field 'incidentInternalId' = "2026000665"
[2026-03-11 13:55:28] [INFO]   -> Set field 'dispatchRunNumber' = "2026000665"
[2026-03-11 13:55:28] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 13:55:28] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-03-11 13:55:28] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-03-11 13:55:28] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 13:55:28] [INFO]   -> Found value: 303
[2026-03-11 13:55:28] [INFO]   -> Set field 'incidentLocationStreetNumber' = 303
[2026-03-11 13:55:28] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 13:55:28] [INFO]   -> Found value: TN
[2026-03-11 13:55:28] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 13:55:28] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 13:55:28] [INFO]   -> Found value: 38574
[2026-03-11 13:55:28] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-11 13:55:28] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 13:55:28] [INFO]   -> Found value: HIGHLAND MANOR II
[2026-03-11 13:55:28] [INFO]   -> Set field 'businessName' = "HIGHLAND MANOR II"
[2026-03-11 13:55:28] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 13:55:28] [INFO]   -> Found value: B6
[2026-03-11 13:55:28] [INFO]   -> Set field 'incidentLocationApt' = "B6"
[2026-03-11 13:55:28] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 13:55:28] [INFO]   -> Found value: 36.15002
[2026-03-11 13:55:28] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1500199999999978217601892538368701934814453125
[2026-03-11 13:55:28] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 13:55:28] [INFO]   -> Found value: -85.27093
[2026-03-11 13:55:28] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2709300000000069985617301426827907562255859375
[2026-03-11 13:55:28] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 13:55:28] [INFO]   -> Found value: 2026-03-11 08:53:19
[2026-03-11 13:55:28] [INFO]   -> Set field 'alarm' = "2026-03-11 08:53:19"
[2026-03-11 13:55:28] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 13:55:28] [INFO]   -> Found value: 2026-03-11 08:53:46
[2026-03-11 13:55:28] [INFO]   -> Set field 'dispatched' = "2026-03-11 08:53:46"
[2026-03-11 13:55:28] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 13:55:28] [INFO]   -> Found value: 2026-03-11 08:55:21
[2026-03-11 13:55:28] [INFO]   -> Set field 'enroute' = "2026-03-11 08:55:21"
[2026-03-11 13:55:28] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 13:55:28] [INFO]   -> No value found (null or empty)
[2026-03-11 13:55:28] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 13:55:28] [INFO]   -> No value found (null or empty)
[2026-03-11 13:55:28] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 13:55:28] [INFO]   -> Found value: N WALNUT ST/N OAK ST
[2026-03-11 13:55:28] [INFO]   -> Set field 'incidentLocationCross' = "N WALNUT ST\/N OAK ST"
[2026-03-11 13:55:28] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 13:55:28] [INFO]   -> Found value: EN21
[2026-03-11 13:55:28] [INFO]   -> Set field 'cADVehicleID' = "EN21"
[2026-03-11 13:55:28] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 13:55:28] [INFO]   -> Found value: 2026-03-11 08:55:18
[2026-03-11 13:55:28] [INFO]   -> Set field 'timedispatch' = "2026-03-11 08:55:18"
[2026-03-11 13:55:28] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 13:55:28] [INFO]   -> Found value: 2026-03-11 08:55:21
[2026-03-11 13:55:28] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 08:55:21"
[2026-03-11 13:55:28] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 13:55:28] [INFO]   -> No value found (null or empty)
[2026-03-11 13:55:28] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 13:55:28] [INFO]   -> No value found (null or empty)
[2026-03-11 13:55:28] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 13:55:28] [INFO]   -> No value found (null or empty)
[2026-03-11 13:55:28] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 13:55:28] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 13:55:28] [INFO]   -> Found value: 20260026615
[2026-03-11 13:55:28] [INFO]   -> Set field 'policeReportNumber' = "20260026615"
[2026-03-11 13:55:28] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 13:55:28] [INFO]   -> Found value: [FIRE] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03/11/26 08:53:43 KHILL] Event spawned from ...
[2026-03-11 13:55:28] [INFO]   -> Set field 'dispatchNotes' = "[FIRE] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:43 KHILL] Event spawned from MANPOWER - EMS ASSIST.  [03\/11\/2026 08:53:19 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]"
[2026-03-11 13:55:28] [INFO]   -> Set field 'cADLog' = "[FIRE] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:43 KHILL] Event spawned from MANPOWER - EMS ASSIST.  [03\/11\/2026 08:53:19 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]"
[2026-03-11 13:55:28] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 13:55:28] [INFO]   -> Found value: MONTEREY
[2026-03-11 13:55:28] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-11 13:55:28] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 13:55:28] [INFO]   -> Found value: COMMERCIAL
[2026-03-11 13:55:28] [INFO]   -> Set field 'streetName' = "COMMERCIAL"
[2026-03-11 13:55:28] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 13:55:28] [INFO]   -> Found value: AVE
[2026-03-11 13:55:28] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-11 13:55:28] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 13:55:28] [INFO]   -> Found value: 303-B6 W COMMERCIAL AVE
[2026-03-11 13:55:28] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "303-B6 W COMMERCIAL AVE"
[2026-03-11 13:55:28] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-03-11 13:55:28] [INFO] Concatenating street name and type
[2026-03-11 13:55:28] [INFO]   -> Combined street name: COMMERCIAL AVE
[2026-03-11 13:55:28] [INFO] Built locationCoordinates from lat/lng: 36.15002,-85.27093
[2026-03-11 13:55:28] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMFD","incidentInternalId":"2026000665","dispatchRunNumber":"2026000665","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":303,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"HIGHLAND MANOR II","incidentLocationApt":"B6","nERISIncidentLatitude":36.1500199999999978217601892538368701934814453125,"nERISIncidentLongitude":-85.2709300000000069985617301426827907562255859375,"alarm":"2026-03-11 08:53:19","dispatched":"2026-03-11 08:53:46","enroute":"2026-03-11 08:55:21","incidentLocationCross":"N WALNUT ST\/N OAK ST","cADVehicleID":"EN21","timedispatch":"2026-03-11 08:55:18","timeenroutetoscene":"2026-03-11 08:55:21","policeReportNumber":"20260026615","dispatchNotes":"[FIRE] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:43 KHILL] Event spawned from MANPOWER - EMS ASSIST.  [03\/11\/2026 08:53:19 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]","cADLog":"[FIRE] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:43 KHILL] Event spawned from MANPOWER - EMS ASSIST.  [03\/11\/2026 08:53:19 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]","incidentLocationCity":"MONTEREY","streetName":"COMMERCIAL AVE","incidentAddressTextVersionStreet":"303-B6 W COMMERCIAL AVE","locationCoordinates":"36.15002,-85.27093"}
[2026-03-11 13:55:28] [INFO] Number of extracted fields: 25
[2026-03-11 13:55:28] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MFD'
[2026-03-11 13:55:28] [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-11 13:55:28] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MFD"]
[2026-03-11 13:55:28] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 13:55:28] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 13:55:28] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MFD"]
[2026-03-11 13:55:28] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-11 13:55:28] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 13:55:28] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 13:55:28] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 13:55:28] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 13:55:29] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2026-03-11 13:55:29] [INFO] Found existing Dispatch with cADNumber '2026000665', ID: 69b173f7dc995c04c - will update instead of create
[2026-03-11 13:55:29] [INFO] Updated existing Dispatches record with ID: 69b173f7dc995c04c
[2026-03-11 13:55:29] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026615_20260311_135528.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026615_20260311_135528.XML
[2026-03-11 13:55:29] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026615_20260311_135528.XML
[2026-03-11 14:05:44] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026611_20260311_140544.XML
[2026-03-11 14:05:44] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026611_20260311_140544.XML for user: 68f1466aed072ad4a
[2026-03-11 14:05:44] [INFO] File size: 5885 bytes
[2026-03-11 14:05:45] [INFO] Created FTPFiles record with ID: 69b176b91cd530cef
[2026-03-11 14:05:45] [INFO] About to extract fields from XML. File size: 5885 bytes
[2026-03-11 14:05:45] [INFO] Number of mappings: 28
[2026-03-11 14:05:45] [INFO] Starting XML parsing. Content length: 5885
[2026-03-11 14:05:45] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 14:05:45] [INFO] Processing 28 field mappings
[2026-03-11 14:05:45] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 14:05:45] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 14:05:45] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 14:05:45] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-11 14:05:45] [INFO]   -> Found value: MFD
PCFD
[2026-03-11 14:05:45] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nPCFD"
[2026-03-11 14:05:45] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 14:05:45] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-11 14:05:45] [INFO]   -> Found value: 2026000090
[2026-03-11 14:05:45] [INFO]   -> Set field 'incidentInternalId' = "2026000090"
[2026-03-11 14:05:45] [INFO]   -> Set field 'dispatchRunNumber' = "2026000090"
[2026-03-11 14:05:45] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 14:05:45] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-03-11 14:05:45] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-03-11 14:05:45] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 14:05:45] [INFO]   -> Found value: 303
[2026-03-11 14:05:45] [INFO]   -> Set field 'incidentLocationStreetNumber' = 303
[2026-03-11 14:05:45] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 14:05:45] [INFO]   -> Found value: TN
[2026-03-11 14:05:45] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 14:05:45] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 14:05:45] [INFO]   -> Found value: 38574
[2026-03-11 14:05:45] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-11 14:05:45] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 14:05:45] [INFO]   -> Found value: HIGHLAND MANOR II
[2026-03-11 14:05:45] [INFO]   -> Set field 'businessName' = "HIGHLAND MANOR II"
[2026-03-11 14:05:45] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 14:05:45] [INFO]   -> Found value: B6
[2026-03-11 14:05:45] [INFO]   -> Set field 'incidentLocationApt' = "B6"
[2026-03-11 14:05:45] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 14:05:45] [INFO]   -> Found value: 36.15002
[2026-03-11 14:05:45] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1500199999999978217601892538368701934814453125
[2026-03-11 14:05:45] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 14:05:45] [INFO]   -> Found value: -85.27093
[2026-03-11 14:05:45] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2709300000000069985617301426827907562255859375
[2026-03-11 14:05:45] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 14:05:45] [INFO]   -> Found value: 2026-03-11 08:48:42
[2026-03-11 14:05:45] [INFO]   -> Set field 'alarm' = "2026-03-11 08:48:42"
[2026-03-11 14:05:45] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 14:05:45] [INFO]   -> Found value: 2026-03-11 08:49:34
[2026-03-11 14:05:45] [INFO]   -> Set field 'dispatched' = "2026-03-11 08:49:34"
[2026-03-11 14:05:45] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 14:05:45] [INFO]   -> No value found (null or empty)
[2026-03-11 14:05:45] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 14:05:45] [INFO]   -> No value found (null or empty)
[2026-03-11 14:05:45] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 14:05:45] [INFO]   -> Found value: 2026-03-11 09:05:27
[2026-03-11 14:05:45] [INFO]   -> Set field 'cleared' = "2026-03-11 09:05:27"
[2026-03-11 14:05:45] [INFO]   -> Set field 'inService' = "2026-03-11 09:05:27"
[2026-03-11 14:05:45] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 14:05:45] [INFO]   -> Found value: N WALNUT ST/N OAK ST
[2026-03-11 14:05:45] [INFO]   -> Set field 'incidentLocationCross' = "N WALNUT ST\/N OAK ST"
[2026-03-11 14:05:45] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 14:05:45] [INFO]   -> Found value: MFEN1
[2026-03-11 14:05:45] [INFO]   -> Set field 'cADVehicleID' = "MFEN1"
[2026-03-11 14:05:45] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 14:05:45] [INFO]   -> Found value: 2026-03-11 08:49:34
[2026-03-11 14:05:45] [INFO]   -> Set field 'timedispatch' = "2026-03-11 08:49:34"
[2026-03-11 14:05:45] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 14:05:45] [INFO]   -> No value found (null or empty)
[2026-03-11 14:05:45] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 14:05:45] [INFO]   -> No value found (null or empty)
[2026-03-11 14:05:45] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 14:05:45] [INFO]   -> Found value: 2026-03-11 09:05:27
[2026-03-11 14:05:45] [INFO]   -> Set field 'timeunitclear' = "2026-03-11 09:05:27"
[2026-03-11 14:05:45] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 14:05:45] [INFO]   -> No value found (null or empty)
[2026-03-11 14:05:45] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 14:05:45] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 14:05:45] [INFO]   -> Found value: 20260026611
[2026-03-11 14:05:45] [INFO]   -> Set field 'policeReportNumber' = "20260026611"
[2026-03-11 14:05:45] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 14:05:45] [INFO]   -> Found value: [EMS] UDTS: {726} PATIENT LOADED  [03/11/26 09:05:14 KHILL] NO RESPONSE FROM MFD--PAGING PCFD FOR MA...
[2026-03-11 14:05:45] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: {726} PATIENT LOADED  [03\/11\/26 09:05:14 KHILL] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:42 KHILL] Event spawned for PCFD Event ID:20260026615  CallRef:865  [03\/11\/26 08:53:20 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]"
[2026-03-11 14:05:45] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: {726} PATIENT LOADED  [03\/11\/26 09:05:14 KHILL] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:42 KHILL] Event spawned for PCFD Event ID:20260026615  CallRef:865  [03\/11\/26 08:53:20 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]"
[2026-03-11 14:05:45] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 14:05:45] [INFO]   -> Found value: MONTEREY
[2026-03-11 14:05:45] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-11 14:05:45] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 14:05:45] [INFO]   -> Found value: COMMERCIAL
[2026-03-11 14:05:45] [INFO]   -> Set field 'streetName' = "COMMERCIAL"
[2026-03-11 14:05:45] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 14:05:45] [INFO]   -> Found value: AVE
[2026-03-11 14:05:45] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-11 14:05:45] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 14:05:45] [INFO]   -> Found value: 303-B6 W COMMERCIAL AVE
[2026-03-11 14:05:45] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "303-B6 W COMMERCIAL AVE"
[2026-03-11 14:05:45] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-11 14:05:45] [INFO] Concatenating street name and type
[2026-03-11 14:05:45] [INFO]   -> Combined street name: COMMERCIAL AVE
[2026-03-11 14:05:45] [INFO] Built locationCoordinates from lat/lng: 36.15002,-85.27093
[2026-03-11 14:05:45] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nPCFD","incidentInternalId":"2026000090","dispatchRunNumber":"2026000090","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":303,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"HIGHLAND MANOR II","incidentLocationApt":"B6","nERISIncidentLatitude":36.1500199999999978217601892538368701934814453125,"nERISIncidentLongitude":-85.2709300000000069985617301426827907562255859375,"alarm":"2026-03-11 08:48:42","dispatched":"2026-03-11 08:49:34","cleared":"2026-03-11 09:05:27","inService":"2026-03-11 09:05:27","incidentLocationCross":"N WALNUT ST\/N OAK ST","cADVehicleID":"MFEN1","timedispatch":"2026-03-11 08:49:34","timeunitclear":"2026-03-11 09:05:27","policeReportNumber":"20260026611","dispatchNotes":"[EMS] UDTS: {726} PATIENT LOADED  [03\/11\/26 09:05:14 KHILL] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:42 KHILL] Event spawned for PCFD Event ID:20260026615  CallRef:865  [03\/11\/26 08:53:20 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]","cADLog":"[EMS] UDTS: {726} PATIENT LOADED  [03\/11\/26 09:05:14 KHILL] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:42 KHILL] Event spawned for PCFD Event ID:20260026615  CallRef:865  [03\/11\/26 08:53:20 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]","incidentLocationCity":"MONTEREY","streetName":"COMMERCIAL AVE","incidentAddressTextVersionStreet":"303-B6 W COMMERCIAL AVE","locationCoordinates":"36.15002,-85.27093"}
[2026-03-11 14:05:45] [INFO] Number of extracted fields: 26
[2026-03-11 14:05:45] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
PCFD'
[2026-03-11 14:05:45] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
PCFD', Parsed IDs = ["MFD","PCFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-11 14:05:45] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","PCFD"]
[2026-03-11 14:05:45] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-11 14:05:45] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-11 14:05:45] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCFD"]
[2026-03-11 14:05:45] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-11 14:05:45] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-11 14:05:45] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-11 14:05:45] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-11 14:05:45] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-11 14:05:45] [INFO] Found existing IncidentTypeMapping with ID: 6946a65ce82f04f50
[2026-03-11 14:05:46] [INFO] Found existing Dispatch with cADNumber '2026000090', ID: 69b172f92682d9f4f - will update instead of create
[2026-03-11 14:05:46] [INFO] Updated existing Dispatches record with ID: 69b172f92682d9f4f
[2026-03-11 14:05:46] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026611_20260311_140544.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/MFD_20260026611_20260311_140544.XML
[2026-03-11 14:05:46] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026611_20260311_140544.XML
[2026-03-11 14:05:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026611_20260311_140545.XML
[2026-03-11 14:05:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026611_20260311_140545.XML for user: 68f1466aed072ad4a
[2026-03-11 14:05:46] [INFO] File size: 5885 bytes
[2026-03-11 14:05:46] [INFO] Created FTPFiles record with ID: 69b176bab5342cbd3
[2026-03-11 14:05:46] [INFO] About to extract fields from XML. File size: 5885 bytes
[2026-03-11 14:05:46] [INFO] Number of mappings: 28
[2026-03-11 14:05:46] [INFO] Starting XML parsing. Content length: 5885
[2026-03-11 14:05:46] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 14:05:46] [INFO] Processing 28 field mappings
[2026-03-11 14:05:46] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 14:05:46] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 14:05:46] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 14:05:46] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-11 14:05:46] [INFO]   -> Found value: MFD
PCFD
[2026-03-11 14:05:46] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nPCFD"
[2026-03-11 14:05:46] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 14:05:46] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-11 14:05:46] [INFO]   -> Found value: 2026000090
[2026-03-11 14:05:46] [INFO]   -> Set field 'incidentInternalId' = "2026000090"
[2026-03-11 14:05:46] [INFO]   -> Set field 'dispatchRunNumber' = "2026000090"
[2026-03-11 14:05:46] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 14:05:46] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-03-11 14:05:46] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-03-11 14:05:46] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 14:05:46] [INFO]   -> Found value: 303
[2026-03-11 14:05:46] [INFO]   -> Set field 'incidentLocationStreetNumber' = 303
[2026-03-11 14:05:46] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 14:05:46] [INFO]   -> Found value: TN
[2026-03-11 14:05:46] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 14:05:46] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 14:05:46] [INFO]   -> Found value: 38574
[2026-03-11 14:05:46] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-11 14:05:46] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 14:05:46] [INFO]   -> Found value: HIGHLAND MANOR II
[2026-03-11 14:05:46] [INFO]   -> Set field 'businessName' = "HIGHLAND MANOR II"
[2026-03-11 14:05:46] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 14:05:46] [INFO]   -> Found value: B6
[2026-03-11 14:05:46] [INFO]   -> Set field 'incidentLocationApt' = "B6"
[2026-03-11 14:05:46] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 14:05:46] [INFO]   -> Found value: 36.15002
[2026-03-11 14:05:46] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1500199999999978217601892538368701934814453125
[2026-03-11 14:05:46] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 14:05:46] [INFO]   -> Found value: -85.27093
[2026-03-11 14:05:46] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2709300000000069985617301426827907562255859375
[2026-03-11 14:05:46] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 14:05:46] [INFO]   -> Found value: 2026-03-11 08:48:42
[2026-03-11 14:05:46] [INFO]   -> Set field 'alarm' = "2026-03-11 08:48:42"
[2026-03-11 14:05:46] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 14:05:46] [INFO]   -> Found value: 2026-03-11 08:49:34
[2026-03-11 14:05:46] [INFO]   -> Set field 'dispatched' = "2026-03-11 08:49:34"
[2026-03-11 14:05:46] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 14:05:46] [INFO]   -> No value found (null or empty)
[2026-03-11 14:05:46] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 14:05:46] [INFO]   -> No value found (null or empty)
[2026-03-11 14:05:46] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 14:05:46] [INFO]   -> Found value: 2026-03-11 09:05:27
[2026-03-11 14:05:46] [INFO]   -> Set field 'cleared' = "2026-03-11 09:05:27"
[2026-03-11 14:05:46] [INFO]   -> Set field 'inService' = "2026-03-11 09:05:27"
[2026-03-11 14:05:46] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 14:05:46] [INFO]   -> Found value: N WALNUT ST/N OAK ST
[2026-03-11 14:05:46] [INFO]   -> Set field 'incidentLocationCross' = "N WALNUT ST\/N OAK ST"
[2026-03-11 14:05:46] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 14:05:46] [INFO]   -> Found value: MFEN1
[2026-03-11 14:05:46] [INFO]   -> Set field 'cADVehicleID' = "MFEN1"
[2026-03-11 14:05:46] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 14:05:46] [INFO]   -> Found value: 2026-03-11 08:49:34
[2026-03-11 14:05:46] [INFO]   -> Set field 'timedispatch' = "2026-03-11 08:49:34"
[2026-03-11 14:05:46] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 14:05:46] [INFO]   -> No value found (null or empty)
[2026-03-11 14:05:46] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 14:05:46] [INFO]   -> No value found (null or empty)
[2026-03-11 14:05:46] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 14:05:46] [INFO]   -> Found value: 2026-03-11 09:05:27
[2026-03-11 14:05:46] [INFO]   -> Set field 'timeunitclear' = "2026-03-11 09:05:27"
[2026-03-11 14:05:46] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 14:05:46] [INFO]   -> No value found (null or empty)
[2026-03-11 14:05:46] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 14:05:46] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 14:05:46] [INFO]   -> Found value: 20260026611
[2026-03-11 14:05:46] [INFO]   -> Set field 'policeReportNumber' = "20260026611"
[2026-03-11 14:05:46] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 14:05:46] [INFO]   -> Found value: [EMS] UDTS: {726} PATIENT LOADED  [03/11/26 09:05:14 KHILL] NO RESPONSE FROM MFD--PAGING PCFD FOR MA...
[2026-03-11 14:05:46] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: {726} PATIENT LOADED  [03\/11\/26 09:05:14 KHILL] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:42 KHILL] Event spawned for PCFD Event ID:20260026615  CallRef:865  [03\/11\/26 08:53:20 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]"
[2026-03-11 14:05:46] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: {726} PATIENT LOADED  [03\/11\/26 09:05:14 KHILL] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:42 KHILL] Event spawned for PCFD Event ID:20260026615  CallRef:865  [03\/11\/26 08:53:20 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]"
[2026-03-11 14:05:46] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 14:05:46] [INFO]   -> Found value: MONTEREY
[2026-03-11 14:05:46] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-11 14:05:46] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 14:05:46] [INFO]   -> Found value: COMMERCIAL
[2026-03-11 14:05:46] [INFO]   -> Set field 'streetName' = "COMMERCIAL"
[2026-03-11 14:05:46] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 14:05:46] [INFO]   -> Found value: AVE
[2026-03-11 14:05:46] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-11 14:05:46] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 14:05:46] [INFO]   -> Found value: 303-B6 W COMMERCIAL AVE
[2026-03-11 14:05:46] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "303-B6 W COMMERCIAL AVE"
[2026-03-11 14:05:46] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-11 14:05:46] [INFO] Concatenating street name and type
[2026-03-11 14:05:46] [INFO]   -> Combined street name: COMMERCIAL AVE
[2026-03-11 14:05:46] [INFO] Built locationCoordinates from lat/lng: 36.15002,-85.27093
[2026-03-11 14:05:46] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nPCFD","incidentInternalId":"2026000090","dispatchRunNumber":"2026000090","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":303,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"HIGHLAND MANOR II","incidentLocationApt":"B6","nERISIncidentLatitude":36.1500199999999978217601892538368701934814453125,"nERISIncidentLongitude":-85.2709300000000069985617301426827907562255859375,"alarm":"2026-03-11 08:48:42","dispatched":"2026-03-11 08:49:34","cleared":"2026-03-11 09:05:27","inService":"2026-03-11 09:05:27","incidentLocationCross":"N WALNUT ST\/N OAK ST","cADVehicleID":"MFEN1","timedispatch":"2026-03-11 08:49:34","timeunitclear":"2026-03-11 09:05:27","policeReportNumber":"20260026611","dispatchNotes":"[EMS] UDTS: {726} PATIENT LOADED  [03\/11\/26 09:05:14 KHILL] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:42 KHILL] Event spawned for PCFD Event ID:20260026615  CallRef:865  [03\/11\/26 08:53:20 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]","cADLog":"[EMS] UDTS: {726} PATIENT LOADED  [03\/11\/26 09:05:14 KHILL] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:42 KHILL] Event spawned for PCFD Event ID:20260026615  CallRef:865  [03\/11\/26 08:53:20 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]","incidentLocationCity":"MONTEREY","streetName":"COMMERCIAL AVE","incidentAddressTextVersionStreet":"303-B6 W COMMERCIAL AVE","locationCoordinates":"36.15002,-85.27093"}
[2026-03-11 14:05:46] [INFO] Number of extracted fields: 26
[2026-03-11 14:05:46] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
PCFD'
[2026-03-11 14:05:46] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
PCFD', Parsed IDs = ["MFD","PCFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-11 14:05:46] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","PCFD"]
[2026-03-11 14:05:46] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-11 14:05:46] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-11 14:05:46] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCFD"]
[2026-03-11 14:05:47] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-11 14:05:47] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-11 14:05:47] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-11 14:05:47] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-11 14:05:47] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-11 14:05:47] [INFO] Found existing IncidentTypeMapping with ID: 6946a65ce82f04f50
[2026-03-11 14:05:47] [INFO] Found existing Dispatch with cADNumber '2026000090', ID: 69b172f92682d9f4f - will update instead of create
[2026-03-11 14:05:47] [INFO] Updated existing Dispatches record with ID: 69b172f92682d9f4f
[2026-03-11 14:05:47] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026611_20260311_140545.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/MFD_20260026611_20260311_140545.XML
[2026-03-11 14:05:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026611_20260311_140545.XML
[2026-03-11 14:05:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026611_20260311_140545_1.XML
[2026-03-11 14:05:47] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026611_20260311_140545_1.XML for user: 68f1466aed072ad4a
[2026-03-11 14:05:47] [INFO] File size: 5885 bytes
[2026-03-11 14:05:48] [INFO] Created FTPFiles record with ID: 69b176bc2a0c6f2fc
[2026-03-11 14:05:48] [INFO] About to extract fields from XML. File size: 5885 bytes
[2026-03-11 14:05:48] [INFO] Number of mappings: 28
[2026-03-11 14:05:48] [INFO] Starting XML parsing. Content length: 5885
[2026-03-11 14:05:48] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 14:05:48] [INFO] Processing 28 field mappings
[2026-03-11 14:05:48] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 14:05:48] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 14:05:48] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 14:05:48] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-11 14:05:48] [INFO]   -> Found value: MFD
PCFD
[2026-03-11 14:05:48] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nPCFD"
[2026-03-11 14:05:48] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 14:05:48] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-11 14:05:48] [INFO]   -> Found value: 2026000090
[2026-03-11 14:05:48] [INFO]   -> Set field 'incidentInternalId' = "2026000090"
[2026-03-11 14:05:48] [INFO]   -> Set field 'dispatchRunNumber' = "2026000090"
[2026-03-11 14:05:48] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 14:05:48] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-03-11 14:05:48] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-03-11 14:05:48] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 14:05:48] [INFO]   -> Found value: 303
[2026-03-11 14:05:48] [INFO]   -> Set field 'incidentLocationStreetNumber' = 303
[2026-03-11 14:05:48] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 14:05:48] [INFO]   -> Found value: TN
[2026-03-11 14:05:48] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 14:05:48] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 14:05:48] [INFO]   -> Found value: 38574
[2026-03-11 14:05:48] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-11 14:05:48] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 14:05:48] [INFO]   -> Found value: HIGHLAND MANOR II
[2026-03-11 14:05:48] [INFO]   -> Set field 'businessName' = "HIGHLAND MANOR II"
[2026-03-11 14:05:48] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 14:05:48] [INFO]   -> Found value: B6
[2026-03-11 14:05:48] [INFO]   -> Set field 'incidentLocationApt' = "B6"
[2026-03-11 14:05:48] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 14:05:48] [INFO]   -> Found value: 36.15002
[2026-03-11 14:05:48] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1500199999999978217601892538368701934814453125
[2026-03-11 14:05:48] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 14:05:48] [INFO]   -> Found value: -85.27093
[2026-03-11 14:05:48] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2709300000000069985617301426827907562255859375
[2026-03-11 14:05:48] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 14:05:48] [INFO]   -> Found value: 2026-03-11 08:48:42
[2026-03-11 14:05:48] [INFO]   -> Set field 'alarm' = "2026-03-11 08:48:42"
[2026-03-11 14:05:48] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 14:05:48] [INFO]   -> Found value: 2026-03-11 08:49:34
[2026-03-11 14:05:48] [INFO]   -> Set field 'dispatched' = "2026-03-11 08:49:34"
[2026-03-11 14:05:48] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 14:05:48] [INFO]   -> No value found (null or empty)
[2026-03-11 14:05:48] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 14:05:48] [INFO]   -> No value found (null or empty)
[2026-03-11 14:05:48] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 14:05:48] [INFO]   -> Found value: 2026-03-11 09:05:27
[2026-03-11 14:05:48] [INFO]   -> Set field 'cleared' = "2026-03-11 09:05:27"
[2026-03-11 14:05:48] [INFO]   -> Set field 'inService' = "2026-03-11 09:05:27"
[2026-03-11 14:05:48] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 14:05:48] [INFO]   -> Found value: N WALNUT ST/N OAK ST
[2026-03-11 14:05:48] [INFO]   -> Set field 'incidentLocationCross' = "N WALNUT ST\/N OAK ST"
[2026-03-11 14:05:48] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 14:05:48] [INFO]   -> Found value: MFEN1
[2026-03-11 14:05:48] [INFO]   -> Set field 'cADVehicleID' = "MFEN1"
[2026-03-11 14:05:48] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 14:05:48] [INFO]   -> Found value: 2026-03-11 08:49:34
[2026-03-11 14:05:48] [INFO]   -> Set field 'timedispatch' = "2026-03-11 08:49:34"
[2026-03-11 14:05:48] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 14:05:48] [INFO]   -> No value found (null or empty)
[2026-03-11 14:05:48] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 14:05:48] [INFO]   -> No value found (null or empty)
[2026-03-11 14:05:48] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 14:05:48] [INFO]   -> Found value: 2026-03-11 09:05:27
[2026-03-11 14:05:48] [INFO]   -> Set field 'timeunitclear' = "2026-03-11 09:05:27"
[2026-03-11 14:05:48] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 14:05:48] [INFO]   -> No value found (null or empty)
[2026-03-11 14:05:48] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 14:05:48] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 14:05:48] [INFO]   -> Found value: 20260026611
[2026-03-11 14:05:48] [INFO]   -> Set field 'policeReportNumber' = "20260026611"
[2026-03-11 14:05:48] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 14:05:48] [INFO]   -> Found value: [EMS] UDTS: {726} PATIENT LOADED  [03/11/26 09:05:14 KHILL] NO RESPONSE FROM MFD--PAGING PCFD FOR MA...
[2026-03-11 14:05:48] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: {726} PATIENT LOADED  [03\/11\/26 09:05:14 KHILL] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:42 KHILL] Event spawned for PCFD Event ID:20260026615  CallRef:865  [03\/11\/26 08:53:20 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]"
[2026-03-11 14:05:48] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: {726} PATIENT LOADED  [03\/11\/26 09:05:14 KHILL] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:42 KHILL] Event spawned for PCFD Event ID:20260026615  CallRef:865  [03\/11\/26 08:53:20 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]"
[2026-03-11 14:05:48] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 14:05:48] [INFO]   -> Found value: MONTEREY
[2026-03-11 14:05:48] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-11 14:05:48] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 14:05:48] [INFO]   -> Found value: COMMERCIAL
[2026-03-11 14:05:48] [INFO]   -> Set field 'streetName' = "COMMERCIAL"
[2026-03-11 14:05:48] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 14:05:48] [INFO]   -> Found value: AVE
[2026-03-11 14:05:48] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-11 14:05:48] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 14:05:48] [INFO]   -> Found value: 303-B6 W COMMERCIAL AVE
[2026-03-11 14:05:48] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "303-B6 W COMMERCIAL AVE"
[2026-03-11 14:05:48] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-11 14:05:48] [INFO] Concatenating street name and type
[2026-03-11 14:05:48] [INFO]   -> Combined street name: COMMERCIAL AVE
[2026-03-11 14:05:48] [INFO] Built locationCoordinates from lat/lng: 36.15002,-85.27093
[2026-03-11 14:05:48] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nPCFD","incidentInternalId":"2026000090","dispatchRunNumber":"2026000090","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":303,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"HIGHLAND MANOR II","incidentLocationApt":"B6","nERISIncidentLatitude":36.1500199999999978217601892538368701934814453125,"nERISIncidentLongitude":-85.2709300000000069985617301426827907562255859375,"alarm":"2026-03-11 08:48:42","dispatched":"2026-03-11 08:49:34","cleared":"2026-03-11 09:05:27","inService":"2026-03-11 09:05:27","incidentLocationCross":"N WALNUT ST\/N OAK ST","cADVehicleID":"MFEN1","timedispatch":"2026-03-11 08:49:34","timeunitclear":"2026-03-11 09:05:27","policeReportNumber":"20260026611","dispatchNotes":"[EMS] UDTS: {726} PATIENT LOADED  [03\/11\/26 09:05:14 KHILL] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:42 KHILL] Event spawned for PCFD Event ID:20260026615  CallRef:865  [03\/11\/26 08:53:20 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]","cADLog":"[EMS] UDTS: {726} PATIENT LOADED  [03\/11\/26 09:05:14 KHILL] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:42 KHILL] Event spawned for PCFD Event ID:20260026615  CallRef:865  [03\/11\/26 08:53:20 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]","incidentLocationCity":"MONTEREY","streetName":"COMMERCIAL AVE","incidentAddressTextVersionStreet":"303-B6 W COMMERCIAL AVE","locationCoordinates":"36.15002,-85.27093"}
[2026-03-11 14:05:48] [INFO] Number of extracted fields: 26
[2026-03-11 14:05:48] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
PCFD'
[2026-03-11 14:05:48] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
PCFD', Parsed IDs = ["MFD","PCFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-11 14:05:48] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","PCFD"]
[2026-03-11 14:05:48] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-11 14:05:48] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-11 14:05:48] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCFD"]
[2026-03-11 14:05:48] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-11 14:05:48] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-11 14:05:48] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-11 14:05:48] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-11 14:05:48] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-11 14:05:48] [INFO] Found existing IncidentTypeMapping with ID: 6946a65ce82f04f50
[2026-03-11 14:05:49] [INFO] Found existing Dispatch with cADNumber '2026000090', ID: 69b172f92682d9f4f - will update instead of create
[2026-03-11 14:05:49] [INFO] Updated existing Dispatches record with ID: 69b172f92682d9f4f
[2026-03-11 14:05:49] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026611_20260311_140545_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/MFD_20260026611_20260311_140545_1.XML
[2026-03-11 14:05:49] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026611_20260311_140545_1.XML
[2026-03-11 14:05:49] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026611_20260311_140546.XML
[2026-03-11 14:05:49] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026611_20260311_140546.XML for user: 68f1466aed072ad4a
[2026-03-11 14:05:49] [INFO] File size: 5885 bytes
[2026-03-11 14:05:49] [INFO] Created FTPFiles record with ID: 69b176bd993b99f54
[2026-03-11 14:05:49] [INFO] About to extract fields from XML. File size: 5885 bytes
[2026-03-11 14:05:49] [INFO] Number of mappings: 28
[2026-03-11 14:05:49] [INFO] Starting XML parsing. Content length: 5885
[2026-03-11 14:05:49] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 14:05:49] [INFO] Processing 28 field mappings
[2026-03-11 14:05:49] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 14:05:49] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 14:05:49] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 14:05:49] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-11 14:05:49] [INFO]   -> Found value: MFD
PCFD
[2026-03-11 14:05:49] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nPCFD"
[2026-03-11 14:05:49] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 14:05:49] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-11 14:05:49] [INFO]   -> Found value: 2026000090
[2026-03-11 14:05:49] [INFO]   -> Set field 'incidentInternalId' = "2026000090"
[2026-03-11 14:05:49] [INFO]   -> Set field 'dispatchRunNumber' = "2026000090"
[2026-03-11 14:05:49] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 14:05:49] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-03-11 14:05:49] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-03-11 14:05:49] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 14:05:49] [INFO]   -> Found value: 303
[2026-03-11 14:05:49] [INFO]   -> Set field 'incidentLocationStreetNumber' = 303
[2026-03-11 14:05:49] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 14:05:49] [INFO]   -> Found value: TN
[2026-03-11 14:05:49] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 14:05:49] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 14:05:49] [INFO]   -> Found value: 38574
[2026-03-11 14:05:49] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-11 14:05:49] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 14:05:49] [INFO]   -> Found value: HIGHLAND MANOR II
[2026-03-11 14:05:49] [INFO]   -> Set field 'businessName' = "HIGHLAND MANOR II"
[2026-03-11 14:05:49] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 14:05:49] [INFO]   -> Found value: B6
[2026-03-11 14:05:49] [INFO]   -> Set field 'incidentLocationApt' = "B6"
[2026-03-11 14:05:49] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 14:05:49] [INFO]   -> Found value: 36.15002
[2026-03-11 14:05:49] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1500199999999978217601892538368701934814453125
[2026-03-11 14:05:49] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 14:05:49] [INFO]   -> Found value: -85.27093
[2026-03-11 14:05:49] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2709300000000069985617301426827907562255859375
[2026-03-11 14:05:49] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 14:05:49] [INFO]   -> Found value: 2026-03-11 08:48:42
[2026-03-11 14:05:49] [INFO]   -> Set field 'alarm' = "2026-03-11 08:48:42"
[2026-03-11 14:05:49] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 14:05:49] [INFO]   -> Found value: 2026-03-11 08:49:34
[2026-03-11 14:05:49] [INFO]   -> Set field 'dispatched' = "2026-03-11 08:49:34"
[2026-03-11 14:05:49] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 14:05:49] [INFO]   -> No value found (null or empty)
[2026-03-11 14:05:49] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 14:05:49] [INFO]   -> No value found (null or empty)
[2026-03-11 14:05:49] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 14:05:49] [INFO]   -> Found value: 2026-03-11 09:05:27
[2026-03-11 14:05:49] [INFO]   -> Set field 'cleared' = "2026-03-11 09:05:27"
[2026-03-11 14:05:49] [INFO]   -> Set field 'inService' = "2026-03-11 09:05:27"
[2026-03-11 14:05:49] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 14:05:49] [INFO]   -> Found value: N WALNUT ST/N OAK ST
[2026-03-11 14:05:49] [INFO]   -> Set field 'incidentLocationCross' = "N WALNUT ST\/N OAK ST"
[2026-03-11 14:05:49] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 14:05:49] [INFO]   -> Found value: MFEN1
[2026-03-11 14:05:49] [INFO]   -> Set field 'cADVehicleID' = "MFEN1"
[2026-03-11 14:05:49] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 14:05:49] [INFO]   -> Found value: 2026-03-11 08:49:34
[2026-03-11 14:05:49] [INFO]   -> Set field 'timedispatch' = "2026-03-11 08:49:34"
[2026-03-11 14:05:49] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 14:05:49] [INFO]   -> No value found (null or empty)
[2026-03-11 14:05:49] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 14:05:49] [INFO]   -> No value found (null or empty)
[2026-03-11 14:05:49] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 14:05:49] [INFO]   -> Found value: 2026-03-11 09:05:27
[2026-03-11 14:05:49] [INFO]   -> Set field 'timeunitclear' = "2026-03-11 09:05:27"
[2026-03-11 14:05:49] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 14:05:49] [INFO]   -> No value found (null or empty)
[2026-03-11 14:05:49] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 14:05:49] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 14:05:49] [INFO]   -> Found value: 20260026611
[2026-03-11 14:05:49] [INFO]   -> Set field 'policeReportNumber' = "20260026611"
[2026-03-11 14:05:49] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 14:05:49] [INFO]   -> Found value: [EMS] UDTS: {726} PATIENT LOADED  [03/11/26 09:05:14 KHILL] NO RESPONSE FROM MFD--PAGING PCFD FOR MA...
[2026-03-11 14:05:49] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: {726} PATIENT LOADED  [03\/11\/26 09:05:14 KHILL] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:42 KHILL] Event spawned for PCFD Event ID:20260026615  CallRef:865  [03\/11\/26 08:53:20 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]"
[2026-03-11 14:05:49] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: {726} PATIENT LOADED  [03\/11\/26 09:05:14 KHILL] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:42 KHILL] Event spawned for PCFD Event ID:20260026615  CallRef:865  [03\/11\/26 08:53:20 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]"
[2026-03-11 14:05:49] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 14:05:49] [INFO]   -> Found value: MONTEREY
[2026-03-11 14:05:49] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-11 14:05:49] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 14:05:49] [INFO]   -> Found value: COMMERCIAL
[2026-03-11 14:05:49] [INFO]   -> Set field 'streetName' = "COMMERCIAL"
[2026-03-11 14:05:49] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 14:05:49] [INFO]   -> Found value: AVE
[2026-03-11 14:05:49] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-11 14:05:49] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 14:05:49] [INFO]   -> Found value: 303-B6 W COMMERCIAL AVE
[2026-03-11 14:05:49] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "303-B6 W COMMERCIAL AVE"
[2026-03-11 14:05:49] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-11 14:05:49] [INFO] Concatenating street name and type
[2026-03-11 14:05:49] [INFO]   -> Combined street name: COMMERCIAL AVE
[2026-03-11 14:05:49] [INFO] Built locationCoordinates from lat/lng: 36.15002,-85.27093
[2026-03-11 14:05:49] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nPCFD","incidentInternalId":"2026000090","dispatchRunNumber":"2026000090","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":303,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"HIGHLAND MANOR II","incidentLocationApt":"B6","nERISIncidentLatitude":36.1500199999999978217601892538368701934814453125,"nERISIncidentLongitude":-85.2709300000000069985617301426827907562255859375,"alarm":"2026-03-11 08:48:42","dispatched":"2026-03-11 08:49:34","cleared":"2026-03-11 09:05:27","inService":"2026-03-11 09:05:27","incidentLocationCross":"N WALNUT ST\/N OAK ST","cADVehicleID":"MFEN1","timedispatch":"2026-03-11 08:49:34","timeunitclear":"2026-03-11 09:05:27","policeReportNumber":"20260026611","dispatchNotes":"[EMS] UDTS: {726} PATIENT LOADED  [03\/11\/26 09:05:14 KHILL] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:42 KHILL] Event spawned for PCFD Event ID:20260026615  CallRef:865  [03\/11\/26 08:53:20 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]","cADLog":"[EMS] UDTS: {726} PATIENT LOADED  [03\/11\/26 09:05:14 KHILL] NO RESPONSE FROM MFD--PAGING PCFD FOR MANPOWER  [03\/11\/26 08:53:42 KHILL] Event spawned for PCFD Event ID:20260026615  CallRef:865  [03\/11\/26 08:53:20 KHILL] [EMS] {726} REQUESTING A COUPLE OF PEOPLE FOR MANPOWER  [03\/11\/26 08:48:54 KHILL] Event spawned from MEDICAL ALARM.  [03\/11\/2026 08:48:42 KHILL] {726} MANPOWER NEEDED  [03\/11\/26 08:48:26 KHILL] SUSAN CLARK 10\/23\/1956  LIFT ASSIST  KEY UNDER A ROCK IN THE WINDOW SEAL  [03\/11\/26 08:36:53 KELLIS] UDTS: {726} UNIT DIRECT  [03\/11\/26 08:36:30 KHILL]","incidentLocationCity":"MONTEREY","streetName":"COMMERCIAL AVE","incidentAddressTextVersionStreet":"303-B6 W COMMERCIAL AVE","locationCoordinates":"36.15002,-85.27093"}
[2026-03-11 14:05:49] [INFO] Number of extracted fields: 26
[2026-03-11 14:05:49] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
PCFD'
[2026-03-11 14:05:49] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
PCFD', Parsed IDs = ["MFD","PCFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-11 14:05:49] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","PCFD"]
[2026-03-11 14:05:49] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-11 14:05:49] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-11 14:05:49] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCFD"]
[2026-03-11 14:05:49] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-11 14:05:49] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-11 14:05:49] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-11 14:05:49] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-11 14:05:50] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-11 14:05:50] [INFO] Found existing IncidentTypeMapping with ID: 6946a65ce82f04f50
[2026-03-11 14:05:50] [INFO] Found existing Dispatch with cADNumber '2026000090', ID: 69b172f92682d9f4f - will update instead of create
[2026-03-11 14:05:50] [INFO] Updated existing Dispatches record with ID: 69b172f92682d9f4f
[2026-03-11 14:05:50] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026611_20260311_140546.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/MFD_20260026611_20260311_140546.XML
[2026-03-11 14:05:50] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026611_20260311_140546.XML
[2026-03-11 14:09:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026622_20260311_140916.XML
[2026-03-11 14:09:16] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026622_20260311_140916.XML for user: 68f1466aed072ad4a
[2026-03-11 14:09:16] [INFO] File size: 5897 bytes
[2026-03-11 14:09:16] [INFO] Created FTPFiles record with ID: 69b1778ccc5e7416b
[2026-03-11 14:09:16] [INFO] About to extract fields from XML. File size: 5897 bytes
[2026-03-11 14:09:16] [INFO] Number of mappings: 28
[2026-03-11 14:09:16] [INFO] Starting XML parsing. Content length: 5897
[2026-03-11 14:09:16] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 14:09:16] [INFO] Processing 28 field mappings
[2026-03-11 14:09:16] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 14:09:16] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 14:09:16] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 14:09:16] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-11 14:09:16] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-11 14:09:16] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-11 14:09:16] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 14:09:16] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-11 14:09:16] [INFO]   -> Found value: 2026000666
[2026-03-11 14:09:16] [INFO]   -> Set field 'incidentInternalId' = "2026000666"
[2026-03-11 14:09:16] [INFO]   -> Set field 'dispatchRunNumber' = "2026000666"
[2026-03-11 14:09:16] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 14:09:16] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-11 14:09:16] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-11 14:09:16] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 14:09:16] [INFO]   -> Found value: 8723
[2026-03-11 14:09:16] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8723
[2026-03-11 14:09:16] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 14:09:16] [INFO]   -> Found value: TN
[2026-03-11 14:09:16] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 14:09:16] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 14:09:16] [INFO]   -> Found value: 38574
[2026-03-11 14:09:16] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-11 14:09:16] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 14:09:16] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:16] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 14:09:16] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:16] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 14:09:16] [INFO]   -> Found value: 36.08578
[2026-03-11 14:09:16] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.0857799999999997453414835035800933837890625
[2026-03-11 14:09:16] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 14:09:16] [INFO]   -> Found value: -85.32973
[2026-03-11 14:09:16] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.3297299999999978581399773247539997100830078125
[2026-03-11 14:09:16] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 14:09:16] [INFO]   -> Found value: 2026-03-11 09:07:41
[2026-03-11 14:09:16] [INFO]   -> Set field 'alarm' = "2026-03-11 09:07:41"
[2026-03-11 14:09:16] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 14:09:16] [INFO]   -> Found value: 2026-03-11 09:09:14
[2026-03-11 14:09:16] [INFO]   -> Set field 'dispatched' = "2026-03-11 09:09:14"
[2026-03-11 14:09:16] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 14:09:16] [INFO]   -> Found value: 2026-03-11 09:09:14
[2026-03-11 14:09:16] [INFO]   -> Set field 'enroute' = "2026-03-11 09:09:14"
[2026-03-11 14:09:16] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 14:09:16] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:16] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 14:09:16] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:16] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 14:09:16] [INFO]   -> Found value: OLD MILL CREEK RD/CALFKILLER HWY
[2026-03-11 14:09:16] [INFO]   -> Set field 'incidentLocationCross' = "OLD MILL CREEK RD\/CALFKILLER HWY"
[2026-03-11 14:09:16] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 14:09:16] [INFO]   -> Found value: EN21
[2026-03-11 14:09:16] [INFO]   -> Set field 'cADVehicleID' = "EN21"
[2026-03-11 14:09:16] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 14:09:16] [INFO]   -> Found value: 2026-03-11 09:09:14
[2026-03-11 14:09:16] [INFO]   -> Set field 'timedispatch' = "2026-03-11 09:09:14"
[2026-03-11 14:09:16] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 14:09:16] [INFO]   -> Found value: 2026-03-11 09:09:14
[2026-03-11 14:09:16] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 09:09:14"
[2026-03-11 14:09:16] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 14:09:16] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:16] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 14:09:16] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:16] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 14:09:16] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:16] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 14:09:16] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 14:09:16] [INFO]   -> Found value: 20260026622
[2026-03-11 14:09:16] [INFO]   -> Set field 'policeReportNumber' = "20260026622"
[2026-03-11 14:09:16] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 14:09:16] [INFO]   -> Found value: [EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03/11/26 09:08:54 DSTEPHENS] ...
[2026-03-11 14:09:16] [INFO]   -> Set field 'dispatchNotes' = "[EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03\/11\/26 09:08:54 DSTEPHENS] [EMS] OFF ROADWAY 50 FEET  [03\/11\/26 09:08:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 09:08:01 SBALLARD] Event spawned from MVC WITH INJURY.  [03\/11\/2026 09:07:41 DSTEPHENS]"
[2026-03-11 14:09:16] [INFO]   -> Set field 'cADLog' = "[EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03\/11\/26 09:08:54 DSTEPHENS] [EMS] OFF ROADWAY 50 FEET  [03\/11\/26 09:08:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 09:08:01 SBALLARD] Event spawned from MVC WITH INJURY.  [03\/11\/2026 09:07:41 DSTEPHENS]"
[2026-03-11 14:09:16] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 14:09:16] [INFO]   -> Found value: MONTEREY
[2026-03-11 14:09:16] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-11 14:09:16] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 14:09:16] [INFO]   -> Found value: MILL CREEK
[2026-03-11 14:09:16] [INFO]   -> Set field 'streetName' = "MILL CREEK"
[2026-03-11 14:09:16] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 14:09:16] [INFO]   -> Found value: RD
[2026-03-11 14:09:16] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 14:09:16] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 14:09:16] [INFO]   -> Found value: 8723 MILL CREEK RD
[2026-03-11 14:09:16] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8723 MILL CREEK RD"
[2026-03-11 14:09:16] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 14:09:16] [INFO] Concatenating street name and type
[2026-03-11 14:09:16] [INFO]   -> Combined street name: MILL CREEK RD
[2026-03-11 14:09:16] [INFO] Built locationCoordinates from lat/lng: 36.08578,-85.32973
[2026-03-11 14:09:16] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000666","dispatchRunNumber":"2026000666","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":8723,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.0857799999999997453414835035800933837890625,"nERISIncidentLongitude":-85.3297299999999978581399773247539997100830078125,"alarm":"2026-03-11 09:07:41","dispatched":"2026-03-11 09:09:14","enroute":"2026-03-11 09:09:14","incidentLocationCross":"OLD MILL CREEK RD\/CALFKILLER HWY","cADVehicleID":"EN21","timedispatch":"2026-03-11 09:09:14","timeenroutetoscene":"2026-03-11 09:09:14","policeReportNumber":"20260026622","dispatchNotes":"[EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03\/11\/26 09:08:54 DSTEPHENS] [EMS] OFF ROADWAY 50 FEET  [03\/11\/26 09:08:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 09:08:01 SBALLARD] Event spawned from MVC WITH INJURY.  [03\/11\/2026 09:07:41 DSTEPHENS]","cADLog":"[EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03\/11\/26 09:08:54 DSTEPHENS] [EMS] OFF ROADWAY 50 FEET  [03\/11\/26 09:08:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 09:08:01 SBALLARD] Event spawned from MVC WITH INJURY.  [03\/11\/2026 09:07:41 DSTEPHENS]","incidentLocationCity":"MONTEREY","streetName":"MILL CREEK RD","incidentAddressTextVersionStreet":"8723 MILL CREEK RD","locationCoordinates":"36.08578,-85.32973"}
[2026-03-11 14:09:16] [INFO] Number of extracted fields: 23
[2026-03-11 14:09:16] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-11 14:09:16] [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-11 14:09:16] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-11 14:09:16] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 14:09:17] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 14:09:17] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-11 14:09:17] [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-11 14:09:17] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 14:09:17] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-11 14:09:17] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 14:09:17] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 14:09:17] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-11 14:09:27] [INFO] Created new Dispatches record with ID: 69b1778db28ae5a61
[2026-03-11 14:09:27] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026622_20260311_140916.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026622_20260311_140916.XML
[2026-03-11 14:09:27] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026622_20260311_140916.XML
[2026-03-11 14:09:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026622_20260311_140923.XML
[2026-03-11 14:09:27] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026622_20260311_140923.XML for user: 68f1466aed072ad4a
[2026-03-11 14:09:27] [INFO] File size: 5897 bytes
[2026-03-11 14:09:27] [INFO] Created FTPFiles record with ID: 69b17797abe6e9e51
[2026-03-11 14:09:27] [INFO] About to extract fields from XML. File size: 5897 bytes
[2026-03-11 14:09:27] [INFO] Number of mappings: 28
[2026-03-11 14:09:27] [INFO] Starting XML parsing. Content length: 5897
[2026-03-11 14:09:27] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 14:09:27] [INFO] Processing 28 field mappings
[2026-03-11 14:09:27] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 14:09:27] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 14:09:27] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 14:09:27] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-11 14:09:27] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-11 14:09:27] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-11 14:09:27] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 14:09:27] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-11 14:09:27] [INFO]   -> Found value: 2026000666
[2026-03-11 14:09:27] [INFO]   -> Set field 'incidentInternalId' = "2026000666"
[2026-03-11 14:09:27] [INFO]   -> Set field 'dispatchRunNumber' = "2026000666"
[2026-03-11 14:09:27] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 14:09:27] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-11 14:09:27] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-11 14:09:27] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 14:09:27] [INFO]   -> Found value: 8723
[2026-03-11 14:09:27] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8723
[2026-03-11 14:09:27] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 14:09:27] [INFO]   -> Found value: TN
[2026-03-11 14:09:27] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 14:09:27] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 14:09:27] [INFO]   -> Found value: 38574
[2026-03-11 14:09:27] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-11 14:09:27] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 14:09:27] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:27] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 14:09:27] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:27] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 14:09:27] [INFO]   -> Found value: 36.08578
[2026-03-11 14:09:27] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.0857799999999997453414835035800933837890625
[2026-03-11 14:09:27] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 14:09:27] [INFO]   -> Found value: -85.32973
[2026-03-11 14:09:27] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.3297299999999978581399773247539997100830078125
[2026-03-11 14:09:27] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 14:09:27] [INFO]   -> Found value: 2026-03-11 09:07:41
[2026-03-11 14:09:27] [INFO]   -> Set field 'alarm' = "2026-03-11 09:07:41"
[2026-03-11 14:09:27] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 14:09:27] [INFO]   -> Found value: 2026-03-11 09:09:14
[2026-03-11 14:09:27] [INFO]   -> Set field 'dispatched' = "2026-03-11 09:09:14"
[2026-03-11 14:09:27] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 14:09:27] [INFO]   -> Found value: 2026-03-11 09:09:14
[2026-03-11 14:09:27] [INFO]   -> Set field 'enroute' = "2026-03-11 09:09:14"
[2026-03-11 14:09:27] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 14:09:27] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:27] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 14:09:27] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:27] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 14:09:27] [INFO]   -> Found value: OLD MILL CREEK RD/CALFKILLER HWY
[2026-03-11 14:09:27] [INFO]   -> Set field 'incidentLocationCross' = "OLD MILL CREEK RD\/CALFKILLER HWY"
[2026-03-11 14:09:27] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 14:09:27] [INFO]   -> Found value: EN21
[2026-03-11 14:09:27] [INFO]   -> Set field 'cADVehicleID' = "EN21"
[2026-03-11 14:09:27] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 14:09:27] [INFO]   -> Found value: 2026-03-11 09:09:14
[2026-03-11 14:09:27] [INFO]   -> Set field 'timedispatch' = "2026-03-11 09:09:14"
[2026-03-11 14:09:27] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 14:09:27] [INFO]   -> Found value: 2026-03-11 09:09:14
[2026-03-11 14:09:27] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 09:09:14"
[2026-03-11 14:09:27] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 14:09:27] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:27] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 14:09:27] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:27] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 14:09:27] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:27] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 14:09:27] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 14:09:27] [INFO]   -> Found value: 20260026622
[2026-03-11 14:09:27] [INFO]   -> Set field 'policeReportNumber' = "20260026622"
[2026-03-11 14:09:27] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 14:09:27] [INFO]   -> Found value: [EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03/11/26 09:08:54 DSTEPHENS] ...
[2026-03-11 14:09:27] [INFO]   -> Set field 'dispatchNotes' = "[EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03\/11\/26 09:08:54 DSTEPHENS] [EMS] OFF ROADWAY 50 FEET  [03\/11\/26 09:08:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 09:08:01 SBALLARD] Event spawned from MVC WITH INJURY.  [03\/11\/2026 09:07:41 DSTEPHENS]"
[2026-03-11 14:09:27] [INFO]   -> Set field 'cADLog' = "[EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03\/11\/26 09:08:54 DSTEPHENS] [EMS] OFF ROADWAY 50 FEET  [03\/11\/26 09:08:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 09:08:01 SBALLARD] Event spawned from MVC WITH INJURY.  [03\/11\/2026 09:07:41 DSTEPHENS]"
[2026-03-11 14:09:27] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 14:09:27] [INFO]   -> Found value: MONTEREY
[2026-03-11 14:09:27] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-11 14:09:27] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 14:09:27] [INFO]   -> Found value: MILL CREEK
[2026-03-11 14:09:27] [INFO]   -> Set field 'streetName' = "MILL CREEK"
[2026-03-11 14:09:27] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 14:09:27] [INFO]   -> Found value: RD
[2026-03-11 14:09:27] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 14:09:27] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 14:09:27] [INFO]   -> Found value: 8723 MILL CREEK RD
[2026-03-11 14:09:27] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8723 MILL CREEK RD"
[2026-03-11 14:09:27] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 14:09:27] [INFO] Concatenating street name and type
[2026-03-11 14:09:27] [INFO]   -> Combined street name: MILL CREEK RD
[2026-03-11 14:09:27] [INFO] Built locationCoordinates from lat/lng: 36.08578,-85.32973
[2026-03-11 14:09:27] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000666","dispatchRunNumber":"2026000666","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":8723,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.0857799999999997453414835035800933837890625,"nERISIncidentLongitude":-85.3297299999999978581399773247539997100830078125,"alarm":"2026-03-11 09:07:41","dispatched":"2026-03-11 09:09:14","enroute":"2026-03-11 09:09:14","incidentLocationCross":"OLD MILL CREEK RD\/CALFKILLER HWY","cADVehicleID":"EN21","timedispatch":"2026-03-11 09:09:14","timeenroutetoscene":"2026-03-11 09:09:14","policeReportNumber":"20260026622","dispatchNotes":"[EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03\/11\/26 09:08:54 DSTEPHENS] [EMS] OFF ROADWAY 50 FEET  [03\/11\/26 09:08:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 09:08:01 SBALLARD] Event spawned from MVC WITH INJURY.  [03\/11\/2026 09:07:41 DSTEPHENS]","cADLog":"[EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03\/11\/26 09:08:54 DSTEPHENS] [EMS] OFF ROADWAY 50 FEET  [03\/11\/26 09:08:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 09:08:01 SBALLARD] Event spawned from MVC WITH INJURY.  [03\/11\/2026 09:07:41 DSTEPHENS]","incidentLocationCity":"MONTEREY","streetName":"MILL CREEK RD","incidentAddressTextVersionStreet":"8723 MILL CREEK RD","locationCoordinates":"36.08578,-85.32973"}
[2026-03-11 14:09:27] [INFO] Number of extracted fields: 23
[2026-03-11 14:09:27] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-11 14:09:27] [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-11 14:09:27] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-11 14:09:27] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 14:09:27] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 14:09:27] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-11 14:09:28] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-11 14:09:28] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 14:09:28] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-11 14:09:28] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 14:09:28] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 14:09:28] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-11 14:09:28] [INFO] Found existing Dispatch with cADNumber '2026000666', ID: 69b1778db28ae5a61 - will update instead of create
[2026-03-11 14:09:28] [INFO] Updated existing Dispatches record with ID: 69b1778db28ae5a61
[2026-03-11 14:09:28] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026622_20260311_140923.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026622_20260311_140923.XML
[2026-03-11 14:09:28] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026622_20260311_140923.XML
[2026-03-11 14:09:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026622_20260311_140924.XML
[2026-03-11 14:09:28] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026622_20260311_140924.XML for user: 68f1466aed072ad4a
[2026-03-11 14:09:28] [INFO] File size: 5897 bytes
[2026-03-11 14:09:29] [INFO] Created FTPFiles record with ID: 69b1779902b67c6fc
[2026-03-11 14:09:29] [INFO] About to extract fields from XML. File size: 5897 bytes
[2026-03-11 14:09:29] [INFO] Number of mappings: 28
[2026-03-11 14:09:29] [INFO] Starting XML parsing. Content length: 5897
[2026-03-11 14:09:29] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 14:09:29] [INFO] Processing 28 field mappings
[2026-03-11 14:09:29] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 14:09:29] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 14:09:29] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 14:09:29] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-11 14:09:29] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-11 14:09:29] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-11 14:09:29] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 14:09:29] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-11 14:09:29] [INFO]   -> Found value: 2026000666
[2026-03-11 14:09:29] [INFO]   -> Set field 'incidentInternalId' = "2026000666"
[2026-03-11 14:09:29] [INFO]   -> Set field 'dispatchRunNumber' = "2026000666"
[2026-03-11 14:09:29] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 14:09:29] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-11 14:09:29] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-11 14:09:29] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 14:09:29] [INFO]   -> Found value: 8723
[2026-03-11 14:09:29] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8723
[2026-03-11 14:09:29] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 14:09:29] [INFO]   -> Found value: TN
[2026-03-11 14:09:29] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 14:09:29] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 14:09:29] [INFO]   -> Found value: 38574
[2026-03-11 14:09:29] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-11 14:09:29] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 14:09:29] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:29] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 14:09:29] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:29] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 14:09:29] [INFO]   -> Found value: 36.08578
[2026-03-11 14:09:29] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.0857799999999997453414835035800933837890625
[2026-03-11 14:09:29] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 14:09:29] [INFO]   -> Found value: -85.32973
[2026-03-11 14:09:29] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.3297299999999978581399773247539997100830078125
[2026-03-11 14:09:29] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 14:09:29] [INFO]   -> Found value: 2026-03-11 09:07:41
[2026-03-11 14:09:29] [INFO]   -> Set field 'alarm' = "2026-03-11 09:07:41"
[2026-03-11 14:09:29] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 14:09:29] [INFO]   -> Found value: 2026-03-11 09:09:14
[2026-03-11 14:09:29] [INFO]   -> Set field 'dispatched' = "2026-03-11 09:09:14"
[2026-03-11 14:09:29] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 14:09:29] [INFO]   -> Found value: 2026-03-11 09:09:14
[2026-03-11 14:09:29] [INFO]   -> Set field 'enroute' = "2026-03-11 09:09:14"
[2026-03-11 14:09:29] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 14:09:29] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:29] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 14:09:29] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:29] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 14:09:29] [INFO]   -> Found value: OLD MILL CREEK RD/CALFKILLER HWY
[2026-03-11 14:09:29] [INFO]   -> Set field 'incidentLocationCross' = "OLD MILL CREEK RD\/CALFKILLER HWY"
[2026-03-11 14:09:29] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 14:09:29] [INFO]   -> Found value: EN21
[2026-03-11 14:09:29] [INFO]   -> Set field 'cADVehicleID' = "EN21"
[2026-03-11 14:09:29] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 14:09:29] [INFO]   -> Found value: 2026-03-11 09:09:14
[2026-03-11 14:09:29] [INFO]   -> Set field 'timedispatch' = "2026-03-11 09:09:14"
[2026-03-11 14:09:29] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 14:09:29] [INFO]   -> Found value: 2026-03-11 09:09:14
[2026-03-11 14:09:29] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 09:09:14"
[2026-03-11 14:09:29] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 14:09:29] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:29] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 14:09:29] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:29] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 14:09:29] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:29] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 14:09:29] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 14:09:29] [INFO]   -> Found value: 20260026622
[2026-03-11 14:09:29] [INFO]   -> Set field 'policeReportNumber' = "20260026622"
[2026-03-11 14:09:29] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 14:09:29] [INFO]   -> Found value: [EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03/11/26 09:08:54 DSTEPHENS] ...
[2026-03-11 14:09:29] [INFO]   -> Set field 'dispatchNotes' = "[EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03\/11\/26 09:08:54 DSTEPHENS] [EMS] OFF ROADWAY 50 FEET  [03\/11\/26 09:08:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 09:08:01 SBALLARD] Event spawned from MVC WITH INJURY.  [03\/11\/2026 09:07:41 DSTEPHENS]"
[2026-03-11 14:09:29] [INFO]   -> Set field 'cADLog' = "[EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03\/11\/26 09:08:54 DSTEPHENS] [EMS] OFF ROADWAY 50 FEET  [03\/11\/26 09:08:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 09:08:01 SBALLARD] Event spawned from MVC WITH INJURY.  [03\/11\/2026 09:07:41 DSTEPHENS]"
[2026-03-11 14:09:29] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 14:09:29] [INFO]   -> Found value: MONTEREY
[2026-03-11 14:09:29] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-11 14:09:29] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 14:09:29] [INFO]   -> Found value: MILL CREEK
[2026-03-11 14:09:29] [INFO]   -> Set field 'streetName' = "MILL CREEK"
[2026-03-11 14:09:29] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 14:09:29] [INFO]   -> Found value: RD
[2026-03-11 14:09:29] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 14:09:29] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 14:09:29] [INFO]   -> Found value: 8723 MILL CREEK RD
[2026-03-11 14:09:29] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8723 MILL CREEK RD"
[2026-03-11 14:09:29] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 14:09:29] [INFO] Concatenating street name and type
[2026-03-11 14:09:29] [INFO]   -> Combined street name: MILL CREEK RD
[2026-03-11 14:09:29] [INFO] Built locationCoordinates from lat/lng: 36.08578,-85.32973
[2026-03-11 14:09:29] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000666","dispatchRunNumber":"2026000666","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":8723,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.0857799999999997453414835035800933837890625,"nERISIncidentLongitude":-85.3297299999999978581399773247539997100830078125,"alarm":"2026-03-11 09:07:41","dispatched":"2026-03-11 09:09:14","enroute":"2026-03-11 09:09:14","incidentLocationCross":"OLD MILL CREEK RD\/CALFKILLER HWY","cADVehicleID":"EN21","timedispatch":"2026-03-11 09:09:14","timeenroutetoscene":"2026-03-11 09:09:14","policeReportNumber":"20260026622","dispatchNotes":"[EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03\/11\/26 09:08:54 DSTEPHENS] [EMS] OFF ROADWAY 50 FEET  [03\/11\/26 09:08:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 09:08:01 SBALLARD] Event spawned from MVC WITH INJURY.  [03\/11\/2026 09:07:41 DSTEPHENS]","cADLog":"[EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03\/11\/26 09:08:54 DSTEPHENS] [EMS] OFF ROADWAY 50 FEET  [03\/11\/26 09:08:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 09:08:01 SBALLARD] Event spawned from MVC WITH INJURY.  [03\/11\/2026 09:07:41 DSTEPHENS]","incidentLocationCity":"MONTEREY","streetName":"MILL CREEK RD","incidentAddressTextVersionStreet":"8723 MILL CREEK RD","locationCoordinates":"36.08578,-85.32973"}
[2026-03-11 14:09:29] [INFO] Number of extracted fields: 23
[2026-03-11 14:09:29] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-11 14:09:29] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-11 14:09:29] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-11 14:09:29] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 14:09:29] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 14:09:29] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-11 14:09: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-11 14:09: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-11 14:09:29] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-11 14:09:29] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 14:09:29] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 14:09:29] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-11 14:09:29] [INFO] Found existing Dispatch with cADNumber '2026000666', ID: 69b1778db28ae5a61 - will update instead of create
[2026-03-11 14:09:30] [INFO] Updated existing Dispatches record with ID: 69b1778db28ae5a61
[2026-03-11 14:09:30] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026622_20260311_140924.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026622_20260311_140924.XML
[2026-03-11 14:09:30] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026622_20260311_140924.XML
[2026-03-11 14:09:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026622_20260311_140924_1.XML
[2026-03-11 14:09:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026622_20260311_140924_1.XML for user: 68f1466aed072ad4a
[2026-03-11 14:09:30] [INFO] File size: 5897 bytes
[2026-03-11 14:09:30] [INFO] Created FTPFiles record with ID: 69b1779a603542829
[2026-03-11 14:09:30] [INFO] About to extract fields from XML. File size: 5897 bytes
[2026-03-11 14:09:30] [INFO] Number of mappings: 28
[2026-03-11 14:09:30] [INFO] Starting XML parsing. Content length: 5897
[2026-03-11 14:09:30] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 14:09:30] [INFO] Processing 28 field mappings
[2026-03-11 14:09:30] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 14:09:30] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 14:09:30] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 14:09:30] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-11 14:09:30] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-11 14:09:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-11 14:09:30] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 14:09:30] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-11 14:09:30] [INFO]   -> Found value: 2026000666
[2026-03-11 14:09:30] [INFO]   -> Set field 'incidentInternalId' = "2026000666"
[2026-03-11 14:09:30] [INFO]   -> Set field 'dispatchRunNumber' = "2026000666"
[2026-03-11 14:09:30] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 14:09:30] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-11 14:09:30] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-11 14:09:30] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 14:09:30] [INFO]   -> Found value: 8723
[2026-03-11 14:09:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8723
[2026-03-11 14:09:30] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 14:09:30] [INFO]   -> Found value: TN
[2026-03-11 14:09:30] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 14:09:30] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 14:09:30] [INFO]   -> Found value: 38574
[2026-03-11 14:09:30] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-11 14:09:30] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 14:09:30] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:30] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 14:09:30] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:30] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 14:09:30] [INFO]   -> Found value: 36.08578
[2026-03-11 14:09:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.0857799999999997453414835035800933837890625
[2026-03-11 14:09:30] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 14:09:30] [INFO]   -> Found value: -85.32973
[2026-03-11 14:09:30] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.3297299999999978581399773247539997100830078125
[2026-03-11 14:09:30] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 14:09:30] [INFO]   -> Found value: 2026-03-11 09:07:41
[2026-03-11 14:09:30] [INFO]   -> Set field 'alarm' = "2026-03-11 09:07:41"
[2026-03-11 14:09:30] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 14:09:30] [INFO]   -> Found value: 2026-03-11 09:09:14
[2026-03-11 14:09:30] [INFO]   -> Set field 'dispatched' = "2026-03-11 09:09:14"
[2026-03-11 14:09:30] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 14:09:30] [INFO]   -> Found value: 2026-03-11 09:09:14
[2026-03-11 14:09:30] [INFO]   -> Set field 'enroute' = "2026-03-11 09:09:14"
[2026-03-11 14:09:30] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 14:09:30] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:30] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 14:09:30] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:30] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 14:09:30] [INFO]   -> Found value: OLD MILL CREEK RD/CALFKILLER HWY
[2026-03-11 14:09:30] [INFO]   -> Set field 'incidentLocationCross' = "OLD MILL CREEK RD\/CALFKILLER HWY"
[2026-03-11 14:09:30] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 14:09:30] [INFO]   -> Found value: EN21
[2026-03-11 14:09:30] [INFO]   -> Set field 'cADVehicleID' = "EN21"
[2026-03-11 14:09:30] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 14:09:30] [INFO]   -> Found value: 2026-03-11 09:09:14
[2026-03-11 14:09:30] [INFO]   -> Set field 'timedispatch' = "2026-03-11 09:09:14"
[2026-03-11 14:09:30] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 14:09:30] [INFO]   -> Found value: 2026-03-11 09:09:14
[2026-03-11 14:09:30] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 09:09:14"
[2026-03-11 14:09:30] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 14:09:30] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:30] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 14:09:30] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:30] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 14:09:30] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:30] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 14:09:30] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 14:09:30] [INFO]   -> Found value: 20260026622
[2026-03-11 14:09:30] [INFO]   -> Set field 'policeReportNumber' = "20260026622"
[2026-03-11 14:09:30] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 14:09:30] [INFO]   -> Found value: [EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03/11/26 09:08:54 DSTEPHENS] ...
[2026-03-11 14:09:30] [INFO]   -> Set field 'dispatchNotes' = "[EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03\/11\/26 09:08:54 DSTEPHENS] [EMS] OFF ROADWAY 50 FEET  [03\/11\/26 09:08:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 09:08:01 SBALLARD] Event spawned from MVC WITH INJURY.  [03\/11\/2026 09:07:41 DSTEPHENS]"
[2026-03-11 14:09:30] [INFO]   -> Set field 'cADLog' = "[EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03\/11\/26 09:08:54 DSTEPHENS] [EMS] OFF ROADWAY 50 FEET  [03\/11\/26 09:08:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 09:08:01 SBALLARD] Event spawned from MVC WITH INJURY.  [03\/11\/2026 09:07:41 DSTEPHENS]"
[2026-03-11 14:09:30] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 14:09:30] [INFO]   -> Found value: MONTEREY
[2026-03-11 14:09:30] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-11 14:09:30] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 14:09:30] [INFO]   -> Found value: MILL CREEK
[2026-03-11 14:09:30] [INFO]   -> Set field 'streetName' = "MILL CREEK"
[2026-03-11 14:09:30] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 14:09:30] [INFO]   -> Found value: RD
[2026-03-11 14:09:30] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 14:09:30] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 14:09:30] [INFO]   -> Found value: 8723 MILL CREEK RD
[2026-03-11 14:09:30] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8723 MILL CREEK RD"
[2026-03-11 14:09:30] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 14:09:30] [INFO] Concatenating street name and type
[2026-03-11 14:09:30] [INFO]   -> Combined street name: MILL CREEK RD
[2026-03-11 14:09:30] [INFO] Built locationCoordinates from lat/lng: 36.08578,-85.32973
[2026-03-11 14:09:30] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000666","dispatchRunNumber":"2026000666","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":8723,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.0857799999999997453414835035800933837890625,"nERISIncidentLongitude":-85.3297299999999978581399773247539997100830078125,"alarm":"2026-03-11 09:07:41","dispatched":"2026-03-11 09:09:14","enroute":"2026-03-11 09:09:14","incidentLocationCross":"OLD MILL CREEK RD\/CALFKILLER HWY","cADVehicleID":"EN21","timedispatch":"2026-03-11 09:09:14","timeenroutetoscene":"2026-03-11 09:09:14","policeReportNumber":"20260026622","dispatchNotes":"[EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03\/11\/26 09:08:54 DSTEPHENS] [EMS] OFF ROADWAY 50 FEET  [03\/11\/26 09:08:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 09:08:01 SBALLARD] Event spawned from MVC WITH INJURY.  [03\/11\/2026 09:07:41 DSTEPHENS]","cADLog":"[EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03\/11\/26 09:08:54 DSTEPHENS] [EMS] OFF ROADWAY 50 FEET  [03\/11\/26 09:08:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 09:08:01 SBALLARD] Event spawned from MVC WITH INJURY.  [03\/11\/2026 09:07:41 DSTEPHENS]","incidentLocationCity":"MONTEREY","streetName":"MILL CREEK RD","incidentAddressTextVersionStreet":"8723 MILL CREEK RD","locationCoordinates":"36.08578,-85.32973"}
[2026-03-11 14:09:30] [INFO] Number of extracted fields: 23
[2026-03-11 14:09:30] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-11 14:09:30] [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-11 14:09:30] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-11 14:09:30] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 14:09:30] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 14:09:30] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-11 14:09:30] [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-11 14:09:30] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 14:09:30] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-11 14:09:30] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 14:09:30] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 14:09:30] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-11 14:09:31] [INFO] Found existing Dispatch with cADNumber '2026000666', ID: 69b1778db28ae5a61 - will update instead of create
[2026-03-11 14:09:31] [INFO] Updated existing Dispatches record with ID: 69b1778db28ae5a61
[2026-03-11 14:09:31] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026622_20260311_140924_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026622_20260311_140924_1.XML
[2026-03-11 14:09:31] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026622_20260311_140924_1.XML
[2026-03-11 14:09:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026622_20260311_140925.XML
[2026-03-11 14:09:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026622_20260311_140925.XML for user: 68f1466aed072ad4a
[2026-03-11 14:09:31] [INFO] File size: 5897 bytes
[2026-03-11 14:09:31] [INFO] Created FTPFiles record with ID: 69b1779ba3ec74efb
[2026-03-11 14:09:31] [INFO] About to extract fields from XML. File size: 5897 bytes
[2026-03-11 14:09:31] [INFO] Number of mappings: 28
[2026-03-11 14:09:31] [INFO] Starting XML parsing. Content length: 5897
[2026-03-11 14:09:31] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 14:09:31] [INFO] Processing 28 field mappings
[2026-03-11 14:09:31] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 14:09:31] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 14:09:31] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 14:09:31] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-11 14:09:31] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-11 14:09:31] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-11 14:09:31] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 14:09:31] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-11 14:09:31] [INFO]   -> Found value: 2026000666
[2026-03-11 14:09:31] [INFO]   -> Set field 'incidentInternalId' = "2026000666"
[2026-03-11 14:09:31] [INFO]   -> Set field 'dispatchRunNumber' = "2026000666"
[2026-03-11 14:09:31] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 14:09:31] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-11 14:09:31] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-11 14:09:31] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 14:09:31] [INFO]   -> Found value: 8723
[2026-03-11 14:09:31] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8723
[2026-03-11 14:09:31] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 14:09:31] [INFO]   -> Found value: TN
[2026-03-11 14:09:31] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 14:09:31] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 14:09:31] [INFO]   -> Found value: 38574
[2026-03-11 14:09:31] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-11 14:09:31] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 14:09:31] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:31] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 14:09:31] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:31] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 14:09:31] [INFO]   -> Found value: 36.08578
[2026-03-11 14:09:31] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.0857799999999997453414835035800933837890625
[2026-03-11 14:09:31] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 14:09:31] [INFO]   -> Found value: -85.32973
[2026-03-11 14:09:31] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.3297299999999978581399773247539997100830078125
[2026-03-11 14:09:31] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 14:09:31] [INFO]   -> Found value: 2026-03-11 09:07:41
[2026-03-11 14:09:31] [INFO]   -> Set field 'alarm' = "2026-03-11 09:07:41"
[2026-03-11 14:09:31] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 14:09:31] [INFO]   -> Found value: 2026-03-11 09:09:14
[2026-03-11 14:09:31] [INFO]   -> Set field 'dispatched' = "2026-03-11 09:09:14"
[2026-03-11 14:09:31] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 14:09:31] [INFO]   -> Found value: 2026-03-11 09:09:14
[2026-03-11 14:09:31] [INFO]   -> Set field 'enroute' = "2026-03-11 09:09:14"
[2026-03-11 14:09:31] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 14:09:31] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:31] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 14:09:31] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:31] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 14:09:31] [INFO]   -> Found value: OLD MILL CREEK RD/CALFKILLER HWY
[2026-03-11 14:09:31] [INFO]   -> Set field 'incidentLocationCross' = "OLD MILL CREEK RD\/CALFKILLER HWY"
[2026-03-11 14:09:31] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 14:09:31] [INFO]   -> Found value: EN21
[2026-03-11 14:09:31] [INFO]   -> Set field 'cADVehicleID' = "EN21"
[2026-03-11 14:09:31] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 14:09:31] [INFO]   -> Found value: 2026-03-11 09:09:14
[2026-03-11 14:09:31] [INFO]   -> Set field 'timedispatch' = "2026-03-11 09:09:14"
[2026-03-11 14:09:31] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 14:09:31] [INFO]   -> Found value: 2026-03-11 09:09:14
[2026-03-11 14:09:31] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 09:09:14"
[2026-03-11 14:09:31] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 14:09:31] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:31] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 14:09:31] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:31] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 14:09:31] [INFO]   -> No value found (null or empty)
[2026-03-11 14:09:31] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 14:09:31] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 14:09:31] [INFO]   -> Found value: 20260026622
[2026-03-11 14:09:31] [INFO]   -> Set field 'policeReportNumber' = "20260026622"
[2026-03-11 14:09:31] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 14:09:31] [INFO]   -> Found value: [EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03/11/26 09:08:54 DSTEPHENS] ...
[2026-03-11 14:09:31] [INFO]   -> Set field 'dispatchNotes' = "[EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03\/11\/26 09:08:54 DSTEPHENS] [EMS] OFF ROADWAY 50 FEET  [03\/11\/26 09:08:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 09:08:01 SBALLARD] Event spawned from MVC WITH INJURY.  [03\/11\/2026 09:07:41 DSTEPHENS]"
[2026-03-11 14:09:31] [INFO]   -> Set field 'cADLog' = "[EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03\/11\/26 09:08:54 DSTEPHENS] [EMS] OFF ROADWAY 50 FEET  [03\/11\/26 09:08:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 09:08:01 SBALLARD] Event spawned from MVC WITH INJURY.  [03\/11\/2026 09:07:41 DSTEPHENS]"
[2026-03-11 14:09:31] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 14:09:31] [INFO]   -> Found value: MONTEREY
[2026-03-11 14:09:31] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-11 14:09:31] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 14:09:31] [INFO]   -> Found value: MILL CREEK
[2026-03-11 14:09:31] [INFO]   -> Set field 'streetName' = "MILL CREEK"
[2026-03-11 14:09:31] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 14:09:31] [INFO]   -> Found value: RD
[2026-03-11 14:09:31] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 14:09:31] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 14:09:31] [INFO]   -> Found value: 8723 MILL CREEK RD
[2026-03-11 14:09:31] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8723 MILL CREEK RD"
[2026-03-11 14:09:31] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 14:09:31] [INFO] Concatenating street name and type
[2026-03-11 14:09:31] [INFO]   -> Combined street name: MILL CREEK RD
[2026-03-11 14:09:31] [INFO] Built locationCoordinates from lat/lng: 36.08578,-85.32973
[2026-03-11 14:09:31] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000666","dispatchRunNumber":"2026000666","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":8723,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.0857799999999997453414835035800933837890625,"nERISIncidentLongitude":-85.3297299999999978581399773247539997100830078125,"alarm":"2026-03-11 09:07:41","dispatched":"2026-03-11 09:09:14","enroute":"2026-03-11 09:09:14","incidentLocationCross":"OLD MILL CREEK RD\/CALFKILLER HWY","cADVehicleID":"EN21","timedispatch":"2026-03-11 09:09:14","timeenroutetoscene":"2026-03-11 09:09:14","policeReportNumber":"20260026622","dispatchNotes":"[EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03\/11\/26 09:08:54 DSTEPHENS] [EMS] OFF ROADWAY 50 FEET  [03\/11\/26 09:08:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 09:08:01 SBALLARD] Event spawned from MVC WITH INJURY.  [03\/11\/2026 09:07:41 DSTEPHENS]","cADLog":"[EMS] MAIL LADY CALLER   PURPLE SUV  LEANING ON TREE WITH TRUNK OPEN  [03\/11\/26 09:08:54 DSTEPHENS] [EMS] OFF ROADWAY 50 FEET  [03\/11\/26 09:08:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 09:08:01 SBALLARD] Event spawned from MVC WITH INJURY.  [03\/11\/2026 09:07:41 DSTEPHENS]","incidentLocationCity":"MONTEREY","streetName":"MILL CREEK RD","incidentAddressTextVersionStreet":"8723 MILL CREEK RD","locationCoordinates":"36.08578,-85.32973"}
[2026-03-11 14:09:31] [INFO] Number of extracted fields: 23
[2026-03-11 14:09:31] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-11 14:09:31] [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-11 14:09:31] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-11 14:09:31] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 14:09:31] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 14:09:31] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-11 14:09:32] [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-11 14:09:32] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 14:09:32] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-11 14:09:32] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 14:09:32] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 14:09:32] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-11 14:09:32] [INFO] Found existing Dispatch with cADNumber '2026000666', ID: 69b1778db28ae5a61 - will update instead of create
[2026-03-11 14:09:32] [INFO] Updated existing Dispatches record with ID: 69b1778db28ae5a61
[2026-03-11 14:09:32] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026622_20260311_140925.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026622_20260311_140925.XML
[2026-03-11 14:09:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026622_20260311_140925.XML
[2026-03-11 14:52:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311105223818.xml
[2026-03-11 14:52:26] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311105223818.xml for user: 68920395733981a47
[2026-03-11 14:52:26] [INFO] File size: 10263 bytes
[2026-03-11 14:52:26] [INFO] Created FTPFiles record with ID: 69b181aaa1052d3bf
[2026-03-11 14:52:26] [INFO] About to extract fields from XML. File size: 10263 bytes
[2026-03-11 14:52:26] [INFO] Number of mappings: 24
[2026-03-11 14:52:26] [INFO] Starting XML parsing. Content length: 10263
[2026-03-11 14:52:26] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 14:52:26] [INFO] Processing 24 field mappings
[2026-03-11 14:52:26] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 14:52:26] [INFO]   -> Found value: SICK-Sick Person
[2026-03-11 14:52:26] [INFO]   -> Set field 'incidentTypeValue1' = "SICK-Sick Person"
[2026-03-11 14:52:26] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 14:52:26] [INFO]   -> Found value: ,2200 GREEN POND RD
[2026-03-11 14:52:26] [INFO]   -> Set field 'businessName' = ",2200 GREEN POND RD"
[2026-03-11 14:52:26] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 14:52:26] [INFO]   -> Found value: 37379
[2026-03-11 14:52:26] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 14:52:26] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 14:52:26] [INFO]   -> Found value: 2200
[2026-03-11 14:52:26] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2200
[2026-03-11 14:52:26] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 14:52:26] [INFO]   -> Found value: GREEN POND
[2026-03-11 14:52:26] [INFO]   -> Set field 'streetName' = "GREEN POND"
[2026-03-11 14:52:26] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 14:52:26] [INFO]   -> Found value: DODD CEMETERY RD/HIXSON PIKE
[2026-03-11 14:52:26] [INFO]   -> Set field 'incidentLocationCross' = "DODD CEMETERY RD\/HIXSON PIKE"
[2026-03-11 14:52:26] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 14:52:26] [INFO]   -> Found value: 2026-03-11T09:14:31.343-04:00
[2026-03-11 14:52:26] [INFO]   -> Set field 'alarm' = "2026-03-11 13:14:31"
[2026-03-11 14:52:26] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 14:52:26] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 14:52:26] [INFO]   -> Set field 'enroute' = null
[2026-03-11 14:52:26] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 14:52:26] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 14:52:26] [INFO]   -> Set field 'onScene' = null
[2026-03-11 14:52:26] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 14:52:26] [INFO]   -> Found value: 2026-03-11T09:52:05.75-04:00
[2026-03-11 14:52:26] [INFO]   -> Set field 'cleared' = "2026-03-11 13:52:05"
[2026-03-11 14:52:26] [INFO]   -> Set field 'inService' = "2026-03-11 13:52:05"
[2026-03-11 14:52:26] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 14:52:26] [INFO]   -> Found value: 35.242264999999996
[2026-03-11 14:52:26] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24226499999999617784851579926908016204833984375
[2026-03-11 14:52:26] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 14:52:26] [INFO]   -> Found value: -85.11359
[2026-03-11 14:52:26] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1135900000000020781953935511410236358642578125
[2026-03-11 14:52:26] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 14:52:26] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 14:52:26] [INFO]   -> Set field 'dispatched' = null
[2026-03-11 14:52:26] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 14:52:26] [INFO]   -> No value found (null or empty)
[2026-03-11 14:52:26] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 14:52:26] [INFO]   -> No value found (null or empty)
[2026-03-11 14:52:26] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 14:52:26] [INFO]   -> No value found (null or empty)
[2026-03-11 14:52:26] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 14:52:26] [INFO]   -> No value found (null or empty)
[2026-03-11 14:52:26] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 14:52:26] [INFO]   -> No value found (null or empty)
[2026-03-11 14:52:26] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 14:52:26] [INFO]   -> No value found (null or empty)
[2026-03-11 14:52:26] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 14:52:26] [INFO]   -> Found value: RD
[2026-03-11 14:52:26] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 14:52:26] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 14:52:26] [INFO]   -> No value found (null or empty)
[2026-03-11 14:52:26] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 14:52:26] [INFO]   -> Found value: 2026-03-15548
[2026-03-11 14:52:26] [INFO]   -> Set field 'policeReportNumber' = "2026-03-15548"
[2026-03-11 14:52:26] [INFO]   -> Set field 'cADNumber' = "2026-03-15548"
[2026-03-11 14:52:26] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 14:52:26] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 14:52:26] [INFO] Found 26 elements for 'Comment', concatenating 26 non-empty values
[2026-03-11 14:52:26] [INFO]   -> Found value: 03/11/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]
03/11/2026 ...
[2026-03-11 14:52:26] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:44 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-15547], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009371. requested by M12. [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:18:33 weaver_r                [24] best to use the ramp  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:51:46 M12                     [25] M12 - Transported person gender is Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 10:52:20 LUSARDO_D               [26] [EMS] has closed their incident [2026-03-15547]"
[2026-03-11 14:52:26] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:44 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-15547], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009371. requested by M12. [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:18:33 weaver_r                [24] best to use the ramp  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:51:46 M12                     [25] M12 - Transported person gender is Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 10:52:20 LUSARDO_D               [26] [EMS] has closed their incident [2026-03-15547]"
[2026-03-11 14:52:26] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 14:52:26] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 14:52:26] [INFO]   -> Found value: SFD
[2026-03-11 14:52:26] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-11 14:52:26] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 14:52:26] [INFO] Concatenating street name and type
[2026-03-11 14:52:26] [INFO]   -> Combined street name: GREEN POND RD
[2026-03-11 14:52:26] [INFO] Built locationCoordinates from lat/lng: 35.242265,-85.11359
[2026-03-11 14:52:26] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SICK-Sick Person","businessName":",2200 GREEN POND RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":2200,"streetName":"GREEN POND RD","incidentLocationCross":"DODD CEMETERY RD\/HIXSON PIKE","alarm":"2026-03-11 13:14:31","enroute":null,"onScene":null,"cleared":"2026-03-11 13:52:05","inService":"2026-03-11 13:52:05","nERISIncidentLatitude":35.24226499999999617784851579926908016204833984375,"nERISIncidentLongitude":-85.1135900000000020781953935511410236358642578125,"dispatched":null,"policeReportNumber":"2026-03-15548","cADNumber":"2026-03-15548","dispatchNotes":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:44 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-15547], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009371. requested by M12. [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:18:33 weaver_r                [24] best to use the ramp  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:51:46 M12                     [25] M12 - Transported person gender is Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 10:52:20 LUSARDO_D               [26] [EMS] has closed their incident [2026-03-15547]","cADLog":"03\/11\/2026 09:14:31 weaver_r                [1] Incident linked to [EMS] [2026-03-15547]\n03\/11\/2026 09:14:31 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-15547\n03\/11\/2026 09:14:38 weaver_r                [3] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:39 weaver_r                [4] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:14:50 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:14 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:31 weaver_r                [7] fluid build up [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:36 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:41 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient complaining of chest pain? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:45 weaver_r                [10] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:15:56 weaver_r                [11] Protocol Q&A \u2022  Question: Is the onset of symptoms sudden or gradual? \u2022  Answer: Gradual [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:07 weaver_r                [12] Protocol Q&A \u2022  Question: Is the patient complaining of pain anywhere? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:26 weaver_r                [13] Protocol Q&A \u2022  Question: Is the patient feeling light headed or dizzy? \u2022  Answer: No [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:16:40 weaver_r                [14] Protocol Q&A \u2022  Question: What is the patient doing? \u2022  Answer: sitting in recliner [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:19 weaver_r                [15] Protocol Q&A \u2022  Question: How does the patient look? \u2022  Answer: normal  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [16] Protocol Q&A \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [17] Card 'SICK' was terminated \u2022  Question: Are there any speech changes or weakness including the face, arms or legs? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [18] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 70 [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [19] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [20] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [21] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:29 weaver_r                [22] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:17:44 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-15547], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-009371. requested by M12. [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:18:33 weaver_r                [24] best to use the ramp  [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 09:51:46 M12                     [25] M12 - Transported person gender is Female [Shared 1, 2026-03-15547 - SICK - 2200 GREEN POND RD]\n03\/11\/2026 10:52:20 LUSARDO_D               [26] [EMS] has closed their incident [2026-03-15547]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.242265,-85.11359"}
[2026-03-11 14:52:26] [INFO] Number of extracted fields: 20
[2026-03-11 14:52:26] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-11 14:52:26] [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-11 14:52:26] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-11 14:52:26] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 14:52:26] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 14:52:27] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 14:52:27] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 14:52:27] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 14:52:27] [INFO] Found existing IncidentTypeMapping with ID: 695bec4ad5612a4c9
[2026-03-11 14:52:27] [INFO] Found existing Dispatch with cADNumber '2026-03-15548', ID: 69b16ab963443f0a6 - will update instead of create
[2026-03-11 14:52:27] [INFO] Updated existing Dispatches record with ID: 69b16ab963443f0a6
[2026-03-11 14:52:27] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 14:52:27] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 14:52:31] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-15548_20260311105223818.xml
[2026-03-11 14:52:31] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311105223818.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-15548_20260311105223818.xml
[2026-03-11 14:52:31] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-15548_20260311105223818.xml
[2026-03-11 15:45:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07386.xml
[2026-03-11 15:45:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07386.xml for user: 68d56363ec1209189
[2026-03-11 15:45:53] [INFO] File size: 1497 bytes
[2026-03-11 15:45:54] [INFO] Created FTPFiles record with ID: 69b18e320b9eca287
[2026-03-11 15:45:54] [INFO] About to extract fields from XML. File size: 1497 bytes
[2026-03-11 15:45:54] [INFO] Number of mappings: 21
[2026-03-11 15:45:54] [INFO] Starting XML parsing. Content length: 1497
[2026-03-11 15:45:54] [INFO] XML parsed successfully. Root element: Incident
[2026-03-11 15:45:54] [INFO] Processing 21 field mappings
[2026-03-11 15:45:54] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-11 15:45:54] [INFO]   -> Found value: 26-07386
[2026-03-11 15:45:54] [INFO]   -> Set field 'dispatchRunNumber' = "26-07386"
[2026-03-11 15:45:54] [INFO]   -> Set field 'cADNumber' = "26-07386"
[2026-03-11 15:45:54] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-11 15:45:54] [INFO]   -> Found value: 430
[2026-03-11 15:45:54] [INFO]   -> Set field 'incidentLocationStreetNumber' = 430
[2026-03-11 15:45:54] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-11 15:45:54] [INFO]   -> Found value: W SALCEDO RD
[2026-03-11 15:45:54] [INFO]   -> Set field 'streetName' = "W SALCEDO RD"
[2026-03-11 15:45:54] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-11 15:45:54] [INFO]   -> No value found (null or empty)
[2026-03-11 15:45:54] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-11 15:45:54] [INFO]   -> Found value: SIKESTON
[2026-03-11 15:45:54] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-03-11 15:45:54] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-11 15:45:54] [INFO]   -> Found value: CLEARVIEW NURSING HOME
[2026-03-11 15:45:54] [INFO]   -> Set field 'businessName' = "CLEARVIEW NURSING HOME"
[2026-03-11 15:45:54] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-11 15:45:54] [INFO]   -> No value found (null or empty)
[2026-03-11 15:45:54] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-11 15:45:54] [INFO]   -> No value found (null or empty)
[2026-03-11 15:45:54] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-11 15:45:54] [INFO]   -> Found value: 0
[2026-03-11 15:45:54] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-11 15:45:54] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-11 15:45:54] [INFO]   -> Found value: 0
[2026-03-11 15:45:54] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-11 15:45:54] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-11 15:45:54] [INFO]   -> Found value: MEDICAL
[2026-03-11 15:45:54] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL"
[2026-03-11 15:45:54] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-11 15:45:54] [INFO]   -> Found value: 03-11-2026 09:34:14|76 YO FEMALE ALTERTED MENTAL STATUS
FEELING WEAK  03-11-2026 09:54:44|546 NOT ON...
[2026-03-11 15:45:54] [INFO]   -> Set field 'dispatchNotes' = "03-11-2026 09:34:14|76 YO FEMALE ALTERTED MENTAL STATUS\nFEELING WEAK  03-11-2026 09:54:44|546 NOT ON INCIDENT 03-11-2026 09:54:46|Disposition - SDPS PD:  NRN 03-11-2026 10:04:02|ST FRANCIS"
[2026-03-11 15:45:54] [INFO]   -> Set field 'cADLog' = "03-11-2026 09:34:14|76 YO FEMALE ALTERTED MENTAL STATUS\nFEELING WEAK  03-11-2026 09:54:44|546 NOT ON INCIDENT 03-11-2026 09:54:46|Disposition - SDPS PD:  NRN 03-11-2026 10:04:02|ST FRANCIS"
[2026-03-11 15:45:54] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-11 15:45:54] [INFO]   -> Found value: 03-11-2026T09:36:09
[2026-03-11 15:45:54] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T09:36:09
[2026-03-11 15:45:54] [INFO]   -> Set field 'alarm' = "2026-11-03 09:36:09"
[2026-03-11 15:45:54] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T09:36:09
[2026-03-11 15:45:54] [INFO]   -> Set field 'dispatched' = "2026-11-03 09:36:09"
[2026-03-11 15:45:54] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-11 15:45:54] [INFO]   -> Found value: 03-11-2026T10:39:30
[2026-03-11 15:45:54] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T10:39:30
[2026-03-11 15:45:54] [INFO]   -> Set field 'onScene' = "2026-11-03 10:39:30"
[2026-03-11 15:45:54] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-11 15:45:54] [INFO]   -> No value found (null or empty)
[2026-03-11 15:45:54] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-11 15:45:54] [INFO]   -> Found value: SIK STILL
[2026-03-11 15:45:54] [INFO]   -> Set field 'cADVehicleID' = "SIK STILL"
[2026-03-11 15:45:54] [INFO]   -> Set field 'name' = "SIK STILL"
[2026-03-11 15:45:54] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-11 15:45:54] [INFO]   -> No value found (null or empty)
[2026-03-11 15:45:54] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-11 15:45:54] [INFO]   -> No value found (null or empty)
[2026-03-11 15:45:54] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-11 15:45:54] [INFO]   -> Found value: 03-11-2026T10:45:14
[2026-03-11 15:45:54] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T10:45:14
[2026-03-11 15:45:54] [INFO]   -> Set field 'timeunitclear' = "2026-11-03 10:45:14"
[2026-03-11 15:45:54] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-11 15:45:54] [INFO]   -> Found value: 03-11-2026T10:44:22
[2026-03-11 15:45:54] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T10:44:22
[2026-03-11 15:45:54] [INFO]   -> Set field 'timedispatch' = "2026-11-03 10:44:22"
[2026-03-11 15:45:54] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-11 15:45:54] [INFO]   -> Found value: SDPSFD
[2026-03-11 15:45:54] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-11 15:45:54] [INFO] Finished extracting fields. Total fields extracted: 19
[2026-03-11 15:45:54] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-11 15:45:54] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-07386","cADNumber":"26-07386","incidentLocationStreetNumber":430,"streetName":"W SALCEDO RD","incidentLocationCity":"SIKESTON","businessName":"CLEARVIEW NURSING HOME","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"MEDICAL","dispatchNotes":"03-11-2026 09:34:14|76 YO FEMALE ALTERTED MENTAL STATUS\nFEELING WEAK  03-11-2026 09:54:44|546 NOT ON INCIDENT 03-11-2026 09:54:46|Disposition - SDPS PD:  NRN 03-11-2026 10:04:02|ST FRANCIS","cADLog":"03-11-2026 09:34:14|76 YO FEMALE ALTERTED MENTAL STATUS\nFEELING WEAK  03-11-2026 09:54:44|546 NOT ON INCIDENT 03-11-2026 09:54:46|Disposition - SDPS PD:  NRN 03-11-2026 10:04:02|ST FRANCIS","alarm":"2026-11-03 09:36:09","dispatched":"2026-11-03 09:36:09","onScene":"2026-11-03 10:39:30","cADVehicleID":"SIK STILL","name":"SIK STILL","timeunitclear":"2026-11-03 10:45:14","timedispatch":"2026-11-03 10:44:22","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-03-11 15:45:54] [INFO] Number of extracted fields: 20
[2026-03-11 15:45:54] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-11 15:45:54] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-03-11 15:45:54] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-11 15:45:54] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-11 15:45:54] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-11 15:45:54] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-11 15:45:54] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-11 15:45:54] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-11 15:45:54] [INFO] Found existing IncidentTypeMapping with ID: 6976908dc15ecc087
[2026-03-11 15:45:56] [INFO] Created new Dispatches record with ID: 69b18e32e98620910
[2026-03-11 15:45:56] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-11
[2026-03-11 15:45:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07386.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-11/SDPSFD_26-07386.xml
[2026-03-11 15:45:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07386.xml
[2026-03-11 15:50:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07393.xml
[2026-03-11 15:50:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07393.xml for user: 68d56363ec1209189
[2026-03-11 15:50:57] [INFO] File size: 2053 bytes
[2026-03-11 15:50:57] [INFO] Created FTPFiles record with ID: 69b18f61c19030a91
[2026-03-11 15:50:57] [INFO] About to extract fields from XML. File size: 2053 bytes
[2026-03-11 15:50:57] [INFO] Number of mappings: 21
[2026-03-11 15:50:57] [INFO] Starting XML parsing. Content length: 2053
[2026-03-11 15:50:57] [INFO] XML parsed successfully. Root element: Incident
[2026-03-11 15:50:57] [INFO] Processing 21 field mappings
[2026-03-11 15:50:57] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-11 15:50:57] [INFO]   -> Found value: 26-07393
[2026-03-11 15:50:57] [INFO]   -> Set field 'dispatchRunNumber' = "26-07393"
[2026-03-11 15:50:57] [INFO]   -> Set field 'cADNumber' = "26-07393"
[2026-03-11 15:50:57] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-11 15:50:57] [INFO]   -> Found value: 907
[2026-03-11 15:50:57] [INFO]   -> Set field 'incidentLocationStreetNumber' = 907
[2026-03-11 15:50:57] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-11 15:50:57] [INFO]   -> Found value: ALEXANDER ST
[2026-03-11 15:50:57] [INFO]   -> Set field 'streetName' = "ALEXANDER ST"
[2026-03-11 15:50:57] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-11 15:50:57] [INFO]   -> No value found (null or empty)
[2026-03-11 15:50:57] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-11 15:50:57] [INFO]   -> Found value: SIKESTON
[2026-03-11 15:50:57] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-03-11 15:50:57] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-11 15:50:57] [INFO]   -> No value found (null or empty)
[2026-03-11 15:50:57] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-11 15:50:57] [INFO]   -> Found value: MO
[2026-03-11 15:50:57] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-03-11 15:50:57] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-11 15:50:57] [INFO]   -> Found value: 63801
[2026-03-11 15:50:57] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-03-11 15:50:57] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-11 15:50:57] [INFO]   -> Found value: 0
[2026-03-11 15:50:57] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-11 15:50:57] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-11 15:50:57] [INFO]   -> Found value: 0
[2026-03-11 15:50:57] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-11 15:50:57] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-11 15:50:57] [INFO]   -> Found value: FIRE-ALARM MECH
[2026-03-11 15:50:57] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-ALARM MECH"
[2026-03-11 15:50:57] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-11 15:50:57] [INFO]   -> Found value: 03-11-2026 10:39:32|FIRE ALARM- SMOKE 
NEG CONTACT WITH KEYHOLDER

 03-11-2026 10:47:05|NOTHING SHOW...
[2026-03-11 15:50:57] [INFO]   -> Set field 'dispatchNotes' = "03-11-2026 10:39:32|FIRE ALARM- SMOKE \nNEG CONTACT WITH KEYHOLDER\n\n 03-11-2026 10:47:05|NOTHING SHOWING 03-11-2026 10:48:24|HOME OWNER ON SCENE ADVISED IT WAS ACCIDENTAL"
[2026-03-11 15:50:57] [INFO]   -> Set field 'cADLog' = "03-11-2026 10:39:32|FIRE ALARM- SMOKE \nNEG CONTACT WITH KEYHOLDER\n\n 03-11-2026 10:47:05|NOTHING SHOWING 03-11-2026 10:48:24|HOME OWNER ON SCENE ADVISED IT WAS ACCIDENTAL"
[2026-03-11 15:50:57] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-11 15:50:57] [INFO]   -> Found value: 03-11-2026T10:43:57
[2026-03-11 15:50:57] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T10:43:57
[2026-03-11 15:50:57] [INFO]   -> Set field 'alarm' = "2026-11-03 10:43:57"
[2026-03-11 15:50:57] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T10:43:57
[2026-03-11 15:50:57] [INFO]   -> Set field 'dispatched' = "2026-11-03 10:43:57"
[2026-03-11 15:50:57] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-11 15:50:57] [INFO]   -> Found value: 03-11-2026T10:46:31
[2026-03-11 15:50:57] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T10:46:31
[2026-03-11 15:50:57] [INFO]   -> Set field 'onScene' = "2026-11-03 10:46:31"
[2026-03-11 15:50:57] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-11 15:50:57] [INFO]   -> Found value: 03-11-2026T10:50:32
[2026-03-11 15:50:57] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T10:50:32
[2026-03-11 15:50:57] [INFO]   -> Set field 'cleared' = "2026-11-03 10:50:32"
[2026-03-11 15:50:57] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T10:50:32
[2026-03-11 15:50:57] [INFO]   -> Set field 'inService' = "2026-11-03 10:50:32"
[2026-03-11 15:50:57] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-11 15:50:57] [INFO]   -> Found value: ENG2
[2026-03-11 15:50:57] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-03-11 15:50:57] [INFO]   -> Set field 'name' = "ENG2"
[2026-03-11 15:50:57] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-11 15:50:57] [INFO]   -> Found value: 03-11-2026T10:45:10
[2026-03-11 15:50:57] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T10:45:10
[2026-03-11 15:50:57] [INFO]   -> Set field 'timeenroutetoscene' = "2026-11-03 10:45:10"
[2026-03-11 15:50:57] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-11 15:50:57] [INFO]   -> No value found (null or empty)
[2026-03-11 15:50:57] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-11 15:50:57] [INFO]   -> Found value: 03-11-2026T10:49:15
[2026-03-11 15:50:57] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T10:49:15
[2026-03-11 15:50:57] [INFO]   -> Set field 'timeunitclear' = "2026-11-03 10:49:15"
[2026-03-11 15:50:57] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-11 15:50:57] [INFO]   -> Found value: 03-11-2026T10:45:06
[2026-03-11 15:50:57] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T10:45:06
[2026-03-11 15:50:57] [INFO]   -> Set field 'timedispatch' = "2026-11-03 10:45:06"
[2026-03-11 15:50:57] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-11 15:50:57] [INFO]   -> Found value: SDPSFD
[2026-03-11 15:50:57] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-11 15:50:57] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 15:50:57] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-11 15:50:57] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-07393","cADNumber":"26-07393","incidentLocationStreetNumber":907,"streetName":"ALEXANDER ST","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-ALARM MECH","dispatchNotes":"03-11-2026 10:39:32|FIRE ALARM- SMOKE \nNEG CONTACT WITH KEYHOLDER\n\n 03-11-2026 10:47:05|NOTHING SHOWING 03-11-2026 10:48:24|HOME OWNER ON SCENE ADVISED IT WAS ACCIDENTAL","cADLog":"03-11-2026 10:39:32|FIRE ALARM- SMOKE \nNEG CONTACT WITH KEYHOLDER\n\n 03-11-2026 10:47:05|NOTHING SHOWING 03-11-2026 10:48:24|HOME OWNER ON SCENE ADVISED IT WAS ACCIDENTAL","alarm":"2026-11-03 10:43:57","dispatched":"2026-11-03 10:43:57","onScene":"2026-11-03 10:46:31","cleared":"2026-11-03 10:50:32","inService":"2026-11-03 10:50:32","cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":"2026-11-03 10:45:10","timeunitclear":"2026-11-03 10:49:15","timedispatch":"2026-11-03 10:45:06","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-03-11 15:50:57] [INFO] Number of extracted fields: 24
[2026-03-11 15:50:57] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-11 15:50:57] [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-11 15:50:57] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-11 15:50:57] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-11 15:50:57] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-11 15:50:58] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-11 15:50:58] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-11 15:50:58] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-11 15:50:58] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e872e5ae13
[2026-03-11 15:51:00] [INFO] Created new Dispatches record with ID: 69b18f62cc7e31b58
[2026-03-11 15:51:00] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07393.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-11/SDPSFD_26-07393.xml
[2026-03-11 15:51:00] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07393.xml
[2026-03-11 15:57:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-016215.xml
[2026-03-11 15:57:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-016215.xml for user: 69320e6a9e3e5ef71
[2026-03-11 15:57:22] [INFO] File size: 8272 bytes
[2026-03-11 15:57:23] [INFO] Created FTPFiles record with ID: 69b190e34806b8568
[2026-03-11 15:57:23] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-11 15:57:23] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-11
[2026-03-11 15:57:23] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-016215.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-11/cfs_2026-016215.xml
[2026-03-11 15:57:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-016215.xml
[2026-03-11 19:45:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026787_20260311_194555.XML
[2026-03-11 19:45:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026787_20260311_194555.XML for user: 68f1466aed072ad4a
[2026-03-11 19:45:55] [INFO] File size: 5151 bytes
[2026-03-11 19:45:56] [INFO] Created FTPFiles record with ID: 69b1c6743e4de685d
[2026-03-11 19:45:56] [INFO] About to extract fields from XML. File size: 5151 bytes
[2026-03-11 19:45:56] [INFO] Number of mappings: 28
[2026-03-11 19:45:56] [INFO] Starting XML parsing. Content length: 5151
[2026-03-11 19:45:56] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 19:45:56] [INFO] Processing 28 field mappings
[2026-03-11 19:45:56] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 19:45:56] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 19:45:56] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 19:45:56] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 19:45:56] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-11 19:45:56] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-11 19:45:56] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 19:45:56] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 19:45:56] [INFO]   -> Found value: 2026000667
[2026-03-11 19:45:56] [INFO]   -> Set field 'incidentInternalId' = "2026000667"
[2026-03-11 19:45:56] [INFO]   -> Set field 'dispatchRunNumber' = "2026000667"
[2026-03-11 19:45:56] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 19:45:56] [INFO]   -> Found value: FALL VICTIM
[2026-03-11 19:45:56] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-11 19:45:56] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 19:45:56] [INFO]   -> Found value: 2194
[2026-03-11 19:45:56] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2194
[2026-03-11 19:45:56] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 19:45:56] [INFO]   -> Found value: TN
[2026-03-11 19:45:56] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 19:45:56] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 19:45:56] [INFO]   -> Found value: 38506
[2026-03-11 19:45:56] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-11 19:45:56] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 19:45:56] [INFO]   -> No value found (null or empty)
[2026-03-11 19:45:56] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 19:45:56] [INFO]   -> No value found (null or empty)
[2026-03-11 19:45:56] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 19:45:56] [INFO]   -> Found value: 36.10139
[2026-03-11 19:45:56] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.10139000000000208956407732330262660980224609375
[2026-03-11 19:45:56] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 19:45:56] [INFO]   -> Found value: -85.55211
[2026-03-11 19:45:56] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.552109999999998990460881032049655914306640625
[2026-03-11 19:45:56] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 19:45:56] [INFO]   -> Found value: 2026-03-11 14:45:21
[2026-03-11 19:45:56] [INFO]   -> Set field 'alarm' = "2026-03-11 14:45:21"
[2026-03-11 19:45:56] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 19:45:56] [INFO]   -> Found value: 2026-03-11 14:45:51
[2026-03-11 19:45:56] [INFO]   -> Set field 'dispatched' = "2026-03-11 14:45:51"
[2026-03-11 19:45:56] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 19:45:56] [INFO]   -> No value found (null or empty)
[2026-03-11 19:45:56] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 19:45:56] [INFO]   -> No value found (null or empty)
[2026-03-11 19:45:56] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 19:45:56] [INFO]   -> No value found (null or empty)
[2026-03-11 19:45:56] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 19:45:56] [INFO]   -> Found value: VERBLE SHERRELL RD/STEWARD RD
[2026-03-11 19:45:56] [INFO]   -> Set field 'incidentLocationCross' = "VERBLE SHERRELL RD\/STEWARD RD"
[2026-03-11 19:45:56] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 19:45:56] [INFO]   -> Found value: PCFR
[2026-03-11 19:45:56] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-11 19:45:56] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 19:45:56] [INFO]   -> Found value: 2026-03-11 14:45:51
[2026-03-11 19:45:56] [INFO]   -> Set field 'timedispatch' = "2026-03-11 14:45:51"
[2026-03-11 19:45:56] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 19:45:56] [INFO]   -> No value found (null or empty)
[2026-03-11 19:45:56] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 19:45:56] [INFO]   -> No value found (null or empty)
[2026-03-11 19:45:56] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 19:45:56] [INFO]   -> No value found (null or empty)
[2026-03-11 19:45:56] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 19:45:56] [INFO]   -> No value found (null or empty)
[2026-03-11 19:45:56] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 19:45:56] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 19:45:56] [INFO]   -> Found value: 20260026787
[2026-03-11 19:45:56] [INFO]   -> Set field 'policeReportNumber' = "20260026787"
[2026-03-11 19:45:56] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 19:45:56] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [03/11/2026 14:45:21 DSTEPHENS]
[2026-03-11 19:45:56] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [03\/11\/2026 14:45:21 DSTEPHENS]"
[2026-03-11 19:45:56] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [03\/11\/2026 14:45:21 DSTEPHENS]"
[2026-03-11 19:45:56] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 19:45:56] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 19:45:56] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 19:45:56] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 19:45:56] [INFO]   -> Found value: BURGESS SCHOOL
[2026-03-11 19:45:56] [INFO]   -> Set field 'streetName' = "BURGESS SCHOOL"
[2026-03-11 19:45:56] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 19:45:56] [INFO]   -> Found value: RD
[2026-03-11 19:45:56] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 19:45:56] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 19:45:56] [INFO]   -> Found value: 2194 BURGESS SCHOOL RD
[2026-03-11 19:45:56] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2194 BURGESS SCHOOL RD"
[2026-03-11 19:45:56] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-11 19:45:56] [INFO] Concatenating street name and type
[2026-03-11 19:45:56] [INFO]   -> Combined street name: BURGESS SCHOOL RD
[2026-03-11 19:45:56] [INFO] Built locationCoordinates from lat/lng: 36.10139,-85.55211
[2026-03-11 19:45:56] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000667","dispatchRunNumber":"2026000667","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":2194,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.10139000000000208956407732330262660980224609375,"nERISIncidentLongitude":-85.552109999999998990460881032049655914306640625,"alarm":"2026-03-11 14:45:21","dispatched":"2026-03-11 14:45:51","incidentLocationCross":"VERBLE SHERRELL RD\/STEWARD RD","cADVehicleID":"PCFR","timedispatch":"2026-03-11 14:45:51","policeReportNumber":"20260026787","dispatchNotes":"Event spawned from FALL VICTIM.  [03\/11\/2026 14:45:21 DSTEPHENS]","cADLog":"Event spawned from FALL VICTIM.  [03\/11\/2026 14:45:21 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"BURGESS SCHOOL RD","incidentAddressTextVersionStreet":"2194 BURGESS SCHOOL RD","locationCoordinates":"36.10139,-85.55211"}
[2026-03-11 19:45:56] [INFO] Number of extracted fields: 21
[2026-03-11 19:45:56] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-11 19:45: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-11 19:45:56] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-11 19:45:56] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 19:45:56] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 19:45:56] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-11 19: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-11 19: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-11 19:45:56] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 19:45:56] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 19:45:56] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 19:45:56] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-11 19:46:08] [INFO] Created new Dispatches record with ID: 69b1c675636c23581
[2026-03-11 19:46:08] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026787_20260311_194555.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026787_20260311_194555.XML
[2026-03-11 19:46:08] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026787_20260311_194555.XML
[2026-03-11 19:46:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026787_20260311_194556.XML
[2026-03-11 19:46:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026787_20260311_194556.XML for user: 68f1466aed072ad4a
[2026-03-11 19:46:08] [INFO] File size: 5151 bytes
[2026-03-11 19:46:08] [INFO] Created FTPFiles record with ID: 69b1c68090821adee
[2026-03-11 19:46:08] [INFO] About to extract fields from XML. File size: 5151 bytes
[2026-03-11 19:46:08] [INFO] Number of mappings: 28
[2026-03-11 19:46:08] [INFO] Starting XML parsing. Content length: 5151
[2026-03-11 19:46:08] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 19:46:08] [INFO] Processing 28 field mappings
[2026-03-11 19:46:08] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 19:46:08] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 19:46:08] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 19:46:08] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 19:46:08] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-11 19:46:08] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-11 19:46:08] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 19:46:08] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 19:46:08] [INFO]   -> Found value: 2026000667
[2026-03-11 19:46:08] [INFO]   -> Set field 'incidentInternalId' = "2026000667"
[2026-03-11 19:46:08] [INFO]   -> Set field 'dispatchRunNumber' = "2026000667"
[2026-03-11 19:46:08] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 19:46:08] [INFO]   -> Found value: FALL VICTIM
[2026-03-11 19:46:08] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-11 19:46:08] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 19:46:08] [INFO]   -> Found value: 2194
[2026-03-11 19:46:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2194
[2026-03-11 19:46:08] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 19:46:08] [INFO]   -> Found value: TN
[2026-03-11 19:46:08] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 19:46:08] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 19:46:08] [INFO]   -> Found value: 38506
[2026-03-11 19:46:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-11 19:46:08] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 19:46:08] [INFO]   -> No value found (null or empty)
[2026-03-11 19:46:08] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 19:46:08] [INFO]   -> No value found (null or empty)
[2026-03-11 19:46:08] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 19:46:08] [INFO]   -> Found value: 36.10139
[2026-03-11 19:46:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.10139000000000208956407732330262660980224609375
[2026-03-11 19:46:08] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 19:46:08] [INFO]   -> Found value: -85.55211
[2026-03-11 19:46:08] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.552109999999998990460881032049655914306640625
[2026-03-11 19:46:08] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 19:46:08] [INFO]   -> Found value: 2026-03-11 14:45:21
[2026-03-11 19:46:08] [INFO]   -> Set field 'alarm' = "2026-03-11 14:45:21"
[2026-03-11 19:46:08] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 19:46:08] [INFO]   -> Found value: 2026-03-11 14:45:51
[2026-03-11 19:46:08] [INFO]   -> Set field 'dispatched' = "2026-03-11 14:45:51"
[2026-03-11 19:46:08] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 19:46:08] [INFO]   -> No value found (null or empty)
[2026-03-11 19:46:08] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 19:46:08] [INFO]   -> No value found (null or empty)
[2026-03-11 19:46:08] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 19:46:08] [INFO]   -> No value found (null or empty)
[2026-03-11 19:46:08] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 19:46:08] [INFO]   -> Found value: VERBLE SHERRELL RD/STEWARD RD
[2026-03-11 19:46:08] [INFO]   -> Set field 'incidentLocationCross' = "VERBLE SHERRELL RD\/STEWARD RD"
[2026-03-11 19:46:08] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 19:46:08] [INFO]   -> Found value: PCFR
[2026-03-11 19:46:08] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-11 19:46:08] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 19:46:08] [INFO]   -> Found value: 2026-03-11 14:45:51
[2026-03-11 19:46:08] [INFO]   -> Set field 'timedispatch' = "2026-03-11 14:45:51"
[2026-03-11 19:46:08] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 19:46:08] [INFO]   -> No value found (null or empty)
[2026-03-11 19:46:08] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 19:46:08] [INFO]   -> No value found (null or empty)
[2026-03-11 19:46:08] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 19:46:08] [INFO]   -> No value found (null or empty)
[2026-03-11 19:46:08] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 19:46:08] [INFO]   -> No value found (null or empty)
[2026-03-11 19:46:08] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 19:46:08] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 19:46:08] [INFO]   -> Found value: 20260026787
[2026-03-11 19:46:08] [INFO]   -> Set field 'policeReportNumber' = "20260026787"
[2026-03-11 19:46:08] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 19:46:08] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [03/11/2026 14:45:21 DSTEPHENS]
[2026-03-11 19:46:08] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [03\/11\/2026 14:45:21 DSTEPHENS]"
[2026-03-11 19:46:08] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [03\/11\/2026 14:45:21 DSTEPHENS]"
[2026-03-11 19:46:08] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 19:46:08] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 19:46:08] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 19:46:08] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 19:46:08] [INFO]   -> Found value: BURGESS SCHOOL
[2026-03-11 19:46:08] [INFO]   -> Set field 'streetName' = "BURGESS SCHOOL"
[2026-03-11 19:46:08] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 19:46:08] [INFO]   -> Found value: RD
[2026-03-11 19:46:08] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 19:46:08] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 19:46:08] [INFO]   -> Found value: 2194 BURGESS SCHOOL RD
[2026-03-11 19:46:08] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2194 BURGESS SCHOOL RD"
[2026-03-11 19:46:08] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-11 19:46:08] [INFO] Concatenating street name and type
[2026-03-11 19:46:08] [INFO]   -> Combined street name: BURGESS SCHOOL RD
[2026-03-11 19:46:08] [INFO] Built locationCoordinates from lat/lng: 36.10139,-85.55211
[2026-03-11 19:46:08] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000667","dispatchRunNumber":"2026000667","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":2194,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.10139000000000208956407732330262660980224609375,"nERISIncidentLongitude":-85.552109999999998990460881032049655914306640625,"alarm":"2026-03-11 14:45:21","dispatched":"2026-03-11 14:45:51","incidentLocationCross":"VERBLE SHERRELL RD\/STEWARD RD","cADVehicleID":"PCFR","timedispatch":"2026-03-11 14:45:51","policeReportNumber":"20260026787","dispatchNotes":"Event spawned from FALL VICTIM.  [03\/11\/2026 14:45:21 DSTEPHENS]","cADLog":"Event spawned from FALL VICTIM.  [03\/11\/2026 14:45:21 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"BURGESS SCHOOL RD","incidentAddressTextVersionStreet":"2194 BURGESS SCHOOL RD","locationCoordinates":"36.10139,-85.55211"}
[2026-03-11 19:46:08] [INFO] Number of extracted fields: 21
[2026-03-11 19:46:08] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-11 19:46:08] [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-11 19:46:08] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-11 19:46:08] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 19:46:08] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 19:46:08] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-11 19:46: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-11 19:46: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-11 19:46:09] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 19:46:09] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 19:46:09] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 19:46:09] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-11 19:46:09] [INFO] Found existing Dispatch with cADNumber '2026000667', ID: 69b1c675636c23581 - will update instead of create
[2026-03-11 19:46:09] [INFO] Updated existing Dispatches record with ID: 69b1c675636c23581
[2026-03-11 19:46:09] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026787_20260311_194556.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026787_20260311_194556.XML
[2026-03-11 19:46:09] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026787_20260311_194556.XML
[2026-03-11 19:47:48] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026787_20260311_194748.XML
[2026-03-11 19:47:48] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026787_20260311_194748.XML for user: 68f1466aed072ad4a
[2026-03-11 19:47:48] [INFO] File size: 6142 bytes
[2026-03-11 19:47:48] [INFO] Created FTPFiles record with ID: 69b1c6e4671a3efe3
[2026-03-11 19:47:48] [INFO] About to extract fields from XML. File size: 6142 bytes
[2026-03-11 19:47:48] [INFO] Number of mappings: 28
[2026-03-11 19:47:48] [INFO] Starting XML parsing. Content length: 6142
[2026-03-11 19:47:48] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 19:47:48] [INFO] Processing 28 field mappings
[2026-03-11 19:47:48] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 19:47:48] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 19:47:48] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 19:47:48] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 19:47:48] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-11 19:47:48] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-11 19:47:48] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 19:47:48] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 19:47:48] [INFO]   -> Found value: 2026000667
[2026-03-11 19:47:48] [INFO]   -> Set field 'incidentInternalId' = "2026000667"
[2026-03-11 19:47:48] [INFO]   -> Set field 'dispatchRunNumber' = "2026000667"
[2026-03-11 19:47:48] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 19:47:48] [INFO]   -> Found value: FALL VICTIM
[2026-03-11 19:47:48] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-11 19:47:48] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 19:47:48] [INFO]   -> Found value: 2194
[2026-03-11 19:47:48] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2194
[2026-03-11 19:47:48] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 19:47:48] [INFO]   -> Found value: TN
[2026-03-11 19:47:48] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 19:47:48] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 19:47:48] [INFO]   -> Found value: 38506
[2026-03-11 19:47:48] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-11 19:47:48] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 19:47:48] [INFO]   -> No value found (null or empty)
[2026-03-11 19:47:48] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 19:47:48] [INFO]   -> No value found (null or empty)
[2026-03-11 19:47:48] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 19:47:48] [INFO]   -> Found value: 36.10139
[2026-03-11 19:47:48] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.10139000000000208956407732330262660980224609375
[2026-03-11 19:47:48] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 19:47:48] [INFO]   -> Found value: -85.55211
[2026-03-11 19:47:48] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.552109999999998990460881032049655914306640625
[2026-03-11 19:47:48] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 19:47:48] [INFO]   -> Found value: 2026-03-11 14:45:21
[2026-03-11 19:47:48] [INFO]   -> Set field 'alarm' = "2026-03-11 14:45:21"
[2026-03-11 19:47:48] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 19:47:48] [INFO]   -> Found value: 2026-03-11 14:45:51
[2026-03-11 19:47:48] [INFO]   -> Set field 'dispatched' = "2026-03-11 14:45:51"
[2026-03-11 19:47:48] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 19:47:48] [INFO]   -> No value found (null or empty)
[2026-03-11 19:47:48] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 19:47:48] [INFO]   -> No value found (null or empty)
[2026-03-11 19:47:48] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 19:47:48] [INFO]   -> No value found (null or empty)
[2026-03-11 19:47:48] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 19:47:48] [INFO]   -> Found value: VERBLE SHERRELL RD/STEWARD RD
[2026-03-11 19:47:48] [INFO]   -> Set field 'incidentLocationCross' = "VERBLE SHERRELL RD\/STEWARD RD"
[2026-03-11 19:47:48] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 19:47:48] [INFO]   -> Found value: PCFR
[2026-03-11 19:47:48] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-11 19:47:48] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 19:47:48] [INFO]   -> Found value: 2026-03-11 14:45:51
[2026-03-11 19:47:48] [INFO]   -> Set field 'timedispatch' = "2026-03-11 14:45:51"
[2026-03-11 19:47:48] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 19:47:48] [INFO]   -> No value found (null or empty)
[2026-03-11 19:47:48] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 19:47:48] [INFO]   -> No value found (null or empty)
[2026-03-11 19:47:48] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 19:47:48] [INFO]   -> Found value: 2026-03-11 14:47:44
[2026-03-11 19:47:48] [INFO]   -> Set field 'timeunitclear' = "2026-03-11 14:47:44"
[2026-03-11 19:47:48] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 19:47:48] [INFO]   -> Found value: 2026-03-11 14:47:44
[2026-03-11 19:47:48] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-11 14:47:44"
[2026-03-11 19:47:48] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 19:47:48] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 19:47:48] [INFO]   -> Found value: 20260026787
[2026-03-11 19:47:48] [INFO]   -> Set field 'policeReportNumber' = "20260026787"
[2026-03-11 19:47:48] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 19:47:48] [INFO]   -> Found value: [EMS] LFELL LANDING ON CONCRETE DRIVE  [03/11/26 14:46:14 DSTEPHENS] [EMS] ORA  ANN STEWARD    8/30/...
[2026-03-11 19:47:48] [INFO]   -> Set field 'dispatchNotes' = "[EMS] LFELL LANDING ON CONCRETE DRIVE  [03\/11\/26 14:46:14 DSTEPHENS] [EMS] ORA  ANN STEWARD    8\/30\/1941  [03\/11\/26 14:45:54 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/11\/2026 14:45:21 DSTEPHENS]"
[2026-03-11 19:47:48] [INFO]   -> Set field 'cADLog' = "[EMS] LFELL LANDING ON CONCRETE DRIVE  [03\/11\/26 14:46:14 DSTEPHENS] [EMS] ORA  ANN STEWARD    8\/30\/1941  [03\/11\/26 14:45:54 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/11\/2026 14:45:21 DSTEPHENS]"
[2026-03-11 19:47:48] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 19:47:48] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 19:47:48] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 19:47:48] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 19:47:48] [INFO]   -> Found value: BURGESS SCHOOL
[2026-03-11 19:47:48] [INFO]   -> Set field 'streetName' = "BURGESS SCHOOL"
[2026-03-11 19:47:48] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 19:47:48] [INFO]   -> Found value: RD
[2026-03-11 19:47:48] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 19:47:48] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 19:47:48] [INFO]   -> Found value: 2194 BURGESS SCHOOL RD
[2026-03-11 19:47:48] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2194 BURGESS SCHOOL RD"
[2026-03-11 19:47:48] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 19:47:48] [INFO] Concatenating street name and type
[2026-03-11 19:47:48] [INFO]   -> Combined street name: BURGESS SCHOOL RD
[2026-03-11 19:47:48] [INFO] Built locationCoordinates from lat/lng: 36.10139,-85.55211
[2026-03-11 19:47:48] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000667","dispatchRunNumber":"2026000667","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":2194,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.10139000000000208956407732330262660980224609375,"nERISIncidentLongitude":-85.552109999999998990460881032049655914306640625,"alarm":"2026-03-11 14:45:21","dispatched":"2026-03-11 14:45:51","incidentLocationCross":"VERBLE SHERRELL RD\/STEWARD RD","cADVehicleID":"PCFR","timedispatch":"2026-03-11 14:45:51","timeunitclear":"2026-03-11 14:47:44","timecanceledenroute":"2026-03-11 14:47:44","policeReportNumber":"20260026787","dispatchNotes":"[EMS] LFELL LANDING ON CONCRETE DRIVE  [03\/11\/26 14:46:14 DSTEPHENS] [EMS] ORA  ANN STEWARD    8\/30\/1941  [03\/11\/26 14:45:54 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/11\/2026 14:45:21 DSTEPHENS]","cADLog":"[EMS] LFELL LANDING ON CONCRETE DRIVE  [03\/11\/26 14:46:14 DSTEPHENS] [EMS] ORA  ANN STEWARD    8\/30\/1941  [03\/11\/26 14:45:54 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/11\/2026 14:45:21 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"BURGESS SCHOOL RD","incidentAddressTextVersionStreet":"2194 BURGESS SCHOOL RD","locationCoordinates":"36.10139,-85.55211"}
[2026-03-11 19:47:48] [INFO] Number of extracted fields: 23
[2026-03-11 19:47:48] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-11 19:47:48] [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-11 19:47:48] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-11 19:47:48] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 19:47:48] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 19:47:48] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-11 19:47:48] [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-11 19:47:48] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 19:47:48] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 19:47:48] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 19:47:48] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 19:47:48] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-11 19:47:49] [INFO] Found existing Dispatch with cADNumber '2026000667', ID: 69b1c675636c23581 - will update instead of create
[2026-03-11 19:47:49] [INFO] Updated existing Dispatches record with ID: 69b1c675636c23581
[2026-03-11 19:47:49] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026787_20260311_194748.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026787_20260311_194748.XML
[2026-03-11 19:47:49] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026787_20260311_194748.XML
[2026-03-11 19:47:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026787_20260311_194756.XML
[2026-03-11 19:47:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026787_20260311_194756.XML for user: 68f1466aed072ad4a
[2026-03-11 19:47:57] [INFO] File size: 6209 bytes
[2026-03-11 19:47:57] [INFO] Created FTPFiles record with ID: 69b1c6ed58ea494e6
[2026-03-11 19:47:57] [INFO] About to extract fields from XML. File size: 6209 bytes
[2026-03-11 19:47:57] [INFO] Number of mappings: 28
[2026-03-11 19:47:57] [INFO] Starting XML parsing. Content length: 6209
[2026-03-11 19:47:57] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 19:47:57] [INFO] Processing 28 field mappings
[2026-03-11 19:47:57] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 19:47:57] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 19:47:57] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 19:47:57] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 19:47:57] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-11 19:47:57] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-11 19:47:57] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 19:47:57] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 19:47:57] [INFO]   -> Found value: 2026000667
[2026-03-11 19:47:57] [INFO]   -> Set field 'incidentInternalId' = "2026000667"
[2026-03-11 19:47:57] [INFO]   -> Set field 'dispatchRunNumber' = "2026000667"
[2026-03-11 19:47:57] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 19:47:57] [INFO]   -> Found value: FALL VICTIM
[2026-03-11 19:47:57] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-11 19:47:57] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 19:47:57] [INFO]   -> Found value: 2194
[2026-03-11 19:47:57] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2194
[2026-03-11 19:47:57] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 19:47:57] [INFO]   -> Found value: TN
[2026-03-11 19:47:57] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 19:47:57] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 19:47:57] [INFO]   -> Found value: 38506
[2026-03-11 19:47:57] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-11 19:47:57] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 19:47:57] [INFO]   -> No value found (null or empty)
[2026-03-11 19:47:57] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 19:47:57] [INFO]   -> No value found (null or empty)
[2026-03-11 19:47:57] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 19:47:57] [INFO]   -> Found value: 36.10139
[2026-03-11 19:47:57] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.10139000000000208956407732330262660980224609375
[2026-03-11 19:47:57] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 19:47:57] [INFO]   -> Found value: -85.55211
[2026-03-11 19:47:57] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.552109999999998990460881032049655914306640625
[2026-03-11 19:47:57] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 19:47:57] [INFO]   -> Found value: 2026-03-11 14:45:21
[2026-03-11 19:47:57] [INFO]   -> Set field 'alarm' = "2026-03-11 14:45:21"
[2026-03-11 19:47:57] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 19:47:57] [INFO]   -> Found value: 2026-03-11 14:45:51
[2026-03-11 19:47:57] [INFO]   -> Set field 'dispatched' = "2026-03-11 14:45:51"
[2026-03-11 19:47:57] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 19:47:57] [INFO]   -> Found value: 2026-03-11 14:47:48
[2026-03-11 19:47:57] [INFO]   -> Set field 'enroute' = "2026-03-11 14:47:48"
[2026-03-11 19:47:57] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 19:47:57] [INFO]   -> No value found (null or empty)
[2026-03-11 19:47:57] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 19:47:57] [INFO]   -> No value found (null or empty)
[2026-03-11 19:47:57] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 19:47:57] [INFO]   -> Found value: VERBLE SHERRELL RD/STEWARD RD
[2026-03-11 19:47:57] [INFO]   -> Set field 'incidentLocationCross' = "VERBLE SHERRELL RD\/STEWARD RD"
[2026-03-11 19:47:57] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 19:47:57] [INFO]   -> Found value: SQ11
[2026-03-11 19:47:57] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-11 19:47:57] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 19:47:57] [INFO]   -> Found value: 2026-03-11 14:47:44
[2026-03-11 19:47:57] [INFO]   -> Set field 'timedispatch' = "2026-03-11 14:47:44"
[2026-03-11 19:47:57] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 19:47:57] [INFO]   -> Found value: 2026-03-11 14:47:48
[2026-03-11 19:47:57] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 14:47:48"
[2026-03-11 19:47:57] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 19:47:57] [INFO]   -> No value found (null or empty)
[2026-03-11 19:47:57] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 19:47:57] [INFO]   -> No value found (null or empty)
[2026-03-11 19:47:57] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 19:47:57] [INFO]   -> No value found (null or empty)
[2026-03-11 19:47:57] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 19:47:57] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 19:47:57] [INFO]   -> Found value: 20260026787
[2026-03-11 19:47:57] [INFO]   -> Set field 'policeReportNumber' = "20260026787"
[2026-03-11 19:47:57] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 19:47:57] [INFO]   -> Found value: [EMS] LFELL LANDING ON CONCRETE DRIVE  [03/11/26 14:46:14 DSTEPHENS] [EMS] ORA  ANN STEWARD    8/30/...
[2026-03-11 19:47:57] [INFO]   -> Set field 'dispatchNotes' = "[EMS] LFELL LANDING ON CONCRETE DRIVE  [03\/11\/26 14:46:14 DSTEPHENS] [EMS] ORA  ANN STEWARD    8\/30\/1941  [03\/11\/26 14:45:54 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/11\/2026 14:45:21 DSTEPHENS]"
[2026-03-11 19:47:57] [INFO]   -> Set field 'cADLog' = "[EMS] LFELL LANDING ON CONCRETE DRIVE  [03\/11\/26 14:46:14 DSTEPHENS] [EMS] ORA  ANN STEWARD    8\/30\/1941  [03\/11\/26 14:45:54 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/11\/2026 14:45:21 DSTEPHENS]"
[2026-03-11 19:47:57] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 19:47:57] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 19:47:57] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 19:47:57] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 19:47:57] [INFO]   -> Found value: BURGESS SCHOOL
[2026-03-11 19:47:57] [INFO]   -> Set field 'streetName' = "BURGESS SCHOOL"
[2026-03-11 19:47:57] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 19:47:57] [INFO]   -> Found value: RD
[2026-03-11 19:47:57] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 19:47:57] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 19:47:57] [INFO]   -> Found value: 2194 BURGESS SCHOOL RD
[2026-03-11 19:47:57] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2194 BURGESS SCHOOL RD"
[2026-03-11 19:47:57] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 19:47:57] [INFO] Concatenating street name and type
[2026-03-11 19:47:57] [INFO]   -> Combined street name: BURGESS SCHOOL RD
[2026-03-11 19:47:57] [INFO] Built locationCoordinates from lat/lng: 36.10139,-85.55211
[2026-03-11 19:47:57] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000667","dispatchRunNumber":"2026000667","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":2194,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.10139000000000208956407732330262660980224609375,"nERISIncidentLongitude":-85.552109999999998990460881032049655914306640625,"alarm":"2026-03-11 14:45:21","dispatched":"2026-03-11 14:45:51","enroute":"2026-03-11 14:47:48","incidentLocationCross":"VERBLE SHERRELL RD\/STEWARD RD","cADVehicleID":"SQ11","timedispatch":"2026-03-11 14:47:44","timeenroutetoscene":"2026-03-11 14:47:48","policeReportNumber":"20260026787","dispatchNotes":"[EMS] LFELL LANDING ON CONCRETE DRIVE  [03\/11\/26 14:46:14 DSTEPHENS] [EMS] ORA  ANN STEWARD    8\/30\/1941  [03\/11\/26 14:45:54 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/11\/2026 14:45:21 DSTEPHENS]","cADLog":"[EMS] LFELL LANDING ON CONCRETE DRIVE  [03\/11\/26 14:46:14 DSTEPHENS] [EMS] ORA  ANN STEWARD    8\/30\/1941  [03\/11\/26 14:45:54 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/11\/2026 14:45:21 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"BURGESS SCHOOL RD","incidentAddressTextVersionStreet":"2194 BURGESS SCHOOL RD","locationCoordinates":"36.10139,-85.55211"}
[2026-03-11 19:47:57] [INFO] Number of extracted fields: 23
[2026-03-11 19:47:57] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-11 19:47:57] [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-11 19:47:57] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-11 19:47:57] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 19:47:57] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 19:47:57] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-11 19:47: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-11 19:47: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-11 19:47:57] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 19:47:57] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 19:47:57] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 19:47:57] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-11 19:47:58] [INFO] Found existing Dispatch with cADNumber '2026000667', ID: 69b1c675636c23581 - will update instead of create
[2026-03-11 19:47:58] [INFO] Updated existing Dispatches record with ID: 69b1c675636c23581
[2026-03-11 19:47:58] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026787_20260311_194756.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026787_20260311_194756.XML
[2026-03-11 19:47:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026787_20260311_194756.XML
[2026-03-11 20:22:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026804_20260311_202255.XML
[2026-03-11 20:22:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026804_20260311_202255.XML for user: 68f1466aed072ad4a
[2026-03-11 20:22:55] [INFO] File size: 4572 bytes
[2026-03-11 20:22:56] [INFO] Created FTPFiles record with ID: 69b1cf2055b119793
[2026-03-11 20:22:56] [INFO] About to extract fields from XML. File size: 4572 bytes
[2026-03-11 20:22:56] [INFO] Number of mappings: 28
[2026-03-11 20:22:56] [INFO] Starting XML parsing. Content length: 4572
[2026-03-11 20:22:56] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 20:22:56] [INFO] Processing 28 field mappings
[2026-03-11 20:22:56] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 20:22:56] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 20:22:56] [INFO]   -> Found value: PCFD
[2026-03-11 20:22:56] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-11 20:22:56] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 20:22:56] [INFO]   -> Found value: 2026000668
[2026-03-11 20:22:56] [INFO]   -> Set field 'incidentInternalId' = "2026000668"
[2026-03-11 20:22:56] [INFO]   -> Set field 'dispatchRunNumber' = "2026000668"
[2026-03-11 20:22:56] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 20:22:56] [INFO]   -> Found value: FIRE ALARM
[2026-03-11 20:22:56] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-03-11 20:22:56] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 20:22:56] [INFO]   -> Found value: 1549
[2026-03-11 20:22:56] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1549
[2026-03-11 20:22:56] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 20:22:56] [INFO]   -> Found value: TN
[2026-03-11 20:22:56] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 20:22:56] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 20:22:56] [INFO]   -> Found value: 38506
[2026-03-11 20:22:56] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-11 20:22:56] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 20:22:56] [INFO]   -> No value found (null or empty)
[2026-03-11 20:22:56] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 20:22:56] [INFO]   -> No value found (null or empty)
[2026-03-11 20:22:56] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 20:22:56] [INFO]   -> Found value: 36.12678
[2026-03-11 20:22:56] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12677999999999656211002729833126068115234375
[2026-03-11 20:22:56] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 20:22:56] [INFO]   -> Found value: -85.43764
[2026-03-11 20:22:56] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4376400000000018053469830192625522613525390625
[2026-03-11 20:22:56] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 20:22:56] [INFO]   -> Found value: 2026-03-11 15:21:16
[2026-03-11 20:22:56] [INFO]   -> Set field 'alarm' = "2026-03-11 15:21:16"
[2026-03-11 20:22:56] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 20:22:56] [INFO]   -> Found value: 2026-03-11 15:22:50
[2026-03-11 20:22:56] [INFO]   -> Set field 'dispatched' = "2026-03-11 15:22:50"
[2026-03-11 20:22:56] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 20:22:56] [INFO]   -> No value found (null or empty)
[2026-03-11 20:22:56] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 20:22:56] [INFO]   -> No value found (null or empty)
[2026-03-11 20:22:56] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 20:22:56] [INFO]   -> No value found (null or empty)
[2026-03-11 20:22:56] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 20:22:56] [INFO]   -> Found value: /BAYSHORE DR
[2026-03-11 20:22:56] [INFO]   -> Set field 'incidentLocationCross' = "\/BAYSHORE DR"
[2026-03-11 20:22:56] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 20:22:56] [INFO]   -> Found value: TK15
[2026-03-11 20:22:56] [INFO]   -> Set field 'cADVehicleID' = "TK15"
[2026-03-11 20:22:56] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 20:22:56] [INFO]   -> Found value: 2026-03-11 15:22:50
[2026-03-11 20:22:56] [INFO]   -> Set field 'timedispatch' = "2026-03-11 15:22:50"
[2026-03-11 20:22:56] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 20:22:56] [INFO]   -> No value found (null or empty)
[2026-03-11 20:22:56] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 20:22:56] [INFO]   -> No value found (null or empty)
[2026-03-11 20:22:56] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 20:22:56] [INFO]   -> No value found (null or empty)
[2026-03-11 20:22:56] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 20:22:56] [INFO]   -> No value found (null or empty)
[2026-03-11 20:22:56] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 20:22:56] [INFO]   -> Found value: 20260026804
[2026-03-11 20:22:56] [INFO]   -> Set field 'policeReportNumber' = "20260026804"
[2026-03-11 20:22:56] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 20:22:56] [INFO]   -> Found value: ZONE 0   GENERAL  [03/11/26 15:21:57 DSTEPHENS]
[2026-03-11 20:22:56] [INFO]   -> Set field 'dispatchNotes' = "ZONE 0   GENERAL  [03\/11\/26 15:21:57 DSTEPHENS]"
[2026-03-11 20:22:56] [INFO]   -> Set field 'cADLog' = "ZONE 0   GENERAL  [03\/11\/26 15:21:57 DSTEPHENS]"
[2026-03-11 20:22:56] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 20:22:56] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 20:22:56] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 20:22:56] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 20:22:56] [INFO]   -> Found value: EDGEFIELD
[2026-03-11 20:22:56] [INFO]   -> Set field 'streetName' = "EDGEFIELD"
[2026-03-11 20:22:56] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 20:22:56] [INFO]   -> Found value: CT
[2026-03-11 20:22:56] [INFO]   -> Set field 'streetType' = "CT"
[2026-03-11 20:22:56] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 20:22:56] [INFO]   -> Found value: 1549 EDGEFIELD CT
[2026-03-11 20:22:56] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1549 EDGEFIELD CT"
[2026-03-11 20:22:56] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-11 20:22:56] [INFO] Concatenating street name and type
[2026-03-11 20:22:56] [INFO]   -> Combined street name: EDGEFIELD CT
[2026-03-11 20:22:56] [INFO] Built locationCoordinates from lat/lng: 36.12678,-85.43764
[2026-03-11 20:22:56] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000668","dispatchRunNumber":"2026000668","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":1549,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.12677999999999656211002729833126068115234375,"nERISIncidentLongitude":-85.4376400000000018053469830192625522613525390625,"alarm":"2026-03-11 15:21:16","dispatched":"2026-03-11 15:22:50","incidentLocationCross":"\/BAYSHORE DR","cADVehicleID":"TK15","timedispatch":"2026-03-11 15:22:50","policeReportNumber":"20260026804","dispatchNotes":"ZONE 0   GENERAL  [03\/11\/26 15:21:57 DSTEPHENS]","cADLog":"ZONE 0   GENERAL  [03\/11\/26 15:21:57 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"EDGEFIELD CT","incidentAddressTextVersionStreet":"1549 EDGEFIELD CT","locationCoordinates":"36.12678,-85.43764"}
[2026-03-11 20:22:56] [INFO] Number of extracted fields: 21
[2026-03-11 20:22:56] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-11 20:22:56] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-11 20:22:56] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-11 20:22:56] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 20:22:56] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 20:22: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-11 20:22: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-11 20:22:59] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 20:22:59] [INFO] Found existing IncidentTypeMapping with ID: 69398a845c349ab26
[2026-03-11 20:23:11] [INFO] Created new Dispatches record with ID: 69b1cf24402517e7a
[2026-03-11 20:23:11] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026804_20260311_202255.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026804_20260311_202255.XML
[2026-03-11 20:23:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026804_20260311_202255.XML
[2026-03-11 20:23:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026804_20260311_202255_1.XML
[2026-03-11 20:23:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026804_20260311_202255_1.XML for user: 68f1466aed072ad4a
[2026-03-11 20:23:12] [INFO] File size: 4572 bytes
[2026-03-11 20:23:12] [INFO] Created FTPFiles record with ID: 69b1cf3054d70980e
[2026-03-11 20:23:12] [INFO] About to extract fields from XML. File size: 4572 bytes
[2026-03-11 20:23:12] [INFO] Number of mappings: 28
[2026-03-11 20:23:12] [INFO] Starting XML parsing. Content length: 4572
[2026-03-11 20:23:12] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 20:23:12] [INFO] Processing 28 field mappings
[2026-03-11 20:23:12] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 20:23:12] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 20:23:12] [INFO]   -> Found value: PCFD
[2026-03-11 20:23:12] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-11 20:23:12] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 20:23:12] [INFO]   -> Found value: 2026000668
[2026-03-11 20:23:12] [INFO]   -> Set field 'incidentInternalId' = "2026000668"
[2026-03-11 20:23:12] [INFO]   -> Set field 'dispatchRunNumber' = "2026000668"
[2026-03-11 20:23:12] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 20:23:12] [INFO]   -> Found value: FIRE ALARM
[2026-03-11 20:23:12] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-03-11 20:23:12] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 20:23:12] [INFO]   -> Found value: 1549
[2026-03-11 20:23:12] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1549
[2026-03-11 20:23:12] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 20:23:12] [INFO]   -> Found value: TN
[2026-03-11 20:23:12] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 20:23:12] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 20:23:12] [INFO]   -> Found value: 38506
[2026-03-11 20:23:12] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-11 20:23:12] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 20:23:12] [INFO]   -> No value found (null or empty)
[2026-03-11 20:23:12] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 20:23:12] [INFO]   -> No value found (null or empty)
[2026-03-11 20:23:12] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 20:23:12] [INFO]   -> Found value: 36.12678
[2026-03-11 20:23:12] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12677999999999656211002729833126068115234375
[2026-03-11 20:23:12] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 20:23:12] [INFO]   -> Found value: -85.43764
[2026-03-11 20:23:12] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4376400000000018053469830192625522613525390625
[2026-03-11 20:23:12] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 20:23:12] [INFO]   -> Found value: 2026-03-11 15:21:16
[2026-03-11 20:23:12] [INFO]   -> Set field 'alarm' = "2026-03-11 15:21:16"
[2026-03-11 20:23:12] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 20:23:12] [INFO]   -> Found value: 2026-03-11 15:22:50
[2026-03-11 20:23:12] [INFO]   -> Set field 'dispatched' = "2026-03-11 15:22:50"
[2026-03-11 20:23:12] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 20:23:12] [INFO]   -> No value found (null or empty)
[2026-03-11 20:23:12] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 20:23:12] [INFO]   -> No value found (null or empty)
[2026-03-11 20:23:12] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 20:23:12] [INFO]   -> No value found (null or empty)
[2026-03-11 20:23:12] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 20:23:12] [INFO]   -> Found value: /BAYSHORE DR
[2026-03-11 20:23:12] [INFO]   -> Set field 'incidentLocationCross' = "\/BAYSHORE DR"
[2026-03-11 20:23:12] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 20:23:12] [INFO]   -> Found value: TK15
[2026-03-11 20:23:12] [INFO]   -> Set field 'cADVehicleID' = "TK15"
[2026-03-11 20:23:12] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 20:23:12] [INFO]   -> Found value: 2026-03-11 15:22:50
[2026-03-11 20:23:12] [INFO]   -> Set field 'timedispatch' = "2026-03-11 15:22:50"
[2026-03-11 20:23:12] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 20:23:12] [INFO]   -> No value found (null or empty)
[2026-03-11 20:23:12] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 20:23:12] [INFO]   -> No value found (null or empty)
[2026-03-11 20:23:12] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 20:23:12] [INFO]   -> No value found (null or empty)
[2026-03-11 20:23:12] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 20:23:12] [INFO]   -> No value found (null or empty)
[2026-03-11 20:23:12] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 20:23:12] [INFO]   -> Found value: 20260026804
[2026-03-11 20:23:12] [INFO]   -> Set field 'policeReportNumber' = "20260026804"
[2026-03-11 20:23:12] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 20:23:12] [INFO]   -> Found value: ZONE 0   GENERAL  [03/11/26 15:21:57 DSTEPHENS]
[2026-03-11 20:23:12] [INFO]   -> Set field 'dispatchNotes' = "ZONE 0   GENERAL  [03\/11\/26 15:21:57 DSTEPHENS]"
[2026-03-11 20:23:12] [INFO]   -> Set field 'cADLog' = "ZONE 0   GENERAL  [03\/11\/26 15:21:57 DSTEPHENS]"
[2026-03-11 20:23:12] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 20:23:12] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 20:23:12] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 20:23:12] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 20:23:12] [INFO]   -> Found value: EDGEFIELD
[2026-03-11 20:23:12] [INFO]   -> Set field 'streetName' = "EDGEFIELD"
[2026-03-11 20:23:12] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 20:23:12] [INFO]   -> Found value: CT
[2026-03-11 20:23:12] [INFO]   -> Set field 'streetType' = "CT"
[2026-03-11 20:23:12] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 20:23:12] [INFO]   -> Found value: 1549 EDGEFIELD CT
[2026-03-11 20:23:12] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1549 EDGEFIELD CT"
[2026-03-11 20:23:12] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-11 20:23:12] [INFO] Concatenating street name and type
[2026-03-11 20:23:12] [INFO]   -> Combined street name: EDGEFIELD CT
[2026-03-11 20:23:12] [INFO] Built locationCoordinates from lat/lng: 36.12678,-85.43764
[2026-03-11 20:23:12] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000668","dispatchRunNumber":"2026000668","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":1549,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.12677999999999656211002729833126068115234375,"nERISIncidentLongitude":-85.4376400000000018053469830192625522613525390625,"alarm":"2026-03-11 15:21:16","dispatched":"2026-03-11 15:22:50","incidentLocationCross":"\/BAYSHORE DR","cADVehicleID":"TK15","timedispatch":"2026-03-11 15:22:50","policeReportNumber":"20260026804","dispatchNotes":"ZONE 0   GENERAL  [03\/11\/26 15:21:57 DSTEPHENS]","cADLog":"ZONE 0   GENERAL  [03\/11\/26 15:21:57 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"EDGEFIELD CT","incidentAddressTextVersionStreet":"1549 EDGEFIELD CT","locationCoordinates":"36.12678,-85.43764"}
[2026-03-11 20:23:12] [INFO] Number of extracted fields: 21
[2026-03-11 20:23:12] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-11 20:23:12] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-11 20:23:12] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-11 20:23:12] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 20:23:12] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 20:23: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-11 20:23: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-11 20:23:12] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 20:23:12] [INFO] Found existing IncidentTypeMapping with ID: 69398a845c349ab26
[2026-03-11 20:23:13] [INFO] Found existing Dispatch with cADNumber '2026000668', ID: 69b1cf24402517e7a - will update instead of create
[2026-03-11 20:23:13] [INFO] Updated existing Dispatches record with ID: 69b1cf24402517e7a
[2026-03-11 20:23:13] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026804_20260311_202255_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026804_20260311_202255_1.XML
[2026-03-11 20:23:13] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026804_20260311_202255_1.XML
[2026-03-11 20:23:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026804_20260311_202256.XML
[2026-03-11 20:23:13] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026804_20260311_202256.XML for user: 68f1466aed072ad4a
[2026-03-11 20:23:13] [INFO] File size: 4572 bytes
[2026-03-11 20:23:13] [INFO] Created FTPFiles record with ID: 69b1cf31e4bcaf9ac
[2026-03-11 20:23:13] [INFO] About to extract fields from XML. File size: 4572 bytes
[2026-03-11 20:23:13] [INFO] Number of mappings: 28
[2026-03-11 20:23:13] [INFO] Starting XML parsing. Content length: 4572
[2026-03-11 20:23:13] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 20:23:13] [INFO] Processing 28 field mappings
[2026-03-11 20:23:13] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 20:23:13] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 20:23:13] [INFO]   -> Found value: PCFD
[2026-03-11 20:23:13] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-11 20:23:13] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 20:23:13] [INFO]   -> Found value: 2026000668
[2026-03-11 20:23:13] [INFO]   -> Set field 'incidentInternalId' = "2026000668"
[2026-03-11 20:23:13] [INFO]   -> Set field 'dispatchRunNumber' = "2026000668"
[2026-03-11 20:23:13] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 20:23:13] [INFO]   -> Found value: FIRE ALARM
[2026-03-11 20:23:13] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-03-11 20:23:13] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 20:23:13] [INFO]   -> Found value: 1549
[2026-03-11 20:23:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1549
[2026-03-11 20:23:13] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 20:23:13] [INFO]   -> Found value: TN
[2026-03-11 20:23:13] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 20:23:13] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 20:23:13] [INFO]   -> Found value: 38506
[2026-03-11 20:23:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-11 20:23:13] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 20:23:13] [INFO]   -> No value found (null or empty)
[2026-03-11 20:23:13] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 20:23:13] [INFO]   -> No value found (null or empty)
[2026-03-11 20:23:13] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 20:23:13] [INFO]   -> Found value: 36.12678
[2026-03-11 20:23:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12677999999999656211002729833126068115234375
[2026-03-11 20:23:13] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 20:23:13] [INFO]   -> Found value: -85.43764
[2026-03-11 20:23:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4376400000000018053469830192625522613525390625
[2026-03-11 20:23:13] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 20:23:13] [INFO]   -> Found value: 2026-03-11 15:21:16
[2026-03-11 20:23:13] [INFO]   -> Set field 'alarm' = "2026-03-11 15:21:16"
[2026-03-11 20:23:13] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 20:23:13] [INFO]   -> Found value: 2026-03-11 15:22:50
[2026-03-11 20:23:13] [INFO]   -> Set field 'dispatched' = "2026-03-11 15:22:50"
[2026-03-11 20:23:13] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 20:23:13] [INFO]   -> No value found (null or empty)
[2026-03-11 20:23:13] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 20:23:13] [INFO]   -> No value found (null or empty)
[2026-03-11 20:23:13] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 20:23:13] [INFO]   -> No value found (null or empty)
[2026-03-11 20:23:13] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 20:23:13] [INFO]   -> Found value: /BAYSHORE DR
[2026-03-11 20:23:13] [INFO]   -> Set field 'incidentLocationCross' = "\/BAYSHORE DR"
[2026-03-11 20:23:13] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 20:23:13] [INFO]   -> Found value: TK15
[2026-03-11 20:23:13] [INFO]   -> Set field 'cADVehicleID' = "TK15"
[2026-03-11 20:23:13] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 20:23:13] [INFO]   -> Found value: 2026-03-11 15:22:50
[2026-03-11 20:23:13] [INFO]   -> Set field 'timedispatch' = "2026-03-11 15:22:50"
[2026-03-11 20:23:13] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 20:23:13] [INFO]   -> No value found (null or empty)
[2026-03-11 20:23:13] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 20:23:13] [INFO]   -> No value found (null or empty)
[2026-03-11 20:23:13] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 20:23:13] [INFO]   -> No value found (null or empty)
[2026-03-11 20:23:13] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 20:23:13] [INFO]   -> No value found (null or empty)
[2026-03-11 20:23:13] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 20:23:13] [INFO]   -> Found value: 20260026804
[2026-03-11 20:23:13] [INFO]   -> Set field 'policeReportNumber' = "20260026804"
[2026-03-11 20:23:13] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 20:23:13] [INFO]   -> Found value: ZONE 0   GENERAL  [03/11/26 15:21:57 DSTEPHENS]
[2026-03-11 20:23:13] [INFO]   -> Set field 'dispatchNotes' = "ZONE 0   GENERAL  [03\/11\/26 15:21:57 DSTEPHENS]"
[2026-03-11 20:23:13] [INFO]   -> Set field 'cADLog' = "ZONE 0   GENERAL  [03\/11\/26 15:21:57 DSTEPHENS]"
[2026-03-11 20:23:13] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 20:23:13] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 20:23:13] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 20:23:13] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 20:23:13] [INFO]   -> Found value: EDGEFIELD
[2026-03-11 20:23:13] [INFO]   -> Set field 'streetName' = "EDGEFIELD"
[2026-03-11 20:23:13] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 20:23:13] [INFO]   -> Found value: CT
[2026-03-11 20:23:13] [INFO]   -> Set field 'streetType' = "CT"
[2026-03-11 20:23:13] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 20:23:13] [INFO]   -> Found value: 1549 EDGEFIELD CT
[2026-03-11 20:23:13] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1549 EDGEFIELD CT"
[2026-03-11 20:23:13] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-11 20:23:13] [INFO] Concatenating street name and type
[2026-03-11 20:23:13] [INFO]   -> Combined street name: EDGEFIELD CT
[2026-03-11 20:23:13] [INFO] Built locationCoordinates from lat/lng: 36.12678,-85.43764
[2026-03-11 20:23:13] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000668","dispatchRunNumber":"2026000668","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":1549,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.12677999999999656211002729833126068115234375,"nERISIncidentLongitude":-85.4376400000000018053469830192625522613525390625,"alarm":"2026-03-11 15:21:16","dispatched":"2026-03-11 15:22:50","incidentLocationCross":"\/BAYSHORE DR","cADVehicleID":"TK15","timedispatch":"2026-03-11 15:22:50","policeReportNumber":"20260026804","dispatchNotes":"ZONE 0   GENERAL  [03\/11\/26 15:21:57 DSTEPHENS]","cADLog":"ZONE 0   GENERAL  [03\/11\/26 15:21:57 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"EDGEFIELD CT","incidentAddressTextVersionStreet":"1549 EDGEFIELD CT","locationCoordinates":"36.12678,-85.43764"}
[2026-03-11 20:23:13] [INFO] Number of extracted fields: 21
[2026-03-11 20:23:13] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-11 20:23:13] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-11 20:23:13] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-11 20:23:13] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 20:23:14] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 20:23: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-11 20:23: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-11 20:23:14] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 20:23:14] [INFO] Found existing IncidentTypeMapping with ID: 69398a845c349ab26
[2026-03-11 20:23:14] [INFO] Found existing Dispatch with cADNumber '2026000668', ID: 69b1cf24402517e7a - will update instead of create
[2026-03-11 20:23:14] [INFO] Updated existing Dispatches record with ID: 69b1cf24402517e7a
[2026-03-11 20:23:14] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026804_20260311_202256.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026804_20260311_202256.XML
[2026-03-11 20:23:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026804_20260311_202256.XML
[2026-03-11 20:24:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026804_20260311_202408.XML
[2026-03-11 20:24:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026804_20260311_202408.XML for user: 68f1466aed072ad4a
[2026-03-11 20:24:08] [INFO] File size: 5447 bytes
[2026-03-11 20:24:08] [INFO] Created FTPFiles record with ID: 69b1cf689222299d8
[2026-03-11 20:24:08] [INFO] About to extract fields from XML. File size: 5447 bytes
[2026-03-11 20:24:08] [INFO] Number of mappings: 28
[2026-03-11 20:24:08] [INFO] Starting XML parsing. Content length: 5447
[2026-03-11 20:24:08] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 20:24:08] [INFO] Processing 28 field mappings
[2026-03-11 20:24:08] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 20:24:08] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 20:24:08] [INFO]   -> Found value: PCFD
[2026-03-11 20:24:08] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-11 20:24:08] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 20:24:08] [INFO]   -> Found value: 2026000668
[2026-03-11 20:24:08] [INFO]   -> Set field 'incidentInternalId' = "2026000668"
[2026-03-11 20:24:08] [INFO]   -> Set field 'dispatchRunNumber' = "2026000668"
[2026-03-11 20:24:08] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 20:24:08] [INFO]   -> Found value: FIRE ALARM
[2026-03-11 20:24:08] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-03-11 20:24:08] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 20:24:08] [INFO]   -> Found value: 1549
[2026-03-11 20:24:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1549
[2026-03-11 20:24:08] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 20:24:08] [INFO]   -> Found value: TN
[2026-03-11 20:24:08] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 20:24:08] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 20:24:08] [INFO]   -> Found value: 38506
[2026-03-11 20:24:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-11 20:24:08] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 20:24:08] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:08] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 20:24:08] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:08] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 20:24:08] [INFO]   -> Found value: 36.12678
[2026-03-11 20:24:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12677999999999656211002729833126068115234375
[2026-03-11 20:24:08] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 20:24:08] [INFO]   -> Found value: -85.43764
[2026-03-11 20:24:08] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4376400000000018053469830192625522613525390625
[2026-03-11 20:24:08] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 20:24:08] [INFO]   -> Found value: 2026-03-11 15:21:16
[2026-03-11 20:24:08] [INFO]   -> Set field 'alarm' = "2026-03-11 15:21:16"
[2026-03-11 20:24:08] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 20:24:08] [INFO]   -> Found value: 2026-03-11 15:22:50
[2026-03-11 20:24:08] [INFO]   -> Set field 'dispatched' = "2026-03-11 15:22:50"
[2026-03-11 20:24:08] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 20:24:08] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:08] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 20:24:08] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:08] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 20:24:08] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:08] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 20:24:08] [INFO]   -> Found value: /BAYSHORE DR
[2026-03-11 20:24:08] [INFO]   -> Set field 'incidentLocationCross' = "\/BAYSHORE DR"
[2026-03-11 20:24:08] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 20:24:08] [INFO]   -> Found value: TK15
[2026-03-11 20:24:08] [INFO]   -> Set field 'cADVehicleID' = "TK15"
[2026-03-11 20:24:08] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 20:24:08] [INFO]   -> Found value: 2026-03-11 15:22:50
[2026-03-11 20:24:08] [INFO]   -> Set field 'timedispatch' = "2026-03-11 15:22:50"
[2026-03-11 20:24:08] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 20:24:08] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:08] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 20:24:08] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:08] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 20:24:08] [INFO]   -> Found value: 2026-03-11 15:24:05
[2026-03-11 20:24:08] [INFO]   -> Set field 'timeunitclear' = "2026-03-11 15:24:05"
[2026-03-11 20:24:08] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 20:24:08] [INFO]   -> Found value: 2026-03-11 15:24:05
[2026-03-11 20:24:08] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-11 15:24:05"
[2026-03-11 20:24:08] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 20:24:08] [INFO]   -> Found value: 20260026804
[2026-03-11 20:24:08] [INFO]   -> Set field 'policeReportNumber' = "20260026804"
[2026-03-11 20:24:08] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 20:24:08] [INFO]   -> Found value: ZONE 0   GENERAL  [03/11/26 15:21:57 DSTEPHENS]
[2026-03-11 20:24:08] [INFO]   -> Set field 'dispatchNotes' = "ZONE 0   GENERAL  [03\/11\/26 15:21:57 DSTEPHENS]"
[2026-03-11 20:24:08] [INFO]   -> Set field 'cADLog' = "ZONE 0   GENERAL  [03\/11\/26 15:21:57 DSTEPHENS]"
[2026-03-11 20:24:08] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 20:24:08] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 20:24:08] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 20:24:08] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 20:24:08] [INFO]   -> Found value: EDGEFIELD
[2026-03-11 20:24:08] [INFO]   -> Set field 'streetName' = "EDGEFIELD"
[2026-03-11 20:24:08] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 20:24:08] [INFO]   -> Found value: CT
[2026-03-11 20:24:08] [INFO]   -> Set field 'streetType' = "CT"
[2026-03-11 20:24:08] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 20:24:08] [INFO]   -> Found value: 1549 EDGEFIELD CT
[2026-03-11 20:24:08] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1549 EDGEFIELD CT"
[2026-03-11 20:24:08] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 20:24:08] [INFO] Concatenating street name and type
[2026-03-11 20:24:08] [INFO]   -> Combined street name: EDGEFIELD CT
[2026-03-11 20:24:08] [INFO] Built locationCoordinates from lat/lng: 36.12678,-85.43764
[2026-03-11 20:24:08] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000668","dispatchRunNumber":"2026000668","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":1549,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.12677999999999656211002729833126068115234375,"nERISIncidentLongitude":-85.4376400000000018053469830192625522613525390625,"alarm":"2026-03-11 15:21:16","dispatched":"2026-03-11 15:22:50","incidentLocationCross":"\/BAYSHORE DR","cADVehicleID":"TK15","timedispatch":"2026-03-11 15:22:50","timeunitclear":"2026-03-11 15:24:05","timecanceledenroute":"2026-03-11 15:24:05","policeReportNumber":"20260026804","dispatchNotes":"ZONE 0   GENERAL  [03\/11\/26 15:21:57 DSTEPHENS]","cADLog":"ZONE 0   GENERAL  [03\/11\/26 15:21:57 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"EDGEFIELD CT","incidentAddressTextVersionStreet":"1549 EDGEFIELD CT","locationCoordinates":"36.12678,-85.43764"}
[2026-03-11 20:24:08] [INFO] Number of extracted fields: 23
[2026-03-11 20:24:08] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-11 20:24:08] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-11 20:24:08] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-11 20:24:08] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 20:24:08] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 20:24:08] [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-11 20:24:08] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 20:24:08] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 20:24:09] [INFO] Found existing IncidentTypeMapping with ID: 69398a845c349ab26
[2026-03-11 20:24:09] [INFO] Found existing Dispatch with cADNumber '2026000668', ID: 69b1cf24402517e7a - will update instead of create
[2026-03-11 20:24:10] [INFO] Updated existing Dispatches record with ID: 69b1cf24402517e7a
[2026-03-11 20:24:10] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026804_20260311_202408.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026804_20260311_202408.XML
[2026-03-11 20:24:10] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026804_20260311_202408.XML
[2026-03-11 20:24:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026804_20260311_202417.XML
[2026-03-11 20:24:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026804_20260311_202417.XML for user: 68f1466aed072ad4a
[2026-03-11 20:24:17] [INFO] File size: 5514 bytes
[2026-03-11 20:24:17] [INFO] Created FTPFiles record with ID: 69b1cf7195e1a92a3
[2026-03-11 20:24:17] [INFO] About to extract fields from XML. File size: 5514 bytes
[2026-03-11 20:24:17] [INFO] Number of mappings: 28
[2026-03-11 20:24:17] [INFO] Starting XML parsing. Content length: 5514
[2026-03-11 20:24:17] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 20:24:17] [INFO] Processing 28 field mappings
[2026-03-11 20:24:17] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 20:24:17] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 20:24:17] [INFO]   -> Found value: PCFD
[2026-03-11 20:24:17] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-11 20:24:17] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 20:24:17] [INFO]   -> Found value: 2026000668
[2026-03-11 20:24:17] [INFO]   -> Set field 'incidentInternalId' = "2026000668"
[2026-03-11 20:24:17] [INFO]   -> Set field 'dispatchRunNumber' = "2026000668"
[2026-03-11 20:24:17] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 20:24:17] [INFO]   -> Found value: FIRE ALARM
[2026-03-11 20:24:17] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-03-11 20:24:17] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 20:24:17] [INFO]   -> Found value: 1549
[2026-03-11 20:24:17] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1549
[2026-03-11 20:24:17] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 20:24:17] [INFO]   -> Found value: TN
[2026-03-11 20:24:17] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 20:24:17] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 20:24:17] [INFO]   -> Found value: 38506
[2026-03-11 20:24:17] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-11 20:24:17] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 20:24:17] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:17] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 20:24:17] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:17] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 20:24:17] [INFO]   -> Found value: 36.12678
[2026-03-11 20:24:17] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12677999999999656211002729833126068115234375
[2026-03-11 20:24:17] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 20:24:17] [INFO]   -> Found value: -85.43764
[2026-03-11 20:24:17] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4376400000000018053469830192625522613525390625
[2026-03-11 20:24:17] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 20:24:17] [INFO]   -> Found value: 2026-03-11 15:21:16
[2026-03-11 20:24:17] [INFO]   -> Set field 'alarm' = "2026-03-11 15:21:16"
[2026-03-11 20:24:17] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 20:24:17] [INFO]   -> Found value: 2026-03-11 15:22:50
[2026-03-11 20:24:17] [INFO]   -> Set field 'dispatched' = "2026-03-11 15:22:50"
[2026-03-11 20:24:17] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 20:24:17] [INFO]   -> Found value: 2026-03-11 15:24:09
[2026-03-11 20:24:17] [INFO]   -> Set field 'enroute' = "2026-03-11 15:24:09"
[2026-03-11 20:24:17] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 20:24:17] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:17] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 20:24:17] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:17] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 20:24:17] [INFO]   -> Found value: /BAYSHORE DR
[2026-03-11 20:24:17] [INFO]   -> Set field 'incidentLocationCross' = "\/BAYSHORE DR"
[2026-03-11 20:24:17] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 20:24:17] [INFO]   -> Found value: EN11
[2026-03-11 20:24:17] [INFO]   -> Set field 'cADVehicleID' = "EN11"
[2026-03-11 20:24:17] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 20:24:17] [INFO]   -> Found value: 2026-03-11 15:24:05
[2026-03-11 20:24:17] [INFO]   -> Set field 'timedispatch' = "2026-03-11 15:24:05"
[2026-03-11 20:24:17] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 20:24:17] [INFO]   -> Found value: 2026-03-11 15:24:09
[2026-03-11 20:24:17] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 15:24:09"
[2026-03-11 20:24:17] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 20:24:17] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:17] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 20:24:17] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:17] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 20:24:17] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:17] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 20:24:17] [INFO]   -> Found value: 20260026804
[2026-03-11 20:24:17] [INFO]   -> Set field 'policeReportNumber' = "20260026804"
[2026-03-11 20:24:17] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 20:24:17] [INFO]   -> Found value: ZONE 0   GENERAL  [03/11/26 15:21:57 DSTEPHENS]
[2026-03-11 20:24:17] [INFO]   -> Set field 'dispatchNotes' = "ZONE 0   GENERAL  [03\/11\/26 15:21:57 DSTEPHENS]"
[2026-03-11 20:24:17] [INFO]   -> Set field 'cADLog' = "ZONE 0   GENERAL  [03\/11\/26 15:21:57 DSTEPHENS]"
[2026-03-11 20:24:17] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 20:24:17] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 20:24:17] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 20:24:17] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 20:24:17] [INFO]   -> Found value: EDGEFIELD
[2026-03-11 20:24:17] [INFO]   -> Set field 'streetName' = "EDGEFIELD"
[2026-03-11 20:24:17] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 20:24:17] [INFO]   -> Found value: CT
[2026-03-11 20:24:17] [INFO]   -> Set field 'streetType' = "CT"
[2026-03-11 20:24:17] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 20:24:17] [INFO]   -> Found value: 1549 EDGEFIELD CT
[2026-03-11 20:24:17] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1549 EDGEFIELD CT"
[2026-03-11 20:24:17] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 20:24:17] [INFO] Concatenating street name and type
[2026-03-11 20:24:17] [INFO]   -> Combined street name: EDGEFIELD CT
[2026-03-11 20:24:17] [INFO] Built locationCoordinates from lat/lng: 36.12678,-85.43764
[2026-03-11 20:24:17] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000668","dispatchRunNumber":"2026000668","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":1549,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.12677999999999656211002729833126068115234375,"nERISIncidentLongitude":-85.4376400000000018053469830192625522613525390625,"alarm":"2026-03-11 15:21:16","dispatched":"2026-03-11 15:22:50","enroute":"2026-03-11 15:24:09","incidentLocationCross":"\/BAYSHORE DR","cADVehicleID":"EN11","timedispatch":"2026-03-11 15:24:05","timeenroutetoscene":"2026-03-11 15:24:09","policeReportNumber":"20260026804","dispatchNotes":"ZONE 0   GENERAL  [03\/11\/26 15:21:57 DSTEPHENS]","cADLog":"ZONE 0   GENERAL  [03\/11\/26 15:21:57 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"EDGEFIELD CT","incidentAddressTextVersionStreet":"1549 EDGEFIELD CT","locationCoordinates":"36.12678,-85.43764"}
[2026-03-11 20:24:17] [INFO] Number of extracted fields: 23
[2026-03-11 20:24:17] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-11 20:24:17] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-11 20:24:17] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-11 20:24:17] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 20:24:17] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 20:24:17] [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-11 20:24:17] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 20:24:17] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 20:24:18] [INFO] Found existing IncidentTypeMapping with ID: 69398a845c349ab26
[2026-03-11 20:24:18] [INFO] Found existing Dispatch with cADNumber '2026000668', ID: 69b1cf24402517e7a - will update instead of create
[2026-03-11 20:24:18] [INFO] Updated existing Dispatches record with ID: 69b1cf24402517e7a
[2026-03-11 20:24:18] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026804_20260311_202417.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026804_20260311_202417.XML
[2026-03-11 20:24:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026804_20260311_202417.XML
[2026-03-11 20:24:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162432290.xml
[2026-03-11 20:24:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162432290.xml for user: 68920395733981a47
[2026-03-11 20:24:32] [INFO] File size: 4879 bytes
[2026-03-11 20:24:33] [INFO] Created FTPFiles record with ID: 69b1cf81084f8bf4c
[2026-03-11 20:24:33] [INFO] About to extract fields from XML. File size: 4879 bytes
[2026-03-11 20:24:33] [INFO] Number of mappings: 24
[2026-03-11 20:24:33] [INFO] Starting XML parsing. Content length: 4879
[2026-03-11 20:24:33] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 20:24:33] [INFO] Processing 24 field mappings
[2026-03-11 20:24:33] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 20:24:33] [INFO]   -> Found value: FASCIT-Fire Assist Citizen
[2026-03-11 20:24:33] [INFO]   -> Set field 'incidentTypeValue1' = "FASCIT-Fire Assist Citizen"
[2026-03-11 20:24:33] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 20:24:33] [INFO]   -> Found value: 1736 SMITH CEMETERY RD
[2026-03-11 20:24:33] [INFO]   -> Set field 'businessName' = "1736 SMITH CEMETERY RD"
[2026-03-11 20:24:33] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 20:24:33] [INFO]   -> Found value: 37379
[2026-03-11 20:24:33] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 20:24:33] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 20:24:33] [INFO]   -> Found value: 1736
[2026-03-11 20:24:33] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1736
[2026-03-11 20:24:33] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 20:24:33] [INFO]   -> Found value: SMITH CEMETERY
[2026-03-11 20:24:33] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-03-11 20:24:33] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 20:24:33] [INFO]   -> Found value: WARD CEMETERY RD/RIVER WATCH DR
[2026-03-11 20:24:33] [INFO]   -> Set field 'incidentLocationCross' = "WARD CEMETERY RD\/RIVER WATCH DR"
[2026-03-11 20:24:33] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 20:24:33] [INFO]   -> Found value: 2026-03-11T16:23:50.633-04:00
[2026-03-11 20:24:33] [INFO]   -> Set field 'alarm' = "2026-03-11 20:23:50"
[2026-03-11 20:24:33] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 20:24:33] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:24:33] [INFO]   -> Set field 'enroute' = null
[2026-03-11 20:24:33] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 20:24:33] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:24:33] [INFO]   -> Set field 'onScene' = null
[2026-03-11 20:24:33] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 20:24:33] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:24:33] [INFO]   -> Set field 'cleared' = null
[2026-03-11 20:24:33] [INFO]   -> Set field 'inService' = null
[2026-03-11 20:24:33] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 20:24:33] [INFO]   -> Found value: 35.248084999999996
[2026-03-11 20:24:33] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24808499999999611418388667516410350799560546875
[2026-03-11 20:24:33] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 20:24:33] [INFO]   -> Found value: -85.121040999999991
[2026-03-11 20:24:33] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1210409999999910724000073969364166259765625
[2026-03-11 20:24:33] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 20:24:33] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:24:33] [INFO]   -> Set field 'dispatched' = null
[2026-03-11 20:24:33] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 20:24:33] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:33] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 20:24:33] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:33] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 20:24:33] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:33] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 20:24:33] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:33] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 20:24:33] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:33] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 20:24:33] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:33] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 20:24:33] [INFO]   -> Found value: RD
[2026-03-11 20:24:33] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 20:24:33] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 20:24:33] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:33] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 20:24:33] [INFO]   -> Found value: 2026-03-16248
[2026-03-11 20:24:33] [INFO]   -> Set field 'policeReportNumber' = "2026-03-16248"
[2026-03-11 20:24:33] [INFO]   -> Set field 'cADNumber' = "2026-03-16248"
[2026-03-11 20:24:33] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 20:24:33] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:33] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 20:24:33] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 20:24:33] [INFO]   -> Found value: SFD
[2026-03-11 20:24:33] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-11 20:24:33] [INFO] Finished extracting fields. Total fields extracted: 18
[2026-03-11 20:24:33] [INFO] Concatenating street name and type
[2026-03-11 20:24:33] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-03-11 20:24:33] [INFO] Built locationCoordinates from lat/lng: 35.248085,-85.121041
[2026-03-11 20:24:33] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FASCIT-Fire Assist Citizen","businessName":"1736 SMITH CEMETERY RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1736,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"WARD CEMETERY RD\/RIVER WATCH DR","alarm":"2026-03-11 20:23:50","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24808499999999611418388667516410350799560546875,"nERISIncidentLongitude":-85.1210409999999910724000073969364166259765625,"dispatched":null,"policeReportNumber":"2026-03-16248","cADNumber":"2026-03-16248","cADAgencyIdentifier":"SFD","locationCoordinates":"35.248085,-85.121041"}
[2026-03-11 20:24:33] [INFO] Number of extracted fields: 18
[2026-03-11 20:24:33] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-11 20:24:33] [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-11 20:24:33] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-11 20:24:33] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 20:24:33] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 20:24:33] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 20:24:33] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 20:24:33] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 20:24:33] [INFO] Found existing IncidentTypeMapping with ID: 695d4c65e4ee180a0
[2026-03-11 20:24:36] [INFO] Created new Dispatches record with ID: 69b1cf820b626cff2
[2026-03-11 20:24:36] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 20:24:36] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 20:24:39] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-16248_20260311162432290.xml
[2026-03-11 20:24:39] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162432290.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-16248_20260311162432290.xml
[2026-03-11 20:24:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162432290.xml
[2026-03-11 20:24:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162457559.xml
[2026-03-11 20:24:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162457559.xml for user: 68920395733981a47
[2026-03-11 20:24:57] [INFO] File size: 4967 bytes
[2026-03-11 20:24:58] [INFO] Created FTPFiles record with ID: 69b1cf99f3208501d
[2026-03-11 20:24:58] [INFO] About to extract fields from XML. File size: 4967 bytes
[2026-03-11 20:24:58] [INFO] Number of mappings: 24
[2026-03-11 20:24:58] [INFO] Starting XML parsing. Content length: 4967
[2026-03-11 20:24:58] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 20:24:58] [INFO] Processing 24 field mappings
[2026-03-11 20:24:58] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 20:24:58] [INFO]   -> Found value: FASCIT-Fire Assist Citizen
[2026-03-11 20:24:58] [INFO]   -> Set field 'incidentTypeValue1' = "FASCIT-Fire Assist Citizen"
[2026-03-11 20:24:58] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 20:24:58] [INFO]   -> Found value: 1736 SMITH CEMETERY RD
[2026-03-11 20:24:58] [INFO]   -> Set field 'businessName' = "1736 SMITH CEMETERY RD"
[2026-03-11 20:24:58] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 20:24:58] [INFO]   -> Found value: 37379
[2026-03-11 20:24:58] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 20:24:58] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 20:24:58] [INFO]   -> Found value: 1736
[2026-03-11 20:24:58] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1736
[2026-03-11 20:24:58] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 20:24:58] [INFO]   -> Found value: SMITH CEMETERY
[2026-03-11 20:24:58] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-03-11 20:24:58] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 20:24:58] [INFO]   -> Found value: WARD CEMETERY RD/RIVER WATCH DR
[2026-03-11 20:24:58] [INFO]   -> Set field 'incidentLocationCross' = "WARD CEMETERY RD\/RIVER WATCH DR"
[2026-03-11 20:24:58] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 20:24:58] [INFO]   -> Found value: 2026-03-11T16:23:50.633-04:00
[2026-03-11 20:24:58] [INFO]   -> Set field 'alarm' = "2026-03-11 20:23:50"
[2026-03-11 20:24:58] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 20:24:58] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:24:58] [INFO]   -> Set field 'enroute' = null
[2026-03-11 20:24:58] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 20:24:58] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:24:58] [INFO]   -> Set field 'onScene' = null
[2026-03-11 20:24:58] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 20:24:58] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:24:58] [INFO]   -> Set field 'cleared' = null
[2026-03-11 20:24:58] [INFO]   -> Set field 'inService' = null
[2026-03-11 20:24:58] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 20:24:58] [INFO]   -> Found value: 35.248084999999996
[2026-03-11 20:24:58] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24808499999999611418388667516410350799560546875
[2026-03-11 20:24:58] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 20:24:58] [INFO]   -> Found value: -85.121040999999991
[2026-03-11 20:24:58] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1210409999999910724000073969364166259765625
[2026-03-11 20:24:58] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 20:24:58] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:24:58] [INFO]   -> Set field 'dispatched' = null
[2026-03-11 20:24:58] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 20:24:58] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:58] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 20:24:58] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:58] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 20:24:58] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:58] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 20:24:58] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:58] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 20:24:58] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:58] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 20:24:58] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:58] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 20:24:58] [INFO]   -> Found value: RD
[2026-03-11 20:24:58] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 20:24:58] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 20:24:58] [INFO]   -> No value found (null or empty)
[2026-03-11 20:24:58] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 20:24:58] [INFO]   -> Found value: 2026-03-16248
[2026-03-11 20:24:58] [INFO]   -> Set field 'policeReportNumber' = "2026-03-16248"
[2026-03-11 20:24:58] [INFO]   -> Set field 'cADNumber' = "2026-03-16248"
[2026-03-11 20:24:58] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 20:24:58] [INFO]   -> Found value: 03/11/2026 16:24:54 williams_c              [1] caller 66yof
[2026-03-11 20:24:58] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 16:24:54 williams_c              [1] caller 66yof"
[2026-03-11 20:24:58] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 16:24:54 williams_c              [1] caller 66yof"
[2026-03-11 20:24:58] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 20:24:58] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 20:24:58] [INFO]   -> Found value: SFD
[2026-03-11 20:24:58] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-11 20:24:58] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 20:24:58] [INFO] Concatenating street name and type
[2026-03-11 20:24:58] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-03-11 20:24:58] [INFO] Built locationCoordinates from lat/lng: 35.248085,-85.121041
[2026-03-11 20:24:58] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FASCIT-Fire Assist Citizen","businessName":"1736 SMITH CEMETERY RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1736,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"WARD CEMETERY RD\/RIVER WATCH DR","alarm":"2026-03-11 20:23:50","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24808499999999611418388667516410350799560546875,"nERISIncidentLongitude":-85.1210409999999910724000073969364166259765625,"dispatched":null,"policeReportNumber":"2026-03-16248","cADNumber":"2026-03-16248","dispatchNotes":"03\/11\/2026 16:24:54 williams_c              [1] caller 66yof","cADLog":"03\/11\/2026 16:24:54 williams_c              [1] caller 66yof","cADAgencyIdentifier":"SFD","locationCoordinates":"35.248085,-85.121041"}
[2026-03-11 20:24:58] [INFO] Number of extracted fields: 20
[2026-03-11 20:24:58] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-11 20:24:58] [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-11 20:24:58] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-11 20:24:58] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 20:24:58] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 20:24:58] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 20:24:58] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 20:24:58] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 20:24:58] [INFO] Found existing IncidentTypeMapping with ID: 695d4c65e4ee180a0
[2026-03-11 20:24:58] [INFO] Found existing Dispatch with cADNumber '2026-03-16248', ID: 69b1cf820b626cff2 - will update instead of create
[2026-03-11 20:24:59] [INFO] Updated existing Dispatches record with ID: 69b1cf820b626cff2
[2026-03-11 20:24:59] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 20:24:59] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 20:25:01] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-16248_20260311162457559.xml
[2026-03-11 20:25:01] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162457559.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-16248_20260311162457559.xml
[2026-03-11 20:25:01] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162457559.xml
[2026-03-11 20:25:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162502606.xml
[2026-03-11 20:25:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162502606.xml for user: 68920395733981a47
[2026-03-11 20:25:02] [INFO] File size: 5040 bytes
[2026-03-11 20:25:03] [INFO] Created FTPFiles record with ID: 69b1cf9f0fb0cc53e
[2026-03-11 20:25:03] [INFO] About to extract fields from XML. File size: 5040 bytes
[2026-03-11 20:25:03] [INFO] Number of mappings: 24
[2026-03-11 20:25:03] [INFO] Starting XML parsing. Content length: 5040
[2026-03-11 20:25:03] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 20:25:03] [INFO] Processing 24 field mappings
[2026-03-11 20:25:03] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 20:25:03] [INFO]   -> Found value: FASCIT-Fire Assist Citizen
[2026-03-11 20:25:03] [INFO]   -> Set field 'incidentTypeValue1' = "FASCIT-Fire Assist Citizen"
[2026-03-11 20:25:03] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 20:25:03] [INFO]   -> Found value: 1736 SMITH CEMETERY RD
[2026-03-11 20:25:03] [INFO]   -> Set field 'businessName' = "1736 SMITH CEMETERY RD"
[2026-03-11 20:25:03] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 20:25:03] [INFO]   -> Found value: 37379
[2026-03-11 20:25:03] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 20:25:03] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 20:25:03] [INFO]   -> Found value: 1736
[2026-03-11 20:25:03] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1736
[2026-03-11 20:25:03] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 20:25:03] [INFO]   -> Found value: SMITH CEMETERY
[2026-03-11 20:25:03] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-03-11 20:25:03] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 20:25:03] [INFO]   -> Found value: WARD CEMETERY RD/RIVER WATCH DR
[2026-03-11 20:25:03] [INFO]   -> Set field 'incidentLocationCross' = "WARD CEMETERY RD\/RIVER WATCH DR"
[2026-03-11 20:25:03] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 20:25:03] [INFO]   -> Found value: 2026-03-11T16:23:50.633-04:00
[2026-03-11 20:25:03] [INFO]   -> Set field 'alarm' = "2026-03-11 20:23:50"
[2026-03-11 20:25:03] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 20:25:03] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:03] [INFO]   -> Set field 'enroute' = null
[2026-03-11 20:25:03] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 20:25:03] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:03] [INFO]   -> Set field 'onScene' = null
[2026-03-11 20:25:03] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 20:25:03] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:03] [INFO]   -> Set field 'cleared' = null
[2026-03-11 20:25:03] [INFO]   -> Set field 'inService' = null
[2026-03-11 20:25:03] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 20:25:03] [INFO]   -> Found value: 35.248084999999996
[2026-03-11 20:25:03] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24808499999999611418388667516410350799560546875
[2026-03-11 20:25:03] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 20:25:03] [INFO]   -> Found value: -85.121040999999991
[2026-03-11 20:25:03] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1210409999999910724000073969364166259765625
[2026-03-11 20:25:03] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 20:25:03] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:03] [INFO]   -> Set field 'dispatched' = null
[2026-03-11 20:25:03] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 20:25:03] [INFO]   -> No value found (null or empty)
[2026-03-11 20:25:03] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 20:25:03] [INFO]   -> No value found (null or empty)
[2026-03-11 20:25:03] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 20:25:03] [INFO]   -> No value found (null or empty)
[2026-03-11 20:25:03] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 20:25:03] [INFO]   -> No value found (null or empty)
[2026-03-11 20:25:03] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 20:25:03] [INFO]   -> No value found (null or empty)
[2026-03-11 20:25:03] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 20:25:03] [INFO]   -> No value found (null or empty)
[2026-03-11 20:25:03] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 20:25:03] [INFO]   -> Found value: RD
[2026-03-11 20:25:03] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 20:25:03] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 20:25:03] [INFO]   -> No value found (null or empty)
[2026-03-11 20:25:03] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 20:25:03] [INFO]   -> Found value: 2026-03-16248
[2026-03-11 20:25:03] [INFO]   -> Set field 'policeReportNumber' = "2026-03-16248"
[2026-03-11 20:25:03] [INFO]   -> Set field 'cADNumber' = "2026-03-16248"
[2026-03-11 20:25:03] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 20:25:03] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 20:25:03] [INFO] Found 2 elements for 'Comment', concatenating 2 non-empty values
[2026-03-11 20:25:03] [INFO]   -> Found value: 03/11/2026 16:24:54 williams_c              [1] caller 66yof
03/11/2026 16:25:00 williams_c         ...
[2026-03-11 20:25:03] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs"
[2026-03-11 20:25:03] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs"
[2026-03-11 20:25:03] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 20:25:03] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 20:25:03] [INFO]   -> Found value: SFD
[2026-03-11 20:25:03] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-11 20:25:03] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 20:25:03] [INFO] Concatenating street name and type
[2026-03-11 20:25:03] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-03-11 20:25:03] [INFO] Built locationCoordinates from lat/lng: 35.248085,-85.121041
[2026-03-11 20:25:03] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FASCIT-Fire Assist Citizen","businessName":"1736 SMITH CEMETERY RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1736,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"WARD CEMETERY RD\/RIVER WATCH DR","alarm":"2026-03-11 20:23:50","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24808499999999611418388667516410350799560546875,"nERISIncidentLongitude":-85.1210409999999910724000073969364166259765625,"dispatched":null,"policeReportNumber":"2026-03-16248","cADNumber":"2026-03-16248","dispatchNotes":"03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs","cADLog":"03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs","cADAgencyIdentifier":"SFD","locationCoordinates":"35.248085,-85.121041"}
[2026-03-11 20:25:03] [INFO] Number of extracted fields: 20
[2026-03-11 20:25:03] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-11 20:25:03] [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-11 20:25:03] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-11 20:25:03] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 20:25:03] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 20:25:03] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 20:25:03] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 20:25:03] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 20:25:03] [INFO] Found existing IncidentTypeMapping with ID: 695d4c65e4ee180a0
[2026-03-11 20:25:04] [INFO] Found existing Dispatch with cADNumber '2026-03-16248', ID: 69b1cf820b626cff2 - will update instead of create
[2026-03-11 20:25:04] [INFO] Updated existing Dispatches record with ID: 69b1cf820b626cff2
[2026-03-11 20:25:04] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 20:25:04] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 20:25:08] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-16248_20260311162502606.xml
[2026-03-11 20:25:08] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162502606.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-16248_20260311162502606.xml
[2026-03-11 20:25:08] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162502606.xml
[2026-03-11 20:25:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162512731.xml
[2026-03-11 20:25:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162512731.xml for user: 68920395733981a47
[2026-03-11 20:25:12] [INFO] File size: 5126 bytes
[2026-03-11 20:25:13] [INFO] Created FTPFiles record with ID: 69b1cfa935da971f7
[2026-03-11 20:25:13] [INFO] About to extract fields from XML. File size: 5126 bytes
[2026-03-11 20:25:13] [INFO] Number of mappings: 24
[2026-03-11 20:25:13] [INFO] Starting XML parsing. Content length: 5126
[2026-03-11 20:25:13] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 20:25:13] [INFO] Processing 24 field mappings
[2026-03-11 20:25:13] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 20:25:13] [INFO]   -> Found value: FASCIT-Fire Assist Citizen
[2026-03-11 20:25:13] [INFO]   -> Set field 'incidentTypeValue1' = "FASCIT-Fire Assist Citizen"
[2026-03-11 20:25:13] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 20:25:13] [INFO]   -> Found value: 1736 SMITH CEMETERY RD
[2026-03-11 20:25:13] [INFO]   -> Set field 'businessName' = "1736 SMITH CEMETERY RD"
[2026-03-11 20:25:13] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 20:25:13] [INFO]   -> Found value: 37379
[2026-03-11 20:25:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 20:25:13] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 20:25:13] [INFO]   -> Found value: 1736
[2026-03-11 20:25:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1736
[2026-03-11 20:25:13] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 20:25:13] [INFO]   -> Found value: SMITH CEMETERY
[2026-03-11 20:25:13] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-03-11 20:25:13] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 20:25:13] [INFO]   -> Found value: WARD CEMETERY RD/RIVER WATCH DR
[2026-03-11 20:25:13] [INFO]   -> Set field 'incidentLocationCross' = "WARD CEMETERY RD\/RIVER WATCH DR"
[2026-03-11 20:25:13] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 20:25:13] [INFO]   -> Found value: 2026-03-11T16:23:50.633-04:00
[2026-03-11 20:25:13] [INFO]   -> Set field 'alarm' = "2026-03-11 20:23:50"
[2026-03-11 20:25:13] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 20:25:13] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:13] [INFO]   -> Set field 'enroute' = null
[2026-03-11 20:25:13] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 20:25:13] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:13] [INFO]   -> Set field 'onScene' = null
[2026-03-11 20:25:13] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 20:25:13] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:13] [INFO]   -> Set field 'cleared' = null
[2026-03-11 20:25:13] [INFO]   -> Set field 'inService' = null
[2026-03-11 20:25:13] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 20:25:13] [INFO]   -> Found value: 35.248084999999996
[2026-03-11 20:25:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24808499999999611418388667516410350799560546875
[2026-03-11 20:25:13] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 20:25:13] [INFO]   -> Found value: -85.121040999999991
[2026-03-11 20:25:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1210409999999910724000073969364166259765625
[2026-03-11 20:25:13] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 20:25:13] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:13] [INFO]   -> Set field 'dispatched' = null
[2026-03-11 20:25:13] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 20:25:13] [INFO]   -> No value found (null or empty)
[2026-03-11 20:25:13] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 20:25:13] [INFO]   -> No value found (null or empty)
[2026-03-11 20:25:13] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 20:25:13] [INFO]   -> No value found (null or empty)
[2026-03-11 20:25:13] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 20:25:13] [INFO]   -> No value found (null or empty)
[2026-03-11 20:25:13] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 20:25:13] [INFO]   -> No value found (null or empty)
[2026-03-11 20:25:13] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 20:25:13] [INFO]   -> No value found (null or empty)
[2026-03-11 20:25:13] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 20:25:13] [INFO]   -> Found value: RD
[2026-03-11 20:25:13] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 20:25:13] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 20:25:13] [INFO]   -> No value found (null or empty)
[2026-03-11 20:25:13] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 20:25:13] [INFO]   -> Found value: 2026-03-16248
[2026-03-11 20:25:13] [INFO]   -> Set field 'policeReportNumber' = "2026-03-16248"
[2026-03-11 20:25:13] [INFO]   -> Set field 'cADNumber' = "2026-03-16248"
[2026-03-11 20:25:13] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 20:25:13] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 20:25:13] [INFO] Found 3 elements for 'Comment', concatenating 3 non-empty values
[2026-03-11 20:25:13] [INFO]   -> Found value: 03/11/2026 16:24:54 williams_c              [1] caller 66yof
03/11/2026 16:25:00 williams_c         ...
[2026-03-11 20:25:13] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up"
[2026-03-11 20:25:13] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up"
[2026-03-11 20:25:13] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 20:25:13] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 20:25:13] [INFO]   -> Found value: SFD
[2026-03-11 20:25:13] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-11 20:25:13] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 20:25:13] [INFO] Concatenating street name and type
[2026-03-11 20:25:13] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-03-11 20:25:13] [INFO] Built locationCoordinates from lat/lng: 35.248085,-85.121041
[2026-03-11 20:25:13] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FASCIT-Fire Assist Citizen","businessName":"1736 SMITH CEMETERY RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1736,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"WARD CEMETERY RD\/RIVER WATCH DR","alarm":"2026-03-11 20:23:50","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24808499999999611418388667516410350799560546875,"nERISIncidentLongitude":-85.1210409999999910724000073969364166259765625,"dispatched":null,"policeReportNumber":"2026-03-16248","cADNumber":"2026-03-16248","dispatchNotes":"03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up","cADLog":"03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up","cADAgencyIdentifier":"SFD","locationCoordinates":"35.248085,-85.121041"}
[2026-03-11 20:25:13] [INFO] Number of extracted fields: 20
[2026-03-11 20:25:13] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-11 20:25:13] [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-11 20:25:13] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-11 20:25:13] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 20:25:13] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 20:25:13] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 20:25:13] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 20:25:13] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 20:25:13] [INFO] Found existing IncidentTypeMapping with ID: 695d4c65e4ee180a0
[2026-03-11 20:25:14] [INFO] Found existing Dispatch with cADNumber '2026-03-16248', ID: 69b1cf820b626cff2 - will update instead of create
[2026-03-11 20:25:14] [INFO] Updated existing Dispatches record with ID: 69b1cf820b626cff2
[2026-03-11 20:25:14] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 20:25:14] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 20:25:18] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-16248_20260311162512731.xml
[2026-03-11 20:25:18] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162512731.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-16248_20260311162512731.xml
[2026-03-11 20:25:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162512731.xml
[2026-03-11 20:25:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162538021.xml
[2026-03-11 20:25:38] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162538021.xml for user: 68920395733981a47
[2026-03-11 20:25:38] [INFO] File size: 8264 bytes
[2026-03-11 20:25:38] [INFO] Created FTPFiles record with ID: 69b1cfc272f45107a
[2026-03-11 20:25:38] [INFO] About to extract fields from XML. File size: 8264 bytes
[2026-03-11 20:25:38] [INFO] Number of mappings: 24
[2026-03-11 20:25:38] [INFO] Starting XML parsing. Content length: 8264
[2026-03-11 20:25:38] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 20:25:38] [INFO] Processing 24 field mappings
[2026-03-11 20:25:38] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 20:25:38] [INFO]   -> Found value: FASCIT-Fire Assist Citizen
[2026-03-11 20:25:38] [INFO]   -> Set field 'incidentTypeValue1' = "FASCIT-Fire Assist Citizen"
[2026-03-11 20:25:38] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 20:25:38] [INFO]   -> Found value: 1736 SMITH CEMETERY RD
[2026-03-11 20:25:38] [INFO]   -> Set field 'businessName' = "1736 SMITH CEMETERY RD"
[2026-03-11 20:25:38] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 20:25:38] [INFO]   -> Found value: 37379
[2026-03-11 20:25:38] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 20:25:38] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 20:25:38] [INFO]   -> Found value: 1736
[2026-03-11 20:25:38] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1736
[2026-03-11 20:25:38] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 20:25:38] [INFO]   -> Found value: SMITH CEMETERY
[2026-03-11 20:25:38] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-03-11 20:25:38] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 20:25:38] [INFO]   -> Found value: WARD CEMETERY RD/RIVER WATCH DR
[2026-03-11 20:25:38] [INFO]   -> Set field 'incidentLocationCross' = "WARD CEMETERY RD\/RIVER WATCH DR"
[2026-03-11 20:25:38] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 20:25:38] [INFO]   -> Found value: 2026-03-11T16:23:50.633-04:00
[2026-03-11 20:25:38] [INFO]   -> Set field 'alarm' = "2026-03-11 20:23:50"
[2026-03-11 20:25:38] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 20:25:38] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:38] [INFO]   -> Set field 'enroute' = null
[2026-03-11 20:25:38] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 20:25:38] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:38] [INFO]   -> Set field 'onScene' = null
[2026-03-11 20:25:38] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 20:25:38] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:38] [INFO]   -> Set field 'cleared' = null
[2026-03-11 20:25:38] [INFO]   -> Set field 'inService' = null
[2026-03-11 20:25:38] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 20:25:38] [INFO]   -> Found value: 35.248084999999996
[2026-03-11 20:25:38] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24808499999999611418388667516410350799560546875
[2026-03-11 20:25:38] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 20:25:38] [INFO]   -> Found value: -85.121040999999991
[2026-03-11 20:25:38] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1210409999999910724000073969364166259765625
[2026-03-11 20:25:38] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 20:25:38] [INFO]   -> Found value: 2026-03-11T16:25:37.523-04:00
[2026-03-11 20:25:38] [INFO]   -> Set field 'dispatched' = "2026-03-11 20:25:37"
[2026-03-11 20:25:38] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 20:25:38] [INFO]   -> Found value: H1700
[2026-03-11 20:25:38] [INFO]   -> Set field 'cADVehicleID' = "H1700"
[2026-03-11 20:25:38] [INFO]   -> Set field 'name' = "H1700"
[2026-03-11 20:25:38] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 20:25:38] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:38] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-11 20:25:38] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 20:25:38] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:38] [INFO]   -> Set field 'timeonscene' = null
[2026-03-11 20:25:38] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 20:25:38] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:38] [INFO]   -> Set field 'timestaging' = null
[2026-03-11 20:25:38] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 20:25:38] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:38] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-03-11 20:25:38] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 20:25:38] [INFO]   -> Found value: 2026-03-11T16:25:37.523-04:00
[2026-03-11 20:25:38] [INFO]   -> Set field 'timedispatch' = "2026-03-11 20:25:37"
[2026-03-11 20:25:38] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 20:25:38] [INFO]   -> Found value: RD
[2026-03-11 20:25:38] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 20:25:38] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 20:25:38] [INFO]   -> Found value: 26-000024
[2026-03-11 20:25:38] [INFO]   -> Set field 'incidentInternalId' = "26-000024"
[2026-03-11 20:25:38] [INFO]   -> Set field 'dispatchRunNumber' = "26-000024"
[2026-03-11 20:25:38] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 20:25:38] [INFO]   -> Found value: 2026-03-16248
[2026-03-11 20:25:38] [INFO]   -> Set field 'policeReportNumber' = "2026-03-16248"
[2026-03-11 20:25:38] [INFO]   -> Set field 'cADNumber' = "2026-03-16248"
[2026-03-11 20:25:38] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 20:25:38] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 20:25:38] [INFO] Found 5 elements for 'Comment', concatenating 5 non-empty values
[2026-03-11 20:25:38] [INFO]   -> Found value: 03/11/2026 16:24:54 williams_c              [1] caller 66yof
03/11/2026 16:25:00 williams_c         ...
[2026-03-11 20:25:38] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700."
[2026-03-11 20:25:38] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700."
[2026-03-11 20:25:38] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 20:25:38] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 20:25:38] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 20:25:38] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-03-11 20:25:38] [INFO]   -> Found value: SFD
SFD
[2026-03-11 20:25:38] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nSFD"
[2026-03-11 20:25:38] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-11 20:25:38] [INFO] Concatenating street name and type
[2026-03-11 20:25:38] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-03-11 20:25:38] [INFO] Built locationCoordinates from lat/lng: 35.248085,-85.121041
[2026-03-11 20:25:38] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FASCIT-Fire Assist Citizen","businessName":"1736 SMITH CEMETERY RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1736,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"WARD CEMETERY RD\/RIVER WATCH DR","alarm":"2026-03-11 20:23:50","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24808499999999611418388667516410350799560546875,"nERISIncidentLongitude":-85.1210409999999910724000073969364166259765625,"dispatched":"2026-03-11 20:25:37","cADVehicleID":"H1700","name":"H1700","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-03-11 20:25:37","incidentInternalId":"26-000024","dispatchRunNumber":"26-000024","policeReportNumber":"2026-03-16248","cADNumber":"2026-03-16248","dispatchNotes":"03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.","cADLog":"03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.","cADAgencyIdentifier":"SFD\nSFD","locationCoordinates":"35.248085,-85.121041"}
[2026-03-11 20:25:38] [INFO] Number of extracted fields: 29
[2026-03-11 20:25:38] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
SFD'
[2026-03-11 20:25:38] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
SFD', Parsed IDs = ["SFD","SFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-03-11 20:25:38] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","SFD"]
[2026-03-11 20:25:38] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 20:25:38] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 20:25:38] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["SFD"]
[2026-03-11 20:25:38] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 20:25:38] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 20:25:38] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-11 20:25:38] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-11 20:25:39] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 20:25:39] [INFO] Found existing IncidentTypeMapping with ID: 695d4c65e4ee180a0
[2026-03-11 20:25:39] [INFO] Found existing Dispatch with cADNumber '2026-03-16248', ID: 69b1cf820b626cff2 - will update instead of create
[2026-03-11 20:25:39] [INFO] Updated existing Dispatches record with ID: 69b1cf820b626cff2
[2026-03-11 20:25:39] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 20:25:39] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 20:25:43] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-16248_20260311162538021.xml
[2026-03-11 20:25:43] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162538021.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-16248_20260311162538021.xml
[2026-03-11 20:25:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162538021.xml
[2026-03-11 20:25:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162553195.xml
[2026-03-11 20:25:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162553195.xml for user: 68920395733981a47
[2026-03-11 20:25:53] [INFO] File size: 8431 bytes
[2026-03-11 20:25:53] [INFO] Created FTPFiles record with ID: 69b1cfd19cf44f10a
[2026-03-11 20:25:53] [INFO] About to extract fields from XML. File size: 8431 bytes
[2026-03-11 20:25:53] [INFO] Number of mappings: 24
[2026-03-11 20:25:53] [INFO] Starting XML parsing. Content length: 8431
[2026-03-11 20:25:53] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 20:25:53] [INFO] Processing 24 field mappings
[2026-03-11 20:25:53] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 20:25:53] [INFO]   -> Found value: FASCIT-Fire Assist Citizen
[2026-03-11 20:25:53] [INFO]   -> Set field 'incidentTypeValue1' = "FASCIT-Fire Assist Citizen"
[2026-03-11 20:25:53] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 20:25:53] [INFO]   -> Found value: 1736 SMITH CEMETERY RD
[2026-03-11 20:25:53] [INFO]   -> Set field 'businessName' = "1736 SMITH CEMETERY RD"
[2026-03-11 20:25:53] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 20:25:53] [INFO]   -> Found value: 37379
[2026-03-11 20:25:53] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 20:25:53] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 20:25:53] [INFO]   -> Found value: 1736
[2026-03-11 20:25:53] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1736
[2026-03-11 20:25:53] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 20:25:53] [INFO]   -> Found value: SMITH CEMETERY
[2026-03-11 20:25:53] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-03-11 20:25:53] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 20:25:53] [INFO]   -> Found value: WARD CEMETERY RD/RIVER WATCH DR
[2026-03-11 20:25:53] [INFO]   -> Set field 'incidentLocationCross' = "WARD CEMETERY RD\/RIVER WATCH DR"
[2026-03-11 20:25:53] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 20:25:53] [INFO]   -> Found value: 2026-03-11T16:23:50.633-04:00
[2026-03-11 20:25:53] [INFO]   -> Set field 'alarm' = "2026-03-11 20:23:50"
[2026-03-11 20:25:53] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 20:25:53] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:53] [INFO]   -> Set field 'enroute' = null
[2026-03-11 20:25:53] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 20:25:53] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:53] [INFO]   -> Set field 'onScene' = null
[2026-03-11 20:25:53] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 20:25:53] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:53] [INFO]   -> Set field 'cleared' = null
[2026-03-11 20:25:53] [INFO]   -> Set field 'inService' = null
[2026-03-11 20:25:53] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 20:25:53] [INFO]   -> Found value: 35.248084999999996
[2026-03-11 20:25:53] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24808499999999611418388667516410350799560546875
[2026-03-11 20:25:53] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 20:25:53] [INFO]   -> Found value: -85.121040999999991
[2026-03-11 20:25:53] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1210409999999910724000073969364166259765625
[2026-03-11 20:25:53] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 20:25:53] [INFO]   -> Found value: 2026-03-11T16:25:37.523-04:00
[2026-03-11 20:25:53] [INFO]   -> Set field 'dispatched' = "2026-03-11 20:25:37"
[2026-03-11 20:25:53] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 20:25:53] [INFO]   -> Found value: H1700
[2026-03-11 20:25:53] [INFO]   -> Set field 'cADVehicleID' = "H1700"
[2026-03-11 20:25:53] [INFO]   -> Set field 'name' = "H1700"
[2026-03-11 20:25:53] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 20:25:53] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:53] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-11 20:25:53] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 20:25:53] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:53] [INFO]   -> Set field 'timeonscene' = null
[2026-03-11 20:25:53] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 20:25:53] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:53] [INFO]   -> Set field 'timestaging' = null
[2026-03-11 20:25:53] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 20:25:53] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:53] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-03-11 20:25:53] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 20:25:53] [INFO]   -> Found value: 2026-03-11T16:25:37.523-04:00
[2026-03-11 20:25:53] [INFO]   -> Set field 'timedispatch' = "2026-03-11 20:25:37"
[2026-03-11 20:25:53] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 20:25:53] [INFO]   -> Found value: RD
[2026-03-11 20:25:53] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 20:25:53] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 20:25:53] [INFO]   -> Found value: 26-000024
[2026-03-11 20:25:53] [INFO]   -> Set field 'incidentInternalId' = "26-000024"
[2026-03-11 20:25:53] [INFO]   -> Set field 'dispatchRunNumber' = "26-000024"
[2026-03-11 20:25:53] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 20:25:53] [INFO]   -> Found value: 2026-03-16248
[2026-03-11 20:25:53] [INFO]   -> Set field 'policeReportNumber' = "2026-03-16248"
[2026-03-11 20:25:53] [INFO]   -> Set field 'cADNumber' = "2026-03-16248"
[2026-03-11 20:25:53] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 20:25:53] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 20:25:53] [INFO] Found 7 elements for 'Comment', concatenating 7 non-empty values
[2026-03-11 20:25:53] [INFO]   -> Found value: 03/11/2026 16:24:54 williams_c              [1] caller 66yof
03/11/2026 16:25:00 williams_c         ...
[2026-03-11 20:25:53] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only"
[2026-03-11 20:25:53] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only"
[2026-03-11 20:25:53] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 20:25:53] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 20:25:53] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 20:25:53] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-03-11 20:25:53] [INFO]   -> Found value: SFD
SFD
[2026-03-11 20:25:53] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nSFD"
[2026-03-11 20:25:53] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-11 20:25:53] [INFO] Concatenating street name and type
[2026-03-11 20:25:53] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-03-11 20:25:53] [INFO] Built locationCoordinates from lat/lng: 35.248085,-85.121041
[2026-03-11 20:25:53] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FASCIT-Fire Assist Citizen","businessName":"1736 SMITH CEMETERY RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1736,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"WARD CEMETERY RD\/RIVER WATCH DR","alarm":"2026-03-11 20:23:50","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24808499999999611418388667516410350799560546875,"nERISIncidentLongitude":-85.1210409999999910724000073969364166259765625,"dispatched":"2026-03-11 20:25:37","cADVehicleID":"H1700","name":"H1700","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-03-11 20:25:37","incidentInternalId":"26-000024","dispatchRunNumber":"26-000024","policeReportNumber":"2026-03-16248","cADNumber":"2026-03-16248","dispatchNotes":"03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only","cADLog":"03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only","cADAgencyIdentifier":"SFD\nSFD","locationCoordinates":"35.248085,-85.121041"}
[2026-03-11 20:25:53] [INFO] Number of extracted fields: 29
[2026-03-11 20:25:53] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
SFD'
[2026-03-11 20:25:53] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
SFD', Parsed IDs = ["SFD","SFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-03-11 20:25:53] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","SFD"]
[2026-03-11 20:25:53] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 20:25:53] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 20:25:53] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["SFD"]
[2026-03-11 20:25:54] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 20:25:54] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 20:25:54] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-11 20:25:54] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-11 20:25:54] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 20:25:54] [INFO] Found existing IncidentTypeMapping with ID: 695d4c65e4ee180a0
[2026-03-11 20:25:54] [INFO] Found existing Dispatch with cADNumber '2026-03-16248', ID: 69b1cf820b626cff2 - will update instead of create
[2026-03-11 20:25:54] [INFO] Updated existing Dispatches record with ID: 69b1cf820b626cff2
[2026-03-11 20:25:54] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 20:25:54] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 20:25:57] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-16248_20260311162553195.xml
[2026-03-11 20:25:57] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162553195.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-16248_20260311162553195.xml
[2026-03-11 20:25:57] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162553195.xml
[2026-03-11 20:25:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162558219.xml
[2026-03-11 20:25:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162558219.xml for user: 68920395733981a47
[2026-03-11 20:25:58] [INFO] File size: 8511 bytes
[2026-03-11 20:25:58] [INFO] Created FTPFiles record with ID: 69b1cfd6a12367ff1
[2026-03-11 20:25:58] [INFO] About to extract fields from XML. File size: 8511 bytes
[2026-03-11 20:25:58] [INFO] Number of mappings: 24
[2026-03-11 20:25:58] [INFO] Starting XML parsing. Content length: 8511
[2026-03-11 20:25:58] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 20:25:58] [INFO] Processing 24 field mappings
[2026-03-11 20:25:58] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 20:25:58] [INFO]   -> Found value: FASCIT-Fire Assist Citizen
[2026-03-11 20:25:58] [INFO]   -> Set field 'incidentTypeValue1' = "FASCIT-Fire Assist Citizen"
[2026-03-11 20:25:58] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 20:25:58] [INFO]   -> Found value: 1736 SMITH CEMETERY RD
[2026-03-11 20:25:58] [INFO]   -> Set field 'businessName' = "1736 SMITH CEMETERY RD"
[2026-03-11 20:25:58] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 20:25:58] [INFO]   -> Found value: 37379
[2026-03-11 20:25:58] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 20:25:58] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 20:25:58] [INFO]   -> Found value: 1736
[2026-03-11 20:25:58] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1736
[2026-03-11 20:25:58] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 20:25:58] [INFO]   -> Found value: SMITH CEMETERY
[2026-03-11 20:25:58] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-03-11 20:25:58] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 20:25:58] [INFO]   -> Found value: WARD CEMETERY RD/RIVER WATCH DR
[2026-03-11 20:25:58] [INFO]   -> Set field 'incidentLocationCross' = "WARD CEMETERY RD\/RIVER WATCH DR"
[2026-03-11 20:25:58] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 20:25:58] [INFO]   -> Found value: 2026-03-11T16:23:50.633-04:00
[2026-03-11 20:25:58] [INFO]   -> Set field 'alarm' = "2026-03-11 20:23:50"
[2026-03-11 20:25:58] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 20:25:58] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:58] [INFO]   -> Set field 'enroute' = null
[2026-03-11 20:25:58] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 20:25:58] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:58] [INFO]   -> Set field 'onScene' = null
[2026-03-11 20:25:58] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 20:25:58] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:58] [INFO]   -> Set field 'cleared' = null
[2026-03-11 20:25:58] [INFO]   -> Set field 'inService' = null
[2026-03-11 20:25:58] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 20:25:58] [INFO]   -> Found value: 35.248084999999996
[2026-03-11 20:25:58] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24808499999999611418388667516410350799560546875
[2026-03-11 20:25:58] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 20:25:58] [INFO]   -> Found value: -85.121040999999991
[2026-03-11 20:25:58] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1210409999999910724000073969364166259765625
[2026-03-11 20:25:58] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 20:25:58] [INFO]   -> Found value: 2026-03-11T16:25:37.523-04:00
[2026-03-11 20:25:58] [INFO]   -> Set field 'dispatched' = "2026-03-11 20:25:37"
[2026-03-11 20:25:58] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 20:25:58] [INFO]   -> Found value: H1700
[2026-03-11 20:25:58] [INFO]   -> Set field 'cADVehicleID' = "H1700"
[2026-03-11 20:25:58] [INFO]   -> Set field 'name' = "H1700"
[2026-03-11 20:25:58] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 20:25:58] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:58] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-11 20:25:58] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 20:25:58] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:58] [INFO]   -> Set field 'timeonscene' = null
[2026-03-11 20:25:58] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 20:25:58] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:58] [INFO]   -> Set field 'timestaging' = null
[2026-03-11 20:25:58] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 20:25:58] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:25:58] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-03-11 20:25:58] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 20:25:58] [INFO]   -> Found value: 2026-03-11T16:25:37.523-04:00
[2026-03-11 20:25:58] [INFO]   -> Set field 'timedispatch' = "2026-03-11 20:25:37"
[2026-03-11 20:25:58] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 20:25:58] [INFO]   -> Found value: RD
[2026-03-11 20:25:58] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 20:25:58] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 20:25:58] [INFO]   -> Found value: 26-000024
[2026-03-11 20:25:58] [INFO]   -> Set field 'incidentInternalId' = "26-000024"
[2026-03-11 20:25:58] [INFO]   -> Set field 'dispatchRunNumber' = "26-000024"
[2026-03-11 20:25:58] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 20:25:58] [INFO]   -> Found value: 2026-03-16248
[2026-03-11 20:25:58] [INFO]   -> Set field 'policeReportNumber' = "2026-03-16248"
[2026-03-11 20:25:58] [INFO]   -> Set field 'cADNumber' = "2026-03-16248"
[2026-03-11 20:25:58] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 20:25:58] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 20:25:58] [INFO] Found 8 elements for 'Comment', concatenating 8 non-empty values
[2026-03-11 20:25:58] [INFO]   -> Found value: 03/11/2026 16:24:54 williams_c              [1] caller 66yof
03/11/2026 16:25:00 williams_c         ...
[2026-03-11 20:25:58] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only\n03\/11\/2026 16:25:56 williams_c              [8] on the ground"
[2026-03-11 20:25:58] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only\n03\/11\/2026 16:25:56 williams_c              [8] on the ground"
[2026-03-11 20:25:58] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 20:25:58] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 20:25:58] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 20:25:58] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-03-11 20:25:58] [INFO]   -> Found value: SFD
SFD
[2026-03-11 20:25:58] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nSFD"
[2026-03-11 20:25:58] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-11 20:25:58] [INFO] Concatenating street name and type
[2026-03-11 20:25:58] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-03-11 20:25:58] [INFO] Built locationCoordinates from lat/lng: 35.248085,-85.121041
[2026-03-11 20:25:58] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FASCIT-Fire Assist Citizen","businessName":"1736 SMITH CEMETERY RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1736,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"WARD CEMETERY RD\/RIVER WATCH DR","alarm":"2026-03-11 20:23:50","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24808499999999611418388667516410350799560546875,"nERISIncidentLongitude":-85.1210409999999910724000073969364166259765625,"dispatched":"2026-03-11 20:25:37","cADVehicleID":"H1700","name":"H1700","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-03-11 20:25:37","incidentInternalId":"26-000024","dispatchRunNumber":"26-000024","policeReportNumber":"2026-03-16248","cADNumber":"2026-03-16248","dispatchNotes":"03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only\n03\/11\/2026 16:25:56 williams_c              [8] on the ground","cADLog":"03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only\n03\/11\/2026 16:25:56 williams_c              [8] on the ground","cADAgencyIdentifier":"SFD\nSFD","locationCoordinates":"35.248085,-85.121041"}
[2026-03-11 20:25:58] [INFO] Number of extracted fields: 29
[2026-03-11 20:25:58] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
SFD'
[2026-03-11 20:25:58] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
SFD', Parsed IDs = ["SFD","SFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-03-11 20:25:58] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","SFD"]
[2026-03-11 20:25:58] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 20:25:58] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 20:25:58] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["SFD"]
[2026-03-11 20:25:58] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 20:25:58] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 20:25:58] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-11 20:25:58] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-11 20:25:59] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 20:25:59] [INFO] Found existing IncidentTypeMapping with ID: 695d4c65e4ee180a0
[2026-03-11 20:25:59] [INFO] Found existing Dispatch with cADNumber '2026-03-16248', ID: 69b1cf820b626cff2 - will update instead of create
[2026-03-11 20:25:59] [INFO] Updated existing Dispatches record with ID: 69b1cf820b626cff2
[2026-03-11 20:25:59] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 20:25:59] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 20:26:02] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-16248_20260311162558219.xml
[2026-03-11 20:26:02] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162558219.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-16248_20260311162558219.xml
[2026-03-11 20:26:02] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162558219.xml
[2026-03-11 20:26:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162633597.xml
[2026-03-11 20:26:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162633597.xml for user: 68920395733981a47
[2026-03-11 20:26:33] [INFO] File size: 8621 bytes
[2026-03-11 20:26:34] [INFO] Created FTPFiles record with ID: 69b1cffa15ad1ee6f
[2026-03-11 20:26:34] [INFO] About to extract fields from XML. File size: 8621 bytes
[2026-03-11 20:26:34] [INFO] Number of mappings: 24
[2026-03-11 20:26:34] [INFO] Starting XML parsing. Content length: 8621
[2026-03-11 20:26:34] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 20:26:34] [INFO] Processing 24 field mappings
[2026-03-11 20:26:34] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 20:26:34] [INFO]   -> Found value: FASCIT-Fire Assist Citizen
[2026-03-11 20:26:34] [INFO]   -> Set field 'incidentTypeValue1' = "FASCIT-Fire Assist Citizen"
[2026-03-11 20:26:34] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 20:26:34] [INFO]   -> Found value: 1736 SMITH CEMETERY RD
[2026-03-11 20:26:34] [INFO]   -> Set field 'businessName' = "1736 SMITH CEMETERY RD"
[2026-03-11 20:26:34] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 20:26:34] [INFO]   -> Found value: 37379
[2026-03-11 20:26:34] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 20:26:34] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 20:26:34] [INFO]   -> Found value: 1736
[2026-03-11 20:26:34] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1736
[2026-03-11 20:26:34] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 20:26:34] [INFO]   -> Found value: SMITH CEMETERY
[2026-03-11 20:26:34] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-03-11 20:26:34] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 20:26:34] [INFO]   -> Found value: WARD CEMETERY RD/RIVER WATCH DR
[2026-03-11 20:26:34] [INFO]   -> Set field 'incidentLocationCross' = "WARD CEMETERY RD\/RIVER WATCH DR"
[2026-03-11 20:26:34] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 20:26:34] [INFO]   -> Found value: 2026-03-11T16:23:50.633-04:00
[2026-03-11 20:26:34] [INFO]   -> Set field 'alarm' = "2026-03-11 20:23:50"
[2026-03-11 20:26:34] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 20:26:34] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:26:34] [INFO]   -> Set field 'enroute' = null
[2026-03-11 20:26:34] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 20:26:34] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:26:34] [INFO]   -> Set field 'onScene' = null
[2026-03-11 20:26:34] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 20:26:34] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:26:34] [INFO]   -> Set field 'cleared' = null
[2026-03-11 20:26:34] [INFO]   -> Set field 'inService' = null
[2026-03-11 20:26:34] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 20:26:34] [INFO]   -> Found value: 35.248084999999996
[2026-03-11 20:26:34] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24808499999999611418388667516410350799560546875
[2026-03-11 20:26:34] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 20:26:34] [INFO]   -> Found value: -85.121040999999991
[2026-03-11 20:26:34] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1210409999999910724000073969364166259765625
[2026-03-11 20:26:34] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 20:26:34] [INFO]   -> Found value: 2026-03-11T16:25:37.523-04:00
[2026-03-11 20:26:34] [INFO]   -> Set field 'dispatched' = "2026-03-11 20:25:37"
[2026-03-11 20:26:34] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 20:26:34] [INFO]   -> Found value: H1700
[2026-03-11 20:26:34] [INFO]   -> Set field 'cADVehicleID' = "H1700"
[2026-03-11 20:26:34] [INFO]   -> Set field 'name' = "H1700"
[2026-03-11 20:26:34] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 20:26:34] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:26:34] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-11 20:26:34] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 20:26:34] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:26:34] [INFO]   -> Set field 'timeonscene' = null
[2026-03-11 20:26:34] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 20:26:34] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:26:34] [INFO]   -> Set field 'timestaging' = null
[2026-03-11 20:26:34] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 20:26:34] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:26:34] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-03-11 20:26:34] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 20:26:34] [INFO]   -> Found value: 2026-03-11T16:25:37.523-04:00
[2026-03-11 20:26:34] [INFO]   -> Set field 'timedispatch' = "2026-03-11 20:25:37"
[2026-03-11 20:26:34] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 20:26:34] [INFO]   -> Found value: RD
[2026-03-11 20:26:34] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 20:26:34] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 20:26:34] [INFO]   -> Found value: 26-000024
[2026-03-11 20:26:34] [INFO]   -> Set field 'incidentInternalId' = "26-000024"
[2026-03-11 20:26:34] [INFO]   -> Set field 'dispatchRunNumber' = "26-000024"
[2026-03-11 20:26:34] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 20:26:34] [INFO]   -> Found value: 2026-03-16248
[2026-03-11 20:26:34] [INFO]   -> Set field 'policeReportNumber' = "2026-03-16248"
[2026-03-11 20:26:34] [INFO]   -> Set field 'cADNumber' = "2026-03-16248"
[2026-03-11 20:26:34] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 20:26:34] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 20:26:34] [INFO] Found 9 elements for 'Comment', concatenating 9 non-empty values
[2026-03-11 20:26:34] [INFO]   -> Found value: 03/11/2026 16:24:54 williams_c              [1] caller 66yof
03/11/2026 16:25:00 williams_c         ...
[2026-03-11 20:26:34] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only\n03\/11\/2026 16:25:56 williams_c              [8] on the ground\n03\/11\/2026 16:26:33 calub_m                 [9] fireg round 5"
[2026-03-11 20:26:34] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only\n03\/11\/2026 16:25:56 williams_c              [8] on the ground\n03\/11\/2026 16:26:33 calub_m                 [9] fireg round 5"
[2026-03-11 20:26:34] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 20:26:34] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 20:26:34] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 20:26:34] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-03-11 20:26:34] [INFO]   -> Found value: SFD
SFD
[2026-03-11 20:26:34] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nSFD"
[2026-03-11 20:26:34] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-11 20:26:34] [INFO] Concatenating street name and type
[2026-03-11 20:26:34] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-03-11 20:26:34] [INFO] Built locationCoordinates from lat/lng: 35.248085,-85.121041
[2026-03-11 20:26:34] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FASCIT-Fire Assist Citizen","businessName":"1736 SMITH CEMETERY RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1736,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"WARD CEMETERY RD\/RIVER WATCH DR","alarm":"2026-03-11 20:23:50","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24808499999999611418388667516410350799560546875,"nERISIncidentLongitude":-85.1210409999999910724000073969364166259765625,"dispatched":"2026-03-11 20:25:37","cADVehicleID":"H1700","name":"H1700","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-03-11 20:25:37","incidentInternalId":"26-000024","dispatchRunNumber":"26-000024","policeReportNumber":"2026-03-16248","cADNumber":"2026-03-16248","dispatchNotes":"03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only\n03\/11\/2026 16:25:56 williams_c              [8] on the ground\n03\/11\/2026 16:26:33 calub_m                 [9] fireg round 5","cADLog":"03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only\n03\/11\/2026 16:25:56 williams_c              [8] on the ground\n03\/11\/2026 16:26:33 calub_m                 [9] fireg round 5","cADAgencyIdentifier":"SFD\nSFD","locationCoordinates":"35.248085,-85.121041"}
[2026-03-11 20:26:34] [INFO] Number of extracted fields: 29
[2026-03-11 20:26:34] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
SFD'
[2026-03-11 20:26:34] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
SFD', Parsed IDs = ["SFD","SFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-03-11 20:26:34] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","SFD"]
[2026-03-11 20:26:34] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 20:26:34] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 20:26:34] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["SFD"]
[2026-03-11 20:26:34] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 20:26:34] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 20:26:34] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-11 20:26:34] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-11 20:26:34] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 20:26:34] [INFO] Found existing IncidentTypeMapping with ID: 695d4c65e4ee180a0
[2026-03-11 20:26:35] [INFO] Found existing Dispatch with cADNumber '2026-03-16248', ID: 69b1cf820b626cff2 - will update instead of create
[2026-03-11 20:26:35] [INFO] Updated existing Dispatches record with ID: 69b1cf820b626cff2
[2026-03-11 20:26:35] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 20:26:35] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 20:26:38] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-16248_20260311162633597.xml
[2026-03-11 20:26:38] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162633597.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-16248_20260311162633597.xml
[2026-03-11 20:26:38] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162633597.xml
[2026-03-11 20:27:29] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162729282.xml
[2026-03-11 20:27:29] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162729282.xml for user: 68920395733981a47
[2026-03-11 20:27:29] [INFO] File size: 11387 bytes
[2026-03-11 20:27:29] [INFO] Created FTPFiles record with ID: 69b1d031bd3be74da
[2026-03-11 20:27:29] [INFO] About to extract fields from XML. File size: 11387 bytes
[2026-03-11 20:27:29] [INFO] Number of mappings: 24
[2026-03-11 20:27:29] [INFO] Starting XML parsing. Content length: 11387
[2026-03-11 20:27:29] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 20:27:29] [INFO] Processing 24 field mappings
[2026-03-11 20:27:29] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 20:27:29] [INFO]   -> Found value: FASCIT-Fire Assist Citizen
[2026-03-11 20:27:29] [INFO]   -> Set field 'incidentTypeValue1' = "FASCIT-Fire Assist Citizen"
[2026-03-11 20:27:29] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 20:27:29] [INFO]   -> Found value: 1736 SMITH CEMETERY RD
[2026-03-11 20:27:29] [INFO]   -> Set field 'businessName' = "1736 SMITH CEMETERY RD"
[2026-03-11 20:27:29] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 20:27:29] [INFO]   -> Found value: 37379
[2026-03-11 20:27:29] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 20:27:29] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 20:27:29] [INFO]   -> Found value: 1736
[2026-03-11 20:27:29] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1736
[2026-03-11 20:27:29] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 20:27:29] [INFO]   -> Found value: SMITH CEMETERY
[2026-03-11 20:27:29] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-03-11 20:27:29] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 20:27:29] [INFO]   -> Found value: WARD CEMETERY RD/RIVER WATCH DR
[2026-03-11 20:27:29] [INFO]   -> Set field 'incidentLocationCross' = "WARD CEMETERY RD\/RIVER WATCH DR"
[2026-03-11 20:27:29] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 20:27:29] [INFO]   -> Found value: 2026-03-11T16:23:50.633-04:00
[2026-03-11 20:27:29] [INFO]   -> Set field 'alarm' = "2026-03-11 20:23:50"
[2026-03-11 20:27:29] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 20:27:29] [INFO]   -> Found value: 2026-03-11T16:27:24.437-04:00
[2026-03-11 20:27:29] [INFO]   -> Set field 'enroute' = "2026-03-11 20:27:24"
[2026-03-11 20:27:29] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 20:27:29] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:27:29] [INFO]   -> Set field 'onScene' = null
[2026-03-11 20:27:29] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 20:27:29] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:27:29] [INFO]   -> Set field 'cleared' = null
[2026-03-11 20:27:29] [INFO]   -> Set field 'inService' = null
[2026-03-11 20:27:29] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 20:27:29] [INFO]   -> Found value: 35.248084999999996
[2026-03-11 20:27:29] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24808499999999611418388667516410350799560546875
[2026-03-11 20:27:29] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 20:27:29] [INFO]   -> Found value: -85.121040999999991
[2026-03-11 20:27:29] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1210409999999910724000073969364166259765625
[2026-03-11 20:27:29] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 20:27:29] [INFO]   -> Found value: 2026-03-11T16:25:37.523-04:00
[2026-03-11 20:27:29] [INFO]   -> Set field 'dispatched' = "2026-03-11 20:25:37"
[2026-03-11 20:27:29] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 20:27:29] [INFO]   -> Found value: E2SF
[2026-03-11 20:27:29] [INFO]   -> Set field 'cADVehicleID' = "E2SF"
[2026-03-11 20:27:29] [INFO]   -> Set field 'name' = "E2SF"
[2026-03-11 20:27:29] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 20:27:29] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:27:29] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-11 20:27:29] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 20:27:29] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:27:29] [INFO]   -> Set field 'timeonscene' = null
[2026-03-11 20:27:29] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 20:27:29] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:27:29] [INFO]   -> Set field 'timestaging' = null
[2026-03-11 20:27:29] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 20:27:29] [INFO]   -> Found value: 2026-03-11T16:27:24.437-04:00
[2026-03-11 20:27:29] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 20:27:24"
[2026-03-11 20:27:29] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 20:27:29] [INFO]   -> Found value: 2026-03-11T16:27:24.417-04:00
[2026-03-11 20:27:29] [INFO]   -> Set field 'timedispatch' = "2026-03-11 20:27:24"
[2026-03-11 20:27:29] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 20:27:29] [INFO]   -> Found value: RD
[2026-03-11 20:27:29] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 20:27:29] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 20:27:29] [INFO]   -> Found value: 26-000024
[2026-03-11 20:27:29] [INFO]   -> Set field 'incidentInternalId' = "26-000024"
[2026-03-11 20:27:29] [INFO]   -> Set field 'dispatchRunNumber' = "26-000024"
[2026-03-11 20:27:29] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 20:27:29] [INFO]   -> Found value: 2026-03-16248
[2026-03-11 20:27:29] [INFO]   -> Set field 'policeReportNumber' = "2026-03-16248"
[2026-03-11 20:27:29] [INFO]   -> Set field 'cADNumber' = "2026-03-16248"
[2026-03-11 20:27:29] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 20:27:29] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 20:27:29] [INFO] Found 10 elements for 'Comment', concatenating 10 non-empty values
[2026-03-11 20:27:29] [INFO]   -> Found value: 03/11/2026 16:24:54 williams_c              [1] caller 66yof
03/11/2026 16:25:00 williams_c         ...
[2026-03-11 20:27:29] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only\n03\/11\/2026 16:25:56 williams_c              [8] on the ground\n03\/11\/2026 16:26:33 calub_m                 [9] fireg round 5\n03\/11\/2026 16:27:24 calub_m                 [10]  crew of 2"
[2026-03-11 20:27:29] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only\n03\/11\/2026 16:25:56 williams_c              [8] on the ground\n03\/11\/2026 16:26:33 calub_m                 [9] fireg round 5\n03\/11\/2026 16:27:24 calub_m                 [10]  crew of 2"
[2026-03-11 20:27:29] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 20:27:29] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 20:27:29] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 20:27:29] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-03-11 20:27:29] [INFO]   -> Found value: SFD
SFD
SFD
[2026-03-11 20:27:29] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nSFD\nSFD"
[2026-03-11 20:27:29] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-11 20:27:29] [INFO] Concatenating street name and type
[2026-03-11 20:27:29] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-03-11 20:27:29] [INFO] Built locationCoordinates from lat/lng: 35.248085,-85.121041
[2026-03-11 20:27:29] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FASCIT-Fire Assist Citizen","businessName":"1736 SMITH CEMETERY RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1736,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"WARD CEMETERY RD\/RIVER WATCH DR","alarm":"2026-03-11 20:23:50","enroute":"2026-03-11 20:27:24","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24808499999999611418388667516410350799560546875,"nERISIncidentLongitude":-85.1210409999999910724000073969364166259765625,"dispatched":"2026-03-11 20:25:37","cADVehicleID":"E2SF","name":"E2SF","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-03-11 20:27:24","timedispatch":"2026-03-11 20:27:24","incidentInternalId":"26-000024","dispatchRunNumber":"26-000024","policeReportNumber":"2026-03-16248","cADNumber":"2026-03-16248","dispatchNotes":"03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only\n03\/11\/2026 16:25:56 williams_c              [8] on the ground\n03\/11\/2026 16:26:33 calub_m                 [9] fireg round 5\n03\/11\/2026 16:27:24 calub_m                 [10]  crew of 2","cADLog":"03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only\n03\/11\/2026 16:25:56 williams_c              [8] on the ground\n03\/11\/2026 16:26:33 calub_m                 [9] fireg round 5\n03\/11\/2026 16:27:24 calub_m                 [10]  crew of 2","cADAgencyIdentifier":"SFD\nSFD\nSFD","locationCoordinates":"35.248085,-85.121041"}
[2026-03-11 20:27:29] [INFO] Number of extracted fields: 29
[2026-03-11 20:27:29] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
SFD
SFD'
[2026-03-11 20:27:29] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
SFD
SFD', Parsed IDs = ["SFD","SFD","SFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 2
[2026-03-11 20:27:29] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","SFD","SFD"]
[2026-03-11 20:27:29] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 20:27:30] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 20:27:30] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["SFD","SFD"]
[2026-03-11 20:27:30] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 20:27:30] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 20:27:30] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 20:27:30] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-11 20:27:30] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 20:27:30] [INFO] Found existing IncidentTypeMapping with ID: 695d4c65e4ee180a0
[2026-03-11 20:27:30] [INFO] Found existing Dispatch with cADNumber '2026-03-16248', ID: 69b1cf820b626cff2 - will update instead of create
[2026-03-11 20:27:31] [INFO] Updated existing Dispatches record with ID: 69b1cf820b626cff2
[2026-03-11 20:27:31] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 20:27:31] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 20:27:35] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-16248_20260311162729282.xml
[2026-03-11 20:27:35] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162729282.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-16248_20260311162729282.xml
[2026-03-11 20:27:35] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311162729282.xml
[2026-03-11 20:31:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311163122043.xml
[2026-03-11 20:31:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311163122043.xml for user: 68920395733981a47
[2026-03-11 20:31:22] [INFO] File size: 11536 bytes
[2026-03-11 20:31:22] [INFO] Created FTPFiles record with ID: 69b1d11aaa3062b58
[2026-03-11 20:31:22] [INFO] About to extract fields from XML. File size: 11536 bytes
[2026-03-11 20:31:22] [INFO] Number of mappings: 24
[2026-03-11 20:31:22] [INFO] Starting XML parsing. Content length: 11536
[2026-03-11 20:31:22] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 20:31:22] [INFO] Processing 24 field mappings
[2026-03-11 20:31:22] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 20:31:22] [INFO]   -> Found value: FASCIT-Fire Assist Citizen
[2026-03-11 20:31:22] [INFO]   -> Set field 'incidentTypeValue1' = "FASCIT-Fire Assist Citizen"
[2026-03-11 20:31:22] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 20:31:22] [INFO]   -> Found value: 1736 SMITH CEMETERY RD
[2026-03-11 20:31:22] [INFO]   -> Set field 'businessName' = "1736 SMITH CEMETERY RD"
[2026-03-11 20:31:22] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 20:31:22] [INFO]   -> Found value: 37379
[2026-03-11 20:31:22] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 20:31:22] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 20:31:22] [INFO]   -> Found value: 1736
[2026-03-11 20:31:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1736
[2026-03-11 20:31:22] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 20:31:22] [INFO]   -> Found value: SMITH CEMETERY
[2026-03-11 20:31:22] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-03-11 20:31:22] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 20:31:22] [INFO]   -> Found value: WARD CEMETERY RD/RIVER WATCH DR
[2026-03-11 20:31:22] [INFO]   -> Set field 'incidentLocationCross' = "WARD CEMETERY RD\/RIVER WATCH DR"
[2026-03-11 20:31:22] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 20:31:22] [INFO]   -> Found value: 2026-03-11T16:23:50.633-04:00
[2026-03-11 20:31:22] [INFO]   -> Set field 'alarm' = "2026-03-11 20:23:50"
[2026-03-11 20:31:22] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 20:31:22] [INFO]   -> Found value: 2026-03-11T16:27:24.437-04:00
[2026-03-11 20:31:22] [INFO]   -> Set field 'enroute' = "2026-03-11 20:27:24"
[2026-03-11 20:31:22] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 20:31:22] [INFO]   -> Found value: 2026-03-11T16:31:19.92-04:00
[2026-03-11 20:31:22] [INFO]   -> Set field 'onScene' = "2026-03-11 20:31:19"
[2026-03-11 20:31:22] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 20:31:22] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:31:22] [INFO]   -> Set field 'cleared' = null
[2026-03-11 20:31:22] [INFO]   -> Set field 'inService' = null
[2026-03-11 20:31:22] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 20:31:22] [INFO]   -> Found value: 35.248084999999996
[2026-03-11 20:31:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24808499999999611418388667516410350799560546875
[2026-03-11 20:31:22] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 20:31:22] [INFO]   -> Found value: -85.121040999999991
[2026-03-11 20:31:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1210409999999910724000073969364166259765625
[2026-03-11 20:31:22] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 20:31:22] [INFO]   -> Found value: 2026-03-11T16:25:37.523-04:00
[2026-03-11 20:31:22] [INFO]   -> Set field 'dispatched' = "2026-03-11 20:25:37"
[2026-03-11 20:31:22] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 20:31:22] [INFO]   -> Found value: E2SF
[2026-03-11 20:31:22] [INFO]   -> Set field 'cADVehicleID' = "E2SF"
[2026-03-11 20:31:22] [INFO]   -> Set field 'name' = "E2SF"
[2026-03-11 20:31:22] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 20:31:22] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:31:22] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-11 20:31:22] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 20:31:22] [INFO]   -> Found value: 2026-03-11T16:31:19.92-04:00
[2026-03-11 20:31:22] [INFO]   -> Set field 'timeonscene' = "2026-03-11 20:31:19"
[2026-03-11 20:31:22] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 20:31:22] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:31:22] [INFO]   -> Set field 'timestaging' = null
[2026-03-11 20:31:22] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 20:31:22] [INFO]   -> Found value: 2026-03-11T16:27:24.437-04:00
[2026-03-11 20:31:22] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 20:27:24"
[2026-03-11 20:31:22] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 20:31:22] [INFO]   -> Found value: 2026-03-11T16:27:24.417-04:00
[2026-03-11 20:31:22] [INFO]   -> Set field 'timedispatch' = "2026-03-11 20:27:24"
[2026-03-11 20:31:22] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 20:31:22] [INFO]   -> Found value: RD
[2026-03-11 20:31:22] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 20:31:22] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 20:31:22] [INFO]   -> Found value: 26-000024
[2026-03-11 20:31:22] [INFO]   -> Set field 'incidentInternalId' = "26-000024"
[2026-03-11 20:31:22] [INFO]   -> Set field 'dispatchRunNumber' = "26-000024"
[2026-03-11 20:31:22] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 20:31:22] [INFO]   -> Found value: 2026-03-16248
[2026-03-11 20:31:22] [INFO]   -> Set field 'policeReportNumber' = "2026-03-16248"
[2026-03-11 20:31:22] [INFO]   -> Set field 'cADNumber' = "2026-03-16248"
[2026-03-11 20:31:22] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 20:31:22] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 20:31:22] [INFO] Found 10 elements for 'Comment', concatenating 10 non-empty values
[2026-03-11 20:31:22] [INFO]   -> Found value: 03/11/2026 16:24:54 williams_c              [1] caller 66yof
03/11/2026 16:25:00 williams_c         ...
[2026-03-11 20:31:22] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only\n03\/11\/2026 16:25:56 williams_c              [8] on the ground\n03\/11\/2026 16:26:33 calub_m                 [9] fireg round 5\n03\/11\/2026 16:27:24 calub_m                 [10]  crew of 2"
[2026-03-11 20:31:22] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only\n03\/11\/2026 16:25:56 williams_c              [8] on the ground\n03\/11\/2026 16:26:33 calub_m                 [9] fireg round 5\n03\/11\/2026 16:27:24 calub_m                 [10]  crew of 2"
[2026-03-11 20:31:22] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 20:31:22] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 20:31:22] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 20:31:22] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-03-11 20:31:22] [INFO]   -> Found value: SFD
SFD
SFD
[2026-03-11 20:31:22] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nSFD\nSFD"
[2026-03-11 20:31:22] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-11 20:31:22] [INFO] Concatenating street name and type
[2026-03-11 20:31:22] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-03-11 20:31:22] [INFO] Built locationCoordinates from lat/lng: 35.248085,-85.121041
[2026-03-11 20:31:22] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FASCIT-Fire Assist Citizen","businessName":"1736 SMITH CEMETERY RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1736,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"WARD CEMETERY RD\/RIVER WATCH DR","alarm":"2026-03-11 20:23:50","enroute":"2026-03-11 20:27:24","onScene":"2026-03-11 20:31:19","cleared":null,"inService":null,"nERISIncidentLatitude":35.24808499999999611418388667516410350799560546875,"nERISIncidentLongitude":-85.1210409999999910724000073969364166259765625,"dispatched":"2026-03-11 20:25:37","cADVehicleID":"E2SF","name":"E2SF","timeunitclear":null,"timeonscene":"2026-03-11 20:31:19","timestaging":null,"timeenroutetoscene":"2026-03-11 20:27:24","timedispatch":"2026-03-11 20:27:24","incidentInternalId":"26-000024","dispatchRunNumber":"26-000024","policeReportNumber":"2026-03-16248","cADNumber":"2026-03-16248","dispatchNotes":"03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only\n03\/11\/2026 16:25:56 williams_c              [8] on the ground\n03\/11\/2026 16:26:33 calub_m                 [9] fireg round 5\n03\/11\/2026 16:27:24 calub_m                 [10]  crew of 2","cADLog":"03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only\n03\/11\/2026 16:25:56 williams_c              [8] on the ground\n03\/11\/2026 16:26:33 calub_m                 [9] fireg round 5\n03\/11\/2026 16:27:24 calub_m                 [10]  crew of 2","cADAgencyIdentifier":"SFD\nSFD\nSFD","locationCoordinates":"35.248085,-85.121041"}
[2026-03-11 20:31:22] [INFO] Number of extracted fields: 29
[2026-03-11 20:31:22] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
SFD
SFD'
[2026-03-11 20:31:22] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
SFD
SFD', Parsed IDs = ["SFD","SFD","SFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 2
[2026-03-11 20:31:22] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","SFD","SFD"]
[2026-03-11 20:31:22] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 20:31:22] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 20:31:22] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["SFD","SFD"]
[2026-03-11 20:31:23] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 20:31:23] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 20:31:23] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 20:31:23] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-11 20:31:23] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 20:31:23] [INFO] Found existing IncidentTypeMapping with ID: 695d4c65e4ee180a0
[2026-03-11 20:31:23] [INFO] Found existing Dispatch with cADNumber '2026-03-16248', ID: 69b1cf820b626cff2 - will update instead of create
[2026-03-11 20:31:23] [INFO] Updated existing Dispatches record with ID: 69b1cf820b626cff2
[2026-03-11 20:31:23] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 20:31:23] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 20:31:26] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-16248_20260311163122043.xml
[2026-03-11 20:31:26] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311163122043.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-16248_20260311163122043.xml
[2026-03-11 20:31:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311163122043.xml
[2026-03-11 20:43:04] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311164304073.xml
[2026-03-11 20:43:04] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311164304073.xml for user: 68920395733981a47
[2026-03-11 20:43:04] [INFO] File size: 12508 bytes
[2026-03-11 20:43:04] [INFO] Created FTPFiles record with ID: 69b1d3d8c2672dce5
[2026-03-11 20:43:04] [INFO] About to extract fields from XML. File size: 12508 bytes
[2026-03-11 20:43:04] [INFO] Number of mappings: 24
[2026-03-11 20:43:04] [INFO] Starting XML parsing. Content length: 12508
[2026-03-11 20:43:04] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-11 20:43:04] [INFO] Processing 24 field mappings
[2026-03-11 20:43:04] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-11 20:43:04] [INFO]   -> Found value: FASCIT-Fire Assist Citizen
[2026-03-11 20:43:04] [INFO]   -> Set field 'incidentTypeValue1' = "FASCIT-Fire Assist Citizen"
[2026-03-11 20:43:04] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-11 20:43:04] [INFO]   -> Found value: 1736 SMITH CEMETERY RD
[2026-03-11 20:43:04] [INFO]   -> Set field 'businessName' = "1736 SMITH CEMETERY RD"
[2026-03-11 20:43:04] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-11 20:43:04] [INFO]   -> Found value: 37379
[2026-03-11 20:43:04] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-11 20:43:04] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-11 20:43:04] [INFO]   -> Found value: 1736
[2026-03-11 20:43:04] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1736
[2026-03-11 20:43:04] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-11 20:43:04] [INFO]   -> Found value: SMITH CEMETERY
[2026-03-11 20:43:04] [INFO]   -> Set field 'streetName' = "SMITH CEMETERY"
[2026-03-11 20:43:04] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-11 20:43:04] [INFO]   -> Found value: WARD CEMETERY RD/RIVER WATCH DR
[2026-03-11 20:43:04] [INFO]   -> Set field 'incidentLocationCross' = "WARD CEMETERY RD\/RIVER WATCH DR"
[2026-03-11 20:43:04] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-11 20:43:04] [INFO]   -> Found value: 2026-03-11T16:23:50.633-04:00
[2026-03-11 20:43:04] [INFO]   -> Set field 'alarm' = "2026-03-11 20:23:50"
[2026-03-11 20:43:04] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-11 20:43:04] [INFO]   -> Found value: 2026-03-11T16:27:24.437-04:00
[2026-03-11 20:43:04] [INFO]   -> Set field 'enroute' = "2026-03-11 20:27:24"
[2026-03-11 20:43:04] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-11 20:43:04] [INFO]   -> Found value: 2026-03-11T16:31:19.92-04:00
[2026-03-11 20:43:04] [INFO]   -> Set field 'onScene' = "2026-03-11 20:31:19"
[2026-03-11 20:43:04] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-11 20:43:04] [INFO]   -> Found value: 2026-03-11T16:43:00.157-04:00
[2026-03-11 20:43:04] [INFO]   -> Set field 'cleared' = "2026-03-11 20:43:00"
[2026-03-11 20:43:04] [INFO]   -> Set field 'inService' = "2026-03-11 20:43:00"
[2026-03-11 20:43:04] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-11 20:43:04] [INFO]   -> Found value: 35.248084999999996
[2026-03-11 20:43:04] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24808499999999611418388667516410350799560546875
[2026-03-11 20:43:04] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-11 20:43:04] [INFO]   -> Found value: -85.121040999999991
[2026-03-11 20:43:04] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1210409999999910724000073969364166259765625
[2026-03-11 20:43:04] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-11 20:43:04] [INFO]   -> Found value: 2026-03-11T16:25:37.523-04:00
[2026-03-11 20:43:04] [INFO]   -> Set field 'dispatched' = "2026-03-11 20:25:37"
[2026-03-11 20:43:04] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-11 20:43:04] [INFO]   -> Found value: E2SF
[2026-03-11 20:43:04] [INFO]   -> Set field 'cADVehicleID' = "E2SF"
[2026-03-11 20:43:04] [INFO]   -> Set field 'name' = "E2SF"
[2026-03-11 20:43:04] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-11 20:43:04] [INFO]   -> Found value: 2026-03-11T16:43:00.157-04:00
[2026-03-11 20:43:04] [INFO]   -> Set field 'timeunitclear' = "2026-03-11 20:43:00"
[2026-03-11 20:43:04] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-11 20:43:04] [INFO]   -> Found value: 2026-03-11T16:31:19.92-04:00
[2026-03-11 20:43:04] [INFO]   -> Set field 'timeonscene' = "2026-03-11 20:31:19"
[2026-03-11 20:43:04] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-11 20:43:04] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-11 20:43:04] [INFO]   -> Set field 'timestaging' = null
[2026-03-11 20:43:04] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-11 20:43:04] [INFO]   -> Found value: 2026-03-11T16:27:24.437-04:00
[2026-03-11 20:43:04] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 20:27:24"
[2026-03-11 20:43:04] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-11 20:43:04] [INFO]   -> Found value: 2026-03-11T16:27:24.417-04:00
[2026-03-11 20:43:04] [INFO]   -> Set field 'timedispatch' = "2026-03-11 20:27:24"
[2026-03-11 20:43:04] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-11 20:43:04] [INFO]   -> Found value: RD
[2026-03-11 20:43:04] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 20:43:04] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 20:43:04] [INFO]   -> Found value: 26-000024
[2026-03-11 20:43:04] [INFO]   -> Set field 'incidentInternalId' = "26-000024"
[2026-03-11 20:43:04] [INFO]   -> Set field 'dispatchRunNumber' = "26-000024"
[2026-03-11 20:43:04] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-11 20:43:04] [INFO]   -> Found value: 2026-03-16248
[2026-03-11 20:43:04] [INFO]   -> Set field 'policeReportNumber' = "2026-03-16248"
[2026-03-11 20:43:04] [INFO]   -> Set field 'cADNumber' = "2026-03-16248"
[2026-03-11 20:43:04] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-11 20:43:04] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-11 20:43:04] [INFO] Found 10 elements for 'Comment', concatenating 10 non-empty values
[2026-03-11 20:43:04] [INFO]   -> Found value: 03/11/2026 16:24:54 williams_c              [1] caller 66yof
03/11/2026 16:25:00 williams_c         ...
[2026-03-11 20:43:04] [INFO]   -> Set field 'dispatchNotes' = "03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only\n03\/11\/2026 16:25:56 williams_c              [8] on the ground\n03\/11\/2026 16:26:33 calub_m                 [9] fireg round 5\n03\/11\/2026 16:27:24 calub_m                 [10]  crew of 2"
[2026-03-11 20:43:04] [INFO]   -> Set field 'cADLog' = "03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only\n03\/11\/2026 16:25:56 williams_c              [8] on the ground\n03\/11\/2026 16:26:33 calub_m                 [9] fireg round 5\n03\/11\/2026 16:27:24 calub_m                 [10]  crew of 2"
[2026-03-11 20:43:04] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-11 20:43:04] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-11 20:43:04] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 20:43:04] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-03-11 20:43:04] [INFO]   -> Found value: SFD
SFD
SFD
[2026-03-11 20:43:04] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nSFD\nSFD"
[2026-03-11 20:43:04] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-11 20:43:04] [INFO] Concatenating street name and type
[2026-03-11 20:43:04] [INFO]   -> Combined street name: SMITH CEMETERY RD
[2026-03-11 20:43:04] [INFO] Built locationCoordinates from lat/lng: 35.248085,-85.121041
[2026-03-11 20:43:04] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FASCIT-Fire Assist Citizen","businessName":"1736 SMITH CEMETERY RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1736,"streetName":"SMITH CEMETERY RD","incidentLocationCross":"WARD CEMETERY RD\/RIVER WATCH DR","alarm":"2026-03-11 20:23:50","enroute":"2026-03-11 20:27:24","onScene":"2026-03-11 20:31:19","cleared":"2026-03-11 20:43:00","inService":"2026-03-11 20:43:00","nERISIncidentLatitude":35.24808499999999611418388667516410350799560546875,"nERISIncidentLongitude":-85.1210409999999910724000073969364166259765625,"dispatched":"2026-03-11 20:25:37","cADVehicleID":"E2SF","name":"E2SF","timeunitclear":"2026-03-11 20:43:00","timeonscene":"2026-03-11 20:31:19","timestaging":null,"timeenroutetoscene":"2026-03-11 20:27:24","timedispatch":"2026-03-11 20:27:24","incidentInternalId":"26-000024","dispatchRunNumber":"26-000024","policeReportNumber":"2026-03-16248","cADNumber":"2026-03-16248","dispatchNotes":"03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only\n03\/11\/2026 16:25:56 williams_c              [8] on the ground\n03\/11\/2026 16:26:33 calub_m                 [9] fireg round 5\n03\/11\/2026 16:27:24 calub_m                 [10]  crew of 2","cADLog":"03\/11\/2026 16:24:54 williams_c              [1] caller 66yof\n03\/11\/2026 16:25:00 williams_c              [2] 190lbs\n03\/11\/2026 16:25:08 williams_c              [3] fallen can't get up\n03\/11\/2026 16:25:34 williams_c              [4] front door unlocked\n03\/11\/2026 16:25:37 calub_m                 [5] Automatic Case Number(s) issued for Incident #[2026-03-16248], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000024 requested by H1700.\n03\/11\/2026 16:25:48 williams_c              [6] negative injuries\n03\/11\/2026 16:25:53 williams_c              [7] lift assist only\n03\/11\/2026 16:25:56 williams_c              [8] on the ground\n03\/11\/2026 16:26:33 calub_m                 [9] fireg round 5\n03\/11\/2026 16:27:24 calub_m                 [10]  crew of 2","cADAgencyIdentifier":"SFD\nSFD\nSFD","locationCoordinates":"35.248085,-85.121041"}
[2026-03-11 20:43:04] [INFO] Number of extracted fields: 29
[2026-03-11 20:43:04] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
SFD
SFD'
[2026-03-11 20:43:04] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
SFD
SFD', Parsed IDs = ["SFD","SFD","SFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 2
[2026-03-11 20:43:04] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","SFD","SFD"]
[2026-03-11 20:43:04] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-11 20:43:04] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-11 20:43:04] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["SFD","SFD"]
[2026-03-11 20:43:05] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-11 20:43:05] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-11 20:43:05] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 20:43:05] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-11 20:43:05] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-11 20:43:05] [INFO] Found existing IncidentTypeMapping with ID: 695d4c65e4ee180a0
[2026-03-11 20:43:05] [INFO] Found existing Dispatch with cADNumber '2026-03-16248', ID: 69b1cf820b626cff2 - will update instead of create
[2026-03-11 20:43:05] [INFO] Updated existing Dispatches record with ID: 69b1cf820b626cff2
[2026-03-11 20:43:05] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-11 20:43:05] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-11 20:43:09] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-16248_20260311164304073.xml
[2026-03-11 20:43:09] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311164304073.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-11/INCCOMBINED_2026-03-16248_20260311164304073.xml
[2026-03-11 20:43:09] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-16248_20260311164304073.xml
[2026-03-11 21:08:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026834_20260311_210835.XML
[2026-03-11 21:08:35] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026834_20260311_210835.XML for user: 68f1466aed072ad4a
[2026-03-11 21:08:35] [INFO] File size: 5451 bytes
[2026-03-11 21:08:36] [INFO] Created FTPFiles record with ID: 69b1d9d44a432756e
[2026-03-11 21:08:36] [INFO] About to extract fields from XML. File size: 5451 bytes
[2026-03-11 21:08:36] [INFO] Number of mappings: 28
[2026-03-11 21:08:36] [INFO] Starting XML parsing. Content length: 5451
[2026-03-11 21:08:36] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 21:08:36] [INFO] Processing 28 field mappings
[2026-03-11 21:08:36] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 21:08:36] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 21:08:36] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 21:08:36] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-11 21:08:36] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-11 21:08:36] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-11 21:08:36] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 21:08:36] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-11 21:08:36] [INFO]   -> Found value: 2026000669
[2026-03-11 21:08:36] [INFO]   -> Set field 'incidentInternalId' = "2026000669"
[2026-03-11 21:08:36] [INFO]   -> Set field 'dispatchRunNumber' = "2026000669"
[2026-03-11 21:08:36] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 21:08:36] [INFO]   -> Found value: OVERDOSE
[2026-03-11 21:08:36] [INFO]   -> Set field 'incidentTypeValue1' = "OVERDOSE"
[2026-03-11 21:08:36] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 21:08:36] [INFO]   -> Found value: 1134
[2026-03-11 21:08:36] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1134
[2026-03-11 21:08:36] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 21:08:36] [INFO]   -> Found value: TN
[2026-03-11 21:08:36] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 21:08:36] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 21:08:36] [INFO]   -> Found value: 38501
[2026-03-11 21:08:36] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-11 21:08:36] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 21:08:36] [INFO]   -> Found value: MILLER BRENDA
[2026-03-11 21:08:36] [INFO]   -> Set field 'businessName' = "MILLER BRENDA"
[2026-03-11 21:08:36] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 21:08:36] [INFO]   -> No value found (null or empty)
[2026-03-11 21:08:36] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 21:08:36] [INFO]   -> Found value: 36.15885
[2026-03-11 21:08:36] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.158850000000001045918907038867473602294921875
[2026-03-11 21:08:36] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 21:08:36] [INFO]   -> Found value: -85.57661
[2026-03-11 21:08:36] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5766100000000022873791749589145183563232421875
[2026-03-11 21:08:36] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 21:08:36] [INFO]   -> Found value: 2026-03-11 16:07:15
[2026-03-11 21:08:36] [INFO]   -> Set field 'alarm' = "2026-03-11 16:07:15"
[2026-03-11 21:08:36] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 21:08:36] [INFO]   -> Found value: 2026-03-11 16:08:28
[2026-03-11 21:08:36] [INFO]   -> Set field 'dispatched' = "2026-03-11 16:08:28"
[2026-03-11 21:08:36] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 21:08:36] [INFO]   -> No value found (null or empty)
[2026-03-11 21:08:36] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 21:08:36] [INFO]   -> No value found (null or empty)
[2026-03-11 21:08:36] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 21:08:36] [INFO]   -> No value found (null or empty)
[2026-03-11 21:08:36] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 21:08:36] [INFO]   -> Found value: /BUFFALO VALLEY RD
[2026-03-11 21:08:36] [INFO]   -> Set field 'incidentLocationCross' = "\/BUFFALO VALLEY RD"
[2026-03-11 21:08:36] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 21:08:36] [INFO]   -> Found value: PCFR
[2026-03-11 21:08:36] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-11 21:08:36] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 21:08:36] [INFO]   -> Found value: 2026-03-11 16:08:28
[2026-03-11 21:08:36] [INFO]   -> Set field 'timedispatch' = "2026-03-11 16:08:28"
[2026-03-11 21:08:36] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 21:08:36] [INFO]   -> No value found (null or empty)
[2026-03-11 21:08:36] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 21:08:36] [INFO]   -> No value found (null or empty)
[2026-03-11 21:08:36] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 21:08:36] [INFO]   -> No value found (null or empty)
[2026-03-11 21:08:36] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 21:08:36] [INFO]   -> No value found (null or empty)
[2026-03-11 21:08:36] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 21:08:36] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 21:08:36] [INFO]   -> Found value: 20260026834
[2026-03-11 21:08:36] [INFO]   -> Set field 'policeReportNumber' = "20260026834"
[2026-03-11 21:08:36] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 21:08:36] [INFO]   -> Found value: [EMS] HE THINKS HIS WIFE&quot;S DR HAS HER DOSE TO HIGH  WILL NOT STAY AWAY   SHE TAKE HYDROS  [03/1...
[2026-03-11 21:08:36] [INFO]   -> Set field 'dispatchNotes' = "[EMS] HE THINKS HIS WIFE&quot;S DR HAS HER DOSE TO HIGH  WILL NOT STAY AWAY   SHE TAKE HYDROS  [03\/11\/26 16:08:25 KELLIS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 16:07:28 SBALLARD] Event spawned from OVERDOSE.  [03\/11\/2026 16:07:15 KELLIS]"
[2026-03-11 21:08:36] [INFO]   -> Set field 'cADLog' = "[EMS] HE THINKS HIS WIFE&quot;S DR HAS HER DOSE TO HIGH  WILL NOT STAY AWAY   SHE TAKE HYDROS  [03\/11\/26 16:08:25 KELLIS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 16:07:28 SBALLARD] Event spawned from OVERDOSE.  [03\/11\/2026 16:07:15 KELLIS]"
[2026-03-11 21:08:36] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 21:08:36] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 21:08:36] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 21:08:36] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 21:08:36] [INFO]   -> Found value: ROSE GARDEN
[2026-03-11 21:08:36] [INFO]   -> Set field 'streetName' = "ROSE GARDEN"
[2026-03-11 21:08:36] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 21:08:36] [INFO]   -> Found value: LN
[2026-03-11 21:08:36] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-11 21:08:36] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 21:08:36] [INFO]   -> Found value: 1134 ROSE GARDEN LN
[2026-03-11 21:08:36] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1134 ROSE GARDEN LN"
[2026-03-11 21:08:36] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-11 21:08:36] [INFO] Concatenating street name and type
[2026-03-11 21:08:36] [INFO]   -> Combined street name: ROSE GARDEN LN
[2026-03-11 21:08:36] [INFO] Built locationCoordinates from lat/lng: 36.15885,-85.57661
[2026-03-11 21:08:36] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000669","dispatchRunNumber":"2026000669","incidentTypeValue1":"OVERDOSE","incidentLocationStreetNumber":1134,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"MILLER BRENDA","nERISIncidentLatitude":36.158850000000001045918907038867473602294921875,"nERISIncidentLongitude":-85.5766100000000022873791749589145183563232421875,"alarm":"2026-03-11 16:07:15","dispatched":"2026-03-11 16:08:28","incidentLocationCross":"\/BUFFALO VALLEY RD","cADVehicleID":"PCFR","timedispatch":"2026-03-11 16:08:28","policeReportNumber":"20260026834","dispatchNotes":"[EMS] HE THINKS HIS WIFE&quot;S DR HAS HER DOSE TO HIGH  WILL NOT STAY AWAY   SHE TAKE HYDROS  [03\/11\/26 16:08:25 KELLIS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 16:07:28 SBALLARD] Event spawned from OVERDOSE.  [03\/11\/2026 16:07:15 KELLIS]","cADLog":"[EMS] HE THINKS HIS WIFE&quot;S DR HAS HER DOSE TO HIGH  WILL NOT STAY AWAY   SHE TAKE HYDROS  [03\/11\/26 16:08:25 KELLIS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 16:07:28 SBALLARD] Event spawned from OVERDOSE.  [03\/11\/2026 16:07:15 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"ROSE GARDEN LN","incidentAddressTextVersionStreet":"1134 ROSE GARDEN LN","locationCoordinates":"36.15885,-85.57661"}
[2026-03-11 21:08:36] [INFO] Number of extracted fields: 22
[2026-03-11 21:08:36] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-11 21:08:36] [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-11 21:08:36] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-11 21:08:36] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 21:08:36] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 21:08:36] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-11 21:08: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-11 21:08: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-11 21:08:36] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-11 21:08:36] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 21:08:36] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 21:08:36] [INFO] Found existing IncidentTypeMapping with ID: 6951b92ddedb2f2fc
[2026-03-11 21:08:47] [INFO] Created new Dispatches record with ID: 69b1d9d544feabbd0
[2026-03-11 21:08:47] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026834_20260311_210835.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026834_20260311_210835.XML
[2026-03-11 21:08:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026834_20260311_210835.XML
[2026-03-11 21:25:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026843_20260311_212556.XML
[2026-03-11 21:25:56] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026843_20260311_212556.XML for user: 68f1466aed072ad4a
[2026-03-11 21:25:56] [INFO] File size: 4799 bytes
[2026-03-11 21:25:56] [INFO] Created FTPFiles record with ID: 69b1dde46723aec54
[2026-03-11 21:25:56] [INFO] About to extract fields from XML. File size: 4799 bytes
[2026-03-11 21:25:56] [INFO] Number of mappings: 28
[2026-03-11 21:25:56] [INFO] Starting XML parsing. Content length: 4799
[2026-03-11 21:25:56] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 21:25:56] [INFO] Processing 28 field mappings
[2026-03-11 21:25:56] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 21:25:56] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 21:25:56] [INFO]   -> Found value: PCFD
[2026-03-11 21:25:56] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-11 21:25:56] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 21:25:56] [INFO]   -> Found value: 2026000670
[2026-03-11 21:25:56] [INFO]   -> Set field 'incidentInternalId' = "2026000670"
[2026-03-11 21:25:56] [INFO]   -> Set field 'dispatchRunNumber' = "2026000670"
[2026-03-11 21:25:56] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 21:25:56] [INFO]   -> Found value: SMOKE ALARM INSTALL
[2026-03-11 21:25:56] [INFO]   -> Set field 'incidentTypeValue1' = "SMOKE ALARM INSTALL"
[2026-03-11 21:25:56] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 21:25:56] [INFO]   -> Found value: 1428
[2026-03-11 21:25:56] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1428
[2026-03-11 21:25:56] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 21:25:56] [INFO]   -> Found value: TN
[2026-03-11 21:25:56] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 21:25:56] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 21:25:56] [INFO]   -> Found value: 38501
[2026-03-11 21:25:56] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-11 21:25:56] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 21:25:56] [INFO]   -> Found value: WILLIAM SMITH
[2026-03-11 21:25:56] [INFO]   -> Set field 'businessName' = "WILLIAM SMITH"
[2026-03-11 21:25:56] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 21:25:56] [INFO]   -> No value found (null or empty)
[2026-03-11 21:25:56] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 21:25:56] [INFO]   -> Found value: 36.19542
[2026-03-11 21:25:56] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1954199999999985948306857608258724212646484375
[2026-03-11 21:25:56] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 21:25:56] [INFO]   -> Found value: -85.57404
[2026-03-11 21:25:56] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.574039999999996553015080280601978302001953125
[2026-03-11 21:25:56] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 21:25:56] [INFO]   -> Found value: 2026-03-11 16:25:01
[2026-03-11 21:25:56] [INFO]   -> Set field 'alarm' = "2026-03-11 16:25:01"
[2026-03-11 21:25:56] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 21:25:56] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:25:56] [INFO]   -> Set field 'dispatched' = "2026-03-11 16:25:49"
[2026-03-11 21:25:56] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 21:25:56] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:25:56] [INFO]   -> Set field 'enroute' = "2026-03-11 16:25:49"
[2026-03-11 21:25:56] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 21:25:56] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:25:56] [INFO]   -> Set field 'onScene' = "2026-03-11 16:25:49"
[2026-03-11 21:25:56] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 21:25:56] [INFO]   -> No value found (null or empty)
[2026-03-11 21:25:56] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 21:25:56] [INFO]   -> Found value: CARLISLE RD/SPENCE LN
[2026-03-11 21:25:56] [INFO]   -> Set field 'incidentLocationCross' = "CARLISLE RD\/SPENCE LN"
[2026-03-11 21:25:56] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 21:25:56] [INFO]   -> Found value: SQ11
[2026-03-11 21:25:56] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-11 21:25:56] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 21:25:56] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:25:56] [INFO]   -> Set field 'timedispatch' = "2026-03-11 16:25:49"
[2026-03-11 21:25:56] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 21:25:56] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:25:56] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 16:25:49"
[2026-03-11 21:25:56] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 21:25:56] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:25:56] [INFO]   -> Set field 'timeonscene' = "2026-03-11 16:25:49"
[2026-03-11 21:25:56] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 21:25:56] [INFO]   -> No value found (null or empty)
[2026-03-11 21:25:56] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 21:25:56] [INFO]   -> No value found (null or empty)
[2026-03-11 21:25:56] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 21:25:56] [INFO]   -> Found value: 20260026843
[2026-03-11 21:25:56] [INFO]   -> Set field 'policeReportNumber' = "20260026843"
[2026-03-11 21:25:56] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 21:25:56] [INFO]   -> No value found (null or empty)
[2026-03-11 21:25:56] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 21:25:56] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 21:25:56] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 21:25:56] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 21:25:56] [INFO]   -> Found value: GLENN
[2026-03-11 21:25:56] [INFO]   -> Set field 'streetName' = "GLENN"
[2026-03-11 21:25:56] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 21:25:56] [INFO]   -> Found value: RD
[2026-03-11 21:25:56] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 21:25:56] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 21:25:56] [INFO]   -> Found value: 1428 GLENN RD
[2026-03-11 21:25:56] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1428 GLENN RD"
[2026-03-11 21:25:56] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-11 21:25:56] [INFO] Concatenating street name and type
[2026-03-11 21:25:56] [INFO]   -> Combined street name: GLENN RD
[2026-03-11 21:25:56] [INFO] Built locationCoordinates from lat/lng: 36.19542,-85.57404
[2026-03-11 21:25:56] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000670","dispatchRunNumber":"2026000670","incidentTypeValue1":"SMOKE ALARM INSTALL","incidentLocationStreetNumber":1428,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"WILLIAM SMITH","nERISIncidentLatitude":36.1954199999999985948306857608258724212646484375,"nERISIncidentLongitude":-85.574039999999996553015080280601978302001953125,"alarm":"2026-03-11 16:25:01","dispatched":"2026-03-11 16:25:49","enroute":"2026-03-11 16:25:49","onScene":"2026-03-11 16:25:49","incidentLocationCross":"CARLISLE RD\/SPENCE LN","cADVehicleID":"SQ11","timedispatch":"2026-03-11 16:25:49","timeenroutetoscene":"2026-03-11 16:25:49","timeonscene":"2026-03-11 16:25:49","policeReportNumber":"20260026843","incidentLocationCity":"COOKEVILLE","streetName":"GLENN RD","incidentAddressTextVersionStreet":"1428 GLENN RD","locationCoordinates":"36.19542,-85.57404"}
[2026-03-11 21:25:56] [INFO] Number of extracted fields: 24
[2026-03-11 21:25:56] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-11 21:25:56] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-11 21:25:56] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-11 21:25:56] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 21:25:56] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 21:25: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-11 21:25: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-11 21:25:56] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 21:25:56] [INFO] Found existing IncidentTypeMapping with ID: 69384adcd7833eaa3
[2026-03-11 21:26:06] [INFO] Created new Dispatches record with ID: 69b1dde53eb999a79
[2026-03-11 21:26:06] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026843_20260311_212556.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026843_20260311_212556.XML
[2026-03-11 21:26:06] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026843_20260311_212556.XML
[2026-03-11 21:26:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026843_20260311_212556_1.XML
[2026-03-11 21:26:06] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026843_20260311_212556_1.XML for user: 68f1466aed072ad4a
[2026-03-11 21:26:06] [INFO] File size: 4799 bytes
[2026-03-11 21:26:06] [INFO] Created FTPFiles record with ID: 69b1ddeec2cbd3384
[2026-03-11 21:26:06] [INFO] About to extract fields from XML. File size: 4799 bytes
[2026-03-11 21:26:06] [INFO] Number of mappings: 28
[2026-03-11 21:26:06] [INFO] Starting XML parsing. Content length: 4799
[2026-03-11 21:26:06] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 21:26:06] [INFO] Processing 28 field mappings
[2026-03-11 21:26:06] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 21:26:06] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 21:26:06] [INFO]   -> Found value: PCFD
[2026-03-11 21:26:06] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-11 21:26:06] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 21:26:06] [INFO]   -> Found value: 2026000670
[2026-03-11 21:26:06] [INFO]   -> Set field 'incidentInternalId' = "2026000670"
[2026-03-11 21:26:06] [INFO]   -> Set field 'dispatchRunNumber' = "2026000670"
[2026-03-11 21:26:06] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 21:26:06] [INFO]   -> Found value: SMOKE ALARM INSTALL
[2026-03-11 21:26:06] [INFO]   -> Set field 'incidentTypeValue1' = "SMOKE ALARM INSTALL"
[2026-03-11 21:26:06] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 21:26:06] [INFO]   -> Found value: 1428
[2026-03-11 21:26:06] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1428
[2026-03-11 21:26:06] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 21:26:06] [INFO]   -> Found value: TN
[2026-03-11 21:26:06] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 21:26:06] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 21:26:06] [INFO]   -> Found value: 38501
[2026-03-11 21:26:06] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-11 21:26:06] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 21:26:06] [INFO]   -> Found value: WILLIAM SMITH
[2026-03-11 21:26:06] [INFO]   -> Set field 'businessName' = "WILLIAM SMITH"
[2026-03-11 21:26:06] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 21:26:06] [INFO]   -> No value found (null or empty)
[2026-03-11 21:26:06] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 21:26:06] [INFO]   -> Found value: 36.19542
[2026-03-11 21:26:06] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1954199999999985948306857608258724212646484375
[2026-03-11 21:26:06] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 21:26:06] [INFO]   -> Found value: -85.57404
[2026-03-11 21:26:06] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.574039999999996553015080280601978302001953125
[2026-03-11 21:26:06] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 21:26:06] [INFO]   -> Found value: 2026-03-11 16:25:01
[2026-03-11 21:26:06] [INFO]   -> Set field 'alarm' = "2026-03-11 16:25:01"
[2026-03-11 21:26:06] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 21:26:06] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:26:06] [INFO]   -> Set field 'dispatched' = "2026-03-11 16:25:49"
[2026-03-11 21:26:06] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 21:26:06] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:26:06] [INFO]   -> Set field 'enroute' = "2026-03-11 16:25:49"
[2026-03-11 21:26:06] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 21:26:06] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:26:06] [INFO]   -> Set field 'onScene' = "2026-03-11 16:25:49"
[2026-03-11 21:26:06] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 21:26:06] [INFO]   -> No value found (null or empty)
[2026-03-11 21:26:06] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 21:26:06] [INFO]   -> Found value: CARLISLE RD/SPENCE LN
[2026-03-11 21:26:06] [INFO]   -> Set field 'incidentLocationCross' = "CARLISLE RD\/SPENCE LN"
[2026-03-11 21:26:06] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 21:26:06] [INFO]   -> Found value: SQ11
[2026-03-11 21:26:06] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-11 21:26:06] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 21:26:06] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:26:06] [INFO]   -> Set field 'timedispatch' = "2026-03-11 16:25:49"
[2026-03-11 21:26:06] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 21:26:06] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:26:06] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 16:25:49"
[2026-03-11 21:26:06] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 21:26:06] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:26:06] [INFO]   -> Set field 'timeonscene' = "2026-03-11 16:25:49"
[2026-03-11 21:26:06] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 21:26:06] [INFO]   -> No value found (null or empty)
[2026-03-11 21:26:06] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 21:26:06] [INFO]   -> No value found (null or empty)
[2026-03-11 21:26:06] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 21:26:06] [INFO]   -> Found value: 20260026843
[2026-03-11 21:26:06] [INFO]   -> Set field 'policeReportNumber' = "20260026843"
[2026-03-11 21:26:06] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 21:26:06] [INFO]   -> No value found (null or empty)
[2026-03-11 21:26:06] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 21:26:06] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 21:26:06] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 21:26:06] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 21:26:06] [INFO]   -> Found value: GLENN
[2026-03-11 21:26:06] [INFO]   -> Set field 'streetName' = "GLENN"
[2026-03-11 21:26:06] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 21:26:06] [INFO]   -> Found value: RD
[2026-03-11 21:26:06] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 21:26:06] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 21:26:06] [INFO]   -> Found value: 1428 GLENN RD
[2026-03-11 21:26:06] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1428 GLENN RD"
[2026-03-11 21:26:06] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-11 21:26:06] [INFO] Concatenating street name and type
[2026-03-11 21:26:06] [INFO]   -> Combined street name: GLENN RD
[2026-03-11 21:26:06] [INFO] Built locationCoordinates from lat/lng: 36.19542,-85.57404
[2026-03-11 21:26:06] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000670","dispatchRunNumber":"2026000670","incidentTypeValue1":"SMOKE ALARM INSTALL","incidentLocationStreetNumber":1428,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"WILLIAM SMITH","nERISIncidentLatitude":36.1954199999999985948306857608258724212646484375,"nERISIncidentLongitude":-85.574039999999996553015080280601978302001953125,"alarm":"2026-03-11 16:25:01","dispatched":"2026-03-11 16:25:49","enroute":"2026-03-11 16:25:49","onScene":"2026-03-11 16:25:49","incidentLocationCross":"CARLISLE RD\/SPENCE LN","cADVehicleID":"SQ11","timedispatch":"2026-03-11 16:25:49","timeenroutetoscene":"2026-03-11 16:25:49","timeonscene":"2026-03-11 16:25:49","policeReportNumber":"20260026843","incidentLocationCity":"COOKEVILLE","streetName":"GLENN RD","incidentAddressTextVersionStreet":"1428 GLENN RD","locationCoordinates":"36.19542,-85.57404"}
[2026-03-11 21:26:06] [INFO] Number of extracted fields: 24
[2026-03-11 21:26:06] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-11 21:26:06] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-11 21:26:06] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-11 21:26:06] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 21:26:06] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 21:26:07] [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-11 21:26:07] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 21:26:07] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 21:26:07] [INFO] Found existing IncidentTypeMapping with ID: 69384adcd7833eaa3
[2026-03-11 21:26:07] [INFO] Found existing Dispatch with cADNumber '2026000670', ID: 69b1dde53eb999a79 - will update instead of create
[2026-03-11 21:26:07] [INFO] Updated existing Dispatches record with ID: 69b1dde53eb999a79
[2026-03-11 21:26:07] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026843_20260311_212556_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026843_20260311_212556_1.XML
[2026-03-11 21:26:07] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026843_20260311_212556_1.XML
[2026-03-11 21:26:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026843_20260311_212556_2.XML
[2026-03-11 21:26:07] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026843_20260311_212556_2.XML for user: 68f1466aed072ad4a
[2026-03-11 21:26:07] [INFO] File size: 4799 bytes
[2026-03-11 21:26:08] [INFO] Created FTPFiles record with ID: 69b1ddf014c5d8dab
[2026-03-11 21:26:08] [INFO] About to extract fields from XML. File size: 4799 bytes
[2026-03-11 21:26:08] [INFO] Number of mappings: 28
[2026-03-11 21:26:08] [INFO] Starting XML parsing. Content length: 4799
[2026-03-11 21:26:08] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 21:26:08] [INFO] Processing 28 field mappings
[2026-03-11 21:26:08] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 21:26:08] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 21:26:08] [INFO]   -> Found value: PCFD
[2026-03-11 21:26:08] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-11 21:26:08] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 21:26:08] [INFO]   -> Found value: 2026000670
[2026-03-11 21:26:08] [INFO]   -> Set field 'incidentInternalId' = "2026000670"
[2026-03-11 21:26:08] [INFO]   -> Set field 'dispatchRunNumber' = "2026000670"
[2026-03-11 21:26:08] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 21:26:08] [INFO]   -> Found value: SMOKE ALARM INSTALL
[2026-03-11 21:26:08] [INFO]   -> Set field 'incidentTypeValue1' = "SMOKE ALARM INSTALL"
[2026-03-11 21:26:08] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 21:26:08] [INFO]   -> Found value: 1428
[2026-03-11 21:26:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1428
[2026-03-11 21:26:08] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 21:26:08] [INFO]   -> Found value: TN
[2026-03-11 21:26:08] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 21:26:08] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 21:26:08] [INFO]   -> Found value: 38501
[2026-03-11 21:26:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-11 21:26:08] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 21:26:08] [INFO]   -> Found value: WILLIAM SMITH
[2026-03-11 21:26:08] [INFO]   -> Set field 'businessName' = "WILLIAM SMITH"
[2026-03-11 21:26:08] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 21:26:08] [INFO]   -> No value found (null or empty)
[2026-03-11 21:26:08] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 21:26:08] [INFO]   -> Found value: 36.19542
[2026-03-11 21:26:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1954199999999985948306857608258724212646484375
[2026-03-11 21:26:08] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 21:26:08] [INFO]   -> Found value: -85.57404
[2026-03-11 21:26:08] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.574039999999996553015080280601978302001953125
[2026-03-11 21:26:08] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 21:26:08] [INFO]   -> Found value: 2026-03-11 16:25:01
[2026-03-11 21:26:08] [INFO]   -> Set field 'alarm' = "2026-03-11 16:25:01"
[2026-03-11 21:26:08] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 21:26:08] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:26:08] [INFO]   -> Set field 'dispatched' = "2026-03-11 16:25:49"
[2026-03-11 21:26:08] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 21:26:08] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:26:08] [INFO]   -> Set field 'enroute' = "2026-03-11 16:25:49"
[2026-03-11 21:26:08] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 21:26:08] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:26:08] [INFO]   -> Set field 'onScene' = "2026-03-11 16:25:49"
[2026-03-11 21:26:08] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 21:26:08] [INFO]   -> No value found (null or empty)
[2026-03-11 21:26:08] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 21:26:08] [INFO]   -> Found value: CARLISLE RD/SPENCE LN
[2026-03-11 21:26:08] [INFO]   -> Set field 'incidentLocationCross' = "CARLISLE RD\/SPENCE LN"
[2026-03-11 21:26:08] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 21:26:08] [INFO]   -> Found value: SQ11
[2026-03-11 21:26:08] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-11 21:26:08] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 21:26:08] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:26:08] [INFO]   -> Set field 'timedispatch' = "2026-03-11 16:25:49"
[2026-03-11 21:26:08] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 21:26:08] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:26:08] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 16:25:49"
[2026-03-11 21:26:08] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 21:26:08] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:26:08] [INFO]   -> Set field 'timeonscene' = "2026-03-11 16:25:49"
[2026-03-11 21:26:08] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 21:26:08] [INFO]   -> No value found (null or empty)
[2026-03-11 21:26:08] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 21:26:08] [INFO]   -> No value found (null or empty)
[2026-03-11 21:26:08] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 21:26:08] [INFO]   -> Found value: 20260026843
[2026-03-11 21:26:08] [INFO]   -> Set field 'policeReportNumber' = "20260026843"
[2026-03-11 21:26:08] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 21:26:08] [INFO]   -> No value found (null or empty)
[2026-03-11 21:26:08] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 21:26:08] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 21:26:08] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 21:26:08] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 21:26:08] [INFO]   -> Found value: GLENN
[2026-03-11 21:26:08] [INFO]   -> Set field 'streetName' = "GLENN"
[2026-03-11 21:26:08] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 21:26:08] [INFO]   -> Found value: RD
[2026-03-11 21:26:08] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 21:26:08] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 21:26:08] [INFO]   -> Found value: 1428 GLENN RD
[2026-03-11 21:26:08] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1428 GLENN RD"
[2026-03-11 21:26:08] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-11 21:26:08] [INFO] Concatenating street name and type
[2026-03-11 21:26:08] [INFO]   -> Combined street name: GLENN RD
[2026-03-11 21:26:08] [INFO] Built locationCoordinates from lat/lng: 36.19542,-85.57404
[2026-03-11 21:26:08] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000670","dispatchRunNumber":"2026000670","incidentTypeValue1":"SMOKE ALARM INSTALL","incidentLocationStreetNumber":1428,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"WILLIAM SMITH","nERISIncidentLatitude":36.1954199999999985948306857608258724212646484375,"nERISIncidentLongitude":-85.574039999999996553015080280601978302001953125,"alarm":"2026-03-11 16:25:01","dispatched":"2026-03-11 16:25:49","enroute":"2026-03-11 16:25:49","onScene":"2026-03-11 16:25:49","incidentLocationCross":"CARLISLE RD\/SPENCE LN","cADVehicleID":"SQ11","timedispatch":"2026-03-11 16:25:49","timeenroutetoscene":"2026-03-11 16:25:49","timeonscene":"2026-03-11 16:25:49","policeReportNumber":"20260026843","incidentLocationCity":"COOKEVILLE","streetName":"GLENN RD","incidentAddressTextVersionStreet":"1428 GLENN RD","locationCoordinates":"36.19542,-85.57404"}
[2026-03-11 21:26:08] [INFO] Number of extracted fields: 24
[2026-03-11 21:26:08] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-11 21:26:08] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-11 21:26:08] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-11 21:26:08] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 21:26:08] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 21:26:08] [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-11 21:26:08] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 21:26:08] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 21:26:08] [INFO] Found existing IncidentTypeMapping with ID: 69384adcd7833eaa3
[2026-03-11 21:26:08] [INFO] Found existing Dispatch with cADNumber '2026000670', ID: 69b1dde53eb999a79 - will update instead of create
[2026-03-11 21:26:09] [INFO] Updated existing Dispatches record with ID: 69b1dde53eb999a79
[2026-03-11 21:26:09] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026843_20260311_212556_2.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026843_20260311_212556_2.XML
[2026-03-11 21:26:09] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026843_20260311_212556_2.XML
[2026-03-11 21:27:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026834_20260311_212736.XML
[2026-03-11 21:27:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026834_20260311_212736.XML for user: 68f1466aed072ad4a
[2026-03-11 21:27:36] [INFO] File size: 5497 bytes
[2026-03-11 21:27:36] [INFO] Created FTPFiles record with ID: 69b1de48bbd7ea34e
[2026-03-11 21:27:36] [INFO] About to extract fields from XML. File size: 5497 bytes
[2026-03-11 21:27:36] [INFO] Number of mappings: 28
[2026-03-11 21:27:36] [INFO] Starting XML parsing. Content length: 5497
[2026-03-11 21:27:36] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 21:27:36] [INFO] Processing 28 field mappings
[2026-03-11 21:27:36] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 21:27:36] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 21:27:36] [INFO]   -> Found value: PCFD
[2026-03-11 21:27:36] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-11 21:27:36] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 21:27:36] [INFO]   -> Found value: 2026000669
[2026-03-11 21:27:36] [INFO]   -> Set field 'incidentInternalId' = "2026000669"
[2026-03-11 21:27:36] [INFO]   -> Set field 'dispatchRunNumber' = "2026000669"
[2026-03-11 21:27:36] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 21:27:36] [INFO]   -> Found value: OVERDOSE
[2026-03-11 21:27:36] [INFO]   -> Set field 'incidentTypeValue1' = "OVERDOSE"
[2026-03-11 21:27:36] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 21:27:36] [INFO]   -> Found value: 1134
[2026-03-11 21:27:36] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1134
[2026-03-11 21:27:36] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 21:27:36] [INFO]   -> Found value: TN
[2026-03-11 21:27:36] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 21:27:36] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 21:27:36] [INFO]   -> Found value: 38501
[2026-03-11 21:27:36] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-11 21:27:36] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 21:27:36] [INFO]   -> Found value: MILLER BRENDA
[2026-03-11 21:27:36] [INFO]   -> Set field 'businessName' = "MILLER BRENDA"
[2026-03-11 21:27:36] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 21:27:36] [INFO]   -> No value found (null or empty)
[2026-03-11 21:27:36] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 21:27:36] [INFO]   -> Found value: 36.15885
[2026-03-11 21:27:36] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.158850000000001045918907038867473602294921875
[2026-03-11 21:27:36] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 21:27:36] [INFO]   -> Found value: -85.57661
[2026-03-11 21:27:36] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5766100000000022873791749589145183563232421875
[2026-03-11 21:27:36] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 21:27:36] [INFO]   -> Found value: 2026-03-11 16:07:15
[2026-03-11 21:27:36] [INFO]   -> Set field 'alarm' = "2026-03-11 16:07:15"
[2026-03-11 21:27:36] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 21:27:36] [INFO]   -> Found value: 2026-03-11 16:08:28
[2026-03-11 21:27:36] [INFO]   -> Set field 'dispatched' = "2026-03-11 16:08:28"
[2026-03-11 21:27:36] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 21:27:36] [INFO]   -> No value found (null or empty)
[2026-03-11 21:27:36] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 21:27:36] [INFO]   -> No value found (null or empty)
[2026-03-11 21:27:36] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 21:27:36] [INFO]   -> Found value: 2026-03-11 16:27:24
[2026-03-11 21:27:36] [INFO]   -> Set field 'cleared' = "2026-03-11 16:27:24"
[2026-03-11 21:27:36] [INFO]   -> Set field 'inService' = "2026-03-11 16:27:24"
[2026-03-11 21:27:36] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 21:27:36] [INFO]   -> Found value: /BUFFALO VALLEY RD
[2026-03-11 21:27:36] [INFO]   -> Set field 'incidentLocationCross' = "\/BUFFALO VALLEY RD"
[2026-03-11 21:27:36] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 21:27:36] [INFO]   -> Found value: PCFR
[2026-03-11 21:27:36] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-11 21:27:36] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 21:27:36] [INFO]   -> Found value: 2026-03-11 16:08:28
[2026-03-11 21:27:36] [INFO]   -> Set field 'timedispatch' = "2026-03-11 16:08:28"
[2026-03-11 21:27:36] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 21:27:36] [INFO]   -> No value found (null or empty)
[2026-03-11 21:27:36] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 21:27:36] [INFO]   -> No value found (null or empty)
[2026-03-11 21:27:36] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 21:27:36] [INFO]   -> Found value: 2026-03-11 16:27:24
[2026-03-11 21:27:36] [INFO]   -> Set field 'timeunitclear' = "2026-03-11 16:27:24"
[2026-03-11 21:27:36] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 21:27:36] [INFO]   -> No value found (null or empty)
[2026-03-11 21:27:36] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 21:27:36] [INFO]   -> Found value: 20260026834
[2026-03-11 21:27:36] [INFO]   -> Set field 'policeReportNumber' = "20260026834"
[2026-03-11 21:27:36] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 21:27:36] [INFO]   -> Found value: [RESC] UDTS: CARD SEEN BY 911  [03/11/26 16:15:56 KMORGAN2] [LAW] {P3368} CONTACT / SUBJECT IS AWAKE...
[2026-03-11 21:27:36] [INFO]   -> Set field 'dispatchNotes' = "[RESC] UDTS: CARD SEEN BY 911  [03\/11\/26 16:15:56 KMORGAN2] [LAW] {P3368} CONTACT \/ SUBJECT IS AWAKE \/ CLEAR FOR EMS  [03\/11\/26 16:15:33 SBALLARD] [EMS] POSS ACCD OVERDOSE  [03\/11\/26 16:11:00 KMORGAN2] [EMS] STAGE  [03\/11\/26 16:10:49 KMORGAN2] [EMS] BRENDA MILLER  10\/18\/1968  [03\/11\/26 16:10:12 KELLIS] [EMS] HE THINKS HIS WIFE&quot;S DR HAS HER DOSE TO HIGH  WILL NOT STAY AWAY   SHE TAKE HYDROS  [03\/11\/26 16:08:25 KELLIS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 16:07:28 SBALLARD] Event spawned from OVERDOSE.  [03\/11\/2026 16:07:15 KELLIS]"
[2026-03-11 21:27:36] [INFO]   -> Set field 'cADLog' = "[RESC] UDTS: CARD SEEN BY 911  [03\/11\/26 16:15:56 KMORGAN2] [LAW] {P3368} CONTACT \/ SUBJECT IS AWAKE \/ CLEAR FOR EMS  [03\/11\/26 16:15:33 SBALLARD] [EMS] POSS ACCD OVERDOSE  [03\/11\/26 16:11:00 KMORGAN2] [EMS] STAGE  [03\/11\/26 16:10:49 KMORGAN2] [EMS] BRENDA MILLER  10\/18\/1968  [03\/11\/26 16:10:12 KELLIS] [EMS] HE THINKS HIS WIFE&quot;S DR HAS HER DOSE TO HIGH  WILL NOT STAY AWAY   SHE TAKE HYDROS  [03\/11\/26 16:08:25 KELLIS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 16:07:28 SBALLARD] Event spawned from OVERDOSE.  [03\/11\/2026 16:07:15 KELLIS]"
[2026-03-11 21:27:36] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 21:27:36] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 21:27:36] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 21:27:36] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 21:27:36] [INFO]   -> Found value: ROSE GARDEN
[2026-03-11 21:27:36] [INFO]   -> Set field 'streetName' = "ROSE GARDEN"
[2026-03-11 21:27:36] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 21:27:36] [INFO]   -> Found value: LN
[2026-03-11 21:27:36] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-11 21:27:36] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 21:27:36] [INFO]   -> Found value: 1134 ROSE GARDEN LN
[2026-03-11 21:27:36] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1134 ROSE GARDEN LN"
[2026-03-11 21:27:36] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-03-11 21:27:36] [INFO] Concatenating street name and type
[2026-03-11 21:27:36] [INFO]   -> Combined street name: ROSE GARDEN LN
[2026-03-11 21:27:36] [INFO] Built locationCoordinates from lat/lng: 36.15885,-85.57661
[2026-03-11 21:27:36] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000669","dispatchRunNumber":"2026000669","incidentTypeValue1":"OVERDOSE","incidentLocationStreetNumber":1134,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"MILLER BRENDA","nERISIncidentLatitude":36.158850000000001045918907038867473602294921875,"nERISIncidentLongitude":-85.5766100000000022873791749589145183563232421875,"alarm":"2026-03-11 16:07:15","dispatched":"2026-03-11 16:08:28","cleared":"2026-03-11 16:27:24","inService":"2026-03-11 16:27:24","incidentLocationCross":"\/BUFFALO VALLEY RD","cADVehicleID":"PCFR","timedispatch":"2026-03-11 16:08:28","timeunitclear":"2026-03-11 16:27:24","policeReportNumber":"20260026834","dispatchNotes":"[RESC] UDTS: CARD SEEN BY 911  [03\/11\/26 16:15:56 KMORGAN2] [LAW] {P3368} CONTACT \/ SUBJECT IS AWAKE \/ CLEAR FOR EMS  [03\/11\/26 16:15:33 SBALLARD] [EMS] POSS ACCD OVERDOSE  [03\/11\/26 16:11:00 KMORGAN2] [EMS] STAGE  [03\/11\/26 16:10:49 KMORGAN2] [EMS] BRENDA MILLER  10\/18\/1968  [03\/11\/26 16:10:12 KELLIS] [EMS] HE THINKS HIS WIFE&quot;S DR HAS HER DOSE TO HIGH  WILL NOT STAY AWAY   SHE TAKE HYDROS  [03\/11\/26 16:08:25 KELLIS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 16:07:28 SBALLARD] Event spawned from OVERDOSE.  [03\/11\/2026 16:07:15 KELLIS]","cADLog":"[RESC] UDTS: CARD SEEN BY 911  [03\/11\/26 16:15:56 KMORGAN2] [LAW] {P3368} CONTACT \/ SUBJECT IS AWAKE \/ CLEAR FOR EMS  [03\/11\/26 16:15:33 SBALLARD] [EMS] POSS ACCD OVERDOSE  [03\/11\/26 16:11:00 KMORGAN2] [EMS] STAGE  [03\/11\/26 16:10:49 KMORGAN2] [EMS] BRENDA MILLER  10\/18\/1968  [03\/11\/26 16:10:12 KELLIS] [EMS] HE THINKS HIS WIFE&quot;S DR HAS HER DOSE TO HIGH  WILL NOT STAY AWAY   SHE TAKE HYDROS  [03\/11\/26 16:08:25 KELLIS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 16:07:28 SBALLARD] Event spawned from OVERDOSE.  [03\/11\/2026 16:07:15 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"ROSE GARDEN LN","incidentAddressTextVersionStreet":"1134 ROSE GARDEN LN","locationCoordinates":"36.15885,-85.57661"}
[2026-03-11 21:27:36] [INFO] Number of extracted fields: 25
[2026-03-11 21:27:36] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-11 21:27:36] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-11 21:27:36] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-11 21:27:36] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 21:27:36] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 21:27: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-11 21:27: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-11 21:27:37] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 21:27:37] [INFO] Found existing IncidentTypeMapping with ID: 6951b92ddedb2f2fc
[2026-03-11 21:27:37] [INFO] Found existing Dispatch with cADNumber '2026000669', ID: 69b1d9d544feabbd0 - will update instead of create
[2026-03-11 21:27:37] [INFO] Updated existing Dispatches record with ID: 69b1d9d544feabbd0
[2026-03-11 21:27:37] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026834_20260311_212736.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026834_20260311_212736.XML
[2026-03-11 21:27:37] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026834_20260311_212736.XML
[2026-03-11 21:27:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026834_20260311_212737.XML
[2026-03-11 21:27:37] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026834_20260311_212737.XML for user: 68f1466aed072ad4a
[2026-03-11 21:27:37] [INFO] File size: 5497 bytes
[2026-03-11 21:27:38] [INFO] Created FTPFiles record with ID: 69b1de4a0bcc70133
[2026-03-11 21:27:38] [INFO] About to extract fields from XML. File size: 5497 bytes
[2026-03-11 21:27:38] [INFO] Number of mappings: 28
[2026-03-11 21:27:38] [INFO] Starting XML parsing. Content length: 5497
[2026-03-11 21:27:38] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 21:27:38] [INFO] Processing 28 field mappings
[2026-03-11 21:27:38] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 21:27:38] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 21:27:38] [INFO]   -> Found value: PCFD
[2026-03-11 21:27:38] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-11 21:27:38] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 21:27:38] [INFO]   -> Found value: 2026000669
[2026-03-11 21:27:38] [INFO]   -> Set field 'incidentInternalId' = "2026000669"
[2026-03-11 21:27:38] [INFO]   -> Set field 'dispatchRunNumber' = "2026000669"
[2026-03-11 21:27:38] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 21:27:38] [INFO]   -> Found value: OVERDOSE
[2026-03-11 21:27:38] [INFO]   -> Set field 'incidentTypeValue1' = "OVERDOSE"
[2026-03-11 21:27:38] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 21:27:38] [INFO]   -> Found value: 1134
[2026-03-11 21:27:38] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1134
[2026-03-11 21:27:38] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 21:27:38] [INFO]   -> Found value: TN
[2026-03-11 21:27:38] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 21:27:38] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 21:27:38] [INFO]   -> Found value: 38501
[2026-03-11 21:27:38] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-11 21:27:38] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 21:27:38] [INFO]   -> Found value: MILLER BRENDA
[2026-03-11 21:27:38] [INFO]   -> Set field 'businessName' = "MILLER BRENDA"
[2026-03-11 21:27:38] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 21:27:38] [INFO]   -> No value found (null or empty)
[2026-03-11 21:27:38] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 21:27:38] [INFO]   -> Found value: 36.15885
[2026-03-11 21:27:38] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.158850000000001045918907038867473602294921875
[2026-03-11 21:27:38] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 21:27:38] [INFO]   -> Found value: -85.57661
[2026-03-11 21:27:38] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5766100000000022873791749589145183563232421875
[2026-03-11 21:27:38] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 21:27:38] [INFO]   -> Found value: 2026-03-11 16:07:15
[2026-03-11 21:27:38] [INFO]   -> Set field 'alarm' = "2026-03-11 16:07:15"
[2026-03-11 21:27:38] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 21:27:38] [INFO]   -> Found value: 2026-03-11 16:08:28
[2026-03-11 21:27:38] [INFO]   -> Set field 'dispatched' = "2026-03-11 16:08:28"
[2026-03-11 21:27:38] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 21:27:38] [INFO]   -> No value found (null or empty)
[2026-03-11 21:27:38] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 21:27:38] [INFO]   -> No value found (null or empty)
[2026-03-11 21:27:38] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 21:27:38] [INFO]   -> Found value: 2026-03-11 16:27:24
[2026-03-11 21:27:38] [INFO]   -> Set field 'cleared' = "2026-03-11 16:27:24"
[2026-03-11 21:27:38] [INFO]   -> Set field 'inService' = "2026-03-11 16:27:24"
[2026-03-11 21:27:38] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 21:27:38] [INFO]   -> Found value: /BUFFALO VALLEY RD
[2026-03-11 21:27:38] [INFO]   -> Set field 'incidentLocationCross' = "\/BUFFALO VALLEY RD"
[2026-03-11 21:27:38] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 21:27:38] [INFO]   -> Found value: PCFR
[2026-03-11 21:27:38] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-11 21:27:38] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 21:27:38] [INFO]   -> Found value: 2026-03-11 16:08:28
[2026-03-11 21:27:38] [INFO]   -> Set field 'timedispatch' = "2026-03-11 16:08:28"
[2026-03-11 21:27:38] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 21:27:38] [INFO]   -> No value found (null or empty)
[2026-03-11 21:27:38] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 21:27:38] [INFO]   -> No value found (null or empty)
[2026-03-11 21:27:38] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 21:27:38] [INFO]   -> Found value: 2026-03-11 16:27:24
[2026-03-11 21:27:38] [INFO]   -> Set field 'timeunitclear' = "2026-03-11 16:27:24"
[2026-03-11 21:27:38] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 21:27:38] [INFO]   -> No value found (null or empty)
[2026-03-11 21:27:38] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 21:27:38] [INFO]   -> Found value: 20260026834
[2026-03-11 21:27:38] [INFO]   -> Set field 'policeReportNumber' = "20260026834"
[2026-03-11 21:27:38] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 21:27:38] [INFO]   -> Found value: [RESC] UDTS: CARD SEEN BY 911  [03/11/26 16:15:56 KMORGAN2] [LAW] {P3368} CONTACT / SUBJECT IS AWAKE...
[2026-03-11 21:27:38] [INFO]   -> Set field 'dispatchNotes' = "[RESC] UDTS: CARD SEEN BY 911  [03\/11\/26 16:15:56 KMORGAN2] [LAW] {P3368} CONTACT \/ SUBJECT IS AWAKE \/ CLEAR FOR EMS  [03\/11\/26 16:15:33 SBALLARD] [EMS] POSS ACCD OVERDOSE  [03\/11\/26 16:11:00 KMORGAN2] [EMS] STAGE  [03\/11\/26 16:10:49 KMORGAN2] [EMS] BRENDA MILLER  10\/18\/1968  [03\/11\/26 16:10:12 KELLIS] [EMS] HE THINKS HIS WIFE&quot;S DR HAS HER DOSE TO HIGH  WILL NOT STAY AWAY   SHE TAKE HYDROS  [03\/11\/26 16:08:25 KELLIS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 16:07:28 SBALLARD] Event spawned from OVERDOSE.  [03\/11\/2026 16:07:15 KELLIS]"
[2026-03-11 21:27:38] [INFO]   -> Set field 'cADLog' = "[RESC] UDTS: CARD SEEN BY 911  [03\/11\/26 16:15:56 KMORGAN2] [LAW] {P3368} CONTACT \/ SUBJECT IS AWAKE \/ CLEAR FOR EMS  [03\/11\/26 16:15:33 SBALLARD] [EMS] POSS ACCD OVERDOSE  [03\/11\/26 16:11:00 KMORGAN2] [EMS] STAGE  [03\/11\/26 16:10:49 KMORGAN2] [EMS] BRENDA MILLER  10\/18\/1968  [03\/11\/26 16:10:12 KELLIS] [EMS] HE THINKS HIS WIFE&quot;S DR HAS HER DOSE TO HIGH  WILL NOT STAY AWAY   SHE TAKE HYDROS  [03\/11\/26 16:08:25 KELLIS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 16:07:28 SBALLARD] Event spawned from OVERDOSE.  [03\/11\/2026 16:07:15 KELLIS]"
[2026-03-11 21:27:38] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 21:27:38] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 21:27:38] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 21:27:38] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 21:27:38] [INFO]   -> Found value: ROSE GARDEN
[2026-03-11 21:27:38] [INFO]   -> Set field 'streetName' = "ROSE GARDEN"
[2026-03-11 21:27:38] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 21:27:38] [INFO]   -> Found value: LN
[2026-03-11 21:27:38] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-11 21:27:38] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 21:27:38] [INFO]   -> Found value: 1134 ROSE GARDEN LN
[2026-03-11 21:27:38] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1134 ROSE GARDEN LN"
[2026-03-11 21:27:38] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-03-11 21:27:38] [INFO] Concatenating street name and type
[2026-03-11 21:27:38] [INFO]   -> Combined street name: ROSE GARDEN LN
[2026-03-11 21:27:38] [INFO] Built locationCoordinates from lat/lng: 36.15885,-85.57661
[2026-03-11 21:27:38] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000669","dispatchRunNumber":"2026000669","incidentTypeValue1":"OVERDOSE","incidentLocationStreetNumber":1134,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"MILLER BRENDA","nERISIncidentLatitude":36.158850000000001045918907038867473602294921875,"nERISIncidentLongitude":-85.5766100000000022873791749589145183563232421875,"alarm":"2026-03-11 16:07:15","dispatched":"2026-03-11 16:08:28","cleared":"2026-03-11 16:27:24","inService":"2026-03-11 16:27:24","incidentLocationCross":"\/BUFFALO VALLEY RD","cADVehicleID":"PCFR","timedispatch":"2026-03-11 16:08:28","timeunitclear":"2026-03-11 16:27:24","policeReportNumber":"20260026834","dispatchNotes":"[RESC] UDTS: CARD SEEN BY 911  [03\/11\/26 16:15:56 KMORGAN2] [LAW] {P3368} CONTACT \/ SUBJECT IS AWAKE \/ CLEAR FOR EMS  [03\/11\/26 16:15:33 SBALLARD] [EMS] POSS ACCD OVERDOSE  [03\/11\/26 16:11:00 KMORGAN2] [EMS] STAGE  [03\/11\/26 16:10:49 KMORGAN2] [EMS] BRENDA MILLER  10\/18\/1968  [03\/11\/26 16:10:12 KELLIS] [EMS] HE THINKS HIS WIFE&quot;S DR HAS HER DOSE TO HIGH  WILL NOT STAY AWAY   SHE TAKE HYDROS  [03\/11\/26 16:08:25 KELLIS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 16:07:28 SBALLARD] Event spawned from OVERDOSE.  [03\/11\/2026 16:07:15 KELLIS]","cADLog":"[RESC] UDTS: CARD SEEN BY 911  [03\/11\/26 16:15:56 KMORGAN2] [LAW] {P3368} CONTACT \/ SUBJECT IS AWAKE \/ CLEAR FOR EMS  [03\/11\/26 16:15:33 SBALLARD] [EMS] POSS ACCD OVERDOSE  [03\/11\/26 16:11:00 KMORGAN2] [EMS] STAGE  [03\/11\/26 16:10:49 KMORGAN2] [EMS] BRENDA MILLER  10\/18\/1968  [03\/11\/26 16:10:12 KELLIS] [EMS] HE THINKS HIS WIFE&quot;S DR HAS HER DOSE TO HIGH  WILL NOT STAY AWAY   SHE TAKE HYDROS  [03\/11\/26 16:08:25 KELLIS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 16:07:28 SBALLARD] Event spawned from OVERDOSE.  [03\/11\/2026 16:07:15 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"ROSE GARDEN LN","incidentAddressTextVersionStreet":"1134 ROSE GARDEN LN","locationCoordinates":"36.15885,-85.57661"}
[2026-03-11 21:27:38] [INFO] Number of extracted fields: 25
[2026-03-11 21:27:38] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-11 21:27:38] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-11 21:27:38] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-11 21:27:38] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 21:27:38] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 21:27: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-11 21:27: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-11 21:27:38] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 21:27:38] [INFO] Found existing IncidentTypeMapping with ID: 6951b92ddedb2f2fc
[2026-03-11 21:27:38] [INFO] Found existing Dispatch with cADNumber '2026000669', ID: 69b1d9d544feabbd0 - will update instead of create
[2026-03-11 21:27:39] [INFO] Updated existing Dispatches record with ID: 69b1d9d544feabbd0
[2026-03-11 21:27:39] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026834_20260311_212737.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026834_20260311_212737.XML
[2026-03-11 21:27:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026834_20260311_212737.XML
[2026-03-11 21:27:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026834_20260311_212738.XML
[2026-03-11 21:27:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026834_20260311_212738.XML for user: 68f1466aed072ad4a
[2026-03-11 21:27:39] [INFO] File size: 5497 bytes
[2026-03-11 21:27:39] [INFO] Created FTPFiles record with ID: 69b1de4b69e720430
[2026-03-11 21:27:39] [INFO] About to extract fields from XML. File size: 5497 bytes
[2026-03-11 21:27:39] [INFO] Number of mappings: 28
[2026-03-11 21:27:39] [INFO] Starting XML parsing. Content length: 5497
[2026-03-11 21:27:39] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 21:27:39] [INFO] Processing 28 field mappings
[2026-03-11 21:27:39] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 21:27:39] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 21:27:39] [INFO]   -> Found value: PCFD
[2026-03-11 21:27:39] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-11 21:27:39] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 21:27:39] [INFO]   -> Found value: 2026000669
[2026-03-11 21:27:39] [INFO]   -> Set field 'incidentInternalId' = "2026000669"
[2026-03-11 21:27:39] [INFO]   -> Set field 'dispatchRunNumber' = "2026000669"
[2026-03-11 21:27:39] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 21:27:39] [INFO]   -> Found value: OVERDOSE
[2026-03-11 21:27:39] [INFO]   -> Set field 'incidentTypeValue1' = "OVERDOSE"
[2026-03-11 21:27:39] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 21:27:39] [INFO]   -> Found value: 1134
[2026-03-11 21:27:39] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1134
[2026-03-11 21:27:39] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 21:27:39] [INFO]   -> Found value: TN
[2026-03-11 21:27:39] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 21:27:39] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 21:27:39] [INFO]   -> Found value: 38501
[2026-03-11 21:27:39] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-11 21:27:39] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 21:27:39] [INFO]   -> Found value: MILLER BRENDA
[2026-03-11 21:27:39] [INFO]   -> Set field 'businessName' = "MILLER BRENDA"
[2026-03-11 21:27:39] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 21:27:39] [INFO]   -> No value found (null or empty)
[2026-03-11 21:27:39] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 21:27:39] [INFO]   -> Found value: 36.15885
[2026-03-11 21:27:39] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.158850000000001045918907038867473602294921875
[2026-03-11 21:27:39] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 21:27:39] [INFO]   -> Found value: -85.57661
[2026-03-11 21:27:39] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5766100000000022873791749589145183563232421875
[2026-03-11 21:27:39] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 21:27:39] [INFO]   -> Found value: 2026-03-11 16:07:15
[2026-03-11 21:27:39] [INFO]   -> Set field 'alarm' = "2026-03-11 16:07:15"
[2026-03-11 21:27:39] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 21:27:39] [INFO]   -> Found value: 2026-03-11 16:08:28
[2026-03-11 21:27:39] [INFO]   -> Set field 'dispatched' = "2026-03-11 16:08:28"
[2026-03-11 21:27:39] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 21:27:39] [INFO]   -> No value found (null or empty)
[2026-03-11 21:27:39] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 21:27:39] [INFO]   -> No value found (null or empty)
[2026-03-11 21:27:39] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 21:27:39] [INFO]   -> Found value: 2026-03-11 16:27:24
[2026-03-11 21:27:39] [INFO]   -> Set field 'cleared' = "2026-03-11 16:27:24"
[2026-03-11 21:27:39] [INFO]   -> Set field 'inService' = "2026-03-11 16:27:24"
[2026-03-11 21:27:39] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 21:27:39] [INFO]   -> Found value: /BUFFALO VALLEY RD
[2026-03-11 21:27:39] [INFO]   -> Set field 'incidentLocationCross' = "\/BUFFALO VALLEY RD"
[2026-03-11 21:27:39] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 21:27:39] [INFO]   -> Found value: PCFR
[2026-03-11 21:27:39] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-11 21:27:39] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 21:27:39] [INFO]   -> Found value: 2026-03-11 16:08:28
[2026-03-11 21:27:39] [INFO]   -> Set field 'timedispatch' = "2026-03-11 16:08:28"
[2026-03-11 21:27:39] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 21:27:39] [INFO]   -> No value found (null or empty)
[2026-03-11 21:27:39] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 21:27:39] [INFO]   -> No value found (null or empty)
[2026-03-11 21:27:39] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 21:27:39] [INFO]   -> Found value: 2026-03-11 16:27:24
[2026-03-11 21:27:39] [INFO]   -> Set field 'timeunitclear' = "2026-03-11 16:27:24"
[2026-03-11 21:27:39] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 21:27:39] [INFO]   -> No value found (null or empty)
[2026-03-11 21:27:39] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 21:27:39] [INFO]   -> Found value: 20260026834
[2026-03-11 21:27:39] [INFO]   -> Set field 'policeReportNumber' = "20260026834"
[2026-03-11 21:27:39] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 21:27:39] [INFO]   -> Found value: [RESC] UDTS: CARD SEEN BY 911  [03/11/26 16:15:56 KMORGAN2] [LAW] {P3368} CONTACT / SUBJECT IS AWAKE...
[2026-03-11 21:27:39] [INFO]   -> Set field 'dispatchNotes' = "[RESC] UDTS: CARD SEEN BY 911  [03\/11\/26 16:15:56 KMORGAN2] [LAW] {P3368} CONTACT \/ SUBJECT IS AWAKE \/ CLEAR FOR EMS  [03\/11\/26 16:15:33 SBALLARD] [EMS] POSS ACCD OVERDOSE  [03\/11\/26 16:11:00 KMORGAN2] [EMS] STAGE  [03\/11\/26 16:10:49 KMORGAN2] [EMS] BRENDA MILLER  10\/18\/1968  [03\/11\/26 16:10:12 KELLIS] [EMS] HE THINKS HIS WIFE&quot;S DR HAS HER DOSE TO HIGH  WILL NOT STAY AWAY   SHE TAKE HYDROS  [03\/11\/26 16:08:25 KELLIS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 16:07:28 SBALLARD] Event spawned from OVERDOSE.  [03\/11\/2026 16:07:15 KELLIS]"
[2026-03-11 21:27:39] [INFO]   -> Set field 'cADLog' = "[RESC] UDTS: CARD SEEN BY 911  [03\/11\/26 16:15:56 KMORGAN2] [LAW] {P3368} CONTACT \/ SUBJECT IS AWAKE \/ CLEAR FOR EMS  [03\/11\/26 16:15:33 SBALLARD] [EMS] POSS ACCD OVERDOSE  [03\/11\/26 16:11:00 KMORGAN2] [EMS] STAGE  [03\/11\/26 16:10:49 KMORGAN2] [EMS] BRENDA MILLER  10\/18\/1968  [03\/11\/26 16:10:12 KELLIS] [EMS] HE THINKS HIS WIFE&quot;S DR HAS HER DOSE TO HIGH  WILL NOT STAY AWAY   SHE TAKE HYDROS  [03\/11\/26 16:08:25 KELLIS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 16:07:28 SBALLARD] Event spawned from OVERDOSE.  [03\/11\/2026 16:07:15 KELLIS]"
[2026-03-11 21:27:39] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 21:27:39] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 21:27:39] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 21:27:39] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 21:27:39] [INFO]   -> Found value: ROSE GARDEN
[2026-03-11 21:27:39] [INFO]   -> Set field 'streetName' = "ROSE GARDEN"
[2026-03-11 21:27:39] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 21:27:39] [INFO]   -> Found value: LN
[2026-03-11 21:27:39] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-11 21:27:39] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 21:27:39] [INFO]   -> Found value: 1134 ROSE GARDEN LN
[2026-03-11 21:27:39] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1134 ROSE GARDEN LN"
[2026-03-11 21:27:39] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-03-11 21:27:39] [INFO] Concatenating street name and type
[2026-03-11 21:27:39] [INFO]   -> Combined street name: ROSE GARDEN LN
[2026-03-11 21:27:39] [INFO] Built locationCoordinates from lat/lng: 36.15885,-85.57661
[2026-03-11 21:27:39] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000669","dispatchRunNumber":"2026000669","incidentTypeValue1":"OVERDOSE","incidentLocationStreetNumber":1134,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"MILLER BRENDA","nERISIncidentLatitude":36.158850000000001045918907038867473602294921875,"nERISIncidentLongitude":-85.5766100000000022873791749589145183563232421875,"alarm":"2026-03-11 16:07:15","dispatched":"2026-03-11 16:08:28","cleared":"2026-03-11 16:27:24","inService":"2026-03-11 16:27:24","incidentLocationCross":"\/BUFFALO VALLEY RD","cADVehicleID":"PCFR","timedispatch":"2026-03-11 16:08:28","timeunitclear":"2026-03-11 16:27:24","policeReportNumber":"20260026834","dispatchNotes":"[RESC] UDTS: CARD SEEN BY 911  [03\/11\/26 16:15:56 KMORGAN2] [LAW] {P3368} CONTACT \/ SUBJECT IS AWAKE \/ CLEAR FOR EMS  [03\/11\/26 16:15:33 SBALLARD] [EMS] POSS ACCD OVERDOSE  [03\/11\/26 16:11:00 KMORGAN2] [EMS] STAGE  [03\/11\/26 16:10:49 KMORGAN2] [EMS] BRENDA MILLER  10\/18\/1968  [03\/11\/26 16:10:12 KELLIS] [EMS] HE THINKS HIS WIFE&quot;S DR HAS HER DOSE TO HIGH  WILL NOT STAY AWAY   SHE TAKE HYDROS  [03\/11\/26 16:08:25 KELLIS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 16:07:28 SBALLARD] Event spawned from OVERDOSE.  [03\/11\/2026 16:07:15 KELLIS]","cADLog":"[RESC] UDTS: CARD SEEN BY 911  [03\/11\/26 16:15:56 KMORGAN2] [LAW] {P3368} CONTACT \/ SUBJECT IS AWAKE \/ CLEAR FOR EMS  [03\/11\/26 16:15:33 SBALLARD] [EMS] POSS ACCD OVERDOSE  [03\/11\/26 16:11:00 KMORGAN2] [EMS] STAGE  [03\/11\/26 16:10:49 KMORGAN2] [EMS] BRENDA MILLER  10\/18\/1968  [03\/11\/26 16:10:12 KELLIS] [EMS] HE THINKS HIS WIFE&quot;S DR HAS HER DOSE TO HIGH  WILL NOT STAY AWAY   SHE TAKE HYDROS  [03\/11\/26 16:08:25 KELLIS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/11\/26 16:07:28 SBALLARD] Event spawned from OVERDOSE.  [03\/11\/2026 16:07:15 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"ROSE GARDEN LN","incidentAddressTextVersionStreet":"1134 ROSE GARDEN LN","locationCoordinates":"36.15885,-85.57661"}
[2026-03-11 21:27:39] [INFO] Number of extracted fields: 25
[2026-03-11 21:27:39] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-11 21:27:39] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-11 21:27:39] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-11 21:27:39] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 21:27:39] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 21:27:39] [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-11 21:27:39] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 21:27:39] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 21:27:39] [INFO] Found existing IncidentTypeMapping with ID: 6951b92ddedb2f2fc
[2026-03-11 21:27:40] [INFO] Found existing Dispatch with cADNumber '2026000669', ID: 69b1d9d544feabbd0 - will update instead of create
[2026-03-11 21:27:40] [INFO] Updated existing Dispatches record with ID: 69b1d9d544feabbd0
[2026-03-11 21:27:40] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026834_20260311_212738.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026834_20260311_212738.XML
[2026-03-11 21:27:40] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026834_20260311_212738.XML
[2026-03-11 21:28:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026845_20260311_212836.XML
[2026-03-11 21:28:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026845_20260311_212836.XML for user: 68f1466aed072ad4a
[2026-03-11 21:28:36] [INFO] File size: 5310 bytes
[2026-03-11 21:28:36] [INFO] Created FTPFiles record with ID: 69b1de847a4462b98
[2026-03-11 21:28:36] [INFO] About to extract fields from XML. File size: 5310 bytes
[2026-03-11 21:28:36] [INFO] Number of mappings: 28
[2026-03-11 21:28:36] [INFO] Starting XML parsing. Content length: 5310
[2026-03-11 21:28:36] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 21:28:36] [INFO] Processing 28 field mappings
[2026-03-11 21:28:36] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 21:28:36] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 21:28:36] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 21:28:36] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 21:28:36] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-11 21:28:36] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-11 21:28:36] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 21:28:36] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 21:28:36] [INFO]   -> Found value: 2026000671
[2026-03-11 21:28:36] [INFO]   -> Set field 'incidentInternalId' = "2026000671"
[2026-03-11 21:28:36] [INFO]   -> Set field 'dispatchRunNumber' = "2026000671"
[2026-03-11 21:28:36] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 21:28:36] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-11 21:28:36] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-11 21:28:36] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 21:28:36] [INFO]   -> Found value: 3405
[2026-03-11 21:28:36] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3405
[2026-03-11 21:28:36] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 21:28:36] [INFO]   -> Found value: TN
[2026-03-11 21:28:36] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 21:28:36] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 21:28:36] [INFO]   -> Found value: 38501
[2026-03-11 21:28:36] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-11 21:28:36] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 21:28:36] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:36] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 21:28:36] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:36] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 21:28:36] [INFO]   -> Found value: 36.15737
[2026-03-11 21:28:36] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1573700000000002319211489520967006683349609375
[2026-03-11 21:28:36] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 21:28:36] [INFO]   -> Found value: -85.57584
[2026-03-11 21:28:36] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.575839999999999463398125953972339630126953125
[2026-03-11 21:28:36] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 21:28:36] [INFO]   -> Found value: 2026-03-11 16:27:12
[2026-03-11 21:28:36] [INFO]   -> Set field 'alarm' = "2026-03-11 16:27:12"
[2026-03-11 21:28:36] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 21:28:36] [INFO]   -> Found value: 2026-03-11 16:28:30
[2026-03-11 21:28:36] [INFO]   -> Set field 'dispatched' = "2026-03-11 16:28:30"
[2026-03-11 21:28:36] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 21:28:36] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:36] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 21:28:36] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:36] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 21:28:36] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:36] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 21:28:36] [INFO]   -> Found value: BRIARCREST LN/ROSE GARDEN LN
[2026-03-11 21:28:36] [INFO]   -> Set field 'incidentLocationCross' = "BRIARCREST LN\/ROSE GARDEN LN"
[2026-03-11 21:28:36] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 21:28:36] [INFO]   -> Found value: PCFR
[2026-03-11 21:28:36] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-11 21:28:36] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 21:28:36] [INFO]   -> Found value: 2026-03-11 16:28:30
[2026-03-11 21:28:36] [INFO]   -> Set field 'timedispatch' = "2026-03-11 16:28:30"
[2026-03-11 21:28:36] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 21:28:36] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:36] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 21:28:36] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:36] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 21:28:36] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:36] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 21:28:36] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:36] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 21:28:36] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 21:28:36] [INFO]   -> Found value: 20260026845
[2026-03-11 21:28:36] [INFO]   -> Set field 'policeReportNumber' = "20260026845"
[2026-03-11 21:28:36] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 21:28:36] [INFO]   -> Found value: [EMS] STAGE 4 LUNG CANCER  [03/11/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2/11/1956  [03/11/2...
[2026-03-11 21:28:36] [INFO]   -> Set field 'dispatchNotes' = "[EMS] STAGE 4 LUNG CANCER  [03\/11\/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2\/11\/1956  [03\/11\/26 16:27:26 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 16:27:12 DSTEPHENS]"
[2026-03-11 21:28:36] [INFO]   -> Set field 'cADLog' = "[EMS] STAGE 4 LUNG CANCER  [03\/11\/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2\/11\/1956  [03\/11\/26 16:27:26 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 16:27:12 DSTEPHENS]"
[2026-03-11 21:28:36] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 21:28:36] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 21:28:36] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 21:28:36] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 21:28:36] [INFO]   -> Found value: BUFFALO VALLEY
[2026-03-11 21:28:36] [INFO]   -> Set field 'streetName' = "BUFFALO VALLEY"
[2026-03-11 21:28:36] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 21:28:36] [INFO]   -> Found value: RD
[2026-03-11 21:28:36] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 21:28:36] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 21:28:36] [INFO]   -> Found value: 3405 BUFFALO VALLEY RD
[2026-03-11 21:28:36] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3405 BUFFALO VALLEY RD"
[2026-03-11 21:28:36] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-11 21:28:36] [INFO] Concatenating street name and type
[2026-03-11 21:28:36] [INFO]   -> Combined street name: BUFFALO VALLEY RD
[2026-03-11 21:28:36] [INFO] Built locationCoordinates from lat/lng: 36.15737,-85.57584
[2026-03-11 21:28:36] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000671","dispatchRunNumber":"2026000671","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":3405,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.1573700000000002319211489520967006683349609375,"nERISIncidentLongitude":-85.575839999999999463398125953972339630126953125,"alarm":"2026-03-11 16:27:12","dispatched":"2026-03-11 16:28:30","incidentLocationCross":"BRIARCREST LN\/ROSE GARDEN LN","cADVehicleID":"PCFR","timedispatch":"2026-03-11 16:28:30","policeReportNumber":"20260026845","dispatchNotes":"[EMS] STAGE 4 LUNG CANCER  [03\/11\/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2\/11\/1956  [03\/11\/26 16:27:26 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 16:27:12 DSTEPHENS]","cADLog":"[EMS] STAGE 4 LUNG CANCER  [03\/11\/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2\/11\/1956  [03\/11\/26 16:27:26 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 16:27:12 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"BUFFALO VALLEY RD","incidentAddressTextVersionStreet":"3405 BUFFALO VALLEY RD","locationCoordinates":"36.15737,-85.57584"}
[2026-03-11 21:28:36] [INFO] Number of extracted fields: 21
[2026-03-11 21:28:36] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-11 21:28:36] [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-11 21:28:36] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-11 21:28:36] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 21:28:36] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 21:28:36] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-11 21:28: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-11 21:28: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-11 21:28:36] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 21:28:36] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 21:28:36] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 21:28:37] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-11 21:28:45] [INFO] Created new Dispatches record with ID: 69b1de855b433b786
[2026-03-11 21:28:45] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026845_20260311_212836.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026845_20260311_212836.XML
[2026-03-11 21:28:45] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026845_20260311_212836.XML
[2026-03-11 21:28:45] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026845_20260311_212836_1.XML
[2026-03-11 21:28:45] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026845_20260311_212836_1.XML for user: 68f1466aed072ad4a
[2026-03-11 21:28:45] [INFO] File size: 5310 bytes
[2026-03-11 21:28:46] [INFO] Created FTPFiles record with ID: 69b1de8e236cc7079
[2026-03-11 21:28:46] [INFO] About to extract fields from XML. File size: 5310 bytes
[2026-03-11 21:28:46] [INFO] Number of mappings: 28
[2026-03-11 21:28:46] [INFO] Starting XML parsing. Content length: 5310
[2026-03-11 21:28:46] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 21:28:46] [INFO] Processing 28 field mappings
[2026-03-11 21:28:46] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 21:28:46] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 21:28:46] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 21:28:46] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 21:28:46] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-11 21:28:46] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-11 21:28:46] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 21:28:46] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 21:28:46] [INFO]   -> Found value: 2026000671
[2026-03-11 21:28:46] [INFO]   -> Set field 'incidentInternalId' = "2026000671"
[2026-03-11 21:28:46] [INFO]   -> Set field 'dispatchRunNumber' = "2026000671"
[2026-03-11 21:28:46] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 21:28:46] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-11 21:28:46] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-11 21:28:46] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 21:28:46] [INFO]   -> Found value: 3405
[2026-03-11 21:28:46] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3405
[2026-03-11 21:28:46] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 21:28:46] [INFO]   -> Found value: TN
[2026-03-11 21:28:46] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 21:28:46] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 21:28:46] [INFO]   -> Found value: 38501
[2026-03-11 21:28:46] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-11 21:28:46] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 21:28:46] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:46] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 21:28:46] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:46] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 21:28:46] [INFO]   -> Found value: 36.15737
[2026-03-11 21:28:46] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1573700000000002319211489520967006683349609375
[2026-03-11 21:28:46] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 21:28:46] [INFO]   -> Found value: -85.57584
[2026-03-11 21:28:46] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.575839999999999463398125953972339630126953125
[2026-03-11 21:28:46] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 21:28:46] [INFO]   -> Found value: 2026-03-11 16:27:12
[2026-03-11 21:28:46] [INFO]   -> Set field 'alarm' = "2026-03-11 16:27:12"
[2026-03-11 21:28:46] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 21:28:46] [INFO]   -> Found value: 2026-03-11 16:28:30
[2026-03-11 21:28:46] [INFO]   -> Set field 'dispatched' = "2026-03-11 16:28:30"
[2026-03-11 21:28:46] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 21:28:46] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:46] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 21:28:46] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:46] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 21:28:46] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:46] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 21:28:46] [INFO]   -> Found value: BRIARCREST LN/ROSE GARDEN LN
[2026-03-11 21:28:46] [INFO]   -> Set field 'incidentLocationCross' = "BRIARCREST LN\/ROSE GARDEN LN"
[2026-03-11 21:28:46] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 21:28:46] [INFO]   -> Found value: PCFR
[2026-03-11 21:28:46] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-11 21:28:46] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 21:28:46] [INFO]   -> Found value: 2026-03-11 16:28:30
[2026-03-11 21:28:46] [INFO]   -> Set field 'timedispatch' = "2026-03-11 16:28:30"
[2026-03-11 21:28:46] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 21:28:46] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:46] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 21:28:46] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:46] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 21:28:46] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:46] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 21:28:46] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:46] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 21:28:46] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 21:28:46] [INFO]   -> Found value: 20260026845
[2026-03-11 21:28:46] [INFO]   -> Set field 'policeReportNumber' = "20260026845"
[2026-03-11 21:28:46] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 21:28:46] [INFO]   -> Found value: [EMS] STAGE 4 LUNG CANCER  [03/11/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2/11/1956  [03/11/2...
[2026-03-11 21:28:46] [INFO]   -> Set field 'dispatchNotes' = "[EMS] STAGE 4 LUNG CANCER  [03\/11\/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2\/11\/1956  [03\/11\/26 16:27:26 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 16:27:12 DSTEPHENS]"
[2026-03-11 21:28:46] [INFO]   -> Set field 'cADLog' = "[EMS] STAGE 4 LUNG CANCER  [03\/11\/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2\/11\/1956  [03\/11\/26 16:27:26 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 16:27:12 DSTEPHENS]"
[2026-03-11 21:28:46] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 21:28:46] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 21:28:46] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 21:28:46] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 21:28:46] [INFO]   -> Found value: BUFFALO VALLEY
[2026-03-11 21:28:46] [INFO]   -> Set field 'streetName' = "BUFFALO VALLEY"
[2026-03-11 21:28:46] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 21:28:46] [INFO]   -> Found value: RD
[2026-03-11 21:28:46] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 21:28:46] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 21:28:46] [INFO]   -> Found value: 3405 BUFFALO VALLEY RD
[2026-03-11 21:28:46] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3405 BUFFALO VALLEY RD"
[2026-03-11 21:28:46] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-11 21:28:46] [INFO] Concatenating street name and type
[2026-03-11 21:28:46] [INFO]   -> Combined street name: BUFFALO VALLEY RD
[2026-03-11 21:28:46] [INFO] Built locationCoordinates from lat/lng: 36.15737,-85.57584
[2026-03-11 21:28:46] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000671","dispatchRunNumber":"2026000671","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":3405,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.1573700000000002319211489520967006683349609375,"nERISIncidentLongitude":-85.575839999999999463398125953972339630126953125,"alarm":"2026-03-11 16:27:12","dispatched":"2026-03-11 16:28:30","incidentLocationCross":"BRIARCREST LN\/ROSE GARDEN LN","cADVehicleID":"PCFR","timedispatch":"2026-03-11 16:28:30","policeReportNumber":"20260026845","dispatchNotes":"[EMS] STAGE 4 LUNG CANCER  [03\/11\/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2\/11\/1956  [03\/11\/26 16:27:26 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 16:27:12 DSTEPHENS]","cADLog":"[EMS] STAGE 4 LUNG CANCER  [03\/11\/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2\/11\/1956  [03\/11\/26 16:27:26 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 16:27:12 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"BUFFALO VALLEY RD","incidentAddressTextVersionStreet":"3405 BUFFALO VALLEY RD","locationCoordinates":"36.15737,-85.57584"}
[2026-03-11 21:28:46] [INFO] Number of extracted fields: 21
[2026-03-11 21:28:46] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-11 21:28:46] [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-11 21:28:46] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-11 21:28:46] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 21:28:46] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 21:28:46] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-11 21:28:46] [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-11 21:28:46] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 21:28:46] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 21:28:46] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 21:28:46] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 21:28:46] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-11 21:28:46] [INFO] Found existing Dispatch with cADNumber '2026000671', ID: 69b1de855b433b786 - will update instead of create
[2026-03-11 21:28:47] [INFO] Updated existing Dispatches record with ID: 69b1de855b433b786
[2026-03-11 21:28:47] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026845_20260311_212836_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026845_20260311_212836_1.XML
[2026-03-11 21:28:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026845_20260311_212836_1.XML
[2026-03-11 21:28:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026845_20260311_212836_2.XML
[2026-03-11 21:28:47] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026845_20260311_212836_2.XML for user: 68f1466aed072ad4a
[2026-03-11 21:28:47] [INFO] File size: 5310 bytes
[2026-03-11 21:28:48] [INFO] Created FTPFiles record with ID: 69b1de9082b991037
[2026-03-11 21:28:48] [INFO] About to extract fields from XML. File size: 5310 bytes
[2026-03-11 21:28:48] [INFO] Number of mappings: 28
[2026-03-11 21:28:48] [INFO] Starting XML parsing. Content length: 5310
[2026-03-11 21:28:48] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 21:28:48] [INFO] Processing 28 field mappings
[2026-03-11 21:28:48] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 21:28:48] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 21:28:48] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 21:28:48] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 21:28:48] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-11 21:28:48] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-11 21:28:48] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 21:28:48] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 21:28:48] [INFO]   -> Found value: 2026000671
[2026-03-11 21:28:48] [INFO]   -> Set field 'incidentInternalId' = "2026000671"
[2026-03-11 21:28:48] [INFO]   -> Set field 'dispatchRunNumber' = "2026000671"
[2026-03-11 21:28:48] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 21:28:48] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-11 21:28:48] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-11 21:28:48] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 21:28:48] [INFO]   -> Found value: 3405
[2026-03-11 21:28:48] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3405
[2026-03-11 21:28:48] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 21:28:48] [INFO]   -> Found value: TN
[2026-03-11 21:28:48] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 21:28:48] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 21:28:48] [INFO]   -> Found value: 38501
[2026-03-11 21:28:48] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-11 21:28:48] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 21:28:48] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:48] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 21:28:48] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:48] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 21:28:48] [INFO]   -> Found value: 36.15737
[2026-03-11 21:28:48] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1573700000000002319211489520967006683349609375
[2026-03-11 21:28:48] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 21:28:48] [INFO]   -> Found value: -85.57584
[2026-03-11 21:28:48] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.575839999999999463398125953972339630126953125
[2026-03-11 21:28:48] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 21:28:48] [INFO]   -> Found value: 2026-03-11 16:27:12
[2026-03-11 21:28:48] [INFO]   -> Set field 'alarm' = "2026-03-11 16:27:12"
[2026-03-11 21:28:48] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 21:28:48] [INFO]   -> Found value: 2026-03-11 16:28:30
[2026-03-11 21:28:48] [INFO]   -> Set field 'dispatched' = "2026-03-11 16:28:30"
[2026-03-11 21:28:48] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 21:28:48] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:48] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 21:28:48] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:48] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 21:28:48] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:48] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 21:28:48] [INFO]   -> Found value: BRIARCREST LN/ROSE GARDEN LN
[2026-03-11 21:28:48] [INFO]   -> Set field 'incidentLocationCross' = "BRIARCREST LN\/ROSE GARDEN LN"
[2026-03-11 21:28:48] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 21:28:48] [INFO]   -> Found value: PCFR
[2026-03-11 21:28:48] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-11 21:28:48] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 21:28:48] [INFO]   -> Found value: 2026-03-11 16:28:30
[2026-03-11 21:28:48] [INFO]   -> Set field 'timedispatch' = "2026-03-11 16:28:30"
[2026-03-11 21:28:48] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 21:28:48] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:48] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 21:28:48] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:48] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 21:28:48] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:48] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 21:28:48] [INFO]   -> No value found (null or empty)
[2026-03-11 21:28:48] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 21:28:48] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 21:28:48] [INFO]   -> Found value: 20260026845
[2026-03-11 21:28:48] [INFO]   -> Set field 'policeReportNumber' = "20260026845"
[2026-03-11 21:28:48] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 21:28:48] [INFO]   -> Found value: [EMS] STAGE 4 LUNG CANCER  [03/11/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2/11/1956  [03/11/2...
[2026-03-11 21:28:48] [INFO]   -> Set field 'dispatchNotes' = "[EMS] STAGE 4 LUNG CANCER  [03\/11\/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2\/11\/1956  [03\/11\/26 16:27:26 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 16:27:12 DSTEPHENS]"
[2026-03-11 21:28:48] [INFO]   -> Set field 'cADLog' = "[EMS] STAGE 4 LUNG CANCER  [03\/11\/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2\/11\/1956  [03\/11\/26 16:27:26 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 16:27:12 DSTEPHENS]"
[2026-03-11 21:28:48] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 21:28:48] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 21:28:48] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 21:28:48] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 21:28:48] [INFO]   -> Found value: BUFFALO VALLEY
[2026-03-11 21:28:48] [INFO]   -> Set field 'streetName' = "BUFFALO VALLEY"
[2026-03-11 21:28:48] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 21:28:48] [INFO]   -> Found value: RD
[2026-03-11 21:28:48] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 21:28:48] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 21:28:48] [INFO]   -> Found value: 3405 BUFFALO VALLEY RD
[2026-03-11 21:28:48] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3405 BUFFALO VALLEY RD"
[2026-03-11 21:28:48] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-11 21:28:48] [INFO] Concatenating street name and type
[2026-03-11 21:28:48] [INFO]   -> Combined street name: BUFFALO VALLEY RD
[2026-03-11 21:28:48] [INFO] Built locationCoordinates from lat/lng: 36.15737,-85.57584
[2026-03-11 21:28:48] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000671","dispatchRunNumber":"2026000671","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":3405,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.1573700000000002319211489520967006683349609375,"nERISIncidentLongitude":-85.575839999999999463398125953972339630126953125,"alarm":"2026-03-11 16:27:12","dispatched":"2026-03-11 16:28:30","incidentLocationCross":"BRIARCREST LN\/ROSE GARDEN LN","cADVehicleID":"PCFR","timedispatch":"2026-03-11 16:28:30","policeReportNumber":"20260026845","dispatchNotes":"[EMS] STAGE 4 LUNG CANCER  [03\/11\/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2\/11\/1956  [03\/11\/26 16:27:26 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 16:27:12 DSTEPHENS]","cADLog":"[EMS] STAGE 4 LUNG CANCER  [03\/11\/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2\/11\/1956  [03\/11\/26 16:27:26 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 16:27:12 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"BUFFALO VALLEY RD","incidentAddressTextVersionStreet":"3405 BUFFALO VALLEY RD","locationCoordinates":"36.15737,-85.57584"}
[2026-03-11 21:28:48] [INFO] Number of extracted fields: 21
[2026-03-11 21:28:48] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-11 21:28:48] [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-11 21:28:48] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-11 21:28:48] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 21:28:48] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 21:28:48] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-11 21:28:49] [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-11 21:28:49] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 21:28:49] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 21:28:49] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 21:28:49] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 21:28:49] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-11 21:28:49] [INFO] Found existing Dispatch with cADNumber '2026000671', ID: 69b1de855b433b786 - will update instead of create
[2026-03-11 21:28:49] [INFO] Updated existing Dispatches record with ID: 69b1de855b433b786
[2026-03-11 21:28:49] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026845_20260311_212836_2.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026845_20260311_212836_2.XML
[2026-03-11 21:28:49] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026845_20260311_212836_2.XML
[2026-03-11 21:53:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026843_20260311_215338.XML
[2026-03-11 21:53:38] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026843_20260311_215338.XML for user: 68f1466aed072ad4a
[2026-03-11 21:53:38] [INFO] File size: 5079 bytes
[2026-03-11 21:53:38] [INFO] Created FTPFiles record with ID: 69b1e46251df540fd
[2026-03-11 21:53:38] [INFO] About to extract fields from XML. File size: 5079 bytes
[2026-03-11 21:53:38] [INFO] Number of mappings: 28
[2026-03-11 21:53:38] [INFO] Starting XML parsing. Content length: 5079
[2026-03-11 21:53:38] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 21:53:38] [INFO] Processing 28 field mappings
[2026-03-11 21:53:38] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 21:53:38] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 21:53:38] [INFO]   -> Found value: PCFD
[2026-03-11 21:53:38] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-11 21:53:38] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 21:53:38] [INFO]   -> Found value: 2026000670
[2026-03-11 21:53:38] [INFO]   -> Set field 'incidentInternalId' = "2026000670"
[2026-03-11 21:53:38] [INFO]   -> Set field 'dispatchRunNumber' = "2026000670"
[2026-03-11 21:53:38] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 21:53:38] [INFO]   -> Found value: SMOKE ALARM INSTALL
[2026-03-11 21:53:38] [INFO]   -> Set field 'incidentTypeValue1' = "SMOKE ALARM INSTALL"
[2026-03-11 21:53:38] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 21:53:38] [INFO]   -> Found value: 1428
[2026-03-11 21:53:38] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1428
[2026-03-11 21:53:38] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 21:53:38] [INFO]   -> Found value: TN
[2026-03-11 21:53:38] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 21:53:38] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 21:53:38] [INFO]   -> Found value: 38501
[2026-03-11 21:53:38] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-11 21:53:38] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 21:53:38] [INFO]   -> Found value: WILLIAM SMITH
[2026-03-11 21:53:38] [INFO]   -> Set field 'businessName' = "WILLIAM SMITH"
[2026-03-11 21:53:38] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 21:53:38] [INFO]   -> No value found (null or empty)
[2026-03-11 21:53:38] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 21:53:38] [INFO]   -> Found value: 36.19542
[2026-03-11 21:53:38] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1954199999999985948306857608258724212646484375
[2026-03-11 21:53:38] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 21:53:38] [INFO]   -> Found value: -85.57404
[2026-03-11 21:53:38] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.574039999999996553015080280601978302001953125
[2026-03-11 21:53:38] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 21:53:38] [INFO]   -> Found value: 2026-03-11 16:25:01
[2026-03-11 21:53:38] [INFO]   -> Set field 'alarm' = "2026-03-11 16:25:01"
[2026-03-11 21:53:38] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 21:53:38] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:53:38] [INFO]   -> Set field 'dispatched' = "2026-03-11 16:25:49"
[2026-03-11 21:53:38] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 21:53:38] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:53:38] [INFO]   -> Set field 'enroute' = "2026-03-11 16:25:49"
[2026-03-11 21:53:38] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 21:53:38] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:53:38] [INFO]   -> Set field 'onScene' = "2026-03-11 16:25:49"
[2026-03-11 21:53:38] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 21:53:38] [INFO]   -> Found value: 2026-03-11 16:53:30
[2026-03-11 21:53:38] [INFO]   -> Set field 'cleared' = "2026-03-11 16:53:30"
[2026-03-11 21:53:38] [INFO]   -> Set field 'inService' = "2026-03-11 16:53:30"
[2026-03-11 21:53:38] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 21:53:38] [INFO]   -> Found value: CARLISLE RD/SPENCE LN
[2026-03-11 21:53:38] [INFO]   -> Set field 'incidentLocationCross' = "CARLISLE RD\/SPENCE LN"
[2026-03-11 21:53:38] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 21:53:38] [INFO]   -> Found value: SQ11
[2026-03-11 21:53:38] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-11 21:53:38] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 21:53:38] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:53:38] [INFO]   -> Set field 'timedispatch' = "2026-03-11 16:25:49"
[2026-03-11 21:53:38] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 21:53:38] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:53:38] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 16:25:49"
[2026-03-11 21:53:38] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 21:53:38] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:53:38] [INFO]   -> Set field 'timeonscene' = "2026-03-11 16:25:49"
[2026-03-11 21:53:38] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 21:53:38] [INFO]   -> Found value: 2026-03-11 16:53:30
[2026-03-11 21:53:38] [INFO]   -> Set field 'timeunitclear' = "2026-03-11 16:53:30"
[2026-03-11 21:53:38] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 21:53:38] [INFO]   -> No value found (null or empty)
[2026-03-11 21:53:38] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 21:53:38] [INFO]   -> Found value: 20260026843
[2026-03-11 21:53:38] [INFO]   -> Set field 'policeReportNumber' = "20260026843"
[2026-03-11 21:53:38] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 21:53:38] [INFO]   -> No value found (null or empty)
[2026-03-11 21:53:38] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 21:53:38] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 21:53:38] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 21:53:38] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 21:53:38] [INFO]   -> Found value: GLENN
[2026-03-11 21:53:38] [INFO]   -> Set field 'streetName' = "GLENN"
[2026-03-11 21:53:38] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 21:53:38] [INFO]   -> Found value: RD
[2026-03-11 21:53:38] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 21:53:38] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 21:53:38] [INFO]   -> Found value: 1428 GLENN RD
[2026-03-11 21:53:38] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1428 GLENN RD"
[2026-03-11 21:53:38] [INFO] Finished extracting fields. Total fields extracted: 27
[2026-03-11 21:53:38] [INFO] Concatenating street name and type
[2026-03-11 21:53:38] [INFO]   -> Combined street name: GLENN RD
[2026-03-11 21:53:38] [INFO] Built locationCoordinates from lat/lng: 36.19542,-85.57404
[2026-03-11 21:53:38] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000670","dispatchRunNumber":"2026000670","incidentTypeValue1":"SMOKE ALARM INSTALL","incidentLocationStreetNumber":1428,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"WILLIAM SMITH","nERISIncidentLatitude":36.1954199999999985948306857608258724212646484375,"nERISIncidentLongitude":-85.574039999999996553015080280601978302001953125,"alarm":"2026-03-11 16:25:01","dispatched":"2026-03-11 16:25:49","enroute":"2026-03-11 16:25:49","onScene":"2026-03-11 16:25:49","cleared":"2026-03-11 16:53:30","inService":"2026-03-11 16:53:30","incidentLocationCross":"CARLISLE RD\/SPENCE LN","cADVehicleID":"SQ11","timedispatch":"2026-03-11 16:25:49","timeenroutetoscene":"2026-03-11 16:25:49","timeonscene":"2026-03-11 16:25:49","timeunitclear":"2026-03-11 16:53:30","policeReportNumber":"20260026843","incidentLocationCity":"COOKEVILLE","streetName":"GLENN RD","incidentAddressTextVersionStreet":"1428 GLENN RD","locationCoordinates":"36.19542,-85.57404"}
[2026-03-11 21:53:38] [INFO] Number of extracted fields: 27
[2026-03-11 21:53:38] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-11 21:53:38] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-11 21:53:38] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-11 21:53:38] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 21:53:38] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 21:53: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-11 21:53: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-11 21:53:38] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 21:53:38] [INFO] Found existing IncidentTypeMapping with ID: 69384adcd7833eaa3
[2026-03-11 21:53:39] [INFO] Found existing Dispatch with cADNumber '2026000670', ID: 69b1dde53eb999a79 - will update instead of create
[2026-03-11 21:53:39] [INFO] Updated existing Dispatches record with ID: 69b1dde53eb999a79
[2026-03-11 21:53:39] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026843_20260311_215338.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026843_20260311_215338.XML
[2026-03-11 21:53:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026843_20260311_215338.XML
[2026-03-11 21:53:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026843_20260311_215339.XML
[2026-03-11 21:53:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026843_20260311_215339.XML for user: 68f1466aed072ad4a
[2026-03-11 21:53:39] [INFO] File size: 5079 bytes
[2026-03-11 21:53:39] [INFO] Created FTPFiles record with ID: 69b1e463cf97e26e5
[2026-03-11 21:53:39] [INFO] About to extract fields from XML. File size: 5079 bytes
[2026-03-11 21:53:39] [INFO] Number of mappings: 28
[2026-03-11 21:53:39] [INFO] Starting XML parsing. Content length: 5079
[2026-03-11 21:53:39] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 21:53:39] [INFO] Processing 28 field mappings
[2026-03-11 21:53:39] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 21:53:39] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 21:53:39] [INFO]   -> Found value: PCFD
[2026-03-11 21:53:39] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-11 21:53:39] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 21:53:39] [INFO]   -> Found value: 2026000670
[2026-03-11 21:53:39] [INFO]   -> Set field 'incidentInternalId' = "2026000670"
[2026-03-11 21:53:39] [INFO]   -> Set field 'dispatchRunNumber' = "2026000670"
[2026-03-11 21:53:39] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 21:53:39] [INFO]   -> Found value: SMOKE ALARM INSTALL
[2026-03-11 21:53:39] [INFO]   -> Set field 'incidentTypeValue1' = "SMOKE ALARM INSTALL"
[2026-03-11 21:53:39] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 21:53:39] [INFO]   -> Found value: 1428
[2026-03-11 21:53:39] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1428
[2026-03-11 21:53:39] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 21:53:39] [INFO]   -> Found value: TN
[2026-03-11 21:53:39] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 21:53:39] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 21:53:39] [INFO]   -> Found value: 38501
[2026-03-11 21:53:39] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-11 21:53:39] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 21:53:39] [INFO]   -> Found value: WILLIAM SMITH
[2026-03-11 21:53:39] [INFO]   -> Set field 'businessName' = "WILLIAM SMITH"
[2026-03-11 21:53:39] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 21:53:39] [INFO]   -> No value found (null or empty)
[2026-03-11 21:53:39] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 21:53:39] [INFO]   -> Found value: 36.19542
[2026-03-11 21:53:39] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1954199999999985948306857608258724212646484375
[2026-03-11 21:53:39] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 21:53:39] [INFO]   -> Found value: -85.57404
[2026-03-11 21:53:39] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.574039999999996553015080280601978302001953125
[2026-03-11 21:53:39] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 21:53:39] [INFO]   -> Found value: 2026-03-11 16:25:01
[2026-03-11 21:53:39] [INFO]   -> Set field 'alarm' = "2026-03-11 16:25:01"
[2026-03-11 21:53:39] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 21:53:39] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:53:39] [INFO]   -> Set field 'dispatched' = "2026-03-11 16:25:49"
[2026-03-11 21:53:39] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 21:53:39] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:53:39] [INFO]   -> Set field 'enroute' = "2026-03-11 16:25:49"
[2026-03-11 21:53:39] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 21:53:39] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:53:39] [INFO]   -> Set field 'onScene' = "2026-03-11 16:25:49"
[2026-03-11 21:53:39] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 21:53:39] [INFO]   -> Found value: 2026-03-11 16:53:30
[2026-03-11 21:53:39] [INFO]   -> Set field 'cleared' = "2026-03-11 16:53:30"
[2026-03-11 21:53:39] [INFO]   -> Set field 'inService' = "2026-03-11 16:53:30"
[2026-03-11 21:53:39] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 21:53:39] [INFO]   -> Found value: CARLISLE RD/SPENCE LN
[2026-03-11 21:53:39] [INFO]   -> Set field 'incidentLocationCross' = "CARLISLE RD\/SPENCE LN"
[2026-03-11 21:53:39] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 21:53:39] [INFO]   -> Found value: SQ11
[2026-03-11 21:53:39] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-11 21:53:39] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 21:53:39] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:53:39] [INFO]   -> Set field 'timedispatch' = "2026-03-11 16:25:49"
[2026-03-11 21:53:39] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 21:53:39] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:53:39] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 16:25:49"
[2026-03-11 21:53:39] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 21:53:39] [INFO]   -> Found value: 2026-03-11 16:25:49
[2026-03-11 21:53:39] [INFO]   -> Set field 'timeonscene' = "2026-03-11 16:25:49"
[2026-03-11 21:53:39] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 21:53:39] [INFO]   -> Found value: 2026-03-11 16:53:30
[2026-03-11 21:53:39] [INFO]   -> Set field 'timeunitclear' = "2026-03-11 16:53:30"
[2026-03-11 21:53:39] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 21:53:39] [INFO]   -> No value found (null or empty)
[2026-03-11 21:53:39] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 21:53:39] [INFO]   -> Found value: 20260026843
[2026-03-11 21:53:39] [INFO]   -> Set field 'policeReportNumber' = "20260026843"
[2026-03-11 21:53:39] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 21:53:39] [INFO]   -> No value found (null or empty)
[2026-03-11 21:53:39] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 21:53:39] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 21:53:39] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 21:53:39] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 21:53:39] [INFO]   -> Found value: GLENN
[2026-03-11 21:53:39] [INFO]   -> Set field 'streetName' = "GLENN"
[2026-03-11 21:53:39] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 21:53:39] [INFO]   -> Found value: RD
[2026-03-11 21:53:39] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 21:53:39] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 21:53:39] [INFO]   -> Found value: 1428 GLENN RD
[2026-03-11 21:53:39] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1428 GLENN RD"
[2026-03-11 21:53:39] [INFO] Finished extracting fields. Total fields extracted: 27
[2026-03-11 21:53:39] [INFO] Concatenating street name and type
[2026-03-11 21:53:39] [INFO]   -> Combined street name: GLENN RD
[2026-03-11 21:53:39] [INFO] Built locationCoordinates from lat/lng: 36.19542,-85.57404
[2026-03-11 21:53:39] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000670","dispatchRunNumber":"2026000670","incidentTypeValue1":"SMOKE ALARM INSTALL","incidentLocationStreetNumber":1428,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"WILLIAM SMITH","nERISIncidentLatitude":36.1954199999999985948306857608258724212646484375,"nERISIncidentLongitude":-85.574039999999996553015080280601978302001953125,"alarm":"2026-03-11 16:25:01","dispatched":"2026-03-11 16:25:49","enroute":"2026-03-11 16:25:49","onScene":"2026-03-11 16:25:49","cleared":"2026-03-11 16:53:30","inService":"2026-03-11 16:53:30","incidentLocationCross":"CARLISLE RD\/SPENCE LN","cADVehicleID":"SQ11","timedispatch":"2026-03-11 16:25:49","timeenroutetoscene":"2026-03-11 16:25:49","timeonscene":"2026-03-11 16:25:49","timeunitclear":"2026-03-11 16:53:30","policeReportNumber":"20260026843","incidentLocationCity":"COOKEVILLE","streetName":"GLENN RD","incidentAddressTextVersionStreet":"1428 GLENN RD","locationCoordinates":"36.19542,-85.57404"}
[2026-03-11 21:53:39] [INFO] Number of extracted fields: 27
[2026-03-11 21:53:39] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-11 21:53:39] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-11 21:53:39] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-11 21:53:39] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 21:53:40] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 21:53:40] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-11 21:53:40] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 21:53:40] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 21:53:40] [INFO] Found existing IncidentTypeMapping with ID: 69384adcd7833eaa3
[2026-03-11 21:53:40] [INFO] Found existing Dispatch with cADNumber '2026000670', ID: 69b1dde53eb999a79 - will update instead of create
[2026-03-11 21:53:40] [INFO] Updated existing Dispatches record with ID: 69b1dde53eb999a79
[2026-03-11 21:53:40] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026843_20260311_215339.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026843_20260311_215339.XML
[2026-03-11 21:53:40] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026843_20260311_215339.XML
[2026-03-11 21:55:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026845_20260311_215528.XML
[2026-03-11 21:55:28] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026845_20260311_215528.XML for user: 68f1466aed072ad4a
[2026-03-11 21:55:28] [INFO] File size: 5425 bytes
[2026-03-11 21:55:29] [INFO] Created FTPFiles record with ID: 69b1e4d0f381af42e
[2026-03-11 21:55:29] [INFO] About to extract fields from XML. File size: 5425 bytes
[2026-03-11 21:55:29] [INFO] Number of mappings: 28
[2026-03-11 21:55:29] [INFO] Starting XML parsing. Content length: 5425
[2026-03-11 21:55:29] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 21:55:29] [INFO] Processing 28 field mappings
[2026-03-11 21:55:29] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 21:55:29] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 21:55:29] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 21:55:29] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-11 21:55:29] [INFO]   -> Found value: PCFD
RESC
[2026-03-11 21:55:29] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nRESC"
[2026-03-11 21:55:29] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 21:55:29] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-11 21:55:29] [INFO]   -> Found value: 2026000671
[2026-03-11 21:55:29] [INFO]   -> Set field 'incidentInternalId' = "2026000671"
[2026-03-11 21:55:29] [INFO]   -> Set field 'dispatchRunNumber' = "2026000671"
[2026-03-11 21:55:29] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 21:55:29] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-11 21:55:29] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-11 21:55:29] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 21:55:29] [INFO]   -> Found value: 3405
[2026-03-11 21:55:29] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3405
[2026-03-11 21:55:29] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 21:55:29] [INFO]   -> Found value: TN
[2026-03-11 21:55:29] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 21:55:29] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 21:55:29] [INFO]   -> Found value: 38501
[2026-03-11 21:55:29] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-11 21:55:29] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 21:55:29] [INFO]   -> No value found (null or empty)
[2026-03-11 21:55:29] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 21:55:29] [INFO]   -> No value found (null or empty)
[2026-03-11 21:55:29] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 21:55:29] [INFO]   -> Found value: 36.15737
[2026-03-11 21:55:29] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1573700000000002319211489520967006683349609375
[2026-03-11 21:55:29] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 21:55:29] [INFO]   -> Found value: -85.57584
[2026-03-11 21:55:29] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.575839999999999463398125953972339630126953125
[2026-03-11 21:55:29] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 21:55:29] [INFO]   -> Found value: 2026-03-11 16:27:12
[2026-03-11 21:55:29] [INFO]   -> Set field 'alarm' = "2026-03-11 16:27:12"
[2026-03-11 21:55:29] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 21:55:29] [INFO]   -> Found value: 2026-03-11 16:28:30
[2026-03-11 21:55:29] [INFO]   -> Set field 'dispatched' = "2026-03-11 16:28:30"
[2026-03-11 21:55:29] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 21:55:29] [INFO]   -> No value found (null or empty)
[2026-03-11 21:55:29] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 21:55:29] [INFO]   -> No value found (null or empty)
[2026-03-11 21:55:29] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 21:55:29] [INFO]   -> Found value: 2026-03-11 16:55:12
[2026-03-11 21:55:29] [INFO]   -> Set field 'cleared' = "2026-03-11 16:55:12"
[2026-03-11 21:55:29] [INFO]   -> Set field 'inService' = "2026-03-11 16:55:12"
[2026-03-11 21:55:29] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 21:55:29] [INFO]   -> Found value: BRIARCREST LN/ROSE GARDEN LN
[2026-03-11 21:55:29] [INFO]   -> Set field 'incidentLocationCross' = "BRIARCREST LN\/ROSE GARDEN LN"
[2026-03-11 21:55:29] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 21:55:29] [INFO]   -> Found value: PCFR
[2026-03-11 21:55:29] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-11 21:55:29] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 21:55:29] [INFO]   -> Found value: 2026-03-11 16:28:30
[2026-03-11 21:55:29] [INFO]   -> Set field 'timedispatch' = "2026-03-11 16:28:30"
[2026-03-11 21:55:29] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 21:55:29] [INFO]   -> No value found (null or empty)
[2026-03-11 21:55:29] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 21:55:29] [INFO]   -> No value found (null or empty)
[2026-03-11 21:55:29] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 21:55:29] [INFO]   -> Found value: 2026-03-11 16:55:12
[2026-03-11 21:55:29] [INFO]   -> Set field 'timeunitclear' = "2026-03-11 16:55:12"
[2026-03-11 21:55:29] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 21:55:29] [INFO]   -> No value found (null or empty)
[2026-03-11 21:55:29] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 21:55:29] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 21:55:29] [INFO]   -> Found value: 20260026845
[2026-03-11 21:55:29] [INFO]   -> Set field 'policeReportNumber' = "20260026845"
[2026-03-11 21:55:29] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 21:55:29] [INFO]   -> Found value: [EMS] STAGE 4 LUNG CANCER  [03/11/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2/11/1956  [03/11/2...
[2026-03-11 21:55:29] [INFO]   -> Set field 'dispatchNotes' = "[EMS] STAGE 4 LUNG CANCER  [03\/11\/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2\/11\/1956  [03\/11\/26 16:27:26 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 16:27:12 DSTEPHENS]"
[2026-03-11 21:55:29] [INFO]   -> Set field 'cADLog' = "[EMS] STAGE 4 LUNG CANCER  [03\/11\/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2\/11\/1956  [03\/11\/26 16:27:26 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 16:27:12 DSTEPHENS]"
[2026-03-11 21:55:29] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 21:55:29] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 21:55:29] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 21:55:29] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 21:55:29] [INFO]   -> Found value: BUFFALO VALLEY
[2026-03-11 21:55:29] [INFO]   -> Set field 'streetName' = "BUFFALO VALLEY"
[2026-03-11 21:55:29] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 21:55:29] [INFO]   -> Found value: RD
[2026-03-11 21:55:29] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 21:55:29] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 21:55:29] [INFO]   -> Found value: 3405 BUFFALO VALLEY RD
[2026-03-11 21:55:29] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3405 BUFFALO VALLEY RD"
[2026-03-11 21:55:29] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-11 21:55:29] [INFO] Concatenating street name and type
[2026-03-11 21:55:29] [INFO]   -> Combined street name: BUFFALO VALLEY RD
[2026-03-11 21:55:29] [INFO] Built locationCoordinates from lat/lng: 36.15737,-85.57584
[2026-03-11 21:55:29] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nRESC","incidentInternalId":"2026000671","dispatchRunNumber":"2026000671","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":3405,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.1573700000000002319211489520967006683349609375,"nERISIncidentLongitude":-85.575839999999999463398125953972339630126953125,"alarm":"2026-03-11 16:27:12","dispatched":"2026-03-11 16:28:30","cleared":"2026-03-11 16:55:12","inService":"2026-03-11 16:55:12","incidentLocationCross":"BRIARCREST LN\/ROSE GARDEN LN","cADVehicleID":"PCFR","timedispatch":"2026-03-11 16:28:30","timeunitclear":"2026-03-11 16:55:12","policeReportNumber":"20260026845","dispatchNotes":"[EMS] STAGE 4 LUNG CANCER  [03\/11\/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2\/11\/1956  [03\/11\/26 16:27:26 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 16:27:12 DSTEPHENS]","cADLog":"[EMS] STAGE 4 LUNG CANCER  [03\/11\/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2\/11\/1956  [03\/11\/26 16:27:26 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 16:27:12 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"BUFFALO VALLEY RD","incidentAddressTextVersionStreet":"3405 BUFFALO VALLEY RD","locationCoordinates":"36.15737,-85.57584"}
[2026-03-11 21:55:29] [INFO] Number of extracted fields: 24
[2026-03-11 21:55:29] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
RESC'
[2026-03-11 21:55:29] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
RESC', Parsed IDs = ["PCFD","RESC"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-11 21:55:29] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","RESC"]
[2026-03-11 21:55:29] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 21:55:29] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 21:55:29] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["RESC"]
[2026-03-11 21:55:30] [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-11 21:55:30] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 21:55:30] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-11 21:55:30] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 21:55:30] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 21:55:31] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-11 21:55:31] [INFO] Found existing Dispatch with cADNumber '2026000671', ID: 69b1de855b433b786 - will update instead of create
[2026-03-11 21:55:31] [INFO] Updated existing Dispatches record with ID: 69b1de855b433b786
[2026-03-11 21:55:31] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026845_20260311_215528.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026845_20260311_215528.XML
[2026-03-11 21:55:31] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026845_20260311_215528.XML
[2026-03-11 21:55:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026845_20260311_215530.XML
[2026-03-11 21:55:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026845_20260311_215530.XML for user: 68f1466aed072ad4a
[2026-03-11 21:55:31] [INFO] File size: 5425 bytes
[2026-03-11 21:55:31] [INFO] Created FTPFiles record with ID: 69b1e4d3bfd2857ee
[2026-03-11 21:55:31] [INFO] About to extract fields from XML. File size: 5425 bytes
[2026-03-11 21:55:31] [INFO] Number of mappings: 28
[2026-03-11 21:55:31] [INFO] Starting XML parsing. Content length: 5425
[2026-03-11 21:55:31] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 21:55:31] [INFO] Processing 28 field mappings
[2026-03-11 21:55:31] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 21:55:31] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 21:55:31] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 21:55:31] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-11 21:55:31] [INFO]   -> Found value: PCFD
RESC
[2026-03-11 21:55:31] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nRESC"
[2026-03-11 21:55:31] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 21:55:31] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-11 21:55:31] [INFO]   -> Found value: 2026000671
[2026-03-11 21:55:31] [INFO]   -> Set field 'incidentInternalId' = "2026000671"
[2026-03-11 21:55:31] [INFO]   -> Set field 'dispatchRunNumber' = "2026000671"
[2026-03-11 21:55:31] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 21:55:31] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-11 21:55:31] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-11 21:55:31] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 21:55:31] [INFO]   -> Found value: 3405
[2026-03-11 21:55:31] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3405
[2026-03-11 21:55:31] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 21:55:31] [INFO]   -> Found value: TN
[2026-03-11 21:55:31] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 21:55:31] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 21:55:31] [INFO]   -> Found value: 38501
[2026-03-11 21:55:31] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-11 21:55:31] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 21:55:31] [INFO]   -> No value found (null or empty)
[2026-03-11 21:55:31] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 21:55:31] [INFO]   -> No value found (null or empty)
[2026-03-11 21:55:31] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 21:55:31] [INFO]   -> Found value: 36.15737
[2026-03-11 21:55:31] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1573700000000002319211489520967006683349609375
[2026-03-11 21:55:31] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 21:55:31] [INFO]   -> Found value: -85.57584
[2026-03-11 21:55:31] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.575839999999999463398125953972339630126953125
[2026-03-11 21:55:31] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 21:55:31] [INFO]   -> Found value: 2026-03-11 16:27:12
[2026-03-11 21:55:31] [INFO]   -> Set field 'alarm' = "2026-03-11 16:27:12"
[2026-03-11 21:55:31] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 21:55:31] [INFO]   -> Found value: 2026-03-11 16:28:30
[2026-03-11 21:55:31] [INFO]   -> Set field 'dispatched' = "2026-03-11 16:28:30"
[2026-03-11 21:55:31] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 21:55:31] [INFO]   -> No value found (null or empty)
[2026-03-11 21:55:31] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 21:55:31] [INFO]   -> No value found (null or empty)
[2026-03-11 21:55:31] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 21:55:31] [INFO]   -> Found value: 2026-03-11 16:55:12
[2026-03-11 21:55:31] [INFO]   -> Set field 'cleared' = "2026-03-11 16:55:12"
[2026-03-11 21:55:31] [INFO]   -> Set field 'inService' = "2026-03-11 16:55:12"
[2026-03-11 21:55:31] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 21:55:31] [INFO]   -> Found value: BRIARCREST LN/ROSE GARDEN LN
[2026-03-11 21:55:31] [INFO]   -> Set field 'incidentLocationCross' = "BRIARCREST LN\/ROSE GARDEN LN"
[2026-03-11 21:55:31] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 21:55:31] [INFO]   -> Found value: PCFR
[2026-03-11 21:55:31] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-11 21:55:31] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 21:55:31] [INFO]   -> Found value: 2026-03-11 16:28:30
[2026-03-11 21:55:31] [INFO]   -> Set field 'timedispatch' = "2026-03-11 16:28:30"
[2026-03-11 21:55:31] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 21:55:31] [INFO]   -> No value found (null or empty)
[2026-03-11 21:55:31] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 21:55:31] [INFO]   -> No value found (null or empty)
[2026-03-11 21:55:31] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 21:55:31] [INFO]   -> Found value: 2026-03-11 16:55:12
[2026-03-11 21:55:31] [INFO]   -> Set field 'timeunitclear' = "2026-03-11 16:55:12"
[2026-03-11 21:55:31] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 21:55:31] [INFO]   -> No value found (null or empty)
[2026-03-11 21:55:31] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 21:55:31] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 21:55:31] [INFO]   -> Found value: 20260026845
[2026-03-11 21:55:31] [INFO]   -> Set field 'policeReportNumber' = "20260026845"
[2026-03-11 21:55:31] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 21:55:31] [INFO]   -> Found value: [EMS] STAGE 4 LUNG CANCER  [03/11/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2/11/1956  [03/11/2...
[2026-03-11 21:55:31] [INFO]   -> Set field 'dispatchNotes' = "[EMS] STAGE 4 LUNG CANCER  [03\/11\/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2\/11\/1956  [03\/11\/26 16:27:26 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 16:27:12 DSTEPHENS]"
[2026-03-11 21:55:31] [INFO]   -> Set field 'cADLog' = "[EMS] STAGE 4 LUNG CANCER  [03\/11\/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2\/11\/1956  [03\/11\/26 16:27:26 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 16:27:12 DSTEPHENS]"
[2026-03-11 21:55:31] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 21:55:31] [INFO]   -> Found value: COOKEVILLE
[2026-03-11 21:55:31] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-11 21:55:31] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 21:55:31] [INFO]   -> Found value: BUFFALO VALLEY
[2026-03-11 21:55:31] [INFO]   -> Set field 'streetName' = "BUFFALO VALLEY"
[2026-03-11 21:55:31] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 21:55:31] [INFO]   -> Found value: RD
[2026-03-11 21:55:31] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 21:55:31] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 21:55:31] [INFO]   -> Found value: 3405 BUFFALO VALLEY RD
[2026-03-11 21:55:31] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3405 BUFFALO VALLEY RD"
[2026-03-11 21:55:31] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-11 21:55:31] [INFO] Concatenating street name and type
[2026-03-11 21:55:31] [INFO]   -> Combined street name: BUFFALO VALLEY RD
[2026-03-11 21:55:31] [INFO] Built locationCoordinates from lat/lng: 36.15737,-85.57584
[2026-03-11 21:55:31] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nRESC","incidentInternalId":"2026000671","dispatchRunNumber":"2026000671","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":3405,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.1573700000000002319211489520967006683349609375,"nERISIncidentLongitude":-85.575839999999999463398125953972339630126953125,"alarm":"2026-03-11 16:27:12","dispatched":"2026-03-11 16:28:30","cleared":"2026-03-11 16:55:12","inService":"2026-03-11 16:55:12","incidentLocationCross":"BRIARCREST LN\/ROSE GARDEN LN","cADVehicleID":"PCFR","timedispatch":"2026-03-11 16:28:30","timeunitclear":"2026-03-11 16:55:12","policeReportNumber":"20260026845","dispatchNotes":"[EMS] STAGE 4 LUNG CANCER  [03\/11\/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2\/11\/1956  [03\/11\/26 16:27:26 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 16:27:12 DSTEPHENS]","cADLog":"[EMS] STAGE 4 LUNG CANCER  [03\/11\/26 16:27:48 DSTEPHENS] [EMS] DAVIDSON  BILL    2\/11\/1956  [03\/11\/26 16:27:26 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/11\/2026 16:27:12 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"BUFFALO VALLEY RD","incidentAddressTextVersionStreet":"3405 BUFFALO VALLEY RD","locationCoordinates":"36.15737,-85.57584"}
[2026-03-11 21:55:31] [INFO] Number of extracted fields: 24
[2026-03-11 21:55:31] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
RESC'
[2026-03-11 21:55:31] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
RESC', Parsed IDs = ["PCFD","RESC"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-11 21:55:31] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","RESC"]
[2026-03-11 21:55:31] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 21:55:31] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 21:55:31] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["RESC"]
[2026-03-11 21:55:32] [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-11 21:55:32] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 21:55:32] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-11 21:55:32] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 21:55:32] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 21:55:32] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-11 21:55:32] [INFO] Found existing Dispatch with cADNumber '2026000671', ID: 69b1de855b433b786 - will update instead of create
[2026-03-11 21:55:32] [INFO] Updated existing Dispatches record with ID: 69b1de855b433b786
[2026-03-11 21:55:32] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026845_20260311_215530.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026845_20260311_215530.XML
[2026-03-11 21:55:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026845_20260311_215530.XML
[2026-03-11 22:25:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260026875_20260311_222506.XML
[2026-03-11 22:25:06] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260026875_20260311_222506.XML for user: 68f1466aed072ad4a
[2026-03-11 22:25:06] [INFO] File size: 4604 bytes
[2026-03-11 22:25:06] [INFO] Created FTPFiles record with ID: 69b1ebc2ad6f14901
[2026-03-11 22:25:06] [INFO] About to extract fields from XML. File size: 4604 bytes
[2026-03-11 22:25:06] [INFO] Number of mappings: 28
[2026-03-11 22:25:06] [INFO] Starting XML parsing. Content length: 4604
[2026-03-11 22:25:06] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 22:25:06] [INFO] Processing 28 field mappings
[2026-03-11 22:25:06] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 22:25:06] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 22:25:06] [INFO]   -> Found value: BFD
[2026-03-11 22:25:06] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-11 22:25:06] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 22:25:06] [INFO]   -> Found value: 2026000083
[2026-03-11 22:25:06] [INFO]   -> Set field 'incidentInternalId' = "2026000083"
[2026-03-11 22:25:06] [INFO]   -> Set field 'dispatchRunNumber' = "2026000083"
[2026-03-11 22:25:06] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 22:25:06] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-11 22:25:06] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-11 22:25:06] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 22:25:06] [INFO]   -> Found value: 116
[2026-03-11 22:25:06] [INFO]   -> Set field 'incidentLocationStreetNumber' = 116
[2026-03-11 22:25:06] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 22:25:06] [INFO]   -> Found value: TN
[2026-03-11 22:25:06] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 22:25:06] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 22:25:06] [INFO]   -> Found value: 38544
[2026-03-11 22:25:06] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-11 22:25:06] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 22:25:06] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:06] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 22:25:06] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:06] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 22:25:06] [INFO]   -> Found value: 36.16224
[2026-03-11 22:25:06] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1622399999999970532371662557125091552734375
[2026-03-11 22:25:06] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 22:25:06] [INFO]   -> Found value: -85.63239
[2026-03-11 22:25:06] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6323900000000008958522812463343143463134765625
[2026-03-11 22:25:06] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 22:25:06] [INFO]   -> Found value: 2026-03-11 17:24:26
[2026-03-11 22:25:06] [INFO]   -> Set field 'alarm' = "2026-03-11 17:24:26"
[2026-03-11 22:25:06] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 22:25:06] [INFO]   -> Found value: 2026-03-11 17:25:00
[2026-03-11 22:25:06] [INFO]   -> Set field 'dispatched' = "2026-03-11 17:25:00"
[2026-03-11 22:25:06] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 22:25:06] [INFO]   -> Found value: 2026-03-11 17:25:00
[2026-03-11 22:25:06] [INFO]   -> Set field 'enroute' = "2026-03-11 17:25:00"
[2026-03-11 22:25:06] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 22:25:06] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:06] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 22:25:06] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:06] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 22:25:06] [INFO]   -> Found value: MAIN ST/REGAN LOOP
[2026-03-11 22:25:06] [INFO]   -> Set field 'incidentLocationCross' = "MAIN ST\/REGAN LOOP"
[2026-03-11 22:25:06] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 22:25:06] [INFO]   -> Found value: BEN2
[2026-03-11 22:25:06] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-11 22:25:06] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 22:25:06] [INFO]   -> Found value: 2026-03-11 17:25:00
[2026-03-11 22:25:06] [INFO]   -> Set field 'timedispatch' = "2026-03-11 17:25:00"
[2026-03-11 22:25:06] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 22:25:06] [INFO]   -> Found value: 2026-03-11 17:25:00
[2026-03-11 22:25:06] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 17:25:00"
[2026-03-11 22:25:06] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 22:25:06] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:06] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 22:25:06] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:06] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 22:25:06] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:06] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 22:25:06] [INFO]   -> Found value: 20260026875
[2026-03-11 22:25:06] [INFO]   -> Set field 'policeReportNumber' = "20260026875"
[2026-03-11 22:25:06] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 22:25:06] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:06] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 22:25:06] [INFO]   -> Found value: BAXTER
[2026-03-11 22:25:06] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-11 22:25:06] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 22:25:06] [INFO]   -> Found value: REECE
[2026-03-11 22:25:06] [INFO]   -> Set field 'streetName' = "REECE"
[2026-03-11 22:25:06] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 22:25:06] [INFO]   -> Found value: RD
[2026-03-11 22:25:06] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 22:25:06] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 22:25:06] [INFO]   -> Found value: 116 REECE RD
[2026-03-11 22:25:06] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "116 REECE RD"
[2026-03-11 22:25:06] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-11 22:25:06] [INFO] Concatenating street name and type
[2026-03-11 22:25:06] [INFO]   -> Combined street name: REECE RD
[2026-03-11 22:25:06] [INFO] Built locationCoordinates from lat/lng: 36.16224,-85.63239
[2026-03-11 22:25:06] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000083","dispatchRunNumber":"2026000083","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":116,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1622399999999970532371662557125091552734375,"nERISIncidentLongitude":-85.6323900000000008958522812463343143463134765625,"alarm":"2026-03-11 17:24:26","dispatched":"2026-03-11 17:25:00","enroute":"2026-03-11 17:25:00","incidentLocationCross":"MAIN ST\/REGAN LOOP","cADVehicleID":"BEN2","timedispatch":"2026-03-11 17:25:00","timeenroutetoscene":"2026-03-11 17:25:00","policeReportNumber":"20260026875","incidentLocationCity":"BAXTER","streetName":"REECE RD","incidentAddressTextVersionStreet":"116 REECE RD","locationCoordinates":"36.16224,-85.63239"}
[2026-03-11 22:25:06] [INFO] Number of extracted fields: 21
[2026-03-11 22:25:06] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-11 22:25:06] [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-11 22:25:06] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-11 22:25:06] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-11 22:25:06] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-11 22:25:07] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-11 22:25:07] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-11 22:25:07] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-11 22:25:07] [INFO] Found existing IncidentTypeMapping with ID: 6945b78c6a367ff06
[2026-03-11 22:25:12] [INFO] Created new Dispatches record with ID: 69b1ebc3b938f2760
[2026-03-11 22:25:12] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260026875_20260311_222506.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/BFD_20260026875_20260311_222506.XML
[2026-03-11 22:25:12] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260026875_20260311_222506.XML
[2026-03-11 22:25:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260026875_20260311_222506_1.XML
[2026-03-11 22:25:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260026875_20260311_222506_1.XML for user: 68f1466aed072ad4a
[2026-03-11 22:25:12] [INFO] File size: 4604 bytes
[2026-03-11 22:25:12] [INFO] Created FTPFiles record with ID: 69b1ebc88065c7198
[2026-03-11 22:25:12] [INFO] About to extract fields from XML. File size: 4604 bytes
[2026-03-11 22:25:12] [INFO] Number of mappings: 28
[2026-03-11 22:25:12] [INFO] Starting XML parsing. Content length: 4604
[2026-03-11 22:25:12] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 22:25:12] [INFO] Processing 28 field mappings
[2026-03-11 22:25:12] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 22:25:12] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 22:25:12] [INFO]   -> Found value: BFD
[2026-03-11 22:25:12] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-11 22:25:12] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 22:25:12] [INFO]   -> Found value: 2026000083
[2026-03-11 22:25:12] [INFO]   -> Set field 'incidentInternalId' = "2026000083"
[2026-03-11 22:25:12] [INFO]   -> Set field 'dispatchRunNumber' = "2026000083"
[2026-03-11 22:25:12] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 22:25:12] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-11 22:25:12] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-11 22:25:12] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 22:25:12] [INFO]   -> Found value: 116
[2026-03-11 22:25:12] [INFO]   -> Set field 'incidentLocationStreetNumber' = 116
[2026-03-11 22:25:12] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 22:25:12] [INFO]   -> Found value: TN
[2026-03-11 22:25:12] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 22:25:12] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 22:25:12] [INFO]   -> Found value: 38544
[2026-03-11 22:25:12] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-11 22:25:12] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 22:25:12] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:12] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 22:25:12] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:12] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 22:25:12] [INFO]   -> Found value: 36.16224
[2026-03-11 22:25:12] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1622399999999970532371662557125091552734375
[2026-03-11 22:25:12] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 22:25:12] [INFO]   -> Found value: -85.63239
[2026-03-11 22:25:12] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6323900000000008958522812463343143463134765625
[2026-03-11 22:25:12] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 22:25:12] [INFO]   -> Found value: 2026-03-11 17:24:26
[2026-03-11 22:25:12] [INFO]   -> Set field 'alarm' = "2026-03-11 17:24:26"
[2026-03-11 22:25:12] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 22:25:12] [INFO]   -> Found value: 2026-03-11 17:25:00
[2026-03-11 22:25:12] [INFO]   -> Set field 'dispatched' = "2026-03-11 17:25:00"
[2026-03-11 22:25:12] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 22:25:12] [INFO]   -> Found value: 2026-03-11 17:25:00
[2026-03-11 22:25:12] [INFO]   -> Set field 'enroute' = "2026-03-11 17:25:00"
[2026-03-11 22:25:12] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 22:25:12] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:12] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 22:25:12] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:12] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 22:25:12] [INFO]   -> Found value: MAIN ST/REGAN LOOP
[2026-03-11 22:25:12] [INFO]   -> Set field 'incidentLocationCross' = "MAIN ST\/REGAN LOOP"
[2026-03-11 22:25:12] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 22:25:12] [INFO]   -> Found value: BEN2
[2026-03-11 22:25:12] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-11 22:25:12] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 22:25:12] [INFO]   -> Found value: 2026-03-11 17:25:00
[2026-03-11 22:25:12] [INFO]   -> Set field 'timedispatch' = "2026-03-11 17:25:00"
[2026-03-11 22:25:12] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 22:25:12] [INFO]   -> Found value: 2026-03-11 17:25:00
[2026-03-11 22:25:12] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 17:25:00"
[2026-03-11 22:25:12] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 22:25:12] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:12] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 22:25:12] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:12] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 22:25:12] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:12] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 22:25:12] [INFO]   -> Found value: 20260026875
[2026-03-11 22:25:12] [INFO]   -> Set field 'policeReportNumber' = "20260026875"
[2026-03-11 22:25:12] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 22:25:12] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:12] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 22:25:12] [INFO]   -> Found value: BAXTER
[2026-03-11 22:25:12] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-11 22:25:12] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 22:25:12] [INFO]   -> Found value: REECE
[2026-03-11 22:25:12] [INFO]   -> Set field 'streetName' = "REECE"
[2026-03-11 22:25:12] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 22:25:12] [INFO]   -> Found value: RD
[2026-03-11 22:25:12] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 22:25:12] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 22:25:12] [INFO]   -> Found value: 116 REECE RD
[2026-03-11 22:25:12] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "116 REECE RD"
[2026-03-11 22:25:12] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-11 22:25:12] [INFO] Concatenating street name and type
[2026-03-11 22:25:12] [INFO]   -> Combined street name: REECE RD
[2026-03-11 22:25:12] [INFO] Built locationCoordinates from lat/lng: 36.16224,-85.63239
[2026-03-11 22:25:12] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000083","dispatchRunNumber":"2026000083","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":116,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1622399999999970532371662557125091552734375,"nERISIncidentLongitude":-85.6323900000000008958522812463343143463134765625,"alarm":"2026-03-11 17:24:26","dispatched":"2026-03-11 17:25:00","enroute":"2026-03-11 17:25:00","incidentLocationCross":"MAIN ST\/REGAN LOOP","cADVehicleID":"BEN2","timedispatch":"2026-03-11 17:25:00","timeenroutetoscene":"2026-03-11 17:25:00","policeReportNumber":"20260026875","incidentLocationCity":"BAXTER","streetName":"REECE RD","incidentAddressTextVersionStreet":"116 REECE RD","locationCoordinates":"36.16224,-85.63239"}
[2026-03-11 22:25:12] [INFO] Number of extracted fields: 21
[2026-03-11 22:25:12] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-11 22:25: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-11 22:25:12] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-11 22:25:12] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-11 22:25:12] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-11 22:25:12] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-11 22:25:12] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-11 22:25:13] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-11 22:25:13] [INFO] Found existing IncidentTypeMapping with ID: 6945b78c6a367ff06
[2026-03-11 22:25:13] [INFO] Found existing Dispatch with cADNumber '2026000083', ID: 69b1ebc3b938f2760 - will update instead of create
[2026-03-11 22:25:13] [INFO] Updated existing Dispatches record with ID: 69b1ebc3b938f2760
[2026-03-11 22:25:13] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260026875_20260311_222506_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/BFD_20260026875_20260311_222506_1.XML
[2026-03-11 22:25:13] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260026875_20260311_222506_1.XML
[2026-03-11 22:25:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260026875_20260311_222506_2.XML
[2026-03-11 22:25:13] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260026875_20260311_222506_2.XML for user: 68f1466aed072ad4a
[2026-03-11 22:25:13] [INFO] File size: 4604 bytes
[2026-03-11 22:25:13] [INFO] Created FTPFiles record with ID: 69b1ebc9e22c30b16
[2026-03-11 22:25:13] [INFO] About to extract fields from XML. File size: 4604 bytes
[2026-03-11 22:25:13] [INFO] Number of mappings: 28
[2026-03-11 22:25:13] [INFO] Starting XML parsing. Content length: 4604
[2026-03-11 22:25:13] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 22:25:13] [INFO] Processing 28 field mappings
[2026-03-11 22:25:13] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 22:25:13] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 22:25:13] [INFO]   -> Found value: BFD
[2026-03-11 22:25:13] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-11 22:25:13] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 22:25:13] [INFO]   -> Found value: 2026000083
[2026-03-11 22:25:13] [INFO]   -> Set field 'incidentInternalId' = "2026000083"
[2026-03-11 22:25:13] [INFO]   -> Set field 'dispatchRunNumber' = "2026000083"
[2026-03-11 22:25:13] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 22:25:13] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-11 22:25:13] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-11 22:25:13] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 22:25:13] [INFO]   -> Found value: 116
[2026-03-11 22:25:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 116
[2026-03-11 22:25:13] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 22:25:13] [INFO]   -> Found value: TN
[2026-03-11 22:25:13] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 22:25:13] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 22:25:13] [INFO]   -> Found value: 38544
[2026-03-11 22:25:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-11 22:25:13] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 22:25:13] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:13] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 22:25:13] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:13] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 22:25:13] [INFO]   -> Found value: 36.16224
[2026-03-11 22:25:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1622399999999970532371662557125091552734375
[2026-03-11 22:25:13] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 22:25:13] [INFO]   -> Found value: -85.63239
[2026-03-11 22:25:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6323900000000008958522812463343143463134765625
[2026-03-11 22:25:13] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 22:25:13] [INFO]   -> Found value: 2026-03-11 17:24:26
[2026-03-11 22:25:13] [INFO]   -> Set field 'alarm' = "2026-03-11 17:24:26"
[2026-03-11 22:25:13] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 22:25:13] [INFO]   -> Found value: 2026-03-11 17:25:00
[2026-03-11 22:25:13] [INFO]   -> Set field 'dispatched' = "2026-03-11 17:25:00"
[2026-03-11 22:25:13] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 22:25:13] [INFO]   -> Found value: 2026-03-11 17:25:00
[2026-03-11 22:25:13] [INFO]   -> Set field 'enroute' = "2026-03-11 17:25:00"
[2026-03-11 22:25:13] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 22:25:13] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:13] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 22:25:13] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:13] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 22:25:13] [INFO]   -> Found value: MAIN ST/REGAN LOOP
[2026-03-11 22:25:13] [INFO]   -> Set field 'incidentLocationCross' = "MAIN ST\/REGAN LOOP"
[2026-03-11 22:25:13] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 22:25:13] [INFO]   -> Found value: BEN2
[2026-03-11 22:25:13] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-11 22:25:13] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 22:25:13] [INFO]   -> Found value: 2026-03-11 17:25:00
[2026-03-11 22:25:13] [INFO]   -> Set field 'timedispatch' = "2026-03-11 17:25:00"
[2026-03-11 22:25:13] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 22:25:13] [INFO]   -> Found value: 2026-03-11 17:25:00
[2026-03-11 22:25:13] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 17:25:00"
[2026-03-11 22:25:13] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 22:25:13] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:13] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 22:25:13] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:13] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 22:25:13] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:13] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 22:25:13] [INFO]   -> Found value: 20260026875
[2026-03-11 22:25:13] [INFO]   -> Set field 'policeReportNumber' = "20260026875"
[2026-03-11 22:25:13] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 22:25:13] [INFO]   -> No value found (null or empty)
[2026-03-11 22:25:13] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 22:25:13] [INFO]   -> Found value: BAXTER
[2026-03-11 22:25:13] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-11 22:25:13] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 22:25:13] [INFO]   -> Found value: REECE
[2026-03-11 22:25:13] [INFO]   -> Set field 'streetName' = "REECE"
[2026-03-11 22:25:13] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 22:25:13] [INFO]   -> Found value: RD
[2026-03-11 22:25:13] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 22:25:13] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 22:25:13] [INFO]   -> Found value: 116 REECE RD
[2026-03-11 22:25:13] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "116 REECE RD"
[2026-03-11 22:25:13] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-11 22:25:13] [INFO] Concatenating street name and type
[2026-03-11 22:25:13] [INFO]   -> Combined street name: REECE RD
[2026-03-11 22:25:13] [INFO] Built locationCoordinates from lat/lng: 36.16224,-85.63239
[2026-03-11 22:25:13] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000083","dispatchRunNumber":"2026000083","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":116,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1622399999999970532371662557125091552734375,"nERISIncidentLongitude":-85.6323900000000008958522812463343143463134765625,"alarm":"2026-03-11 17:24:26","dispatched":"2026-03-11 17:25:00","enroute":"2026-03-11 17:25:00","incidentLocationCross":"MAIN ST\/REGAN LOOP","cADVehicleID":"BEN2","timedispatch":"2026-03-11 17:25:00","timeenroutetoscene":"2026-03-11 17:25:00","policeReportNumber":"20260026875","incidentLocationCity":"BAXTER","streetName":"REECE RD","incidentAddressTextVersionStreet":"116 REECE RD","locationCoordinates":"36.16224,-85.63239"}
[2026-03-11 22:25:13] [INFO] Number of extracted fields: 21
[2026-03-11 22:25:13] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-11 22:25:13] [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-11 22:25:13] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-11 22:25:13] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-11 22:25:14] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-11 22:25:14] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-11 22:25:14] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-11 22:25:14] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-11 22:25:14] [INFO] Found existing IncidentTypeMapping with ID: 6945b78c6a367ff06
[2026-03-11 22:25:14] [INFO] Found existing Dispatch with cADNumber '2026000083', ID: 69b1ebc3b938f2760 - will update instead of create
[2026-03-11 22:25:15] [INFO] Updated existing Dispatches record with ID: 69b1ebc3b938f2760
[2026-03-11 22:25:15] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260026875_20260311_222506_2.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/BFD_20260026875_20260311_222506_2.XML
[2026-03-11 22:25:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260026875_20260311_222506_2.XML
[2026-03-11 22:29:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260026875_20260311_222958.XML
[2026-03-11 22:29:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260026875_20260311_222958.XML for user: 68f1466aed072ad4a
[2026-03-11 22:29:58] [INFO] File size: 4711 bytes
[2026-03-11 22:29:58] [INFO] Created FTPFiles record with ID: 69b1ece6da11fab53
[2026-03-11 22:29:58] [INFO] About to extract fields from XML. File size: 4711 bytes
[2026-03-11 22:29:58] [INFO] Number of mappings: 28
[2026-03-11 22:29:58] [INFO] Starting XML parsing. Content length: 4711
[2026-03-11 22:29:58] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 22:29:58] [INFO] Processing 28 field mappings
[2026-03-11 22:29:58] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 22:29:58] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 22:29:58] [INFO]   -> Found value: BFD
[2026-03-11 22:29:58] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-11 22:29:58] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 22:29:58] [INFO]   -> Found value: 2026000083
[2026-03-11 22:29:58] [INFO]   -> Set field 'incidentInternalId' = "2026000083"
[2026-03-11 22:29:58] [INFO]   -> Set field 'dispatchRunNumber' = "2026000083"
[2026-03-11 22:29:58] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 22:29:58] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-11 22:29:58] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-11 22:29:58] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 22:29:58] [INFO]   -> Found value: 116
[2026-03-11 22:29:58] [INFO]   -> Set field 'incidentLocationStreetNumber' = 116
[2026-03-11 22:29:58] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 22:29:58] [INFO]   -> Found value: TN
[2026-03-11 22:29:58] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 22:29:58] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 22:29:58] [INFO]   -> Found value: 38544
[2026-03-11 22:29:58] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-11 22:29:58] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 22:29:58] [INFO]   -> No value found (null or empty)
[2026-03-11 22:29:58] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 22:29:58] [INFO]   -> No value found (null or empty)
[2026-03-11 22:29:58] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 22:29:58] [INFO]   -> Found value: 36.16224
[2026-03-11 22:29:58] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1622399999999970532371662557125091552734375
[2026-03-11 22:29:58] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 22:29:58] [INFO]   -> Found value: -85.63239
[2026-03-11 22:29:58] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6323900000000008958522812463343143463134765625
[2026-03-11 22:29:58] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 22:29:58] [INFO]   -> Found value: 2026-03-11 17:24:26
[2026-03-11 22:29:58] [INFO]   -> Set field 'alarm' = "2026-03-11 17:24:26"
[2026-03-11 22:29:58] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 22:29:58] [INFO]   -> Found value: 2026-03-11 17:25:00
[2026-03-11 22:29:58] [INFO]   -> Set field 'dispatched' = "2026-03-11 17:25:00"
[2026-03-11 22:29:58] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 22:29:58] [INFO]   -> Found value: 2026-03-11 17:25:00
[2026-03-11 22:29:58] [INFO]   -> Set field 'enroute' = "2026-03-11 17:25:00"
[2026-03-11 22:29:58] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 22:29:58] [INFO]   -> Found value: 2026-03-11 17:29:55
[2026-03-11 22:29:58] [INFO]   -> Set field 'onScene' = "2026-03-11 17:29:55"
[2026-03-11 22:29:58] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 22:29:58] [INFO]   -> No value found (null or empty)
[2026-03-11 22:29:58] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 22:29:58] [INFO]   -> Found value: MAIN ST/REGAN LOOP
[2026-03-11 22:29:58] [INFO]   -> Set field 'incidentLocationCross' = "MAIN ST\/REGAN LOOP"
[2026-03-11 22:29:58] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 22:29:58] [INFO]   -> Found value: BEN2
[2026-03-11 22:29:58] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-11 22:29:58] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 22:29:58] [INFO]   -> Found value: 2026-03-11 17:25:00
[2026-03-11 22:29:58] [INFO]   -> Set field 'timedispatch' = "2026-03-11 17:25:00"
[2026-03-11 22:29:58] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 22:29:58] [INFO]   -> Found value: 2026-03-11 17:25:00
[2026-03-11 22:29:58] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 17:25:00"
[2026-03-11 22:29:58] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 22:29:58] [INFO]   -> Found value: 2026-03-11 17:29:55
[2026-03-11 22:29:58] [INFO]   -> Set field 'timeonscene' = "2026-03-11 17:29:55"
[2026-03-11 22:29:58] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 22:29:58] [INFO]   -> No value found (null or empty)
[2026-03-11 22:29:58] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 22:29:58] [INFO]   -> No value found (null or empty)
[2026-03-11 22:29:58] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 22:29:58] [INFO]   -> Found value: 20260026875
[2026-03-11 22:29:58] [INFO]   -> Set field 'policeReportNumber' = "20260026875"
[2026-03-11 22:29:58] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 22:29:58] [INFO]   -> No value found (null or empty)
[2026-03-11 22:29:58] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 22:29:58] [INFO]   -> Found value: BAXTER
[2026-03-11 22:29:58] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-11 22:29:58] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 22:29:58] [INFO]   -> Found value: REECE
[2026-03-11 22:29:58] [INFO]   -> Set field 'streetName' = "REECE"
[2026-03-11 22:29:58] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 22:29:58] [INFO]   -> Found value: RD
[2026-03-11 22:29:58] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 22:29:58] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 22:29:58] [INFO]   -> Found value: 116 REECE RD
[2026-03-11 22:29:58] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "116 REECE RD"
[2026-03-11 22:29:58] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 22:29:58] [INFO] Concatenating street name and type
[2026-03-11 22:29:58] [INFO]   -> Combined street name: REECE RD
[2026-03-11 22:29:58] [INFO] Built locationCoordinates from lat/lng: 36.16224,-85.63239
[2026-03-11 22:29:58] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000083","dispatchRunNumber":"2026000083","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":116,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1622399999999970532371662557125091552734375,"nERISIncidentLongitude":-85.6323900000000008958522812463343143463134765625,"alarm":"2026-03-11 17:24:26","dispatched":"2026-03-11 17:25:00","enroute":"2026-03-11 17:25:00","onScene":"2026-03-11 17:29:55","incidentLocationCross":"MAIN ST\/REGAN LOOP","cADVehicleID":"BEN2","timedispatch":"2026-03-11 17:25:00","timeenroutetoscene":"2026-03-11 17:25:00","timeonscene":"2026-03-11 17:29:55","policeReportNumber":"20260026875","incidentLocationCity":"BAXTER","streetName":"REECE RD","incidentAddressTextVersionStreet":"116 REECE RD","locationCoordinates":"36.16224,-85.63239"}
[2026-03-11 22:29:58] [INFO] Number of extracted fields: 23
[2026-03-11 22:29:58] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-11 22:29:58] [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-11 22:29:58] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-11 22:29:58] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-11 22:29:59] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-11 22:29:59] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-11 22:29:59] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-11 22:29:59] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-11 22:29:59] [INFO] Found existing IncidentTypeMapping with ID: 6945b78c6a367ff06
[2026-03-11 22:29:59] [INFO] Found existing Dispatch with cADNumber '2026000083', ID: 69b1ebc3b938f2760 - will update instead of create
[2026-03-11 22:29:59] [INFO] Updated existing Dispatches record with ID: 69b1ebc3b938f2760
[2026-03-11 22:29:59] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260026875_20260311_222958.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/BFD_20260026875_20260311_222958.XML
[2026-03-11 22:29:59] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260026875_20260311_222958.XML
[2026-03-11 22:29:59] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260026875_20260311_222958_1.XML
[2026-03-11 22:29:59] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260026875_20260311_222958_1.XML for user: 68f1466aed072ad4a
[2026-03-11 22:29:59] [INFO] File size: 4711 bytes
[2026-03-11 22:30:00] [INFO] Created FTPFiles record with ID: 69b1ece8362c99cdc
[2026-03-11 22:30:00] [INFO] About to extract fields from XML. File size: 4711 bytes
[2026-03-11 22:30:00] [INFO] Number of mappings: 28
[2026-03-11 22:30:00] [INFO] Starting XML parsing. Content length: 4711
[2026-03-11 22:30:00] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 22:30:00] [INFO] Processing 28 field mappings
[2026-03-11 22:30:00] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 22:30:00] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 22:30:00] [INFO]   -> Found value: BFD
[2026-03-11 22:30:00] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-11 22:30:00] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 22:30:00] [INFO]   -> Found value: 2026000083
[2026-03-11 22:30:00] [INFO]   -> Set field 'incidentInternalId' = "2026000083"
[2026-03-11 22:30:00] [INFO]   -> Set field 'dispatchRunNumber' = "2026000083"
[2026-03-11 22:30:00] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 22:30:00] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-11 22:30:00] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-11 22:30:00] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 22:30:00] [INFO]   -> Found value: 116
[2026-03-11 22:30:00] [INFO]   -> Set field 'incidentLocationStreetNumber' = 116
[2026-03-11 22:30:00] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 22:30:00] [INFO]   -> Found value: TN
[2026-03-11 22:30:00] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 22:30:00] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 22:30:00] [INFO]   -> Found value: 38544
[2026-03-11 22:30:00] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-11 22:30:00] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 22:30:00] [INFO]   -> No value found (null or empty)
[2026-03-11 22:30:00] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 22:30:00] [INFO]   -> No value found (null or empty)
[2026-03-11 22:30:00] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 22:30:00] [INFO]   -> Found value: 36.16224
[2026-03-11 22:30:00] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1622399999999970532371662557125091552734375
[2026-03-11 22:30:00] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 22:30:00] [INFO]   -> Found value: -85.63239
[2026-03-11 22:30:00] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6323900000000008958522812463343143463134765625
[2026-03-11 22:30:00] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 22:30:00] [INFO]   -> Found value: 2026-03-11 17:24:26
[2026-03-11 22:30:00] [INFO]   -> Set field 'alarm' = "2026-03-11 17:24:26"
[2026-03-11 22:30:00] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 22:30:00] [INFO]   -> Found value: 2026-03-11 17:25:00
[2026-03-11 22:30:00] [INFO]   -> Set field 'dispatched' = "2026-03-11 17:25:00"
[2026-03-11 22:30:00] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 22:30:00] [INFO]   -> Found value: 2026-03-11 17:25:00
[2026-03-11 22:30:00] [INFO]   -> Set field 'enroute' = "2026-03-11 17:25:00"
[2026-03-11 22:30:00] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 22:30:00] [INFO]   -> Found value: 2026-03-11 17:29:55
[2026-03-11 22:30:00] [INFO]   -> Set field 'onScene' = "2026-03-11 17:29:55"
[2026-03-11 22:30:00] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 22:30:00] [INFO]   -> No value found (null or empty)
[2026-03-11 22:30:00] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 22:30:00] [INFO]   -> Found value: MAIN ST/REGAN LOOP
[2026-03-11 22:30:00] [INFO]   -> Set field 'incidentLocationCross' = "MAIN ST\/REGAN LOOP"
[2026-03-11 22:30:00] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 22:30:00] [INFO]   -> Found value: BEN2
[2026-03-11 22:30:00] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-11 22:30:00] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 22:30:00] [INFO]   -> Found value: 2026-03-11 17:25:00
[2026-03-11 22:30:00] [INFO]   -> Set field 'timedispatch' = "2026-03-11 17:25:00"
[2026-03-11 22:30:00] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 22:30:00] [INFO]   -> Found value: 2026-03-11 17:25:00
[2026-03-11 22:30:00] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 17:25:00"
[2026-03-11 22:30:00] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 22:30:00] [INFO]   -> Found value: 2026-03-11 17:29:55
[2026-03-11 22:30:00] [INFO]   -> Set field 'timeonscene' = "2026-03-11 17:29:55"
[2026-03-11 22:30:00] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 22:30:00] [INFO]   -> No value found (null or empty)
[2026-03-11 22:30:00] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 22:30:00] [INFO]   -> No value found (null or empty)
[2026-03-11 22:30:00] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 22:30:00] [INFO]   -> Found value: 20260026875
[2026-03-11 22:30:00] [INFO]   -> Set field 'policeReportNumber' = "20260026875"
[2026-03-11 22:30:00] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 22:30:00] [INFO]   -> No value found (null or empty)
[2026-03-11 22:30:00] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 22:30:00] [INFO]   -> Found value: BAXTER
[2026-03-11 22:30:00] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-11 22:30:00] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 22:30:00] [INFO]   -> Found value: REECE
[2026-03-11 22:30:00] [INFO]   -> Set field 'streetName' = "REECE"
[2026-03-11 22:30:00] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 22:30:00] [INFO]   -> Found value: RD
[2026-03-11 22:30:00] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 22:30:00] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 22:30:00] [INFO]   -> Found value: 116 REECE RD
[2026-03-11 22:30:00] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "116 REECE RD"
[2026-03-11 22:30:00] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 22:30:00] [INFO] Concatenating street name and type
[2026-03-11 22:30:00] [INFO]   -> Combined street name: REECE RD
[2026-03-11 22:30:00] [INFO] Built locationCoordinates from lat/lng: 36.16224,-85.63239
[2026-03-11 22:30:00] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000083","dispatchRunNumber":"2026000083","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":116,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1622399999999970532371662557125091552734375,"nERISIncidentLongitude":-85.6323900000000008958522812463343143463134765625,"alarm":"2026-03-11 17:24:26","dispatched":"2026-03-11 17:25:00","enroute":"2026-03-11 17:25:00","onScene":"2026-03-11 17:29:55","incidentLocationCross":"MAIN ST\/REGAN LOOP","cADVehicleID":"BEN2","timedispatch":"2026-03-11 17:25:00","timeenroutetoscene":"2026-03-11 17:25:00","timeonscene":"2026-03-11 17:29:55","policeReportNumber":"20260026875","incidentLocationCity":"BAXTER","streetName":"REECE RD","incidentAddressTextVersionStreet":"116 REECE RD","locationCoordinates":"36.16224,-85.63239"}
[2026-03-11 22:30:00] [INFO] Number of extracted fields: 23
[2026-03-11 22:30:00] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-11 22:30:00] [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-11 22:30:00] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-11 22:30:00] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-11 22:30:00] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-11 22:30:00] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-11 22:30:00] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-11 22:30:00] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-11 22:30:00] [INFO] Found existing IncidentTypeMapping with ID: 6945b78c6a367ff06
[2026-03-11 22:30:01] [INFO] Found existing Dispatch with cADNumber '2026000083', ID: 69b1ebc3b938f2760 - will update instead of create
[2026-03-11 22:30:01] [INFO] Updated existing Dispatches record with ID: 69b1ebc3b938f2760
[2026-03-11 22:30:01] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260026875_20260311_222958_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/BFD_20260026875_20260311_222958_1.XML
[2026-03-11 22:30:01] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260026875_20260311_222958_1.XML
[2026-03-11 22:42:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026882_20260311_224216.XML
[2026-03-11 22:42:16] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026882_20260311_224216.XML for user: 68f1466aed072ad4a
[2026-03-11 22:42:16] [INFO] File size: 5443 bytes
[2026-03-11 22:42:16] [INFO] Created FTPFiles record with ID: 69b1efc88d3d7135f
[2026-03-11 22:42:16] [INFO] About to extract fields from XML. File size: 5443 bytes
[2026-03-11 22:42:16] [INFO] Number of mappings: 28
[2026-03-11 22:42:16] [INFO] Starting XML parsing. Content length: 5443
[2026-03-11 22:42:16] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 22:42:16] [INFO] Processing 28 field mappings
[2026-03-11 22:42:16] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 22:42:16] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 22:42:16] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 22:42:16] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 22:42:16] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-11 22:42:16] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-11 22:42:16] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 22:42:16] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 22:42:16] [INFO]   -> Found value: 2026000672
[2026-03-11 22:42:16] [INFO]   -> Set field 'incidentInternalId' = "2026000672"
[2026-03-11 22:42:16] [INFO]   -> Set field 'dispatchRunNumber' = "2026000672"
[2026-03-11 22:42:16] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 22:42:16] [INFO]   -> Found value: MEDICAL CALL
[2026-03-11 22:42:16] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-03-11 22:42:16] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 22:42:16] [INFO]   -> Found value: 3525
[2026-03-11 22:42:16] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3525
[2026-03-11 22:42:16] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 22:42:16] [INFO]   -> Found value: TN
[2026-03-11 22:42:16] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 22:42:16] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 22:42:16] [INFO]   -> Found value: 38548
[2026-03-11 22:42:16] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38548
[2026-03-11 22:42:16] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 22:42:16] [INFO]   -> No value found (null or empty)
[2026-03-11 22:42:16] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 22:42:16] [INFO]   -> No value found (null or empty)
[2026-03-11 22:42:16] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 22:42:16] [INFO]   -> Found value: 36.21310
[2026-03-11 22:42:16] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21309999999999718056642450392246246337890625
[2026-03-11 22:42:16] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 22:42:16] [INFO]   -> Found value: -85.76897
[2026-03-11 22:42:16] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.768969999999995934558683075010776519775390625
[2026-03-11 22:42:16] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 22:42:16] [INFO]   -> Found value: 2026-03-11 17:41:52
[2026-03-11 22:42:16] [INFO]   -> Set field 'alarm' = "2026-03-11 17:41:52"
[2026-03-11 22:42:16] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 22:42:16] [INFO]   -> Found value: 2026-03-11 17:42:13
[2026-03-11 22:42:16] [INFO]   -> Set field 'dispatched' = "2026-03-11 17:42:13"
[2026-03-11 22:42:16] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 22:42:16] [INFO]   -> No value found (null or empty)
[2026-03-11 22:42:16] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 22:42:16] [INFO]   -> No value found (null or empty)
[2026-03-11 22:42:16] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 22:42:16] [INFO]   -> No value found (null or empty)
[2026-03-11 22:42:16] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 22:42:16] [INFO]   -> Found value: WARREN HOLLOW RD/ENSOR HOLLOW RD
[2026-03-11 22:42:16] [INFO]   -> Set field 'incidentLocationCross' = "WARREN HOLLOW RD\/ENSOR HOLLOW RD"
[2026-03-11 22:42:16] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 22:42:16] [INFO]   -> Found value: PCFR
[2026-03-11 22:42:16] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-11 22:42:16] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 22:42:16] [INFO]   -> Found value: 2026-03-11 17:42:13
[2026-03-11 22:42:16] [INFO]   -> Set field 'timedispatch' = "2026-03-11 17:42:13"
[2026-03-11 22:42:16] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 22:42:16] [INFO]   -> No value found (null or empty)
[2026-03-11 22:42:16] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 22:42:16] [INFO]   -> No value found (null or empty)
[2026-03-11 22:42:16] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 22:42:16] [INFO]   -> No value found (null or empty)
[2026-03-11 22:42:16] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 22:42:16] [INFO]   -> No value found (null or empty)
[2026-03-11 22:42:16] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 22:42:16] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 22:42:16] [INFO]   -> Found value: 20260026882
[2026-03-11 22:42:16] [INFO]   -> Set field 'policeReportNumber' = "20260026882"
[2026-03-11 22:42:16] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 22:42:16] [INFO]   -> Found value: Event spawned from SICK PERSON.  [03/11/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO B...
[2026-03-11 22:42:16] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from SICK PERSON.  [03\/11\/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO BATHROOM&quot;  [03\/11\/26 17:40:22 DSTEPHENS] UNABLE TO URINATE  [03\/11\/26 17:39:48 KMORGAN2] **OVER  [03\/11\/26 17:39:42 KMORGAN2] PAIN ALL OBVER  [03\/11\/26 17:39:38 KMORGAN2]"
[2026-03-11 22:42:16] [INFO]   -> Set field 'cADLog' = "Event spawned from SICK PERSON.  [03\/11\/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO BATHROOM&quot;  [03\/11\/26 17:40:22 DSTEPHENS] UNABLE TO URINATE  [03\/11\/26 17:39:48 KMORGAN2] **OVER  [03\/11\/26 17:39:42 KMORGAN2] PAIN ALL OBVER  [03\/11\/26 17:39:38 KMORGAN2]"
[2026-03-11 22:42:16] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 22:42:16] [INFO]   -> Found value: BUFFALO VALLEY
[2026-03-11 22:42:16] [INFO]   -> Set field 'incidentLocationCity' = "BUFFALO VALLEY"
[2026-03-11 22:42:16] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 22:42:16] [INFO]   -> Found value: LITTLE INDIAN CREEK
[2026-03-11 22:42:16] [INFO]   -> Set field 'streetName' = "LITTLE INDIAN CREEK"
[2026-03-11 22:42:16] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 22:42:16] [INFO]   -> Found value: RD
[2026-03-11 22:42:16] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 22:42:16] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 22:42:16] [INFO]   -> Found value: 3525 LITTLE INDIAN CREEK RD
[2026-03-11 22:42:16] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3525 LITTLE INDIAN CREEK RD"
[2026-03-11 22:42:16] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-11 22:42:16] [INFO] Concatenating street name and type
[2026-03-11 22:42:16] [INFO]   -> Combined street name: LITTLE INDIAN CREEK RD
[2026-03-11 22:42:16] [INFO] Built locationCoordinates from lat/lng: 36.2131,-85.76897
[2026-03-11 22:42:16] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000672","dispatchRunNumber":"2026000672","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":3525,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38548,"nERISIncidentLatitude":36.21309999999999718056642450392246246337890625,"nERISIncidentLongitude":-85.768969999999995934558683075010776519775390625,"alarm":"2026-03-11 17:41:52","dispatched":"2026-03-11 17:42:13","incidentLocationCross":"WARREN HOLLOW RD\/ENSOR HOLLOW RD","cADVehicleID":"PCFR","timedispatch":"2026-03-11 17:42:13","policeReportNumber":"20260026882","dispatchNotes":"Event spawned from SICK PERSON.  [03\/11\/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO BATHROOM&quot;  [03\/11\/26 17:40:22 DSTEPHENS] UNABLE TO URINATE  [03\/11\/26 17:39:48 KMORGAN2] **OVER  [03\/11\/26 17:39:42 KMORGAN2] PAIN ALL OBVER  [03\/11\/26 17:39:38 KMORGAN2]","cADLog":"Event spawned from SICK PERSON.  [03\/11\/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO BATHROOM&quot;  [03\/11\/26 17:40:22 DSTEPHENS] UNABLE TO URINATE  [03\/11\/26 17:39:48 KMORGAN2] **OVER  [03\/11\/26 17:39:42 KMORGAN2] PAIN ALL OBVER  [03\/11\/26 17:39:38 KMORGAN2]","incidentLocationCity":"BUFFALO VALLEY","streetName":"LITTLE INDIAN CREEK RD","incidentAddressTextVersionStreet":"3525 LITTLE INDIAN CREEK RD","locationCoordinates":"36.2131,-85.76897"}
[2026-03-11 22:42:16] [INFO] Number of extracted fields: 21
[2026-03-11 22:42:16] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-11 22:42:16] [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-11 22:42:16] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-11 22:42:16] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 22:42:16] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 22:42:16] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-11 22:42:16] [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-11 22:42:16] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 22:42:16] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 22:42:16] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 22:42:16] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 22:42:17] [INFO] Found existing IncidentTypeMapping with ID: 6939328c99c5522d2
[2026-03-11 22:42:28] [INFO] Created new Dispatches record with ID: 69b1efc96c0520987
[2026-03-11 22:42:28] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026882_20260311_224216.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026882_20260311_224216.XML
[2026-03-11 22:42:28] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026882_20260311_224216.XML
[2026-03-11 22:42:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026882_20260311_224216_1.XML
[2026-03-11 22:42:28] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026882_20260311_224216_1.XML for user: 68f1466aed072ad4a
[2026-03-11 22:42:28] [INFO] File size: 5443 bytes
[2026-03-11 22:42:28] [INFO] Created FTPFiles record with ID: 69b1efd46b08fd5d1
[2026-03-11 22:42:28] [INFO] About to extract fields from XML. File size: 5443 bytes
[2026-03-11 22:42:28] [INFO] Number of mappings: 28
[2026-03-11 22:42:28] [INFO] Starting XML parsing. Content length: 5443
[2026-03-11 22:42:28] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 22:42:28] [INFO] Processing 28 field mappings
[2026-03-11 22:42:28] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 22:42:28] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 22:42:28] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 22:42:28] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 22:42:28] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-11 22:42:28] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-11 22:42:28] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 22:42:28] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 22:42:28] [INFO]   -> Found value: 2026000672
[2026-03-11 22:42:28] [INFO]   -> Set field 'incidentInternalId' = "2026000672"
[2026-03-11 22:42:28] [INFO]   -> Set field 'dispatchRunNumber' = "2026000672"
[2026-03-11 22:42:28] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 22:42:28] [INFO]   -> Found value: MEDICAL CALL
[2026-03-11 22:42:28] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-03-11 22:42:28] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 22:42:28] [INFO]   -> Found value: 3525
[2026-03-11 22:42:28] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3525
[2026-03-11 22:42:28] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 22:42:28] [INFO]   -> Found value: TN
[2026-03-11 22:42:28] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 22:42:28] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 22:42:28] [INFO]   -> Found value: 38548
[2026-03-11 22:42:28] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38548
[2026-03-11 22:42:28] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 22:42:28] [INFO]   -> No value found (null or empty)
[2026-03-11 22:42:28] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 22:42:28] [INFO]   -> No value found (null or empty)
[2026-03-11 22:42:28] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 22:42:28] [INFO]   -> Found value: 36.21310
[2026-03-11 22:42:28] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21309999999999718056642450392246246337890625
[2026-03-11 22:42:28] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 22:42:28] [INFO]   -> Found value: -85.76897
[2026-03-11 22:42:28] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.768969999999995934558683075010776519775390625
[2026-03-11 22:42:28] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 22:42:28] [INFO]   -> Found value: 2026-03-11 17:41:52
[2026-03-11 22:42:28] [INFO]   -> Set field 'alarm' = "2026-03-11 17:41:52"
[2026-03-11 22:42:28] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 22:42:28] [INFO]   -> Found value: 2026-03-11 17:42:13
[2026-03-11 22:42:28] [INFO]   -> Set field 'dispatched' = "2026-03-11 17:42:13"
[2026-03-11 22:42:28] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 22:42:28] [INFO]   -> No value found (null or empty)
[2026-03-11 22:42:28] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 22:42:28] [INFO]   -> No value found (null or empty)
[2026-03-11 22:42:28] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 22:42:28] [INFO]   -> No value found (null or empty)
[2026-03-11 22:42:28] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 22:42:28] [INFO]   -> Found value: WARREN HOLLOW RD/ENSOR HOLLOW RD
[2026-03-11 22:42:28] [INFO]   -> Set field 'incidentLocationCross' = "WARREN HOLLOW RD\/ENSOR HOLLOW RD"
[2026-03-11 22:42:28] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 22:42:28] [INFO]   -> Found value: PCFR
[2026-03-11 22:42:28] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-11 22:42:28] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 22:42:28] [INFO]   -> Found value: 2026-03-11 17:42:13
[2026-03-11 22:42:28] [INFO]   -> Set field 'timedispatch' = "2026-03-11 17:42:13"
[2026-03-11 22:42:28] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 22:42:28] [INFO]   -> No value found (null or empty)
[2026-03-11 22:42:28] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 22:42:28] [INFO]   -> No value found (null or empty)
[2026-03-11 22:42:28] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 22:42:28] [INFO]   -> No value found (null or empty)
[2026-03-11 22:42:28] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 22:42:28] [INFO]   -> No value found (null or empty)
[2026-03-11 22:42:28] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 22:42:28] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 22:42:28] [INFO]   -> Found value: 20260026882
[2026-03-11 22:42:28] [INFO]   -> Set field 'policeReportNumber' = "20260026882"
[2026-03-11 22:42:28] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 22:42:28] [INFO]   -> Found value: Event spawned from SICK PERSON.  [03/11/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO B...
[2026-03-11 22:42:28] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from SICK PERSON.  [03\/11\/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO BATHROOM&quot;  [03\/11\/26 17:40:22 DSTEPHENS] UNABLE TO URINATE  [03\/11\/26 17:39:48 KMORGAN2] **OVER  [03\/11\/26 17:39:42 KMORGAN2] PAIN ALL OBVER  [03\/11\/26 17:39:38 KMORGAN2]"
[2026-03-11 22:42:28] [INFO]   -> Set field 'cADLog' = "Event spawned from SICK PERSON.  [03\/11\/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO BATHROOM&quot;  [03\/11\/26 17:40:22 DSTEPHENS] UNABLE TO URINATE  [03\/11\/26 17:39:48 KMORGAN2] **OVER  [03\/11\/26 17:39:42 KMORGAN2] PAIN ALL OBVER  [03\/11\/26 17:39:38 KMORGAN2]"
[2026-03-11 22:42:28] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 22:42:28] [INFO]   -> Found value: BUFFALO VALLEY
[2026-03-11 22:42:28] [INFO]   -> Set field 'incidentLocationCity' = "BUFFALO VALLEY"
[2026-03-11 22:42:28] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 22:42:28] [INFO]   -> Found value: LITTLE INDIAN CREEK
[2026-03-11 22:42:28] [INFO]   -> Set field 'streetName' = "LITTLE INDIAN CREEK"
[2026-03-11 22:42:28] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 22:42:28] [INFO]   -> Found value: RD
[2026-03-11 22:42:28] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 22:42:28] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 22:42:28] [INFO]   -> Found value: 3525 LITTLE INDIAN CREEK RD
[2026-03-11 22:42:28] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3525 LITTLE INDIAN CREEK RD"
[2026-03-11 22:42:28] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-11 22:42:28] [INFO] Concatenating street name and type
[2026-03-11 22:42:28] [INFO]   -> Combined street name: LITTLE INDIAN CREEK RD
[2026-03-11 22:42:28] [INFO] Built locationCoordinates from lat/lng: 36.2131,-85.76897
[2026-03-11 22:42:28] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000672","dispatchRunNumber":"2026000672","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":3525,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38548,"nERISIncidentLatitude":36.21309999999999718056642450392246246337890625,"nERISIncidentLongitude":-85.768969999999995934558683075010776519775390625,"alarm":"2026-03-11 17:41:52","dispatched":"2026-03-11 17:42:13","incidentLocationCross":"WARREN HOLLOW RD\/ENSOR HOLLOW RD","cADVehicleID":"PCFR","timedispatch":"2026-03-11 17:42:13","policeReportNumber":"20260026882","dispatchNotes":"Event spawned from SICK PERSON.  [03\/11\/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO BATHROOM&quot;  [03\/11\/26 17:40:22 DSTEPHENS] UNABLE TO URINATE  [03\/11\/26 17:39:48 KMORGAN2] **OVER  [03\/11\/26 17:39:42 KMORGAN2] PAIN ALL OBVER  [03\/11\/26 17:39:38 KMORGAN2]","cADLog":"Event spawned from SICK PERSON.  [03\/11\/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO BATHROOM&quot;  [03\/11\/26 17:40:22 DSTEPHENS] UNABLE TO URINATE  [03\/11\/26 17:39:48 KMORGAN2] **OVER  [03\/11\/26 17:39:42 KMORGAN2] PAIN ALL OBVER  [03\/11\/26 17:39:38 KMORGAN2]","incidentLocationCity":"BUFFALO VALLEY","streetName":"LITTLE INDIAN CREEK RD","incidentAddressTextVersionStreet":"3525 LITTLE INDIAN CREEK RD","locationCoordinates":"36.2131,-85.76897"}
[2026-03-11 22:42:28] [INFO] Number of extracted fields: 21
[2026-03-11 22:42:28] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-11 22:42:28] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-11 22:42:28] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-11 22:42:28] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 22:42:28] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 22:42:28] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-11 22:42:28] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-11 22:42:28] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 22:42:28] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 22:42:28] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 22:42:28] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 22:42:28] [INFO] Found existing IncidentTypeMapping with ID: 6939328c99c5522d2
[2026-03-11 22:42:29] [INFO] Found existing Dispatch with cADNumber '2026000672', ID: 69b1efc96c0520987 - will update instead of create
[2026-03-11 22:42:29] [INFO] Updated existing Dispatches record with ID: 69b1efc96c0520987
[2026-03-11 22:42:29] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026882_20260311_224216_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026882_20260311_224216_1.XML
[2026-03-11 22:42:29] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026882_20260311_224216_1.XML
[2026-03-11 22:45:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026882_20260311_224516.XML
[2026-03-11 22:45:16] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026882_20260311_224516.XML for user: 68f1466aed072ad4a
[2026-03-11 22:45:16] [INFO] File size: 6263 bytes
[2026-03-11 22:45:17] [INFO] Created FTPFiles record with ID: 69b1f07d158e9a452
[2026-03-11 22:45:17] [INFO] About to extract fields from XML. File size: 6263 bytes
[2026-03-11 22:45:17] [INFO] Number of mappings: 28
[2026-03-11 22:45:17] [INFO] Starting XML parsing. Content length: 6263
[2026-03-11 22:45:17] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 22:45:17] [INFO] Processing 28 field mappings
[2026-03-11 22:45:17] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 22:45:17] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 22:45:17] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 22:45:17] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 22:45:17] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-11 22:45:17] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-11 22:45:17] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 22:45:17] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 22:45:17] [INFO]   -> Found value: 2026000672
[2026-03-11 22:45:17] [INFO]   -> Set field 'incidentInternalId' = "2026000672"
[2026-03-11 22:45:17] [INFO]   -> Set field 'dispatchRunNumber' = "2026000672"
[2026-03-11 22:45:17] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 22:45:17] [INFO]   -> Found value: MEDICAL CALL
[2026-03-11 22:45:17] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-03-11 22:45:17] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 22:45:17] [INFO]   -> Found value: 3525
[2026-03-11 22:45:17] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3525
[2026-03-11 22:45:17] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 22:45:17] [INFO]   -> Found value: TN
[2026-03-11 22:45:17] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 22:45:17] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 22:45:17] [INFO]   -> Found value: 38548
[2026-03-11 22:45:17] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38548
[2026-03-11 22:45:17] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 22:45:17] [INFO]   -> No value found (null or empty)
[2026-03-11 22:45:17] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 22:45:17] [INFO]   -> No value found (null or empty)
[2026-03-11 22:45:17] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 22:45:17] [INFO]   -> Found value: 36.21310
[2026-03-11 22:45:17] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21309999999999718056642450392246246337890625
[2026-03-11 22:45:17] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 22:45:17] [INFO]   -> Found value: -85.76897
[2026-03-11 22:45:17] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.768969999999995934558683075010776519775390625
[2026-03-11 22:45:17] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 22:45:17] [INFO]   -> Found value: 2026-03-11 17:41:52
[2026-03-11 22:45:17] [INFO]   -> Set field 'alarm' = "2026-03-11 17:41:52"
[2026-03-11 22:45:17] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 22:45:17] [INFO]   -> Found value: 2026-03-11 17:42:13
[2026-03-11 22:45:17] [INFO]   -> Set field 'dispatched' = "2026-03-11 17:42:13"
[2026-03-11 22:45:17] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 22:45:17] [INFO]   -> No value found (null or empty)
[2026-03-11 22:45:17] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 22:45:17] [INFO]   -> No value found (null or empty)
[2026-03-11 22:45:17] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 22:45:17] [INFO]   -> No value found (null or empty)
[2026-03-11 22:45:17] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 22:45:17] [INFO]   -> Found value: WARREN HOLLOW RD/ENSOR HOLLOW RD
[2026-03-11 22:45:17] [INFO]   -> Set field 'incidentLocationCross' = "WARREN HOLLOW RD\/ENSOR HOLLOW RD"
[2026-03-11 22:45:17] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 22:45:17] [INFO]   -> Found value: PCFR
[2026-03-11 22:45:17] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-11 22:45:17] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 22:45:17] [INFO]   -> Found value: 2026-03-11 17:42:13
[2026-03-11 22:45:17] [INFO]   -> Set field 'timedispatch' = "2026-03-11 17:42:13"
[2026-03-11 22:45:17] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 22:45:17] [INFO]   -> No value found (null or empty)
[2026-03-11 22:45:17] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 22:45:17] [INFO]   -> No value found (null or empty)
[2026-03-11 22:45:17] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 22:45:17] [INFO]   -> Found value: 2026-03-11 17:45:12
[2026-03-11 22:45:17] [INFO]   -> Set field 'timeunitclear' = "2026-03-11 17:45:12"
[2026-03-11 22:45:17] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 22:45:17] [INFO]   -> Found value: 2026-03-11 17:45:12
[2026-03-11 22:45:17] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-11 17:45:12"
[2026-03-11 22:45:17] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 22:45:17] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 22:45:17] [INFO]   -> Found value: 20260026882
[2026-03-11 22:45:17] [INFO]   -> Set field 'policeReportNumber' = "20260026882"
[2026-03-11 22:45:17] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 22:45:17] [INFO]   -> Found value: Event spawned from SICK PERSON.  [03/11/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO B...
[2026-03-11 22:45:17] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from SICK PERSON.  [03\/11\/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO BATHROOM&quot;  [03\/11\/26 17:40:22 DSTEPHENS] UNABLE TO URINATE  [03\/11\/26 17:39:48 KMORGAN2] **OVER  [03\/11\/26 17:39:42 KMORGAN2] PAIN ALL OBVER  [03\/11\/26 17:39:38 KMORGAN2]"
[2026-03-11 22:45:17] [INFO]   -> Set field 'cADLog' = "Event spawned from SICK PERSON.  [03\/11\/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO BATHROOM&quot;  [03\/11\/26 17:40:22 DSTEPHENS] UNABLE TO URINATE  [03\/11\/26 17:39:48 KMORGAN2] **OVER  [03\/11\/26 17:39:42 KMORGAN2] PAIN ALL OBVER  [03\/11\/26 17:39:38 KMORGAN2]"
[2026-03-11 22:45:17] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 22:45:17] [INFO]   -> Found value: BUFFALO VALLEY
[2026-03-11 22:45:17] [INFO]   -> Set field 'incidentLocationCity' = "BUFFALO VALLEY"
[2026-03-11 22:45:17] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 22:45:17] [INFO]   -> Found value: LITTLE INDIAN CREEK
[2026-03-11 22:45:17] [INFO]   -> Set field 'streetName' = "LITTLE INDIAN CREEK"
[2026-03-11 22:45:17] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 22:45:17] [INFO]   -> Found value: RD
[2026-03-11 22:45:17] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 22:45:17] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 22:45:17] [INFO]   -> Found value: 3525 LITTLE INDIAN CREEK RD
[2026-03-11 22:45:17] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3525 LITTLE INDIAN CREEK RD"
[2026-03-11 22:45:17] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 22:45:17] [INFO] Concatenating street name and type
[2026-03-11 22:45:17] [INFO]   -> Combined street name: LITTLE INDIAN CREEK RD
[2026-03-11 22:45:17] [INFO] Built locationCoordinates from lat/lng: 36.2131,-85.76897
[2026-03-11 22:45:17] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000672","dispatchRunNumber":"2026000672","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":3525,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38548,"nERISIncidentLatitude":36.21309999999999718056642450392246246337890625,"nERISIncidentLongitude":-85.768969999999995934558683075010776519775390625,"alarm":"2026-03-11 17:41:52","dispatched":"2026-03-11 17:42:13","incidentLocationCross":"WARREN HOLLOW RD\/ENSOR HOLLOW RD","cADVehicleID":"PCFR","timedispatch":"2026-03-11 17:42:13","timeunitclear":"2026-03-11 17:45:12","timecanceledenroute":"2026-03-11 17:45:12","policeReportNumber":"20260026882","dispatchNotes":"Event spawned from SICK PERSON.  [03\/11\/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO BATHROOM&quot;  [03\/11\/26 17:40:22 DSTEPHENS] UNABLE TO URINATE  [03\/11\/26 17:39:48 KMORGAN2] **OVER  [03\/11\/26 17:39:42 KMORGAN2] PAIN ALL OBVER  [03\/11\/26 17:39:38 KMORGAN2]","cADLog":"Event spawned from SICK PERSON.  [03\/11\/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO BATHROOM&quot;  [03\/11\/26 17:40:22 DSTEPHENS] UNABLE TO URINATE  [03\/11\/26 17:39:48 KMORGAN2] **OVER  [03\/11\/26 17:39:42 KMORGAN2] PAIN ALL OBVER  [03\/11\/26 17:39:38 KMORGAN2]","incidentLocationCity":"BUFFALO VALLEY","streetName":"LITTLE INDIAN CREEK RD","incidentAddressTextVersionStreet":"3525 LITTLE INDIAN CREEK RD","locationCoordinates":"36.2131,-85.76897"}
[2026-03-11 22:45:17] [INFO] Number of extracted fields: 23
[2026-03-11 22:45:17] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-11 22:45:17] [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-11 22:45:17] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-11 22:45:17] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 22:45:17] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 22:45:17] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-11 22:45:17] [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-11 22:45:17] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 22:45:17] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 22:45:17] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 22:45:17] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 22:45:17] [INFO] Found existing IncidentTypeMapping with ID: 6939328c99c5522d2
[2026-03-11 22:45:17] [INFO] Found existing Dispatch with cADNumber '2026000672', ID: 69b1efc96c0520987 - will update instead of create
[2026-03-11 22:45:18] [INFO] Updated existing Dispatches record with ID: 69b1efc96c0520987
[2026-03-11 22:45:18] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026882_20260311_224516.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026882_20260311_224516.XML
[2026-03-11 22:45:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026882_20260311_224516.XML
[2026-03-11 22:45:18] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026882_20260311_224518.XML
[2026-03-11 22:45:18] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026882_20260311_224518.XML for user: 68f1466aed072ad4a
[2026-03-11 22:45:18] [INFO] File size: 6330 bytes
[2026-03-11 22:45:19] [INFO] Created FTPFiles record with ID: 69b1f07eef54ab29b
[2026-03-11 22:45:19] [INFO] About to extract fields from XML. File size: 6330 bytes
[2026-03-11 22:45:19] [INFO] Number of mappings: 28
[2026-03-11 22:45:19] [INFO] Starting XML parsing. Content length: 6330
[2026-03-11 22:45:19] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 22:45:19] [INFO] Processing 28 field mappings
[2026-03-11 22:45:19] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 22:45:19] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 22:45:19] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 22:45:19] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 22:45:19] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-11 22:45:19] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-11 22:45:19] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 22:45:19] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 22:45:19] [INFO]   -> Found value: 2026000672
[2026-03-11 22:45:19] [INFO]   -> Set field 'incidentInternalId' = "2026000672"
[2026-03-11 22:45:19] [INFO]   -> Set field 'dispatchRunNumber' = "2026000672"
[2026-03-11 22:45:19] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 22:45:19] [INFO]   -> Found value: MEDICAL CALL
[2026-03-11 22:45:19] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-03-11 22:45:19] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 22:45:19] [INFO]   -> Found value: 3525
[2026-03-11 22:45:19] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3525
[2026-03-11 22:45:19] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 22:45:19] [INFO]   -> Found value: TN
[2026-03-11 22:45:19] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 22:45:19] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 22:45:19] [INFO]   -> Found value: 38548
[2026-03-11 22:45:19] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38548
[2026-03-11 22:45:19] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 22:45:19] [INFO]   -> No value found (null or empty)
[2026-03-11 22:45:19] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 22:45:19] [INFO]   -> No value found (null or empty)
[2026-03-11 22:45:19] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 22:45:19] [INFO]   -> Found value: 36.21310
[2026-03-11 22:45:19] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21309999999999718056642450392246246337890625
[2026-03-11 22:45:19] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 22:45:19] [INFO]   -> Found value: -85.76897
[2026-03-11 22:45:19] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.768969999999995934558683075010776519775390625
[2026-03-11 22:45:19] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 22:45:19] [INFO]   -> Found value: 2026-03-11 17:41:52
[2026-03-11 22:45:19] [INFO]   -> Set field 'alarm' = "2026-03-11 17:41:52"
[2026-03-11 22:45:19] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 22:45:19] [INFO]   -> Found value: 2026-03-11 17:42:13
[2026-03-11 22:45:19] [INFO]   -> Set field 'dispatched' = "2026-03-11 17:42:13"
[2026-03-11 22:45:19] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 22:45:19] [INFO]   -> Found value: 2026-03-11 17:45:15
[2026-03-11 22:45:19] [INFO]   -> Set field 'enroute' = "2026-03-11 17:45:15"
[2026-03-11 22:45:19] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 22:45:19] [INFO]   -> No value found (null or empty)
[2026-03-11 22:45:19] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 22:45:19] [INFO]   -> No value found (null or empty)
[2026-03-11 22:45:19] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 22:45:19] [INFO]   -> Found value: WARREN HOLLOW RD/ENSOR HOLLOW RD
[2026-03-11 22:45:19] [INFO]   -> Set field 'incidentLocationCross' = "WARREN HOLLOW RD\/ENSOR HOLLOW RD"
[2026-03-11 22:45:19] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 22:45:19] [INFO]   -> Found value: TK31
[2026-03-11 22:45:19] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-11 22:45:19] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 22:45:19] [INFO]   -> Found value: 2026-03-11 17:45:12
[2026-03-11 22:45:19] [INFO]   -> Set field 'timedispatch' = "2026-03-11 17:45:12"
[2026-03-11 22:45:19] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 22:45:19] [INFO]   -> Found value: 2026-03-11 17:45:15
[2026-03-11 22:45:19] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 17:45:15"
[2026-03-11 22:45:19] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 22:45:19] [INFO]   -> No value found (null or empty)
[2026-03-11 22:45:19] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 22:45:19] [INFO]   -> No value found (null or empty)
[2026-03-11 22:45:19] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 22:45:19] [INFO]   -> No value found (null or empty)
[2026-03-11 22:45:19] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 22:45:19] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 22:45:19] [INFO]   -> Found value: 20260026882
[2026-03-11 22:45:19] [INFO]   -> Set field 'policeReportNumber' = "20260026882"
[2026-03-11 22:45:19] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 22:45:19] [INFO]   -> Found value: Event spawned from SICK PERSON.  [03/11/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO B...
[2026-03-11 22:45:19] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from SICK PERSON.  [03\/11\/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO BATHROOM&quot;  [03\/11\/26 17:40:22 DSTEPHENS] UNABLE TO URINATE  [03\/11\/26 17:39:48 KMORGAN2] **OVER  [03\/11\/26 17:39:42 KMORGAN2] PAIN ALL OBVER  [03\/11\/26 17:39:38 KMORGAN2]"
[2026-03-11 22:45:19] [INFO]   -> Set field 'cADLog' = "Event spawned from SICK PERSON.  [03\/11\/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO BATHROOM&quot;  [03\/11\/26 17:40:22 DSTEPHENS] UNABLE TO URINATE  [03\/11\/26 17:39:48 KMORGAN2] **OVER  [03\/11\/26 17:39:42 KMORGAN2] PAIN ALL OBVER  [03\/11\/26 17:39:38 KMORGAN2]"
[2026-03-11 22:45:19] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 22:45:19] [INFO]   -> Found value: BUFFALO VALLEY
[2026-03-11 22:45:19] [INFO]   -> Set field 'incidentLocationCity' = "BUFFALO VALLEY"
[2026-03-11 22:45:19] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 22:45:19] [INFO]   -> Found value: LITTLE INDIAN CREEK
[2026-03-11 22:45:19] [INFO]   -> Set field 'streetName' = "LITTLE INDIAN CREEK"
[2026-03-11 22:45:19] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 22:45:19] [INFO]   -> Found value: RD
[2026-03-11 22:45:19] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 22:45:19] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 22:45:19] [INFO]   -> Found value: 3525 LITTLE INDIAN CREEK RD
[2026-03-11 22:45:19] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3525 LITTLE INDIAN CREEK RD"
[2026-03-11 22:45:19] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 22:45:19] [INFO] Concatenating street name and type
[2026-03-11 22:45:19] [INFO]   -> Combined street name: LITTLE INDIAN CREEK RD
[2026-03-11 22:45:19] [INFO] Built locationCoordinates from lat/lng: 36.2131,-85.76897
[2026-03-11 22:45:19] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000672","dispatchRunNumber":"2026000672","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":3525,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38548,"nERISIncidentLatitude":36.21309999999999718056642450392246246337890625,"nERISIncidentLongitude":-85.768969999999995934558683075010776519775390625,"alarm":"2026-03-11 17:41:52","dispatched":"2026-03-11 17:42:13","enroute":"2026-03-11 17:45:15","incidentLocationCross":"WARREN HOLLOW RD\/ENSOR HOLLOW RD","cADVehicleID":"TK31","timedispatch":"2026-03-11 17:45:12","timeenroutetoscene":"2026-03-11 17:45:15","policeReportNumber":"20260026882","dispatchNotes":"Event spawned from SICK PERSON.  [03\/11\/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO BATHROOM&quot;  [03\/11\/26 17:40:22 DSTEPHENS] UNABLE TO URINATE  [03\/11\/26 17:39:48 KMORGAN2] **OVER  [03\/11\/26 17:39:42 KMORGAN2] PAIN ALL OBVER  [03\/11\/26 17:39:38 KMORGAN2]","cADLog":"Event spawned from SICK PERSON.  [03\/11\/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO BATHROOM&quot;  [03\/11\/26 17:40:22 DSTEPHENS] UNABLE TO URINATE  [03\/11\/26 17:39:48 KMORGAN2] **OVER  [03\/11\/26 17:39:42 KMORGAN2] PAIN ALL OBVER  [03\/11\/26 17:39:38 KMORGAN2]","incidentLocationCity":"BUFFALO VALLEY","streetName":"LITTLE INDIAN CREEK RD","incidentAddressTextVersionStreet":"3525 LITTLE INDIAN CREEK RD","locationCoordinates":"36.2131,-85.76897"}
[2026-03-11 22:45:19] [INFO] Number of extracted fields: 23
[2026-03-11 22:45:19] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-11 22:45:19] [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-11 22:45:19] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-11 22:45:19] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 22:45:19] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 22:45:19] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-11 22:45:19] [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-11 22:45:19] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-11 22:45:19] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 22:45:19] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 22:45:19] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 22:45:19] [INFO] Found existing IncidentTypeMapping with ID: 6939328c99c5522d2
[2026-03-11 22:45:19] [INFO] Found existing Dispatch with cADNumber '2026000672', ID: 69b1efc96c0520987 - will update instead of create
[2026-03-11 22:45:19] [INFO] Updated existing Dispatches record with ID: 69b1efc96c0520987
[2026-03-11 22:45:19] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026882_20260311_224518.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026882_20260311_224518.XML
[2026-03-11 22:45:19] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026882_20260311_224518.XML
[2026-03-11 22:45:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026882_20260311_224519.XML
[2026-03-11 22:45:19] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026882_20260311_224519.XML for user: 68f1466aed072ad4a
[2026-03-11 22:45:19] [INFO] File size: 6330 bytes
[2026-03-11 22:45:20] [INFO] Created FTPFiles record with ID: 69b1f0804f8a99aa8
[2026-03-11 22:45:20] [INFO] About to extract fields from XML. File size: 6330 bytes
[2026-03-11 22:45:20] [INFO] Number of mappings: 28
[2026-03-11 22:45:20] [INFO] Starting XML parsing. Content length: 6330
[2026-03-11 22:45:20] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-11 22:45:20] [INFO] Processing 28 field mappings
[2026-03-11 22:45:20] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-11 22:45:20] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-11 22:45:20] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-11 22:45:20] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-11 22:45:20] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-11 22:45:20] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-11 22:45:20] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-11 22:45:20] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-11 22:45:20] [INFO]   -> Found value: 2026000672
[2026-03-11 22:45:20] [INFO]   -> Set field 'incidentInternalId' = "2026000672"
[2026-03-11 22:45:20] [INFO]   -> Set field 'dispatchRunNumber' = "2026000672"
[2026-03-11 22:45:20] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-11 22:45:20] [INFO]   -> Found value: MEDICAL CALL
[2026-03-11 22:45:20] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-03-11 22:45:20] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-11 22:45:20] [INFO]   -> Found value: 3525
[2026-03-11 22:45:20] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3525
[2026-03-11 22:45:20] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-11 22:45:20] [INFO]   -> Found value: TN
[2026-03-11 22:45:20] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-11 22:45:20] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-11 22:45:20] [INFO]   -> Found value: 38548
[2026-03-11 22:45:20] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38548
[2026-03-11 22:45:20] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-11 22:45:20] [INFO]   -> No value found (null or empty)
[2026-03-11 22:45:20] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-11 22:45:20] [INFO]   -> No value found (null or empty)
[2026-03-11 22:45:20] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-11 22:45:20] [INFO]   -> Found value: 36.21310
[2026-03-11 22:45:20] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21309999999999718056642450392246246337890625
[2026-03-11 22:45:20] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-11 22:45:20] [INFO]   -> Found value: -85.76897
[2026-03-11 22:45:20] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.768969999999995934558683075010776519775390625
[2026-03-11 22:45:20] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-11 22:45:20] [INFO]   -> Found value: 2026-03-11 17:41:52
[2026-03-11 22:45:20] [INFO]   -> Set field 'alarm' = "2026-03-11 17:41:52"
[2026-03-11 22:45:20] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-11 22:45:20] [INFO]   -> Found value: 2026-03-11 17:42:13
[2026-03-11 22:45:20] [INFO]   -> Set field 'dispatched' = "2026-03-11 17:42:13"
[2026-03-11 22:45:20] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-11 22:45:20] [INFO]   -> Found value: 2026-03-11 17:45:15
[2026-03-11 22:45:20] [INFO]   -> Set field 'enroute' = "2026-03-11 17:45:15"
[2026-03-11 22:45:20] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-11 22:45:20] [INFO]   -> No value found (null or empty)
[2026-03-11 22:45:20] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-11 22:45:20] [INFO]   -> No value found (null or empty)
[2026-03-11 22:45:20] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-11 22:45:20] [INFO]   -> Found value: WARREN HOLLOW RD/ENSOR HOLLOW RD
[2026-03-11 22:45:20] [INFO]   -> Set field 'incidentLocationCross' = "WARREN HOLLOW RD\/ENSOR HOLLOW RD"
[2026-03-11 22:45:20] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-11 22:45:20] [INFO]   -> Found value: TK31
[2026-03-11 22:45:20] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-11 22:45:20] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-11 22:45:20] [INFO]   -> Found value: 2026-03-11 17:45:12
[2026-03-11 22:45:20] [INFO]   -> Set field 'timedispatch' = "2026-03-11 17:45:12"
[2026-03-11 22:45:20] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-11 22:45:20] [INFO]   -> Found value: 2026-03-11 17:45:15
[2026-03-11 22:45:20] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-11 17:45:15"
[2026-03-11 22:45:20] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-11 22:45:20] [INFO]   -> No value found (null or empty)
[2026-03-11 22:45:20] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-11 22:45:20] [INFO]   -> No value found (null or empty)
[2026-03-11 22:45:20] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-11 22:45:20] [INFO]   -> No value found (null or empty)
[2026-03-11 22:45:20] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-11 22:45:20] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-11 22:45:20] [INFO]   -> Found value: 20260026882
[2026-03-11 22:45:20] [INFO]   -> Set field 'policeReportNumber' = "20260026882"
[2026-03-11 22:45:20] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-11 22:45:20] [INFO]   -> Found value: Event spawned from SICK PERSON.  [03/11/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO B...
[2026-03-11 22:45:20] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from SICK PERSON.  [03\/11\/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO BATHROOM&quot;  [03\/11\/26 17:40:22 DSTEPHENS] UNABLE TO URINATE  [03\/11\/26 17:39:48 KMORGAN2] **OVER  [03\/11\/26 17:39:42 KMORGAN2] PAIN ALL OBVER  [03\/11\/26 17:39:38 KMORGAN2]"
[2026-03-11 22:45:20] [INFO]   -> Set field 'cADLog' = "Event spawned from SICK PERSON.  [03\/11\/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO BATHROOM&quot;  [03\/11\/26 17:40:22 DSTEPHENS] UNABLE TO URINATE  [03\/11\/26 17:39:48 KMORGAN2] **OVER  [03\/11\/26 17:39:42 KMORGAN2] PAIN ALL OBVER  [03\/11\/26 17:39:38 KMORGAN2]"
[2026-03-11 22:45:20] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-11 22:45:20] [INFO]   -> Found value: BUFFALO VALLEY
[2026-03-11 22:45:20] [INFO]   -> Set field 'incidentLocationCity' = "BUFFALO VALLEY"
[2026-03-11 22:45:20] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-11 22:45:20] [INFO]   -> Found value: LITTLE INDIAN CREEK
[2026-03-11 22:45:20] [INFO]   -> Set field 'streetName' = "LITTLE INDIAN CREEK"
[2026-03-11 22:45:20] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-11 22:45:20] [INFO]   -> Found value: RD
[2026-03-11 22:45:20] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-11 22:45:20] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-11 22:45:20] [INFO]   -> Found value: 3525 LITTLE INDIAN CREEK RD
[2026-03-11 22:45:20] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3525 LITTLE INDIAN CREEK RD"
[2026-03-11 22:45:20] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-11 22:45:20] [INFO] Concatenating street name and type
[2026-03-11 22:45:20] [INFO]   -> Combined street name: LITTLE INDIAN CREEK RD
[2026-03-11 22:45:20] [INFO] Built locationCoordinates from lat/lng: 36.2131,-85.76897
[2026-03-11 22:45:20] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000672","dispatchRunNumber":"2026000672","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":3525,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38548,"nERISIncidentLatitude":36.21309999999999718056642450392246246337890625,"nERISIncidentLongitude":-85.768969999999995934558683075010776519775390625,"alarm":"2026-03-11 17:41:52","dispatched":"2026-03-11 17:42:13","enroute":"2026-03-11 17:45:15","incidentLocationCross":"WARREN HOLLOW RD\/ENSOR HOLLOW RD","cADVehicleID":"TK31","timedispatch":"2026-03-11 17:45:12","timeenroutetoscene":"2026-03-11 17:45:15","policeReportNumber":"20260026882","dispatchNotes":"Event spawned from SICK PERSON.  [03\/11\/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO BATHROOM&quot;  [03\/11\/26 17:40:22 DSTEPHENS] UNABLE TO URINATE  [03\/11\/26 17:39:48 KMORGAN2] **OVER  [03\/11\/26 17:39:42 KMORGAN2] PAIN ALL OBVER  [03\/11\/26 17:39:38 KMORGAN2]","cADLog":"Event spawned from SICK PERSON.  [03\/11\/2026 17:41:52 KHILL] &quot; PAIN ALL OVER  UNABLE TO GO TO BATHROOM&quot;  [03\/11\/26 17:40:22 DSTEPHENS] UNABLE TO URINATE  [03\/11\/26 17:39:48 KMORGAN2] **OVER  [03\/11\/26 17:39:42 KMORGAN2] PAIN ALL OBVER  [03\/11\/26 17:39:38 KMORGAN2]","incidentLocationCity":"BUFFALO VALLEY","streetName":"LITTLE INDIAN CREEK RD","incidentAddressTextVersionStreet":"3525 LITTLE INDIAN CREEK RD","locationCoordinates":"36.2131,-85.76897"}
[2026-03-11 22:45:20] [INFO] Number of extracted fields: 23
[2026-03-11 22:45:20] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-11 22:45:20] [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-11 22:45:20] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-11 22:45:20] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-11 22:45:20] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-11 22:45:20] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-11 22:45: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-11 22:45: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-11 22:45:20] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-11 22:45:20] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-11 22:45:20] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-11 22:45:20] [INFO] Found existing IncidentTypeMapping with ID: 6939328c99c5522d2
[2026-03-11 22:45:21] [INFO] Found existing Dispatch with cADNumber '2026000672', ID: 69b1efc96c0520987 - will update instead of create
[2026-03-11 22:45:21] [INFO] Updated existing Dispatches record with ID: 69b1efc96c0520987
[2026-03-11 22:45:21] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026882_20260311_224519.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-11/PCFD_20260026882_20260311_224519.XML
[2026-03-11 22:45:21] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026882_20260311_224519.XML
[2026-03-11 23:03:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-07432.xml
[2026-03-11 23:03:52] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-07432.xml for user: 68d56363ec1209189
[2026-03-11 23:03:52] [INFO] File size: 1324 bytes
[2026-03-11 23:03:52] [INFO] Created FTPFiles record with ID: 69b1f4d858fea1dc1
[2026-03-11 23:03:52] [INFO] About to extract fields from XML. File size: 1324 bytes
[2026-03-11 23:03:52] [INFO] Number of mappings: 21
[2026-03-11 23:03:52] [INFO] Starting XML parsing. Content length: 1324
[2026-03-11 23:03:52] [INFO] XML parsed successfully. Root element: Incident
[2026-03-11 23:03:52] [INFO] Processing 21 field mappings
[2026-03-11 23:03:52] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-11 23:03:52] [INFO]   -> Found value: 26-07432
[2026-03-11 23:03:52] [INFO]   -> Set field 'dispatchRunNumber' = "26-07432"
[2026-03-11 23:03:52] [INFO]   -> Set field 'cADNumber' = "26-07432"
[2026-03-11 23:03:52] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-11 23:03:52] [INFO]   -> Found value: 201
[2026-03-11 23:03:52] [INFO]   -> Set field 'incidentLocationStreetNumber' = 201
[2026-03-11 23:03:52] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-11 23:03:52] [INFO]   -> Found value: S KINGSHIGHWAY
[2026-03-11 23:03:52] [INFO]   -> Set field 'streetName' = "S KINGSHIGHWAY"
[2026-03-11 23:03:52] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-11 23:03:52] [INFO]   -> No value found (null or empty)
[2026-03-11 23:03:52] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-11 23:03:52] [INFO]   -> Found value: SIKESTON
[2026-03-11 23:03:52] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-03-11 23:03:52] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-11 23:03:52] [INFO]   -> Found value: SIKESTON DPS
[2026-03-11 23:03:52] [INFO]   -> Set field 'businessName' = "SIKESTON DPS"
[2026-03-11 23:03:52] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-11 23:03:52] [INFO]   -> Found value: MO
[2026-03-11 23:03:52] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-03-11 23:03:52] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-11 23:03:52] [INFO]   -> Found value: 63801
[2026-03-11 23:03:52] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-03-11 23:03:52] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-11 23:03:52] [INFO]   -> No value found (null or empty)
[2026-03-11 23:03:52] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-11 23:03:52] [INFO]   -> No value found (null or empty)
[2026-03-11 23:03:52] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-11 23:03:52] [INFO]   -> Found value: WED 1800 HR PAGER TEST
[2026-03-11 23:03:52] [INFO]   -> Set field 'incidentTypeValue1' = "WED 1800 HR PAGER TEST"
[2026-03-11 23:03:52] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-11 23:03:52] [INFO]   -> Found value: 03-11-2026 18:00:00|WED EVENING PAGER TEST
[2026-03-11 23:03:52] [INFO]   -> Set field 'dispatchNotes' = "03-11-2026 18:00:00|WED EVENING PAGER TEST"
[2026-03-11 23:03:52] [INFO]   -> Set field 'cADLog' = "03-11-2026 18:00:00|WED EVENING PAGER TEST"
[2026-03-11 23:03:52] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-11 23:03:52] [INFO]   -> Found value: 03-11-2026T18:01:25
[2026-03-11 23:03:52] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T18:01:25
[2026-03-11 23:03:52] [INFO]   -> Set field 'alarm' = "2026-11-03 18:01:25"
[2026-03-11 23:03:52] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T18:01:25
[2026-03-11 23:03:52] [INFO]   -> Set field 'dispatched' = "2026-11-03 18:01:25"
[2026-03-11 23:03:52] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-11 23:03:52] [INFO]   -> No value found (null or empty)
[2026-03-11 23:03:52] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-11 23:03:52] [INFO]   -> No value found (null or empty)
[2026-03-11 23:03:52] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-11 23:03:52] [INFO]   -> Found value: RURAL PAGE
[2026-03-11 23:03:52] [INFO]   -> Set field 'cADVehicleID' = "RURAL PAGE"
[2026-03-11 23:03:52] [INFO]   -> Set field 'name' = "RURAL PAGE"
[2026-03-11 23:03:52] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-11 23:03:52] [INFO]   -> No value found (null or empty)
[2026-03-11 23:03:52] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-11 23:03:52] [INFO]   -> No value found (null or empty)
[2026-03-11 23:03:52] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-11 23:03:52] [INFO]   -> Found value: 03-11-2026T18:03:01
[2026-03-11 23:03:52] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T18:03:01
[2026-03-11 23:03:52] [INFO]   -> Set field 'timeunitclear' = "2026-11-03 18:03:01"
[2026-03-11 23:03:52] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-11 23:03:52] [INFO]   -> Found value: 03-11-2026T18:02:08
[2026-03-11 23:03:52] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T18:02:08
[2026-03-11 23:03:52] [INFO]   -> Set field 'timedispatch' = "2026-11-03 18:02:08"
[2026-03-11 23:03:52] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-11 23:03:52] [INFO]   -> Found value: SCRFD
[2026-03-11 23:03:52] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-03-11 23:03:52] [INFO] Finished extracting fields. Total fields extracted: 18
[2026-03-11 23:03:52] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-07432","cADNumber":"26-07432","incidentLocationStreetNumber":201,"streetName":"S KINGSHIGHWAY","incidentLocationCity":"SIKESTON","businessName":"SIKESTON DPS","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"incidentTypeValue1":"WED 1800 HR PAGER TEST","dispatchNotes":"03-11-2026 18:00:00|WED EVENING PAGER TEST","cADLog":"03-11-2026 18:00:00|WED EVENING PAGER TEST","alarm":"2026-11-03 18:01:25","dispatched":"2026-11-03 18:01:25","cADVehicleID":"RURAL PAGE","name":"RURAL PAGE","timeunitclear":"2026-11-03 18:03:01","timedispatch":"2026-11-03 18:02:08","cADAgencyIdentifier":"SCRFD"}
[2026-03-11 23:03:52] [INFO] Number of extracted fields: 18
[2026-03-11 23:03:52] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-03-11 23:03:52] [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-11 23:03:52] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-03-11 23:03:52] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-03-11 23:03:52] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-03-11 23:03:52] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-03-11 23:03:52] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-03-11 23:03:52] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-03-11 23:03:53] [INFO] Found existing IncidentTypeMapping with ID: 693a0a64a7bfdcdfa
[2026-03-11 23:03:53] [INFO] Found existing Dispatch with cADNumber '26-07432', ID: 69b1f47479b1b11c2 - will update instead of create
[2026-03-11 23:03:53] [INFO] Updated existing Dispatches record with ID: 69b1f47479b1b11c2
[2026-03-11 23:03:53] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-07432.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-11/SCRFD_26-07432.xml
[2026-03-11 23:03:53] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-07432.xml
[2026-03-11 23:03:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07429.xml
[2026-03-11 23:03:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07429.xml for user: 68d56363ec1209189
[2026-03-11 23:03:53] [INFO] File size: 1400 bytes
[2026-03-11 23:03:53] [INFO] Created FTPFiles record with ID: 69b1f4d9be0ba85d8
[2026-03-11 23:03:53] [INFO] About to extract fields from XML. File size: 1400 bytes
[2026-03-11 23:03:53] [INFO] Number of mappings: 21
[2026-03-11 23:03:53] [INFO] Starting XML parsing. Content length: 1400
[2026-03-11 23:03:53] [INFO] XML parsed successfully. Root element: Incident
[2026-03-11 23:03:53] [INFO] Processing 21 field mappings
[2026-03-11 23:03:53] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-11 23:03:53] [INFO]   -> Found value: 26-07429
[2026-03-11 23:03:53] [INFO]   -> Set field 'dispatchRunNumber' = "26-07429"
[2026-03-11 23:03:53] [INFO]   -> Set field 'cADNumber' = "26-07429"
[2026-03-11 23:03:53] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-11 23:03:53] [INFO]   -> Found value: 5242
[2026-03-11 23:03:53] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5242
[2026-03-11 23:03:53] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-11 23:03:53] [INFO]   -> Found value: STATE HIGHWAY 77
[2026-03-11 23:03:53] [INFO]   -> Set field 'streetName' = "STATE HIGHWAY 77"
[2026-03-11 23:03:53] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-11 23:03:53] [INFO]   -> No value found (null or empty)
[2026-03-11 23:03:53] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-11 23:03:53] [INFO]   -> Found value: BENTON
[2026-03-11 23:03:53] [INFO]   -> Set field 'incidentLocationCity' = "BENTON"
[2026-03-11 23:03:53] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-11 23:03:53] [INFO]   -> No value found (null or empty)
[2026-03-11 23:03:53] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-11 23:03:53] [INFO]   -> No value found (null or empty)
[2026-03-11 23:03:53] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-11 23:03:53] [INFO]   -> No value found (null or empty)
[2026-03-11 23:03:53] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-11 23:03:53] [INFO]   -> Found value: 0
[2026-03-11 23:03:53] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-11 23:03:53] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-11 23:03:53] [INFO]   -> Found value: 0
[2026-03-11 23:03:53] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-11 23:03:53] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-11 23:03:53] [INFO]   -> Found value: ASSIST-SOCIAL SERVICES
[2026-03-11 23:03:53] [INFO]   -> Set field 'incidentTypeValue1' = "ASSIST-SOCIAL SERVICES"
[2026-03-11 23:03:53] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-11 23:03:53] [INFO]   -> Found value: 03-11-2026 17:16:16|HOTLINE INVEST 03-11-2026 18:02:18|MOREHOUSE AND SIK ALL DRAGGED IN ERROR
[2026-03-11 23:03:53] [INFO]   -> Set field 'dispatchNotes' = "03-11-2026 17:16:16|HOTLINE INVEST 03-11-2026 18:02:18|MOREHOUSE AND SIK ALL DRAGGED IN ERROR"
[2026-03-11 23:03:53] [INFO]   -> Set field 'cADLog' = "03-11-2026 17:16:16|HOTLINE INVEST 03-11-2026 18:02:18|MOREHOUSE AND SIK ALL DRAGGED IN ERROR"
[2026-03-11 23:03:53] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-11 23:03:53] [INFO]   -> Found value: 03-11-2026T17:16:42
[2026-03-11 23:03:53] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T17:16:42
[2026-03-11 23:03:53] [INFO]   -> Set field 'alarm' = "2026-11-03 17:16:42"
[2026-03-11 23:03:53] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T17:16:42
[2026-03-11 23:03:53] [INFO]   -> Set field 'dispatched' = "2026-11-03 17:16:42"
[2026-03-11 23:03:53] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-11 23:03:53] [INFO]   -> Found value: 03-11-2026T17:16:42
[2026-03-11 23:03:53] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T17:16:42
[2026-03-11 23:03:53] [INFO]   -> Set field 'onScene' = "2026-11-03 17:16:42"
[2026-03-11 23:03:53] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-11 23:03:53] [INFO]   -> Found value: 03-11-2026T18:02:54
[2026-03-11 23:03:53] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T18:02:54
[2026-03-11 23:03:53] [INFO]   -> Set field 'cleared' = "2026-11-03 18:02:54"
[2026-03-11 23:03:53] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T18:02:54
[2026-03-11 23:03:53] [INFO]   -> Set field 'inService' = "2026-11-03 18:02:54"
[2026-03-11 23:03:53] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-11 23:03:53] [INFO]   -> Found value: SIK ALL PAGE
[2026-03-11 23:03:53] [INFO]   -> Set field 'cADVehicleID' = "SIK ALL PAGE"
[2026-03-11 23:03:53] [INFO]   -> Set field 'name' = "SIK ALL PAGE"
[2026-03-11 23:03:53] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-11 23:03:53] [INFO]   -> No value found (null or empty)
[2026-03-11 23:03:53] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-11 23:03:53] [INFO]   -> No value found (null or empty)
[2026-03-11 23:03:53] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-11 23:03:53] [INFO]   -> Found value: 03-11-2026T18:01:28
[2026-03-11 23:03:53] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T18:01:28
[2026-03-11 23:03:53] [INFO]   -> Set field 'timeunitclear' = "2026-11-03 18:01:28"
[2026-03-11 23:03:53] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-11 23:03:53] [INFO]   -> Found value: 03-11-2026T18:01:13
[2026-03-11 23:03:53] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T18:01:13
[2026-03-11 23:03:53] [INFO]   -> Set field 'timedispatch' = "2026-11-03 18:01:13"
[2026-03-11 23:03:53] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-11 23:03:53] [INFO]   -> Found value: SDPSFD
[2026-03-11 23:03:53] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-11 23:03:53] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-11 23:03:53] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-11 23:03:53] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-07429","cADNumber":"26-07429","incidentLocationStreetNumber":5242,"streetName":"STATE HIGHWAY 77","incidentLocationCity":"BENTON","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"ASSIST-SOCIAL SERVICES","dispatchNotes":"03-11-2026 17:16:16|HOTLINE INVEST 03-11-2026 18:02:18|MOREHOUSE AND SIK ALL DRAGGED IN ERROR","cADLog":"03-11-2026 17:16:16|HOTLINE INVEST 03-11-2026 18:02:18|MOREHOUSE AND SIK ALL DRAGGED IN ERROR","alarm":"2026-11-03 17:16:42","dispatched":"2026-11-03 17:16:42","onScene":"2026-11-03 17:16:42","cleared":"2026-11-03 18:02:54","inService":"2026-11-03 18:02:54","cADVehicleID":"SIK ALL PAGE","name":"SIK ALL PAGE","timeunitclear":"2026-11-03 18:01:28","timedispatch":"2026-11-03 18:01:13","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-03-11 23:03:53] [INFO] Number of extracted fields: 21
[2026-03-11 23:03:53] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-11 23:03:53] [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-11 23:03:53] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-11 23:03:53] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-11 23:03:53] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-11 23:03:54] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-11 23:03:54] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-11 23:03:54] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-11 23:03:54] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"ASSIST-SOCIAL SERVICES","saasclientId":"6772cab7157b2ebde","name":"ASSIST-SOCIAL SERVICES"}
[2026-03-11 23:03:54] [INFO] Created new IncidentTypeMapping with ID: 69b1f4da5caa98d38
[2026-03-11 23:03:56] [INFO] Created new Dispatches record with ID: 69b1f4dab215e5da0
[2026-03-11 23:03:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07429.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-11/SDPSFD_26-07429.xml
[2026-03-11 23:03:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07429.xml
[2026-03-11 23:03:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07432.xml
[2026-03-11 23:03:56] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07432.xml for user: 68d56363ec1209189
[2026-03-11 23:03:56] [INFO] File size: 1327 bytes
[2026-03-11 23:03:56] [INFO] Created FTPFiles record with ID: 69b1f4dca156837b2
[2026-03-11 23:03:56] [INFO] About to extract fields from XML. File size: 1327 bytes
[2026-03-11 23:03:56] [INFO] Number of mappings: 21
[2026-03-11 23:03:56] [INFO] Starting XML parsing. Content length: 1327
[2026-03-11 23:03:56] [INFO] XML parsed successfully. Root element: Incident
[2026-03-11 23:03:56] [INFO] Processing 21 field mappings
[2026-03-11 23:03:56] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-11 23:03:56] [INFO]   -> Found value: 26-07432
[2026-03-11 23:03:56] [INFO]   -> Set field 'dispatchRunNumber' = "26-07432"
[2026-03-11 23:03:56] [INFO]   -> Set field 'cADNumber' = "26-07432"
[2026-03-11 23:03:56] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-11 23:03:56] [INFO]   -> Found value: 201
[2026-03-11 23:03:56] [INFO]   -> Set field 'incidentLocationStreetNumber' = 201
[2026-03-11 23:03:56] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-11 23:03:56] [INFO]   -> Found value: S KINGSHIGHWAY
[2026-03-11 23:03:56] [INFO]   -> Set field 'streetName' = "S KINGSHIGHWAY"
[2026-03-11 23:03:56] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-11 23:03:56] [INFO]   -> No value found (null or empty)
[2026-03-11 23:03:56] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-11 23:03:56] [INFO]   -> Found value: SIKESTON
[2026-03-11 23:03:56] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-03-11 23:03:56] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-11 23:03:56] [INFO]   -> Found value: SIKESTON DPS
[2026-03-11 23:03:56] [INFO]   -> Set field 'businessName' = "SIKESTON DPS"
[2026-03-11 23:03:56] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-11 23:03:56] [INFO]   -> Found value: MO
[2026-03-11 23:03:56] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-03-11 23:03:56] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-11 23:03:56] [INFO]   -> Found value: 63801
[2026-03-11 23:03:56] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-03-11 23:03:56] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-11 23:03:56] [INFO]   -> No value found (null or empty)
[2026-03-11 23:03:56] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-11 23:03:56] [INFO]   -> No value found (null or empty)
[2026-03-11 23:03:56] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-11 23:03:56] [INFO]   -> Found value: WED 1800 HR PAGER TEST
[2026-03-11 23:03:56] [INFO]   -> Set field 'incidentTypeValue1' = "WED 1800 HR PAGER TEST"
[2026-03-11 23:03:56] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-11 23:03:56] [INFO]   -> Found value: 03-11-2026 18:00:00|WED EVENING PAGER TEST
[2026-03-11 23:03:56] [INFO]   -> Set field 'dispatchNotes' = "03-11-2026 18:00:00|WED EVENING PAGER TEST"
[2026-03-11 23:03:56] [INFO]   -> Set field 'cADLog' = "03-11-2026 18:00:00|WED EVENING PAGER TEST"
[2026-03-11 23:03:56] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-11 23:03:56] [INFO]   -> Found value: 03-11-2026T18:01:25
[2026-03-11 23:03:56] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T18:01:25
[2026-03-11 23:03:56] [INFO]   -> Set field 'alarm' = "2026-11-03 18:01:25"
[2026-03-11 23:03:56] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T18:01:25
[2026-03-11 23:03:56] [INFO]   -> Set field 'dispatched' = "2026-11-03 18:01:25"
[2026-03-11 23:03:56] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-11 23:03:56] [INFO]   -> No value found (null or empty)
[2026-03-11 23:03:56] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-11 23:03:56] [INFO]   -> No value found (null or empty)
[2026-03-11 23:03:56] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-11 23:03:56] [INFO]   -> Found value: SIK ALL PAGE
[2026-03-11 23:03:56] [INFO]   -> Set field 'cADVehicleID' = "SIK ALL PAGE"
[2026-03-11 23:03:56] [INFO]   -> Set field 'name' = "SIK ALL PAGE"
[2026-03-11 23:03:56] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-11 23:03:56] [INFO]   -> No value found (null or empty)
[2026-03-11 23:03:56] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-11 23:03:56] [INFO]   -> No value found (null or empty)
[2026-03-11 23:03:56] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-11 23:03:56] [INFO]   -> Found value: 03-11-2026T18:03:01
[2026-03-11 23:03:56] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T18:03:01
[2026-03-11 23:03:56] [INFO]   -> Set field 'timeunitclear' = "2026-11-03 18:03:01"
[2026-03-11 23:03:56] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-11 23:03:56] [INFO]   -> Found value: 03-11-2026T18:01:52
[2026-03-11 23:03:56] [INFO] Reformatted DD-MM-YYYY date '03-11-2026' (day=03, month=11) to ISO: 2026-11-03T18:01:52
[2026-03-11 23:03:56] [INFO]   -> Set field 'timedispatch' = "2026-11-03 18:01:52"
[2026-03-11 23:03:56] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-11 23:03:56] [INFO]   -> Found value: SDPSFD
[2026-03-11 23:03:56] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-11 23:03:56] [INFO] Finished extracting fields. Total fields extracted: 18
[2026-03-11 23:03:56] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-07432","cADNumber":"26-07432","incidentLocationStreetNumber":201,"streetName":"S KINGSHIGHWAY","incidentLocationCity":"SIKESTON","businessName":"SIKESTON DPS","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"incidentTypeValue1":"WED 1800 HR PAGER TEST","dispatchNotes":"03-11-2026 18:00:00|WED EVENING PAGER TEST","cADLog":"03-11-2026 18:00:00|WED EVENING PAGER TEST","alarm":"2026-11-03 18:01:25","dispatched":"2026-11-03 18:01:25","cADVehicleID":"SIK ALL PAGE","name":"SIK ALL PAGE","timeunitclear":"2026-11-03 18:03:01","timedispatch":"2026-11-03 18:01:52","cADAgencyIdentifier":"SDPSFD"}
[2026-03-11 23:03:56] [INFO] Number of extracted fields: 18
[2026-03-11 23:03:56] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-11 23:03:56] [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-11 23:03:56] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-11 23:03:56] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-11 23:03:56] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-11 23:03:56] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-11 23:03:56] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-11 23:03:56] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-11 23:03:57] [INFO] Found existing IncidentTypeMapping with ID: 691e5c32443e1aa70
[2026-03-11 23:03:59] [INFO] Created new Dispatches record with ID: 69b1f4dd7cb4a7bec
[2026-03-11 23:03:59] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07432.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-11/SDPSFD_26-07432.xml
[2026-03-11 23:03:59] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07432.xml
