- Date |
State |
Type |
Notes
|
09/11/2023 |
NY |
Driver |
- Error: The parsing framework logged the errors:
Issue Encountered: Message marked as fullytagged XML contains a response text element that is not an indication of record not on file. may contain unparsed Data
Issue Encountered: Message marked as fullytagged XML does not contain a DriverStatus or DriverMatch element
- Cause: The state sent records with an error notification string the parser was not yet configured to recognize.
- Solution: Added the error notification string for the ORI
|
08/30/2023 |
NY |
Registration |
- Error: The parsing framework logged the errors:
Issue Encountered: Message marked as fullytagged XML contains a response text element that is not an indication of record not on file. may contain unparsed Data
Issue Encountered: Message marked as fullytagged XML does not contain a DriverStatus or DriverMatch element.
- Cause: The state sent records with an error notification string the parser was not yet configured to recognize.
- Solution: Added the error notification string for the ORI
|
08/28/2023 |
VT |
Registration |
- Error: General Error Thrown: System.ArgumentOutOfRangeException: Index and length must refer to a location within the string.
- Cause: The state sent records where the address line either had no zip code or contained a double comma, both of which caused the address line parsing logic to fail.
- Solution: Refactored HandleStaticLines to replace double commas with a single comma and refactored MapFields to check for null before calling .Trim on all lines.
|
08/28/2023 |
TX |
Registration |
- Error: General Error Thrown: System.ArgumentOutOfRangeException: Index and length must refer to a location within the string.
- Cause: The state began sending records with a new type of "REG CLASS" line that does not contain a dollar amount which caused the parsing logic for that line to break due to the substringing it used.
- Solution: Refactored HandleStaticLines to parse out the REG CLASS value and the cost value in a more robust way than substringing to handle the two types of lines.
|
07/27/2023 |
OK |
Registration |
- Error: Holder information from the OWNER/REGISTRANT/ADDRESS lines omitted in the PRR.
- Cause: For commercial vehicle RR messages, the parser placed the registration holder information in an instance of the CommercialVehicle class, which inherits from the Vehicle class. Because the RR schema does not support holder information for the CommercialVehicle element, the PRR mapper was not including the holder information in the final RRType object that becomes the PRR.
- Solution: Refactored ComercialResponse_MapFields to assign the CommercialVehicle.Registrations property to the RRType.Registrations property so the PRR mapper will include the holder information.
|
07/27/2023 |
NJ |
Registration |
- Error: Address from the ADDR: line not appearing in the PRR.
- Cause: NJ recently updated the structure of the address to be comma-delimited between the street, city, state, and zip and the parser was not programmed to handle this format.
- Solution: Refactored ParseZipStateStreetCityFromAddressLine, HandleStreetCityStateZipLine, and MapFields_NEW to account for the new structure.
|
07/27/2023 |
CA |
Registration |
- Error: Registered owner address not appearing in PRR message for some RR messages.
- Cause: When CA sends RR messages with a "MAILING ADDRESS:" block, the parser was not adding the holder information to the registration due to a missing line of code in AddHolders. When the MAILING ADDRESS block is absent, the parser was working properly, hence the intermittent problem.
- Solution: Refactored AddHolders to add the holder information to the Registration object it builds and returns.
|
07/26/2023 |
CA |
Registration |
- Error: Conflicting Lessors reported. Going with first one.
- Cause: The state sent records where the LSR names extracted from the "R/O" and "L/O" lines are different and the parser was programmed to log a parsing error in that case.
- Solution: Refactored GetOrganization to change the LogParsingIssue line to create an AdditionalInformation element that reports the conflicting lessor names.
|
07/26/2023 |
CA |
Registration |
- Error: General Error Thown: System.ArgumentException: An item with the same key has already been added.
- Cause: The state sent records containing the lines "NO DATE SALVAGE CERTIFICATE ISSUED" and "CONTACT DMV SACRAMENTO FOR NEW OWNER INFORMATION" after the REC STATUS line that the parser had not yet seen.
- Solution: Refactored HandleREC_STATUS to detect the "NO DATE..." and "CONTACT DMV..." lines.
|
07/26/2023 |
CA |
Registration |
- Error: Unexpected line encountered in dynamic content
- Cause: The state sent records containing the text "$300.00 NON RESIDENT SMOG IMPACT FEE IS DUE" and a record with a line containing a VIN with no tag sandwiches between "MULTIPLE VIN'S INS FILE NOT CHECKED" and "ELECTRONIC SMOG ON VIN/RESTRAINT FILE HON" that the parser was unable to process.
- Solution: Refactored HandleDynamicLines to detect the smog impact fee line and add it as AdditionalInformation. Refactored the if block that handles IsNoticeContent to detect the VIN sandwiched between the "MULTIPLE VIN'S..." line and "ELECTRONIC SMOG..." line.
|
07/26/2023 |
CA |
Registration |
- Error: ODOMETER number 1 KILOMETERS ACTUAL MILEAGE not a decimal
- Cause: The state sent a multi-hit record where one of the records reported the odometer reading in kilometers and the other reported in miles, but the parser code was searching the entire record to determine the measurement units rather than the current line.
- Solution: Refactored HandleDynamicLines to use the current line for detecting the word "MILES" rather than the entire record.
|
07/11/2023 |
AR |
Registration |
- Error: The parsing framework logged the errors "The LIEN_HOLDER/LIEN_DATE line could not be substringed" and "The REG_STREET/REG_CITY line could not be substringed"
- Cause: The state sent records where the tags in the ADDR line and LIEN HOLDER line were spaced differently than the parser code expected.
- Solution: Refactored HandleOWNER_INFORMATION and HandleLIEN_INFORMATION to use GetFieldsAndTrim instead of substring maps to more robustly identify the relevant tags.
|
07/11/2023 |
NV |
Driver |
- Cause: State sent records containing "ERRORnReasonCode" that the parser had not yet seen.
- Solution: Added the error notification text to Parsers.xml for the ORI.
|
5/30/2023 |
SC |
Driver |
- Cause: State sent records containing "Input string was not in a correct format" that the parser had not yet seen.
- Solution: Added the error notification text to Parsers.xml for the ORI.
|
5/15/2023 |
NH |
Driver |
- Cause: The state sent records with error notification strings the parser had not yet encountered, containing test such as "CONNECTION REFUSED", "DRIVER FIRSTNAME REQUIRED", and "LOGIN FAILED".
- Solution: Added the error notification text to Parsers.xml for the ORI.
|
4/24/2023 |
LA |
Registration |
- Error: 1. "Unexpected content found in Not On File RR" 2. "General Error Thrown: System.FormatException: Input string was not in a correct format."
- Cause: 1. The state sent not on file records having a header starter the parser had not yet seen, e.g., "B4 .AZNLETS84...." and "====== Apportioned Plate Response =====". 2. The state sent records where the "TTA" line had non-standard spacing between "TTA" and "TRDA" which caused the parsing of the TRDA date to throw an error.
- Solution: 1. Refactored HandleNotOnFile to identify the header starter using the Parsers.xml configuration file rather than a hard-coded array of starters and to determine whether the format of the header is dot-delimited or not. 2. Refactored HandleStaticLines to use a more flexible method of parsing that does not rely on the Substring method. Added parsing for "TRDB".
|
4/10/2023 |
NB |
Driver |
- Error: Parsing framework logged the error "Unexpected content in MedCert Area"
- Cause: The state sent records with a format of the CDL Medical Certificate line the parser had not yet seen: "CDL Medical Certificate: DRIVER NOT CERTIFIED" when it is usually "CDL Medical Certificate: DRIVER IS CERTIFIED Medical Examiner Info"
- Solution: Refactored HandleMedCert to not continue parsing the Med Cert block when "DRIVER NOT CERTIFIED" is present, as there is no Med Cert block to parse.
|
3/27/2023 |
NJ |
Registration |
- Error: Parsing framework logged the error "The string parsed for zip is not a valid zip code in DDDDD or DDDDD-DDDD format"
- Cause: The states sent records with non-standard address lines the parser had not encountered, such as Canadian ZIP codes and addresses with no ZIP code or a malformed ZIP code.
- Solution: Refactored the address regular expressions to handle both US and Canadian ZIP codes. Refactored HandleAddress_NOCOMMA to call a new method, ParseNonStandardCSZ when the state/zip code is non-standard (i.e., no or malformed ZIP). ParseNonStandardCSZ attempts to parse the string and if it fails, puts the entire address line in the street address.
|
3/27/2023 |
CO |
Registration |
- Error: Parsing framework logged the error "The string parsed for zip is not a valid zip code in DDDDD or DDDDD-DDDD format"
- Cause: The state sent records where the CIS line contained non-standard information the parser had not yet seen, such as Canadian ZIP codes of the form A1A1A1, Mexican state names (e.g., "CHIH"), different permutations of the word "ADDRESS" between the two CIS tags, and malformed ZIP codes.
- Solution: Refactored the regex in HandleCIS to detect Canadian ZIP codes and to allow for 4-letter state lengths. Added a ParseNonStandardCIS method to handle the case where the CIS line does not match the defined regex for city/state/zip.
|
3/27/2023 |
KY |
Registration |
- Error: Parsing framework logged the error "Unexpected line encountered in dynamic content"
- Cause: The state began sending messages where the normal "==>DUPLICATE<==" header arrived unescaped as "==>DUPLICATE<==" which caused the HandleDynamicLines method to fail.
- Solution: Refactored GetRRType to replace ">" with ">" and replace "<" with "<" in ContentToParse before handing off the text to be parsed.
|
3/27/2023 |
SC |
Registration |
- Error: Message marked as fullytagged XML contains a response text element that is not an indication of record not on file. may contain unparsed Data Issue Encountered: Message marked as fullytagged XML does not contain a DriverStatus or DriverMatch element
- Cause: State sent records containing "170 - Title record not found" that the parser had not yet seen.
- Solution: Added the error notification text to Parsers.xml for the ORI.
|
3/27/2023 |
HI |
Driver |
- Error: Parsing framework logged the error "The PLUT field contains unknown value (1624)"
- Cause: The state sent records where some of the name lines contained an escaped apostrophe string "'" which caused the parsing of fields to fail.
- Solution: Refactored the GetDRType method to check for the presence of "'" and replace with an apostrophe character. This puts the corresponding lines back into a format the parser can process.
|
3/15/2023 |
DC |
Registration |
- Error: Parsing framework logged the error "Message marked as ResponseText payload contains ether a DriverStatus, DriverMatch or a DriversHistory element parser may need updating"
- Cause: The state converted from TEXT DR and RR messages to fully tagged XML.
- Solution: Updated the Parsers.xml configuration file to convert DC DR and RR messages to be processed as XML rather than TEXT.
|
3/10/2023 |
CO |
Registration |
- Error: Parsing framework logged the error "Unexpected content encountered in dynamic lines HandleDynamicLines_NAME"
- Cause: The state changed the format of the city/state/zip line from:
"CITY: WESTMINSTER STATE: CO ZIP: 80031 CITY: ARVADA STATE: CO ZIP: 80001" to:
"CIS: WALSH, CO 81090 CIS: SPRINGFIELD, CO 81073"
which caused the parser to throw an error for unrecognized content.
- Solution: Refactored HandleDynamicLines_NAME to detect the new CIS line and created method HandleCIS to parsing the new format of the city/state/zip line.
|
2/27/2023 |
NY |
Registration |
- Error: Message marked as fullytagged XML contains a response text element that is not an indication of record not on file. May contain unparsed Data Issue Encountered: Message marked as fullytagged XML does not contain a DriverStatus or DriverMatch element.
- Cause: State sent records containing "INTERNAL APP SERVER ERROR" that the parser had not yet seen.
- Solution: Added the error notification text to Parsers.xml for the ORI.
|
1/31/2023 |
SC |
Driver |
- Error: Parsing framework logged the error "Message marked as fullytagged XML contains a response text element that is not an indication of record not on file"
- Cause: The state sent records containing the error text "3071 - A license does not exist" that the parser configuration does not detect.
- Solution: Added the error string "3071 - A license does not exist" to the Parsers.xml configuration file for the SC ORI.
|
1/31/2023 |
SD |
Driver/Registration |
- Error: Parsing framework logged the error "Message marked as ResponseText payload does not contain a response text element"
- Cause: The state changed from sending TEXT DRs to sending NIEM XML DRs.
- Solution: Modified the parsing framework configuration to convert SD DRs and RRs to NIEM format for their respective ORIs, SDDLP0000 and SDLIC0000.
|
12/5/2022 |
VA |
Driver |
- Error: Parsing framework logged the error "General Error Thrown: System.ArgumentException: An item with the same key has already been added."
- Cause: The state sent records with two separate problems:
1. Records containing two instances of lines with the text "RETURNED RSN" that goes into a Dictionary as the key.
2. Records containing multiple instances of "RESTRICTED" lines that goes into a Dictionary as the key.
- Solution: Refactored HandleDynamicLines to create unique key names for each instance of the text and refactored MapFields to differentiate between the different instances.
|
12/5/2022 |
WY |
Registration |
- Error: Parsing framework logged the error "Unexpected content found in Not On File RR"
- Cause: The state sent records beginning with the text "====== Apportioned Plate Response =====" and containing a different structure than their normal responses that parser had not yet encountered.
- Solution: Refactored the WYRRParser to detect the Apportioned Plate Response records and process them accordingly. This meant refactoring GetRRType to use function delegates, refactoring GetOriginalQuery, and adding new methods: ConfigureFunctionDelegates, HandleStaticLinesApportioned, MapFieldsApportioned, IsApportionedPlateResponse, and ParseApportionedAddress.
|
11/1/2022 |
TN |
Registration |
- Error: Parsing framework logged the errors "Unexpected content encountered in Holder Section" and "Unexpected Content Encountered in LienHolder Section"
- Cause: For both errors, the state sent records containing a line such as "DECAL/225 CLSCD/1021 ISSYR/1994 CO-OF-REG/State" followed by "EXP/" that the parser had not yet encountered.
- Solution: Refactored HandleHolder and HandleLienHolder to detect and process the lines "DECAL/225 CLSCD/1021 ISSYR/1994 CO-OF-REG/State" and "EXP/".
|
11/1/2022 |
LA |
Driver |
- Error: Parsing framework logged the error "General Error Thrown: System.ArgumentOutOfRangeException: startIndex cannot be larger than length of string."
- Cause: The state sent records containing the line "INSUFFICIENT NAM / DOB" that the parser was unable to process, as there was no content after the NAM tag, after the /, and after the DOB tag as expected.
- Solution: Refactored GetOriginalQuery to be able to handle "INSUFFICIENT NAM" lines with or without content.
|
10/12/2022 |
SC |
Registration |
- Error: Parsing framework logged the error "Message marked as fullytagged XML contains a response text element that is not an indication of record not on file. may contain unparsed Data"
- Cause: The state sent records containing the error text "3320 - Driver Record PDF generation error" that the parser configuration does not detect.
- Solution: Added the error string "3320 - Driver Record PDF generation error" to the Parsers.xml configuration file for the SC ORI.
|
10/5/2022 |
IA |
Registration |
- Error: Parsing framework logged the error "Organization Holder has unplaceable DOB or OLN"
- Cause: The state sent records in two categories that was causing the GetHolder method to (A) misidentify the lessee holder ID for organizations and (B) misidentify certain lessee person names and treat them as an organization, which caused the same failure as (A).
Examples:
(A) ORGANIZATION NAME LLC with a SOC-OLN field having 10 digits or digits+letters.
(B) LAST1 LAST2 LAST3 LAST4, FNAME (more than two name parts in the last name) and O'BRIEN, FNAME MNAME (apostrophe in last name)
- Solution: (A) In the IARRParser, refactored GetHolder to use either what GetSSN_OLN identifies as SSN or as OLN for the holder ID when the lessee is an organization, starting with SSN and, if null, then use the OLN.
(B) In the Nlets.MessageParsing.Parsers.Utilities project, ParseingUtils class, refactored IsName to include the apostrophe character in the regex for last name and refactored IsLatinName to allow for more than two name parts in the last name, with or without hyphens.
|
10/5/2022 |
NH |
Driver |
- Error: Discovered that the NHDRParser was not detecting and adding the record restriction caveat to PDR messages for "NEW HAMPSHIRE DRIVER STATUS RESPONSE" type DRs.
- Cause: The method DRTypeII_HandleDynamicLines was not programmed to detect the caveat containing the text "*RESTRICTED - PURSUANT TO RSA 260:14, III, ANY RECORDS RECEIVED SHALL NOT BE FURTHER TRANSFERRED..." so PDR messages did not contain the caveat in the XML (it is still always in the OriginalResponseText element).
- Solution: Refactored DRTypeII_HandleDynamicLines to detect the record restriction caveat and MapFields to add it to an AdditionalInformation element in the XML.
|
09/19/2022 |
NJ |
Registration |
- Error: The parser logged the error "Unexpected address format encountered (likely contains more than one comma)"
- Cause: The state sent records where the address line had multiple commas in the street address (e.g., 123 MAIN ST, APT 7, NORTH, SMALLVILLE NJ 01234) that the parser was unable to handle.
- Solution: Refactored ParseZipStateStreetCityFromAddressLine to use more robust logic for parsing the various address format the state sends. It now uses only the last comma as the delimiter between street and city/state/zip rather than string splitting as implemented previously.
|
09/12/2022 |
VA |
Vehicle |
- Error 1: Unexpected content encountered in HandleStaticLines
- Cause 1: The state sent records where the vehicle address line began with "VEHADDR:" tag without a space rather than the expected "VEH ADDR:" tag with a space.
- Solution 1: Refactored HandleStaticLines to detect the "VEHADDR:" tag and process accordingly.
- Error 2: General Error Thrown: System.ArgumentOutOfRangeException: Length cannot be less than zero.
- Cause 2: The state sent records where the city/state/zip line after the VEH ADDR line contained no spaces between the city, state, or zip, e.g. "LORTONVA234625500" that the parser was unable to handle.
- Solution 2: Refactored GetCustomerAddress and GetVehicleAddress to use a regular expression to process the city/state/zip line where the regex allows for spaces or no spaces between the components. Added a separate method ProcessCSZ to extract the components. Refactored MapFields to process city/state/zip lines where one or more of the components is missing altogether.
|
09/12/2022 |
KY |
Driver |
- Error: The parsing framework logged the error "Unexpected line encountered in dynamic content"
- Cause: The state sent records containing a line beginning with "NAME CITY EXEMPTION/" that the parser had not yet encountered.
- Solution: Refactored HandleDynamicLines to detect and process lines beginning with "NAME CITY EXEMPTION/" and MapFields to add its content to an AdditionalInformation element.
|
08/30/2022 |
ID |
Registration |
- Error 1: General Error Thrown: System.ArgumentException: An item with the same key has already been added. (line 544)
- Cause 1: The state sent a multi-hit/ResponseText record where the original query was by VIN which the parser had not yet seen. This caused the flag _lookForNewHit to not get set causing the parser to fail to detect the next hit.
- Solution 1: Refactored HandleMultiHit_RareUncommon to detect query by VIN and HandleIndividualHit_RareUncommon to include logic to detect hit separation for query by VIN or query by LIC/LIY/LIT.
- Error 2: General Error Thrown: System.ArgumentException: An item with the same key has already been added. (line 787)
- Cause 2: The state sent records containing multiple Registered Party blocks, each with both a physical address and a mailing address that the parser was not configured to handle.
- Solution 2: Refactored HandleRegisteredParty and HandleAddress_REGISTERED_PARTY to handle lines starting with "Mailing Address:" within the Registered Party block and refactored MapFields_RareUncommon to process mailing addresses for multiple Registered Party blocks.
- Error 3: Message marked as fullytagged XML contains a response text element that is not an indication of record not on file. may contain unparsed Data
- Cause 3: The state sent records containing an unknown error string containing "Vehicle client caught exception:" that the parser had not yet seen.
- Solution 3: Added the error string to the Parsers.xml config file for the ORI.
|
08/30/2022 |
FL |
Driver |
- Error: The parsing framework logged the error "The TEMP_TYPE line could not be substringed"
- Cause: The state sent records containing "TEMP TYPE LIC:" lines that contained RESTRICTION: tags that the parger was not consuming properly.
- Solution: Refactored HandleTEMP_TYPE_LIC to include the RESTRICTIONS: tag when parsing and MapFields to include the content in the resulting XML.
|
08/22/2022 |
KY |
Registration |
- Error: General Error Thrown: System.NullReferenceException: Object reference not set to an instance of an object.
- Cause: The state sent records where the street address contained the word "ADDRESS" (e.g., "NOT AT THIS ADDRESS") that caused the logic in GetAddressComponents to fail.
- Solution: Refactored GetAddressComponents to check that the passed-in address line contains "ADDRESS:" rather than just "ADDRESS" to detect lines more positively with the actual "ADDRESS:" tag rather than the word ADDRESS in the line.
|
08/22/2022 |
KY |
Registration |
- Error: Unexpected line encountered in dynamic content
- Cause: The state began sending RR messages containing a line like "CODE REG TYPE/VETERAN RENEWAL REG WEIGHT/PC010" that the parser had not yet encountered.
- Solution: Refactored HandleDynamicLines to detect and process lines beginning with "CODE REG TYPE/" and MapFields to place the information in AdditionalInformation elements in the XML.
|
08/15/2022 |
HI |
Driver |
- Error: Parsing framework logged the error: Not Enough Lines in the DR to Successfully parse.
- Cause: State sent records with the message "FILE IS CURRENTLY UNAVAILABLE" that the parser configuration did not recognize as a NOT ON FILE response, so it attempted to process the DR and failed.
- Solution: Added the string "FILE IS CURRENTLY UNAVAILABLE" to the NOT ON FILE strings for the HIDRParser in the Parsers.xml configuration.
|
08/15/2022 |
WV |
Registration |
- Error: Parsing framework logged the error "Message marked as fullytagged XML contains a response text element that is not an indication of record not on file"
- Cause: State sent records containing an error notification string containing "TEMPORARILY UNAVAILABLE" the fully-tagged RR parser had not yet seen.
- Solution: Added the error notification string "TEMPORARILY UNAVAILABLE" to Parsers.xml for the WV ORI.
|
08/15/2022 |
CO |
Registration |
- Error: Parsing framework logged the error "Unexpected content encountered in dynamic lines HandleDynamicLines_NAME"
- Cause: State sent records containing the two lines "DISABLED OWNER: NO" and "DISABLED PASSENGER: NO" that the parser had not yet seen.
- Solution: Refactored HandleDynamicLines_NAME to detect and process lines containing the strings "DISABLED OWNER: NO" and "DISABLED PASSENGER: NO" and MapFields to add the information to AdditionalInformation elements in the XML.
|
08/15/2022 |
OK |
Registration |
- Error 1: Unexpected line encountered in dynamic content_TribalResponse
- Cause 1: The state sent records containing more lease holder lines than the parser expected.
- Solution 1: Refactored TribalResponse_HandleIndividualHit to detect and process the "STATE/" line and refactored GetRegistration to add the state as Additionalinformation as "RECORD STATE" in the returned Registration object.
- Error 2: General Error Thrown: System.ArgumentException: An item with the same key has already been added.
- Cause 2: The state sent a record with a line "2ND CITY/CLASSIC" in the Lien area that the parser had not yet seen.
- Solution 2: Refactored HandleTRIBAL_LIEN_INFO to detect lines containing "CITY/" but where the prior line did not contain "ADDRESS/" as an additional information tag and place its contents in an AdditionalInformation element in the XML.
- Error 3: General Error Thrown: System.ArgumentException: An item with the same key has already been added.
- Cause 3: State sent records where the LIEN address line containing the city/state/zip had the format "2ND ADDRESS <city <state> <zip>" instead of the expected format "1ST CITY/<city> STATE/<state> ZIP/<zip>".
- Solution 3: Refactored HandleTRIBAL_LIEN_INFO to call a new method HandleLienAddressLine that can detect and parse the two different city/state/zip formats.
- Error 4: General Error Thrown: System.ArgumentOutOfRangeException: startIndex cannot be larger than length of string.
- Cause 4: The state sent NO RECORD FOUND responses for queried names that contained the string "VIN" which caused the parser to interpret the original query as having been a VIN query and try to substring using an index based on "VIN/" which did not exist, hence the indexing error.
- Solution 4:Refactored GetOriginalQuery to use the method GetFieldsAndTrim that more robustly extracts slash-delimited fields.
- Error 5: Unexpected line encountered in LIEN_INFO
- Cause 5: Same problem with the lone "STATE/" line, but it occurred after the Lien address information, so the HandleTRIBAL_LIEN_INFO method logged the error.
- Solution 5: Refactored HandleTRIBAL_LIEN_INFO to detect and process lines beginning with "STATE/" and treat them as additional information with the "RECORD STATE" name and the state as the value.
|
08/01/2022 |
AZ |
Registration |
- Error: General Error Thrown: Unexpected Content Encountered in LienHolder Section
- Cause: The state sent records containing more lease holder lines than the parser expected.
- Solution: Refactored TNRRParser to use a settings key "LHRLSRIndexUpperLimit" that contains an upper limit for the index of LHR/LSR tags the parser will detect. Created a method PopulateLHRLSRTags that reads the setting and creates a string array of tags the parser can use when parsing lines containing LHR/ and LSR/.
|
08/01/2022 |
AZ |
Registration |
- Error: General Error Thrown: System.ArgumentOutOfRangeException: Length cannot be less than zero
- Cause: The state sent VEHICLE INFO records (commerical vehicle) where the REGISTERED NAME did not contain a STATUS tag, which caused the parser substring method to fail.
- Solution: Refactored HandleCommericalVehicles to use the GetFields method on the REGISTERED NAME line which is robust against missing fields.
|
08/01/2022 |
AZ |
Registration |
- Error: Not enough components in ADDR Line 2 to parse.
- Cause: The state sent an address that was missing a ZIP code that the parser was unable to handle.
- Solution: Refactored HandleADDRLine2 to call PrepareCSZ which identifies the missing component in an address and replaces it with a dummy string so the address handler can parse it properly.
|
08/01/2022 |
AZ |
Registration |
- Error: The parsing framework logged the error: "Message marked as ResponseText payload contains either a DriverStatus, DriverMatch or a DriversHistory element parser may need updating"
- Cause: The ORI IDIDMV000 was formerly sending unstructured text DRs but is now sending structured XML DRs and needs to be moved to the FullyTaggedDRParser and the IDDRParser needs to be retired.
- Solution: Updated the Parsers.xml config file to remove the IDDRParser settings, migrate the not on file and error notification settings for the ORI IDIDMV000 to the FullyTaggedDRParser settings, and add the ORI IDIDMV000 to the FullyTaggedDRParser identification group.
|
07/05/2022 |
MT |
Registration |
- Error: Parsing framework logged the error "Unexpected content found in dynamic lines"
- Cause: The state sent records containing the strings "FOR PHOTO TRY OLN QUERY" and "IMG/" the parser had not yet seen.
- Solution: Refactored HandleDynamicLines to detect and process lines containing the strings "FOR PHOTO TRY OLN QUERY" and "IMG/"
|
07/05/2022 |
AZ |
Registration |
- Error 1: A CITY/STATE/ZIP line has incorrect number of fields
- Cause: The state sent records where the address lines had a street address, a unit/apartment number, but no subsequent city/state/zip line.
- Solution: Refactored HandleContactInformation to check the second address line for a match to the city/state/zip regular expression. If it passes, the line is C/S/Z, otherwise the parser considers it a unit/apartment line.
- Error 2: Not Enough Lines in DR to parse
- Cause: The state sent not on file records with a different structure than the parser had seen. The file contained the person's sex code and full name with a string "X - CUSTOMER NAME NOT FOU".
- Solution: Refactored HandleNotOnFile to detect the "X - CUSTOMER NAME NOT FOU" string and create a DQType with the person's sex and name so the returned DRType has the original query information. Updated Parsers.xml to detect this not on file string.
|
07/05/2022 |
CT |
Registration |
- Error: Parser logging the error "Message marked as fullytagged XML contains a response text element that is not an indication of record not on file".
- Cause: State sent records with error notification strings containing "REPORT TO CONNECTICUT STATE POLICE" the fully-tagged parser had not yet seen.
- Solution: Added the error notification strings to Parsers.xml for the ORIs CTLIC0000 and CTVIN0000.
|
07/05/2022 |
AZ |
Driver |
- Error: Parser logging the error "Message marked as fullytagged XML contains a response text element that is not an indication of record not on file"
- Cause: State sent records with error notification strings containing "failed due to" the fully-tagged parser had not yet seen.
- Solution: Added the error notification strings to Parsers.xml for the ORI OKDMV0000.
|
07/05/2022 |
AZ |
Registration |
- Error: The parsing framework logged the error "Unexpected content encountered in dynamic lines HandleDynamicLines_NAME"
- Cause: The state began sending records with a line starting with "LEIN:" the parser had not yet seen.
- Solution: Refactored HandleDynamicLines_NAME to detect lines starting with "LEIN:" and extract the start date and holder and refactored MapFields to place the information in a LienHolder object.
|
06/27/2022 |
TX |
Registration |
- Error 1: Unable to parse city/state/zip
- Cause: The state sent records where the address contained a comma, but the comma was not used as a delimiter between the street and city. This caused the ParseZipStateStreetCityFromAddressLine method to go down an incorrect path.
- Solution: Refactored the logic of ParseZipStateStreetCityFromAddressLine to better detect the actual address structure and process accordingly.
- Error 2: Content remaining in Fields dictionary after MapFields
- Cause: The state sent a record where the lessee name and DLN were empty, but the address line contained a comma which caused the address components to end up on the Fields dictionary which caused MapFields_TEMPTAG to log an error for keys remaining in the Fields dictionary.
- Solution: Refactored MapFields_TEMPTAG to SafeRemove the address components from the Fields dictionary when the vehicle is not leased.
|
06/27/2022 |
TX |
Driver |
- Error 1: Unable to extract photo type from PID field (line has no OLT)
- Cause: State sent records where the PID line did not contain OLT and the logic of HandlePID failed and records where the PID line also contained OLC that HandlePID was not expecting.
- Solution: Refactored the logic of HandlePID to process a PID line with or without OLT and/or OLC tags.
- Error 2: Unknown line in HandleCONVICTIONS
- Cause: State sent a record where the text DIGITAL ISSUE did not precede PERMIT INFORMATION, so HandleCONVICTIONS method did not know where to end.
- Solution: Refactored HandleCONVICTIONS to include PERMIT INFORMATION as a string to indicate the end of the section.
|
06/14/2022 |
AL |
Registration |
- Error: The parsing framework logged the error "Message marked as fullytagged XML contains a response text element that is not an indication of record not on file. may contain unparsed Data"
- Cause: The state sends two types of DRs depending on whether the DQ requested an image or not: (A) If the DQ did not request an image, the DR is fully tagged XML and (B) If the DQ requested an image, the DR contains the binary base 64 image in an XML element, but the rest of the DR content is unstructured text, which the parsing framework was not configured to handle.
- Solution: Reconfigured the parsing framework to use an individual ALDRParser rather than the FullyTaggedDRParser. Created the ALDRParser class and updated the Parsers.xml configuration to move the ALDLR0000 ORI to the ALDRParser. Created logic in the Parser method to detect fully tagged XML or unstructured text and process accordingly. Built out all the logic to parse unstructured text, both for single hit records and multi hit records.
|
06/06/2022 |
AZ |
Registration |
- Error1: Not enough Lines in DR to parse
- Cause: The state sent a new type of "Continuation DR" with the second line having the text "MORE HITS ?" that the parser had not yet seen.
- Solution: Refactored IsContinuationDR to detect the presence of "MORE HIT ?" and when present, treat the record as a Continuation DR.
- Error2: the CLS/OLN/DISC line has incorrect number of fields
- Cause: The state sent records with a header line containing the text "NLETS-DL" that the parser was not configured to handle.
- Solution: Refactored IsHeaderLine so the regex allows for other text in the section after the control number.
- Error3: Unexpected Content in dynamic content
- Cause: The state sent records with the last line containing the text "IMG/" when the DR contained an image and the parser was not configured to detect and process the text.
- Solution: Refactored HandleDynamicLines to detect "IMG/" and create an Additional Information element with IMAGE INDICATOR as the key.
|
06/06/2022 |
AZ |
Registration |
- Error1: The ISSUED/EXPIRED line could not be substringed
- Cause: The state sent records where the CURRENT ID ISSUED line did not also have an EXPIRED field which the parser expected to be present, causing the substring map to fail.
- Solution: Refactored HandleStaticLines to include logic for the case where the CURRENT ID ISSUED line does not also contain an EXPIRES field.
- Error2: Restriction did not contain a code
- Cause: The state sent records where the RESTRICTIONS line contained a hyphen in the restriction text which caused the parser to log an error when trying to split on dash.
- Solution: Refactored HandleRESTRICTIONS to split on the string " - ", which is the actual separator between the single letter code and the text, rather than splitting on only the presence of a dash.
- Error3: The TEMP_TYPE line could not be substringed
- Cause: The state sent a record with two TEMP TYPE LIC lines and the parser was only configured to handle one such line.
- Solution: Refactored HandleTEMP_TYPE_LIC and MapFields to handle records containing multiple TEMP TYPE LIC lines.
|
06/03/2022 |
AZ |
Registration |
- Error: Parsing framework logged the error "Unexpected line encountered in dynamic lines"
- Cause: The state created a new RR format for what appears to be temporary tags that the parser was not configured to handle. The first date of the new format was 2022-05-25 05:55:10.073.
- Solution: Refactored GetRRType method to differentiate the type of record (regular RR, legacy RR, or temporary tag RR) based on the content of the first line, then redirect to the appropriate handler method for parsing. Created the handler "HandleStaticLines_TEMPTAG" for the temporary records.
|
06/02/2022 |
OH |
Registration |
- Error: User reported that the VIN line is being added to the StreetFullText element of a holder in PRR messages from OH.
- Cause: The state sent RR messages with two names, but only one address line. This caused the parser to treat the VIN/... line as an address line for the second holder.
- Solution: Refactored the logic in HandleStaticLines to detect the presence of the VIN/... line before treating the line as an address.
|
05/23/2022 |
CA |
Driver |
- Error: "Unexpected line encountered in dynamic content"
- Cause: The state sent records containing what looks like a discontinued OLN, e.g., "A1234567 DISCONTINUED" that the parser had not yet encountered.
- Solution: Refactored HandleDynamicLines to detect the word "DISCONTNUED" and add the OLN to an AdditionalInformation element for the DR.
|
05/18/2022 |
AZ |
Driver |
- Error: "Message marked as fullytagged XML contains a response text element that is not an indication of record not on file. may contain unparsed Data"
- Cause: The parser was configured to receive fully tagged XML from the ORI USOLN0000, but the DOS Plate Lookup service sends TEXT payloads and there was no text parser available.
- Solution: Created a DR parser "USDRParser" and configured the parsing service to create parsed DR messages for DRs coming from the ORI USOLN0000.
|
05/18/2022 |
WY |
Registration |
- Error1: MC_CERT/MC_ISS/MC_EXP line could not be substringed
- Cause: The state sent a record containing two MEDCERT lines where one of the lines did not have the standard CERT/ISS/EXP structure the parser expected
- Solution: Refactored HandleMEDCERT to parse the MEDCERT lines using GetfieldsAndTrim instead of a substring map which expects statically-spaced characters.
- Error2 : After MORE DATA, Drivers History Date Range contains content other than dates
- Cause: The state sent a multi-hit record where the final line after "MORE DATA MAY BE AVAILABLE ON FILE!" was not structured as the parser expected.
- Solution: Refactored HandleDynamicLines to handle the case where the line after "MORE DATA..." does not contain the expected structure.
|
05/18/2022 |
AZ |
Registration |
- Error: "General Error Thrown: System.ArgumentException: An item with the same key has already been added."
- Cause: State sent multi-hit records with and without the string "*** MULTIPLE VEHICLES RETURNED ***" containing blocks of lines having repeated fields for each hit that the parser was not configured to handle.
- Solution: Refactored HandleStaticLines to detect and process multi-hit records, either with the *** MULTIPLE VEHICLES RETURNED *** string or without.
|
05/09/2022 |
AZ |
Registration |
- Error: Address line has an unrecognizable postal code (not USA or CAN) or is unparsable into street, city, state.
- Cause: The state sent records where the RESIDENCE ADDRESS contained the string "NO RESIDENT ADDRESS ON FILE" the parser had not yet encountered.
- Solution: Refactored HandleADDR to detect the string "NO RESIDENT ADDRESS ON FILE" and MapFields to place the content in an AdditionalInformation element as a caveat.
|
04/26/2022 |
NJ |
Registration |
- Error1: Could not identify section header. Possible new section handler needed.
- Cause: The state added a section with the header text "Transaction Status Information" that the parser had not yet encountered.
- Solution: Refactored HandleDynamicLines_NEW to include a check for the presence of the new header and created HandleTransactionStatusInformationBlock to handle the content of the block.
- Error2: Unhandled content in Additional Owner section
- Cause: The state added a DOB field to the Additional Owner section that the parser had not yet encountered.
- Solution: Refactored HandleAdditionalOwnerBlock to detect and process the DOB field in Additional Owner blocks and added the Person.DOB entry to the RRType in MapFields_NEW.
- Error3: Unhandled content in Lease Information section
- Cause: The state added a DOB field to the Lease Information section that the parser had not yet encountered.
- Solution: Refactored HandleLeaseInformationBlock to detect and process the DOB field in Lease Information blocks and added the Person.DOB entry to the RRType in MapFields_NEW.
- Error4: Unhandled content in REGISTRATION INQUIRY RESULTS section
- Cause: The state added a DOB field to the REGISTRATION INQUIRY RESULTS section that the parser had not yet encountered.
- Solution: Refactored HandleRegistrationInquiryResultsBlock to detect and process the DOB field in the REGISTRATION INQUIRY RESULTS block and added the Person.DOB entry to the RRType in MapFields_NEW.
|
04/26/2022 |
KY |
Registration |
- Error: User reported that the city and state are swapped in PRR messages originating from KY RR messages.
- Cause: The parsing framework had a bug that was reversing the city and state when parsing the LEASEE ADDRESS field only. The framework was processing the address line for the registration holder correctly.
- Solution: Refactored GetAddressComponents to correctly assign the city and state for the LEASEE ADDRESS line.
|
04/11/2022 |
MD |
Driver |
- Error: Parsing framework logged the error "Message being handled by default parser, a new parser might be needed"
- Cause: The parsing framework configuration did not contain an entry for the ORI "MDMSP0000".
- Solution: Added the ORI MDMSP0000 to the Parsers.xml configuration file for the FullyTaggedDRParser.
|
04/04/2022 |
OK |
Driver |
- Error: OK DR
- Cause: State sent records containing "FAIL Connection reset" that the parser had not yet seen.
- Solution: Added the error notification text to Parsers.xml for the ORI.
|
04/04/2022 |
VA |
Registration |
- Error: General Error Thrown: System.IndexOutOfRangeException: Index was outside the bounds of the array.
- Cause: The state sent records where the LIY and ISS fields had no slashes in their dates which the parser previously expected.
- Solution: Created a method HandleLIC_LIY_ISS that can handle LIY and ISS dates with or without slashes. Refactored HandleStaticLines to call the new method.
|
04/04/2022 |
VA |
Registration |
- Error: Unexpected content encountered in HandleStaticLines
- Cause: The state sent records with multiple owner names that spilled to a second line when the parser expected all names on one line.
- Solution: Refactored HandleStaticLines to have logic that detects the presence of owner names on multiple lines.
|
04/04/2022 |
VA |
Registration |
- Error: Unexpected content encountered in HandleStaticLines
- Cause: The state sent records containing customer impairment caveat lines the parser had not yet encountered.
- Solution: Refactored HandleStaticLines to detect lines that start with "CUS IMP/" and any subsequent lines that contain impairment information.
|
04/04/2022 |
VA |
Registration |
- Error: Unexpected content encountered in Handle_HolderOnlyRecord
- Cause: The state sent records containing a line with a single letter ("D") the parser was unable to handle.
- Solution: Refactored HandleHolderOnlyRecord to detect lines containing a single upper-case letter.
|
03/28/2022 |
OK |
Driver |
- Error: Message marked as fullytagged XML does not contain a DriverStatus or DriverMatch element
- Cause: State sent records containing "INTERNAL_ERROR" and "FAIL Timeoutconnect timed out" that the parser had not yet seen.
- Solution: Added the error notification text to Parsers.xml for the ORI.
|
03/14/2022 |
CA |
Registration |
- Error: General Error Thrown: System.ArgumentException: An item with the same key has already been added.
- Cause: The state sent a record with vessel information in a different location than the parser expected.
- Solution: Refactored HandleDynamicLines to change the logic for detecting vessel information.
|
03/14/2022 |
CA |
Registration |
- Error: Unexpected line encountered in dynamic content.
- Cause: The state sent records containing text the parser had not yet seen: "EXPORTED TEMPORARILY" and "MULTIPLE MOBILEHOME ADDITIONAL VINS:".
- Solution: Refactored HandleDynamicLines to detect and process the new text into AdditionalInformation elements.
|
03/14/2022 |
CA |
Registration |
- Error: Conflicting Lessors reported. Going with first one.
- Cause: The state sent a record where the Lessee "NAME:" line ended in LSR but without a comma which the parser expected.
- Solution: Refactored HandleLESSEE_INFORMATION to include lines that end with "LSR" (no comma) when extracting the Lessee name.
|
03/1/2022 |
IL |
Registration |
- Error: User has reported that the parser is truncating the street number from certain addresses.
- Cause: When the state sends records where the street address contains a period, e.g. 123 N. MAIN ST, the parsing framework was incorrectly removing everything before the period, leaving an incomplete street address.
- Solution: Refactored the regular expression in HandleStandardResponse to additionally detect the characters '.', '-', and '&' as being part of the street address.
|
03/1/2022 |
MD |
Registration |
- Error: The parsing framework logged the error "Message marked as fullytagged XML contains a response text element that is not an indication of record not on file. may contain unparsed Data".
- Cause: State sent records containing "Unexpected response from:" that the parser had not yet seen.
- Solution: Added the error notification text to Parsers.xml for the ORI.
|
03/1/2022 |
NM |
Driver |
- Error: The parsing framework logged the error "Message marked as fullytagged XML does not contain a DriverStatus or DriverMatch element".
- Cause: State sent records containing "UNKNOWN EXCEPTION WAS ENCOUNTERED" that the parser had not yet seen.
- Solution: Added the error notification text to Parsers.xml for the ORI.
|
02/22/2022 |
OK |
Driver |
- Error: The parsing framework logged the error "Message being handled by default parser, a new parser might be needed".
- Cause: The state changed from sending TEXT DRs to sending NIEM XML DRs and changed the send ORI from OK00000MS to OKDMV0000. The last DR from the old ORI OK00000MS was at 2022-02-21 08:18:15.753. The first DR from OKDMV0000 was at 2022-02-21 08:18:46.750.
- Solution: Modified the parsing framework configuration to convert OK DRs to NIEM format for the new ORI OKDMV0000.
|
02/22/2022 |
PR |
Registration |
- Error: Parsing framework logged the error "Unexpected content encountered in dynamic lines".
- Cause: The state sent records containing an error notification string the parser had not yet encountered.
- Solution: Refactored Parse to include isStateErrorNotification in the logic to call HandleOriginalQuery. Refactored HandleOriginalQuery and HandleStaticLines to detect a new header string the state began using. Refactored HandleStaticLines to continue when isStateErrorNotification is set.
|
02/22/2022 |
TX |
Driver |
- Error: Parsing framework logged the error: "General Error Thrown: System.ArgumentException: An item with the same key has already been added."
- Cause: The state sent records where the OWNER address line contained the key words "TITLE" and "R-" that have other meanings to the parser which caused it to take an incorrect logic path.
- Solution: Refactored HandleStaticLines to improve the logic for detecting an actual TITLE line versus an address containing the word TITLE and for more positively detecting an "R-" record by adding the requirement of the record starting with "R-{MMM}/" where MMM is one of the 12-month abbreviations.
|
02/18/2022 |
TX |
Driver |
- Error: The parsing framework logged the error "Message being handled by default parser, a new parser might be needed"
- Cause: The state changed from TEXT format to NIEM format.
- Solution: Modified the parsing framework configuration to convert WV to NIEM format.
|
02/15/2022 |
TX |
Registration |
- Error: The parsing framework logged the error "Unexpected line encountered in dynamic content (HandleDynamicLines)"
- Cause: The state began sending records containing a "SECONDARY EMERGENCY CONTACT" block the parser had not encountered.
- Solution: Refactored HandleDynamicLines to detect and process the SECONDARY EMERGENCY CONTACT block and refactored Handle_EMERGENCY_CONTACT to process both PRIMARY and SECONDARY emergency contact blocks.
|
02/15/2021 |
TX |
Driver |
- Error: The parsing framework logged the error "Unexpected line encountered in dynamic content (HandleDynamicLines)"
- Cause: The state began sending records that begin with four lines consisting of an emergency contact information caveat that the parser had not yet encountered. One such record also contained a "PRIMARY EMERGENCY CONTACT" block the parser had not encountered.
- Solution: Refactored HandleStaticLines to parse the emergency contact caveat lines and HandleDynamicLines to detect and process the PRIMARY EMERGENCY CONTACT block.
|
01/27/2022 |
IA |
Registration |
- Error: The parsing framework logged the error "Unexpected line encountered in dynamic content (HandleDynamicLines)"
- Cause: The state began sending records that begin with four lines consisting of an emergency contact information caveat that the parser had not yet encountered. One such record also contained a "PRIMARY EMERGENCY CONTACT" block the parser had not encountered.
- Solution: Refactored HandleStaticLines to parse the emergency contact caveat lines and HandleDynamicLines to detect and process the PRIMARY EMERGENCY CONTACT block.
|
01/18/2022 |
ID |
Registration |
- Error: Parsing framework logged the error "Message marked as fullytagged XML contains a response text element that is not an indication of record not on file. may contain unparsed Data"
- Cause: The state sent records with error notification strings containing the content "Error while fetching the Vehicle Records", "Please enter maximum of 8 characters for IDAHO Plate Number"", and "Bad response:" that the parser had not yet encountered.
- Solution: Added the error notification strings to the Parsers.xml configuration file for the ORI. Refactored the Parse method to add a check for state error notification.
|
01/18/2022 |
SD |
Driver |
- Error: The parsing framework logged the error "Unexpected Content Encountered in Dynamic Lines"
- Cause: The state began sending records containing the string "RESTRICTED PERMIT INITIAL ISSUED DATE:" that the parser had not yet seen.
- Solution: Refactored HandleDynamicLines to detect and process the "RESTRICTED PERMIT INITIAL ISSUED DATE:" line.
|
01/18/2022 |
NV |
Registration |
- Cause: State sent records containing "An error occurred while receiving" that the parser had not yet seen.
- Solution: Added the error notification text to Parsers.xml for the ORI.
|
01/18/2022 |
MD |
Driver |
- Cause: State sent records containing "the full last name is required" that the parser had not yet seen.
- Solution: Added the error notification text to Parsers.xml for the ORI.
|
01/18/2022 |
SC |
Driver |
- Cause: State sent records containing "3301 - The specified User ID does not exist" that the parser had not yet seen.
- Solution: Added the error notification text to Parsers.xml for the ORI
|
01/10/2022 |
AZ |
Driver |
- Error: Parsing framework logged the error "HandleSTATE_DEPARTMENTDynamicLines"
- Cause: The state began sending records containing the line "*** MEDICAL ATTESTATION ***" which the parser had not yet seen. Note: We have not yet seen records with content after this line; however, it appears related to a new WA law that went into effect Jan 1, 2022, that allows drivers to add medical designators to their DLs, so we will likely see records with content after this line in the future.
- Solution: Refactored HandleSTATE_DEPARTMENTDynamicLines to detect and process the new medical attestation string.
|
01/03/2022 |
AZ |
Registration |
- Error: Parsing framework logged the error "General Error Thrown: System.ArgumentException: An item with the same key has already been added."
- Cause: The state began sending records with a line containing "SPECNEED/" after each owner name that the parser had not yet seen which caused the HandleDynamicLines method to attempt to add an item with the same key to a dictionary.
- Solution: Refactored HandleHolder to detect and process the new "SPECNEED/" line and MapFields to put the content in an AdditionalInformation element for each owner.
|
01/03/2022 |
TN |
Registration |
- Error: Parsing framework logged the error "General Error Thrown: System.ArgumentException: An item with the same key has already been added."
- Cause: The state began sending records with a line containing "SPECNEED/" after each owner name that the parser had not yet seen which caused the HandleDynamicLines method to attempt to add an item with the same key to a dictionary.
- Solution: Refactored HandleHolder to detect and process the new "SPECNEED/" line and MapFields to put the content in an AdditionalInformation element for each owner.
|
12/29/2021 |
OR |
Registration |
- Error: Parsing framework logged the error "Unexpected line encountered in dynamic content"
- Cause: The state sent records containing a new line "DEAF OR HARD OF HEARING: N" the parser had not encountered.
- Solution: Refactored HandleDynamicLines and MapFields to detect and process the hearing indicator line and place it in AdditionalInformation in the resulting PRR.
|
12/20/2021 |
LA |
Driver |
- Error: The parsing framework logged "Not enough Lines in DR to parse" and "Unable to parse message content"
- Cause: This is part of an ongoing issue where the state is sending "continuation DRs" that are from multi-page records in their DMV system. In this case, the parser was not detecting continuation DRs where the second line starts with "TEMP ISSUED ".
- Solution: Refactored IsContinuationDR to also detect second lines that start with "TEMP ISSUED ".
|
12/14/2021 |
WI |
Driver |
- Error: Parsing framework logged the error "Message marked as fullytagged XML contains a response text element that is not an indication of record not on file"
- Cause: State sent records containing an error notification string "WDOT FILE IS DOWN" the fully tagged parser had not yet seen.
- Solution: Added the error notification string to the Parsers.xml configuration file for the ORI.
|
12/14/2021 |
LA |
Driver |
- Error: The parsing framework logged the related errors "the CLS/OLN/DISC line has incorrect number of fields" and "Unable to parse message content"
- Cause: The state is sometimes sending multiple DRs per DQ. When that happens, every DR after the first is the result of a continuation page from the state DMV record (these have “MORE” at the bottom). The last DR is from the page with “END*” at the bottom. These "continuation DRs" contain content that is out of scope for DR messages and/or is unlinked to the original DQ.
- Solution: Refactored GetDRType to detect any DR that does not contain valid DR content and set the OutOfScopeContent flag to true, thereby short-circuiting the parsing process and adding an out-of-scope caveat to the resulting PDR.
|
12/14/2021 |
TX |
Driver |
- Error: The parsing framework logged "Unexpected Content Encountered in MultHit"
- Cause: The state sent multi-hit records containing "OVER 50 MATCHING RECORDS FOUND" in the first line that the parser had not yet seen.
- Solution: Refactored HandleMultHit to detect and process the number of matching records indicator.
|
12/13/2021 |
MD |
Driver |
- Error: Parsing framework logged the error "Message marked as ResponseText payload contains ether a DriverStatus, DriverMatch or a DriversHistory element parser may need updating"
- Cause: The state converted from TEXT DRs to fully tagged XML DRs.
- Solution: Updated the Parsers.xml configuration file to move the MD DR information from a TEXT based parser to the fully tagged XML parser.
|
12/04/2021 |
MD |
Driver |
- Error: Parsing framework logged the error "Message being handled by default parser, a new parser might be needed"
- Cause: The state began sending DRs using a new ORI that the parsing framework was not configured to recognize for DRs. The DR messages also contained a not on file string "Driver not found" the parser was not configured to recognize.
- Solution: Added the new ORI (MDMVA0000) and the new not on file string to Parsers.xml for the MDDRParser.
|
12/04/2021 |
NM |
Registration |
- Error: Unexpected Content encountered in dynamic lines
- Cause: The state sent records where the LIEN information was in the line beginning with TITLE, but the parser expected LIEN on its own line.
- Solution: Refactored HandleStaticLines to extract the LIEN information from either a line beginning with "LIEN/" or from a line beginning with "TITLE/".
|
12/04/2021 |
NM |
Registration |
- Error: General Error Thrown: System.ArgumentOutOfRangeException: Index and length must refer to a location within the string.
- Cause: The state sent a record where the owner address was non-standard (contained two commas) which caused the address parsing logic to fail.
- Solution: Refactored HandleStaticLines to handle the case where the string split on comma results in more or less than two elements.
|
12/04/2021 |
IL |
Registration |
- Error: Parsing framework logged the error "Unexpected line encountered in dynamic content - HandleStandardResponse"
- Cause: The state sent records containing strings the parser had not seen:
(A) Non-standard OLN "D-- L532-0167-9274"
(B) "VIN ERROR"
(C) "BEAT AUTO THEFT (B.A.T.)"
- Solution: Refactored HandleSOSRecordLines to detect and process the text
|
12/04/2021 |
IL |
Driver |
- Error: Unknown line encountered in HandleSOSRecordLines
- Cause: The state sent records containing the text " RELOCATED TO " that the parser had not yet encountered.
- Solution: Refactored HandleSOSRecordLines to detect and process the text
|
12/04/2021 |
IL |
Driver |
- Error: General Error Thrown: System.ArgumentException: An item with the same key has already been added.
- Cause: The state sent records with the text "DL/IP STA/NO VALID IL LIC" that the parser had not yet encountered
- Solution: Refactored GetDRTypeParseNotOnFile to detect the new variation of the DL/IP STA/ line with the abbreviated text so the record would process normally rather than as a not-on-file record.
|
11/30/2021 |
CO |
Registration |
- Error: Refactored HandleFULL_LEGAL_NAME to detect dangling name fragments and append to the full name from the previous line.
- Cause: The state sent records containing the not on file string "NO RECORD FOUND" and the error notification string containing "Remote Server returned the following error" that the parser had not yet seen. The state also changed the original query tag from "LIC/" to "REG/" which made the parser unable to extract the original query value.
- Solution: Added the new NOF and EN strings to Parsers.xml for the CORRParser. Refactored HandleNotOnFileOrErrorNotification to also look for "REG/" when extracting the original query value.
|
11/30/2021 |
VA |
Driver |
- Error: Unexpected Content Encountered in Dynamic Lines
- Cause: The state sent records where the "FULL LEGAL NAME" spilled to the next line and the parser was unable to process the name fragment.
- Solution: Refactored HandleFULL_LEGAL_NAME to detect dangling name fragments and append to the full name from the previous line.
|
11/30/2021 |
VA |
Driver |
- Error: A CITY/STATE/ZIP line has incorrect number of fields
- Cause: The state sent records where street address was unparsable with the existing logic.
- Solution: Refactored HandleStaticLines to more simply detect and process address lines and refactored HandleContactInformation to more robustly parse city/state/zip using a regular expression based on the various formats the state uses for CSZ.
|
11/30/2021 |
VA |
Driver |
- Error: Multiple errors (same cause):
SEX/DOB/HEIGHT/WEIGHT/HAIR/EYES line could not be substringed
SOC/SSN line could not be substringed
EXP line could not be substringed
General Error Thrown: System.ArgumentException: An item with the same key has already been added.
- Cause: The state sent a record that contained a line such as "HULM:P PRPL:O FEET:023 INCH:03" that the parser had not yet seen.
- Solution: Refactored GetDRType to be able to process multi-hit records. Refactored HandleDynamicLines to detect the line that separates individual hits and extract its original query information.
|
11/22/2021 |
CA |
Driver |
- Error: Unexpected line encountered in dynamic content.
- Cause: There were two causes:
(A) The state sent a record with a line such as "EXPIRES:10/10/23*" after the Hazardous Materials Endorsement line that the parser had not yet seen.
(B) The state sent a record containing a driving time restriction caveat the parser had not yet seen which included the text "AGE 20 AND MAY NOT DRIVE BETWEEN THE HOURS OF 11:00 PM AND 5:00 AM" and "WITHOUT PARENT/OTHER DRIVER AS SPECIFIED IN SECTION 12814.6 CVC"
- Solution: (A) Refactored HandleDynamicLines to detect lines beginning with "EXPIRES:" after the hazmat endorsement line.
(B) Refactored HandleRestrictions to detect the driving hours restriction text.
|
11/22/2021 |
CA |
Driver |
- Error: General Error Thrown: System.ArgumentException: An item with the same key has already been added.
- Cause: The state sent records where there were two types of commercial status text the parser had seen, but not in the same record, and the parser was trying to write to the same key in a dictionary.
- Solution: Refactored HandleDynamicLines to include a counter in the key when writing commercial status text to the Fields dictionary and refactored MapFields to iterate through commercial status text using the counter.
|
11/15/2021 |
CA |
Registration |
- Error: Parsing framework logging the error "Unexpected line encountered in dynamic content"
- Cause: The state sent a record that contained a line such as "HULM:P PRPL:O FEET:023 INCH:03" that the parser had not yet seen.
- Solution: Refactored HandleDynamicLines to detect lines beginning with "HULM:", process its fields, and put the information into AdditionalInformation fields in the resulting RR object. Note: HULM refers to Hull Material, PRPL refers to Propulsion, and FEET/INCH refer to the vessel length. Refer to the CA DMV form at https://www.dmv.ca.gov/portal/uploads/2020/03/boat101.pdf for details.
|
11/8/2021 |
ME |
Registration |
- Unexpected Content on second line of not on file RR.; Cause: The state sent a record containing NOT ON FILE but without the expected line containing the original query information (LIC, LIT, LIY or VIN) which caused the parser to become out of sync with the expected lines.; Solution: Refactored HandleNotOnFile to detect the presence of LIC/ or VIN/ on the expected original query line. If not present, it adjusts the Groups index to one less than expected to properly process subsequent content (i.e., the specific not on file text).
- Leftover content found in mult hit query line.; Cause: Caused by the parser trying to parse a not on file record that is missing the original query information.; Solution: Fixed by the refactoring in 1.
- Unexpected line encountered in dynamic content.; Cause: The state sent a record where there was a second organization name listed after the primary ORGANIZATION, but without the customary DBA: tag which the parser was not prepared to handle.; Solution: Refactored HandleDynamicLines by adding logic to the line that looks for the DBA tag to also test for a new bool lookForDBA being set to true and the line beginning with several spaces. If that is true, it treats the line as a DBA organization and processes it as usual.
- Unexpected line encountered in REGISTERED TO content.; Cause: The state sent a record containing a name in the REGISTERED TO line that did not have the expected DOB tag on the following line which the parser was not prepared to handle.; Solution: Refactored HandleREGISTERED_TO to include a new bool expectedDOBNext that gets set to true after encountering the REGISTERED TO: line. If the next line is empty instead of containing DOB:, the parser now checks if expectedDOBNext is also set to true and, if so, sets the flag to check for a new owner back to true, effectively conceding there was no line containing DOB:.
- Though not a flagged error, the parsing framework was not properly parsing not-on-file original query LIC strings containing spaces, e.g., ONE LIFE would become just ONE.; Cause: Any not on file record containing LIC strings with spaces, e.g., ONE LIFE was getting parsed with only the first word (ONE).; Solution: Refactored GetOriginalQuery to use GetFields with a / delimiter rather than GetSlashDotFields which required special handling for LIC strings with spaces..
|
11/8/2021 |
OH |
Registration |
• Parsing framework logged the error "General Error Thrown: System.ArgumentException: An item with the same key has already been added." Cause: The state sent records where the address line was malformed by including extra city, state, zip information, e.g., "XXXXX AAAA ST, LAKE ON, OH, 44429, LAKE MILTON, OH 44429"; Solution: HandleStaticLines already had logic to handle the case where the address did not fit the expected pattern but was not incrementing the dictionary key counter for these cases, but simply continued. Removed the continue statement so it would increment the counter as needed for each owner encountered.
|
11/8/2021 |
MX |
Driver |
• Cause: State sent records containing "DRIVER RECORD NOT FOUND" that the parser had not yet seen; Solution: Added the error notification text to Parsers.xml for the ORI.
|
11/8/2021 |
ME |
Driver |
• Cause: State sent records containing "THE NAME HAS BEEN CHANGED" that the parser had not yet seen; Solution: Added the error notification text to Parsers.xml for the ORI.
|
11/8/2021 |
AL |
Driver |
• Cause: State sent records containing "THE DATABASE IS TEMPORARILY NOT AVAILABLE" that the parser had not yet seen; Solution: Added the error notification text to Parsers.xml for the ORI.
|
11/2/2021 |
LA |
Driver |
• Cause: State sent multi-hit DR records containing lines starting with "SUSPENDED" that now also contain "BLOOD TYPE:" on the same line and the parser was only looking for an exact match to "SUSPENDED"; Solution: Refactored HandleDynamicLines to detect lines that start with "SUSPENDED" and process the line accordingly.
• Cause: The state sent records containing either error notification strings or not on file strings the parser had not yet seen, including "INSUFFICIENT NAM", "NON-ALPHA NAME", and "NAME INQ END". The INSUFFICIENT NAM line also contained original query information; Solution: Refactored the isNoRecordFound || isStateErrorNotification logic in the Parse method to include logic that checks whether the ContentToParse contains any one of the strings for which there is original query information. If so, it calls a new method GetOriginalQuery that parses the original query information. Added the new Error Notification strings to Parsers.xml settings file
|
11/2/2021 |
LA |
Registration |
Parser logging the error "General Error Thown: System.ArgumentOutOfRangeException: Index and length must refer to a location within the string". Refactored HandleStaticLines to check the length of the DAQ field and TRDA field before parsing the content.
|
10/28/2021 |
TN |
Driver |
- Parser logged the error Unexpected Content Encountered in LienHolder Section when state sent record where there was a Temporary Operating Permit (TOP) line after a LHR ADDR or LSR ADDR line, a location the parser had not yet seen. Solution was to refactor HandleLienHolder to use the presence of "TOP/" to return control to HandleDynamicLines which can process the TOP line.
- Parser logged General Error Thrown: System.ArgumentException: An item with the same key has already been added when the state sent records containing multiple TOP blocks and the parser expected only one. Solution was to refactor HandleDynamicLines to add a counter to the TOP key when inserting into the working dictionary and refactored MapFields to loop through all corresponding TOP keys.
- Parser logged the error Unexpected content encountered in Commercial Vehicle response dynamic lines when the state sent a record with a line containing "Axle\Seats" that did not begin with "FUEL TYPE" as expected. Solution was to refactor HandleCommericalVehicles to detect lines starting with "Axle\Seats".
- Parser logged the error Leftover content encountered in fields dictionary when the state sent a record containing two names in the TOP block and the parser was not extracting the second name. Solution was to refactor MapFields to detect and extract a second owner name when processing TOP blocks.
- Parser logged the error Not enough components in ADDR Line 2 to parse when the state sent a record where the LHR1 address had two spaces for the state which caused the parser regex to fail. Solution was to refactor LIEN_LEASE_ADDRLine1 to detect missing state abbreviations from address lines and reformat the address so it parses properly in HandleADDRLine2.
- Parser logged the error Unexpected Content encountered in dynamic content when the state sent an incomplete record that ended with "OWNER" that the parser was not detecting. Solution was to refactor HandleDynamicLines and HandleHolder to detect lines beginning with "OWNER" (without the slash).
|
10/28/2021 |
WA |
Driver |
- Parser logged the error "Address contains incorrect number of fields" when state sent records with a Canadian mailing address the parser was not equipped to handle. Solution was to refactor HandleADDR to detect and parse addresses with Canadian postal codes of the form ADADAD where A is an alpha and D is a digit while continuing to parse addresses with US postal codes (DDDDD with optional -DDDD).
- Parser logged General Error Thrown: System.ArgumentException: An item with the same key has already been added when state sent a record with multiple DRIVER RESTRICTION lines when the parser was configured to handle only one occurrence per record. Solution was to refactor HandleSTATE_DEPARTMENTDynamicLines to use a counter when writing driver restriction text into the Fields dictionary.
|
10/28/2021 |
NJ |
Driver |
Parser logged the error "UNKNOWN RECORD TYPE" when state sent records containing "NJ DMV Responses Unavailable at this time". Solution was to add the error notification text to Parsers.xml for the ORI.
|
10/28/2021 |
NV |
Driver |
Parser throwing the error "An error occurred while receiving" "General Error Thown: System.NullReferenceException: Object reference not set to an instance of an object." Solution was to add the error notification string to Parsers.xml for the ORI.
|
10/21/2021 |
VI |
Driver |
Parsing framework logged the error "Message being handled by default parser, a new parser might be needed". Created a new parser (VIDRParser) that will process only NO RECORD FOUND messages; otherwise, it will log an error to indicate there is content to parse. At that point, we can add parsing logic based on the structure of the VI DR responses.
|
10/19/2021 |
SD |
Driver |
State added the line "INITIAL PERMIT ISSUE DATE:" that the parser had not yet seen. State also added field names and colon delimiters for the NAME and ADDRESS lines that formerly had no field names or delimiters. Refactored HandleDynamicLines to detect and process the "INITIAL PERMIT ISSUE DATE:" line. Refactored HandleStaticLines to detect and process the colon-delimited NAME: and ADDRESS: lines.
|
10/19/2021 |
IL |
Registration |
State added a line "TBD OWNER" that the parser had not yet seen. Refactored HandleStaticLines to detect and parse the "TBD OWNER NAME" line.
|
10/05/2021 |
WV |
Registration |
Changed to fully tagged
|
10/05/2021 |
TN |
Registration |
Changed to fully tagged
|
10/05/2021 |
NY |
Driver |
Changed to fully tagged
|
10/05/2021 |
MI |
Driver |
Changed to fully tagged
|
10/05/2021 |
NB |
Registration |
The state sent a DR with an unparsable residential address line that caused the AddressParser class to throw an exception by trying to access an array element that did not exist.
|
10/05/2021 |
NB |
Driver |
The state sent error response RRs containing a string the parser had not yet seen and where the original query information included LIY and LIT in addition to LIC.
|
10/05/2021 |
IL |
Driver |
The state sent a multi-hit DR which contained the known not-on-file string "NO VALID ILLINOIS LICENSE" in one of the hits which caused the parser to flag the entire message as a not on file which directed the parser down an invalid path.
|
09/24/2021 |
CA |
Driver |
State added a caveat line to multi hit responses the parser had not yet seen.
|
09/24/2021 |
HI |
Driver |
State sent records where the AN/PN field contained "SN" which the parser had not yet seen.
|
09/24/2021 |
WA |
Driver |
State began sending multi-hit responses the parser was not programmed to handle. Some records had an extra comma in the address line (, APT 123) the parser was not programmed to handle.
|
09/21/2021 |
SD |
Driver |
State changed the content of their multi-hit responses and the "DATE OF BIRTH" line became "DATE-OF-BIRTH" and the parser wasn't handling it. The new record also changed the structure of the name line.
|
09/21/2021 |
NJ |
Driver |
State changed the format of their single hit record (Nov 2020) and added a multi-hit record (Jan 2021) that have not shown up until now when DCICE1414 began receiving parsed DRs from states.
|
09/20/2021 |
FL |
Registration |
The state changed the format of the "DECAL/YR" content to be a 4-digit year
|
09/13/2021 |
OK |
Registration |
Parser was not handling a record where the address line contained only state and zip (no street or city).
|
09/13/2021 |
WY |
Driver |
Parser was not handling the line "VICT 2020/07/09" after the MORE DATA line.
|
09/13/2021 |
NB |
Registration |
There were records where the text ", #6" and ", #28" appeared after the VST line and the parser was unable to handle those lines. Turns out, those lines are part of the address later in the record...most likely an error in the DMV record. There were records where the VMO content was "---" and "-----". The parser was checking for "---" as an indicator of a new section in the record.
|
09/08/2021 |
OK |
Registration |
Parser was not handling the line "For additional vehicle information, contact Oklahoma Tax Commission at: OKLIC0000". Parser was not handling records with the line "ZIP/0" in the Lien area. Parser was not handling records where the line should have started with "MAKE/" and contained "YEAR/ and VIN/", but actually started with "YEAR/" and contained "VIN/"
|
09/08/2021 |
WY |
Driver |
Parser was logging the error "Unexpected Content Encountered in REMARKS section"
|
09/08/2020 |
IL |
Driver |
IL DR parser has been updated to handle additional information on City line, and to sub-string additional information on the PID/ EXP/ ISS/ line.
|
08/26/2020 |
OK |
Registration |
OK RR parser has been updated to handle Multi-hit Tribal information. This change for OK only involved the Nlets.MessageParsing.Parsers.Oklahoma.dll
|
08/26/2020 |
NM |
Registration |
Added logic to handle lines with owner date of birth DOB and no owner name OWNER information. This change is limited to the Nlets.MessageParsing.Parsers.NewMexico.dll.
|
08/26/2020 |
NM |
Driver |
Update to the Parser.xml file for NM DR to handle the following Error Notification messages. This change for the NM DR is limited to the Parser.xml file.
|
08/26/2020 |
NC |
Registration |
NC added a line for customers who order multiple plates in series. This was causing an additional information in Dynamic lines error. Added logic to handle this line
and separate out the plate count, issue date and expiration date. This change is limited to the Nlets.MessageParsing.Parsers.NorthCarolina.dll.
|
08/26/2020 |
MN |
Registration |
Update to the MN RR Parser to handle CTY,STA,ZIP,VYR, VMA and pending forfeiture fields that were appearing causing errors. This change is limited to the Nlets.MessageParsing.Parsers.Minnesota.dll.
|
08/19/2020 |
NC |
Registration |
Update to the Parsers.xml file for NC DR to handle the following Not_On_File messages.
|
08/19/2020 |
WV |
Registration |
The WV DR parser was erroring with the addition of a new field named "COMM IMP" with no data yet.
|
8/18/2020 |
AR |
Registration |
Updated the Nlets.MessageParsing.Parsers.Arkansas.dll. The root cause of the message "The DRIVE_OUT_START_DATE/DRIVE_OUT_START_TIME/DRIVE_OUT_END_DATE/DRIVE_OUT_END_TIM line could not be substringed" is a change in the spacing after the START DATE-TIME: and END DATE-TIME: label. Original map was counting 2 spaces after each label, we only have one space after each in the errored samples.
|
8/12/2020 |
OK |
Registration |
- Updated The OK RR parser was experiencing difficulties with the Secondary Plate Owner that had two names with an "and/or" or "OR". This moved the second name to the line below the first half of the entry. We have recaptured that.
- Also handed duplicate key issue when we receive Two Secondary Owner Name lines.
|
8/11/2020 |
ID |
Registration |
Updated Nlets.MessageParsing.Parsers.Idaho.dll with additional logic to address the changes for error-ing with additional information that needed to be handled.I was able to create output logic for this to handle it.
|
8/11/2020 |
CA |
Registration |
Updated and deployed the Nlets.MessageParsing.Parsers.California.dll that contains the fixes addressing returned unhanded Notice Messages, , a New field IDENT: for Off Road Vehicles. Handle Mileage passed in as Kilometers, Handle Registered Owner Information for Mexicali/Mexico Addresses.
|
8/11/2020 |
NB |
Registration |
Updated and deployed the Nlets.MessageParsing.Parsers.Nebraska.dll that contains the changes for the following areas: Title Information, Insurance Information, Brand Information, Vehicle Information, Owner Information, Lien/Lien Holder Information
|
8/04/2020 |
ME |
Registration |
Updated Parser.xml with additional logic to return specific messages that are appearing on the second line of information from error notification for No Match Found queries.
|
8/04/2020 |
MT |
Registration |
Updated Parser.xml with additional logic to allow parser to interpret and return the new Alert message section returned after the restriction of an RR.
|
8/04/2020 |
CO |
Registration |
Updated Parser.xml with additional logic for the CO RR parser to return the License or VIN from the original query when Soap Error notification is returned.
|
8/04/2020 |
NJ |
Registration |
Updated Parser.xml with additional logic for address issues resulting from unexpected content on the first line of the message due to introduction of a new ORI.
|
7/22/2020 |
CT |
Registration |
Updated the Parser.xml file for the CT RR parser to handle a Not On File message.
|
7/22/2020 |
NV |
Registration |
Updated the Parser.xml file and Nlets.MessageParsing.Parsers.Nevada.dll for the NV RR parser to handle to handle a Not On File message, Name suffix was not being handled when there was more than one space between the name and the suffix, and to handle an issue when the number of cylinders is presented as "00".
|
7/22/2020 |
OR |
Registration |
Updated the Nlets.MessageParsing.Parsers.Oregon.dll file for the OR RR parser to handle to handle a blank Fleet Number.
|
7/21/2020 |
NH |
Registration |
Updated Parser.xml with additional logic for address issues resulting from varied character spacing
|
7/21/2020 |
SC |
Driver |
- Updated Parser.xml with better handling for DRs with Error code 3039
- Updated Parser.xml with better handling for ProvDL, TEMPORARY ALCHOHOL DL and MOPED License Types
|
7/21/2020 |
VA |
Driver |
Updated the VA DR parser to handle ID Restrictions, DMV_Restrictions, and logic to handle Dwelling Address that is missing City/State/Zip.
|
7/17/2020 |
MD |
Registration |
- Update to the Parser.xml file for MD RR to handle the MD RR Parser as a FullyTagged parser for the following ORIs and the following Not_On_File messages.
ORIs
MD002015V
MD002016V
MD002017V
MD002018V
MD002019V
MD002020V
MD002021V
MD002022V
MD002030V
MD002031V
MD002032V
MD002033V
MD002034V
MDMVA0000
Not_On_File messages
"RECORD NOT FOUND"
"No vehicle found"
"SQL ERROR!"
|
7/17/2020 |
UT |
Driver |
Update to the Parser.xml file for UT DR to handle a new Not_On_File message of "TEMPORARILY UNAVAILABLE".
|
7/17/2020 |
NH |
Driver |
- Update to the Parser.xml file for NH DR to handle a new Not_On_File message of "UNKNOWNHOSTEXCEPTION".
- Updated the NH parser Dll to handle additional information Photo Available and Photo Caveat.
|
7/17/2020 |
ND |
Driver |
Update to the Parser.xml file for ND DR to handle a new Not_On_File message of "YOUR QUERY FAILED TO EXECUTE".
|
7/17/2020 |
VA |
Registration |
- Notice of Suspension header spelling change
- Additional Message "PREVIOUS OUT-OF-SERVICE VIOL" on address line.
- Handle the new fields "MOTORCYCLE INSTR RETURNED/REMAILED" date, and RETURNED RSN status.
- Added logic to handle addresses with 1/2 numbers in address.
- Added logic to properly handle APT in address.
- Updated logic to handle Address2 line parsing
- Updated logic to handle City State Zip line parsing
|
7/17/2020 |
OK |
Registration |
- CDL Status to handle additional data we are receiving in that Status.
- No Medical Certificate Message with Medical Certification.
- License Restrictions
|
7/16/2020 |
SC |
Driver |
- The structure of the OLN / ACN line has been updated
- The structure of the SEX / HEIGHT / WEIGHT / BIRTH line has been updated
- The structure of the STATUS / CDL / MED line has been updated
- The structure of the TYP / CLASS / IIS / ACN line has been updated
- Parser can now handle Eye Color
- The parser can now better handle when the TYP / CLASS / IIS / ACN line has been arbitrarily truncated to random lengths
- Mappers for the following Commerical DL types added: "BP", "CDL", "SR", "CPDL", "BP (R)", "CDL (R)", "SR (R)" and "CPDL (R)"
- State Error Notification flag added for "3202 - A driver license or ID card number must be 10 or less numeric digits"
- State Error Notification flag added for "3048 - No Driver's License was found for the DL number entered"
|
7/16/2020 |
SC |
Registration |
- Parser can now handle Responses with two holders
- Parser can now handle Responses where the street is on the same line as the City, State, and Zip
|
7/15/2020 |
ID |
Registration |
Added logic to return the original query and additional information when a Not on file error occurs.
|
7/15/2020 |
TX |
Registration |
Added logic to handle Out of Range Exception for two owners on the vehicle and their combined name length was beyond a specific char count.
|
7/15/2020 |
IN |
Driver |
Added "** STARS is currently not processing" to the error response section of the IN DR parser.
|
7/14/2020 |
CT |
Registration |
Added the indicator of "NO DATA FOUND" and "DATA RETRIEVAL ERROR".
|
7/14/2020 |
GA |
Registration |
Added logic to handle responses containing "Vehicle Not Found".
|
7/14/2020 |
AL |
Registration |
Added logic to handle new header line: *** DMV REGISTRATION RESPONSE ***
|
7/14/2020 |
MI |
Registration |
MI parsers updated to handle DRs and RRs from the same MI ORI (MI230015V).
|
7/14/2020 |
OH |
Driver |
Added "** Error occurred while processing the request." to the error response section of the OH DR parser.
|
7/9/2020 |
MS |
Registration |
Resolved issue with no County on Vehicle line. Had to pad the string before it could be parsed.
|
7/9/2020 |
WY |
Registration |
Added logic to handle &/OR in names
|
7/9/2020 |
CA |
Registration |
City did not have the "CITY:" as a delimiter, also additional information showing up in the dynamic lines. Added logic to handle the message.
|
7/9/2020 |
IA |
Driver |
Message marked as fully-tagged XML contains a response text element
|
7/9/2020 |
OR |
Driver |
Unexpected content encountered on first or second line
|
7/9/2020 |
OR |
Registration |
Unexpected content encountered on first or second line
|
7/9/2020 |
AZ |
Registration |
Message marked as fully-tagged XML contains a response text element that is not an indication of record not on file
|
7/9/2020 |
NM |
Registration |
Had to change logic to deal with owner section of the message when an address is not present
|
6/22/2020 |
OK |
Registration |
OK Parser update for two new fields in RR Messages
|
6/22/2020 |
ID |
Registration |
ID Parser update for positional start of text logic for LIC line in RR Messages
|
6/22/2020 |
NJ |
Registration |
NJ Parser update for the original RR Query in the first line position in RR Messages
|
6/22/2020 |
MI |
Registration |
MI RR Parser update for Error_Notification and Not_On_File_Text messages
|
6/22/2020 |
AZ |
Registration |
Adjust for NOT ON FILE messages
|
6/22/2020 |
OK |
Registration |
The OK RR parser was having issues with the new Vehicle Field "Color: and Dynamic Field Communication Disability."
I have added the logic in the Parser to handle the two new fields above.
|
6/22/2020 |
ID |
Registration |
The ID RR message have started to appear with SingleFile and MultiHit files Both have intermittent LIC/ Line starting on line 0 rather than line 1.
I have added changes to make code more dynamic to handle the possibility of the two situations, in the two file types.
|
06/3/2020 |
DE |
Registration |
Update to holder parsing
|
06/2/2020 |
AK |
Driver |
Update to address parsing
|
06/2/2020 |
CA |
Driver |
Update to handle additional caveat lines
|
06/2/2020 |
CA |
Registration |
Update to handle additional caveat lines
|
06/2/2020 |
DE |
Registration |
Update to LIC handling
|
06/2/2020 |
HI |
Driver |
Update to Med Field indicator
|
06/2/2020 |
ME |
Registration |
Additional Caveat handling
|
05/27/2020 |
OR |
Registration |
"Update to handle new BRAND field. Update to support new Holder codes. Major refactoring to the parsing of address
|
05/27/2020 |
OR |
Driver |
Update to address handling and to account for new “USE THIS NO” address
|
05/27/2020 |
TX |
Registration |
Update to handle new COMM IMPED field
|
05/27/2020 |
OH |
Registration |
Updates to address parsing to account for addresses with two street lines
|
05/27/2020 |
NM |
Registration |
Can now handle responses that indicate an State specific error has occurred
|
05/27/2020 |
NB |
Driver |
Multi-hit address parsing update
|
05/27/2020 |
WI |
Registration |
Addition of a new NOF strings to configuration
|
05/27/2020 |
NM |
Registration |
Addition of a new State Error Notification strings to configuration
|
05/22/2020 |
AZ |
Driver |
AZ is now sending fully-tagged NIEM
|
05/22/2020 |
AZ |
Registration |
AZ is now sending fully-tagged NIEM
|
05/22/2020 |
KS |
Driver |
Update to restriction handling
|
05/22/2020 |
KS |
Registration |
Can now handle responses that indicate an State specific error has occurred
|
05/22/2020 |
XX |
Driver |
Addition of a new State Error Notification string to configuration
|
05/14/2020 |
AZ |
Driver |
Addition of a new NOF string to configuration
|
05/13/2020 |
KY |
Driver |
Update to handle owners with "AND/OR"
|
05/13/2020 |
KY |
Registration |
Update to the processing Next of Kin
|
05/13/2020 |
FL |
Registration |
Can now handle responses that indicate an State specific error has occurred
|
05/13/2020 |
AR |
Driver |
Update to address parsing
|
05/13/2020 |
AR |
Registration |
Update to Insurance Parsing, State Error Notification Handling
|
05/13/2020 |
NJ |
Driver |
Update to handle Age
|
05/13/2020 |
TX |
Driver |
Update to handle person description
|
05/13/2020 |
TX |
Registration |
Update to handle empty EXP dates
|
05/13/2020 |
AL |
Driver |
AL switched to fully tagged responses
|
05/13/2020 |
AZ |
Driver |
AZ switched to fully tagged responses
|
05/13/2020 |
MI |
Driver |
MI switched to fully tagged responses
|
05/13/2020 |
NJ |
Driver |
New USCIS not authorized string
|
05/13/2020 |
AZ |
Registration |
AZ switched to fully tagged responses
|
05/13/2020 |
FL |
Registration |
New NOF strings added to config
|
05/13/2020 |
MO |
Registration |
MO switched to fully tagged responses
|
05/13/2020 |
MI |
Registration |
MI switched to fully tagged responses
|
05/13/2020 |
CT |
Registration |
CT switched to fully tagged responses
|
04/10/2020 |
MI |
Registration |
New NOF strings added to the configuration
|
04/10/2020 |
SD |
Driver |
Update to support safe extraction from fields dictionary Update to endorsement handling Update to MedCert handling
|
04/10/2020 |
AZ |
Driver |
Handle responses with "No matching drivers found" in the body
|
04/10/2020 |
AZ |
Driver |
Can now handle responses that indicate an State specific error has occurred
|
04/10/2020 |
AZ |
Registration |
Addition of a new MSC field
|
04/10/2020 |
MI |
Driver |
MI switched to fully tagged responses
|
03/26/2020 |
TX |
Driver |
Can now handle responses with "UNKNOWN NDLS RESPONSE" in the body
|
03/23/2020 |
CO |
Registration |
This resolved an issue with parsing CO mult-hit responses
|
03/23/2020 |
CO |
Registration |
CO started using a NEW ORI
|
03/23/2020 |
Al |
Driver |
Flag added for No Record Found or State Error Notification
|
03/23/2020 |
GA |
Driver |
GA switched to fully tagged responses
|
03/23/2020 |
AZ |
Driver |
AZ switched to fully tagged responses
|
03/23/2020 |
CO |
Registration |
CO switched to fully tagged responses
|