State Response Format Changes

From Nlets Wiki
Revision as of 14:42, 15 November 2021 by S9746g (talk | contribs) (Driver/Registration Parser Change Log)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This page will house the State Response Format Changes that Nlets is aware of.


Driver/Registration Parser Change Log

Date State Type Notes
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

Top

Common Abbreviations

Abbreviation Description
EXP Expiration or Expiration Date
NOF Not on File

Top