Setting up an interface with an e-Citation vendor
KB article ID:4400
Last Modified
1/3/2023 - Updated some testing code values due to a change in our test server's data
1/4/2024 - reorganized for clarity
02/15/2024 - Made adjustments
03/20/2024 - Made additional adjustments
05/23/2024 - Made additional adjustments and clarifications
Prerequisites for e-Citation implementation
The court must sign a contract with Goodin before any certification testing can take place.
Required data format
e_citation_service_producer.xsd - the XML schema for providing electronic citation data from a single traffic stop/incident.
e_citation_service_producer.html - a human-readable version of the same thing
Certification testing
Each e-Citation vendor that is new to Goodin must successfully complete an overall, initial certification test to ensure the compatibility of their data with our systems, and must conduct an individual certification for every county that wants to adopt e-Citation before they go live, at the time they are ready to proceed.
Required agency/officer testing code values for initial certification
Use the following values for testing (or let us know if this isn't possible):
Court ORI: IL016025J (Cook County). It isn't absolutely necessary to set this, since our e-Citation ticket import presumes that the e-Citation vendor didn't provide the wrong court's data.
Agency ORI: IL0250000 (Effingham County) - changed this code on 01/03/2023 to an agency that is present in our records
Officer badge number/name:
Badge Number: 822
Officer Name: KUHNS, PAUL
NOTE: Officer names cannot have periods in them; otherwise, our system will error-out.
Agency ORI: IL0250000
Changed this on 04/26/2023 to an agency that is present in our records
Some test scenario tickets can use other badge numbers and names, but please check with us first, as failing to use the correct data (or using data that isn't in our systems) can cause errors when we go to process the e-Citation in our test environment (the same is true for users in the real world)
Offense Dates should be set for the day you send us the files, or in the very recent past. Do not use dates more than a month old;
Also, do not put times in the date or year fields. The only exception is for the hearing date field, which can (and must) include the hearing time in military time/24 hour time format.
Hearing dates should be set roughly 30 days into the future, but cannot fall on a weekend or holiday
In practice, the actual date that the Clerk wants to use will vary, but for our testing, 30 days is sufficient.
Hearing courtroom (<Event>/Location) - if the court expects the officer to indicate this, it has be a courtroom number which exists in our development server (if used, it should be Courtroom A)
TownshipCode/TownshipName: 51/Panama TWP - changed this on 02/15/2024 to a township that is present in our records (NOTE: Panama was somehow deleted out of our test environment and had to be added back. Therefore, the vendor should re-confirm what the appropriate township code is before proceeding, since it isn't uncommon for other users to change this data in the test environment without informing us first)
Required violator/litigant testing code values for initial certification
Use the following litigant for all citations except the CA/MX test (Test #4):
John Q. Smith
999 West 9th Street, Centralia, Illinois, 62801 (no periods or commas in address)
DOB: 01/01/1978
DL Number: S53047578001
DL State: IL
For Test #4, use the following, respectively:
Canada:
John R. Smythe
465 Victoria Street, Kamloops, BC, V2C 2A9, Canada (no periods or commas in address)
DOB: 01/01/1978
DL Number: 1234567
Mexico:
Juan S. Herrera
Perif Carlos Pellicer Cámara 511, Guayabal, 86080 Villahermosa, Tab, Mexico (no periods or commas in address)
DOB: 01/01/1978
DL Number: H1234
Test charges to be used
First, what is the order of severity for charges? It's as follows:
CF, DV, DT, CM, MT, TR, CV, QC, OV
Second, what charges should the vendor test with? They can use the following, with exceptions (as noted):
TR: 6080150 (DRIVING 11-14 MPH ABOVE LIMIT)
If a second TR charge is needed for a second or subsequent offense, you can use the following: 6640300 (SEAT BELT REQUIRED/DRIVER)
MT: 19382, DL EXPIRED MORE THAN A YEAR
Except for Tests 3 and 12, which must use 19458 instead (Speeding 35+ MPH Over Limit)
CM: 18491 (DRIVING OF MTR VEH VIO/3+/SUBQ)
DT: Per Test 5, one charge must be 14721 (DRVG UNDER INFLU/BAC 0.08) and the other 14722 (DRVG UNDER INFLU OF ALCOHOL)
QC: 18737 (ABANDON VEHICLE/COUNTY HIGHWAY)
OV: This is for Test 6, which will vary as follows:
For Test 6.1: Use 6080150 (DRIVING 11-14 MPH ABOVE LIMIT), but with a StatuteReferenceSource="LocalILCS"
For Test 6.2: Use anything, such as something generic as "Excessive yard waste" or something similar, but must have an offense code of "0000000"
Test scenarios
BEFORE TESTING! Judici staff processing the test files shall verify that the client has signed a proposal for e-Citation services before proceeding.
The e-Citation vendor should create the following test citations using the testing code values referenced above. All test data should include the citation PDFs in-line as per the above-referenced schema.
Revised 03/20/2024
A single test ticket should represent only one scenario
NOTE 1: The e-Citation vendor has the option when submitting their tests to affirm that one or more tests aren't possible with their system or in the given county being tested, or that the given county does not intend to accept or work with tickets of a particular type.
Various TR and MT offenses:
One with a single TR charge;
One with two TR charges;
One with an MT charge followed by a TR;
One possible MT offense: Offense 19382, DL EXPIRED MORE THAN A YEAR, 625 ILCS 5 6-101
Out-of-order charges: First offense is a TR charge followed by an MT;
Ideally, the vendor's system should rearrange these so that the more serious offense (the MT) is the lead charge. If not, then our system is designed to reject the entire submission;
If the court is accepting e-Citations with CM offenses:
A single CM offense;
A CM charge followed by a TR;
A CM charge followed by an MT and a TR;
Out-of-order charges: First count MT, second count CM, and third count TR;
Out-of-order charges: First count TR, second count CM, and third count TR;
A single MT charge:
Use offense code 19458 - Speeding 35+ MPH Over Limit, 625 ILCS 5/11-601.5(b);
One QC May-Appear charge and one TR May-Appear (if the client intends to allow QC charges);
A DUI case:
This needs to include both of the DUI offenses that are typically charged together on a single ticket (offense codes 14721 and 14722). Otherwise, the test will be treated as a failure if both are not included together on the same ticket, or one or the other is missing entirely;
Local ordinance violations:
Statutory/ILCS violations with an AOIC offense code:
Technically, these aren't supposed to be written as ordinance violations, but it still happens occasionally (e.g. underage consumption, minor cannabis possession, dog running at large).
Or more specifically, the following is how this works:
Local-ILCS charges are local ordinances that are copies (or close copies thereof) of their state-level counterparts which use the same case type and for which offense codes and statute citations are optional. These are almost always going to be traffic offenses rather than typical ordinance violations (tall grass, weed abatement, excessive garbage, etc.) and will use the corresponding case type (that is, they will not use OV case type. In fact, if you do, our system will reject it) but instead use the Local-source instead of the State-source when being filed.
Use 6080150 (DRIVING 11-14 MPH ABOVE LIMIT), but with a StatuteReferenceSource="LocalILCS"
Expected results: The XML <Offense>Type should (per the specs) always contains the Case Type assigned to that offense in the AOIC offense table (e.g. TR, MT, CM etc). As such, JIMS should make a case of that type (see Note 1 above);
Non-ILCS violations, such as for weed abatement, junked vehicles, noise complaints, or excessive garbage. Confirm that the provider will always send <Charge>Code="0000000" when the offense is a local ordinance for which there is no offense code. Otherwise, our system will error-out if the offense code field is left blank; therefore, zero padding is required to ensure proper functionality.
Use anything, such as something generic as "Excessive yard waste" or something similar, but must have an offense code of "0000000"
Expected results: The XML <Offense>Type for local ordinance violations not in the offense table should always be OV, resulting in JIMS creating an OV case and importing the submitted ordinance violation charge description into the Edit Charges screen.
NOTE: If you get an RTE when processing the OV in the Inbox, it is almost always because the XML is missing the Charge Code of "0000000". Ask the vendor to fix this.
A test of a non-traffic OV citation and an ILCS traffic offense on the same traffic stop
This test is to ensure that the vendor is properly splitting these charges out onto separate XML files, as AOIC rules do not permit OVs to be put onto any case that isn't an OV, as noted in the schema.
Expected results: A failure, as AOIC rules do not permit OVs to be included on any non-OV case. Instead, these should be split out into separate cases.
Foreign (Canadian and Mexican) DL, foreign plates and foreign address
Just use an ordinary TR charge for these, nothing special is required;
We must run the test for both a Canadian and a Mexican driver using the identities shown above.
DELETED
Different bond types
Non-cash;
Pre-SAFE-T Act, expected results: The bond type chosen will appear in the Edit Case screen (under the Case tab) in the "Bond type" drop-down menu;
Post-SAFE-T Act: Bond is no longer allowed in Illinois, so this should simply be set to CashBondType="None" and NonCashBondType="None";
Cash;
Needs <Payment> element
Expected results: The bond type chosen will appear as "Cash" in the Edit Case screen (under the Case tab in the "Bond type" drop-down menu) with the amount paid appearing in the "Cash bond set" field, and you will be prompted to receipt the payment upon saving the case.
No longer permitted under the SAFE-T Act, although this practice died out a long, long time ago;
Both (needs <Payment> element.
This test dropped per Kayte 8/24/2021: DUIs were the only situation in which both a cash and non-cash bond would've been possible. The bond type called "DUI Bond" was probably added expressly to allow systems to indicate two bond types at once.
Test no longer necessary post-SAFE-T Act;
Commercial DL test;
Create a test citation involving a driver in possession of a commercial driver's license, driving a commercial vehicle and carrying hazardous materials;
This will use the HazardousMaterialsFlag, DriverPassenger and CommercialVehicleFlag elelments (see http://www.goodinassociates.com/schema/Drafts/e_citation_service_producer.html#BMVInfo for more on these elements and their values);
All identify information test;
Create a test citation for a violator having ALL of the possible identity info shown at http://www.goodinassociates.com/schema/Drafts/e_citation_service_producer.html#Identity;
NOTE: All height measurements come in from the vendor as inches, and JIMS converts them into feet/inches measurement upon import.
One test using several items in the schema which have a required list of values (those having an "enumeration"):
Driver was a man, with hazel-colored eyes and no hair;
The incident took place in an urban district;
The offense code used must be 19458 )Speeding 35+ MPH Over Limit , 625 ILCS 5/11-601.5(b)), to see if the e-Citation XML has <LitigantDetails>AppearanceCode="MUSTAPPEAR";
The incident resulted in a passenger injury (PersonalInjury);
The driver is required to appear in court (AppearanceCode);
A ticket on a township road;
As per clarification received from the AOIC on November 4th, 2016, the township name is to be provided whenever the officer sets the township road indicator to reflect that the road on which the offense occurred is maintained by a local township;
NOTE: Please check with us before testing to ensure that the township data is correct, per the note above. It should be Panama - 51, but this could be subject to change;
NO LONGER REQUIRED (since ADR doesn't require it): A ticket involving a passenger (if the e-Citation system supports that);
NO LONGER REQUIRED (case is modified as required): Attempt to create lower-case data where allowed by the e-Citation vendor's user's interface, on any field containing text (e.g. FullName and AddressLine).
Create a warning ticket for a litigant named "WARREN, INGE", to make sure that it is not sent to the court;
If the client wishes to create warning tickets, that is.
Other testing issues
Below are other issues which the e-Citation vendor shall affirm during testing, to ensure that they comply with our specs (available here), since these really can't be tested:
A ticket with no plate state (should have PlateState="");
Not pre-applying a Clerk file stamp to any of the PDF copies of the e-Citation;
Correct officer badge number data type and maximum length;
Badge numbers should be numeric with a maximum length of five digits;
Ticket number data type and maximum length;
Ticket numbers should be alpha-numeric with a maximum length of 12 characters;
Plate number;
Plate numbers should be alpha-numeric with a maximum length of 9 characters;
Court configuration review prior to going live
Key code values
Permalink
The e-Citation vendor should work with the court to configure their systems to match up with key data in the court's CMS:
The Court NCIC/ORI code is available in PC JIMS, but there's an easier way to get it. Pick the county from the list at http://www.judici.com/courts/court_list.jsp, then observe the value of the "court" parameter on the resulting URL;
For example: Adams County's ORI code can be found at the end of the URL shown here: https://www.judici.com/courts/cases/case_search.jsp?court=IL001025J
The Agency NCIC/ORI codes are in the court agency table in JIMS;
Charge code
The e-Citation vendor shall use the standard statewide codes found in the AOIC offense tables. In some counties, certain offenses eligible to be written on a uniform complaint (DUIs? CMs especially) are supposed to go to the State's Attorney rather than getting imported directly into PC JIMS. The e-Citation vendor is responsible for excluding these from the data for import if the State's Attorney wishes to review these types of charges before they are submitted to the court, as the Clerk is required to process all charges that come through on a Uniform Complaint even if the State's Attorney would much rather review the particular charges first;
Officer badge number/name
Check them against the arresting officer's table in PC JIMS;
NOTE: Our system requires that the officer name be written in the "Lastname, Firstname" format. Our e-Citation importer makes new officers "on the fly" if they aren't in JIMS, and because badge numbers get re-used, we add any officer whose badge number and name don't match the records in JIMS exactly. So failure to match both will result in duplicate officer records. The same thing will occur if you provide the wrong agency NCIC code for an officer;
Hearing courtroom and hearing type (which can show up in the <Event> element in the ticket data)
If the court wants to use the same courtroom for all hearings, the e-Citation vendor will need to know this. Additionally, many courts use a hearing type of "20" (First Appearance), but others may prefer another. Please check with the court to verify what hearing type they would prefer to use;
Township names and codes
Per a conversation with AOIC staff on November 4th, 2016, the township road checkbox is to be checked by the officer whenever the road where the offense occurred is maintained by the township. This causes JIMS to set the township as the Pay-To Agency so that they get money from the ticket. Since any given township might handle maintenance, or start to do so at any given time, the e-Citation system should be established with a list of all of the townships in the county, and officers will have to be trained on when to check off the Township Road box in order to ensure that the funds are distributed to the township accordingly. To determine the code values, the e-Citation vendor needs to be provided with the township data by the court, which the court can access within JIMS as follows:
Open the Edit Arresting Agencies screen (under the Technical|Case Management Tables menu);
Note the value in the Code column for each township, and provide this data to the c-Citation vendor;
Other court configuration
What tools are required to get the data to the court?
This depends on which e-Citation vendor you use. The following vendors are certified for e-Citation as of March 2024, but additional vendors may come online in the future:
Saltus, via their service called digiTICKET
Specifically, they provide a program which gets the data and pushes it to the court, known as the Goodin Auto Exporter;
APS
GAL installs a program on the GAL PC, which uses web services provided by DuPage County to regularly check for new data.
Where should vendor-provided tools such as the Goodin Auto Exporter be installed?
It's the court's choice which particular PC in their office should run the program in question;
NOTE: The PC in question should ideally be a machine that will not be turned off at the close of business, as the PC must remain on and connected to the internet during the pre-planned window(s) during which e-Citations are exported from the vendor to the court. If not, this can prevent the e-Citations from arriving, and lead to many duplicate citations being submitted, as the vendor's system will keep trying (and failing) to submit new e-Citations until it finally gets a solid connection;
NOTE: Despite the name "Goodin" in "Goodin Auto Exporter", this tool is exclusively maintained by Saltus. Any issues concerning the Auto Exporter must be referred to Saltus Support, as GAL is unable to troubleshoot any issues with the tool.
Where should incoming e-Citation data be delivered?
It should go to the same location where the court keeps its Imaging files (since that is reliably available). Where is this data located?
The IP address can be found at: http://countyname-judici.clients:8080/gal-nas
The share folder is usually \Imaging
For example: \\192.168.1.235\Imaging
How do the e-Citations get from the Imaging folder into the JIMS Inbox?
GAL has a tool in the Imaging drive that imports this data into the Inbox about once a minute, so the XML e-Citation data doesn't stay in the Imaging drive for too long.
How does the e-Citation vendor get data to the court?
Any newly-submitted XML files need to get to the above-referenced location somehow. Possible options include:
A vendor-provided tool which (automatically or otherwise) pulls the data down from the vendor's system;
In the case of Saltus/digiTICKET, this is the aforementioned Goodin Auto Exporter;
This is the preferred method, as it makes the overall process significantly easier for the client;
Note for court staff: The e-Citation vendor may require a mapped drive in order for this to function. If the vendor's tool is being installed on a PC which also runs Imaging, there is a good chance that the PC already has an "I:" drive mapped to this address/folder that can be used. If you need help setting up a mapped drive, call us and we can assist you in establishing one.
Judici writes a simple script to pull them down.