Assembly Line E-filing
(This is transcribed from the recording , which you are welcome to watch as well).
As my colleague Quinten has mentioned , the Assembly Line project has put a lot of work into making it easy for you, a legal guided interview author, to make quick prototypes and to have a lot of additional features that you don't have to worry about.
Why E-Filing?
A key part in the self-represent litigant experience
Let's them file wherever they are, no going to court
Makes things easier for the courts
So why specifically focus on e-filing? Because it's still a big part of what someone going through a guided form has to do!
Without e-filing, someone would have to go through a guided form, get to the end, print out their documents (if they have a printer at all),
and then they'd have to take time to got to the court, and find the right clerk to bring the form to. All of that might take several hours,
including waiting in line. So adding e-filing to the guided interview itself lets them e-file wherever they are, without having to go to court.
That lowers the bar of access for a lot of self represented litigants who are trying to get to court to solve their issues.
On the other hand, it also makes things easier for courts. At least in MA, many courts use electronic docketing systems or electronic case management systems,
meaning all of the information about a court case is already electronic. It's scanned PDFs that judges can write on with iPads.
So it's easier for the courts if you directly e-file, instead of someone having to scan and type in all of this extra information about your case.
Project Partners
For this project, we worked with a few legal aid partners: Matt Newsted from Illinois Legal Aid Online,
and Amanda Brown in Louisiana, from Lagniappe Law Lab. They've been invaluable in helping us get this working in those states.
Requirements
Need to be able to file with multiple e-filing systems
Tyler Technologies and ECF v4.0 in Illinois
Jefferson Parish JeffNet e-filing in Louisiana
ECF requires domain specific XML over SOAP
...
One of our requirements for this project was to have a piece of software that you could use with docassemble that would be able to
file with multiple e-filing systems. The courts have their own software that handles e-filing requests coming in, and we needed to be able
to work multiple types of that software. In IL, their e-filing system is run by Tyler Technologies and uses
ECF4 (Electronic Court Filing version 4), which is a standard for passing information back and forth.
In Louisiana, there isn't a statewide e-filing provider, but Jefferson Parish has home-brewed their own software:
we worked with them to be able to send them some of these requests.
Technical Motivations
couldn't find good python SOAP libraries
not maintained, or missing needed features
Java was the next best language for SOAP
Productive with docassemble JSON
We started in January 2021, and one of our first hurdles was finding a python library worked with ECFv4.
ECF uses SOAP, which is a protocol / standard for sending data between computers.
Like Jonathan said, it was popular back in the early 00's, but doesn't have as much support nowadays.
All of the Python libraries we found weren't actively maintained, or simply didn't have the right SOAP features.
SOAP is a very big and kind of unwieldy protocol, so those libraries were missing features that we needed to talk to the e-filing providers
(most were missing "message transmission optimization mechanism" (MTOM) specifically).
So, we went with our backup, which was Java. So we now have a Java application that is actually communicating with the courts.
From that, we made sure the Java application could easily communicate with docassemble. So you don't have to know Java,
and can still work entirely in docassemble.
The E-file Proxy Server
Docker-enabled Java Server that takes JSON requests over HTTP/S
sends proper HTTP requests to JeffNet
sends SOAP requests to Tyler
Our final result was what we called the "E-file proxy server", "proxy server" meaning a piece of software that sits between
two other things that are trying to communicate: in this case, between docassemble, and the e-filing provider.
The buzzword dump is that the proxy server is a docker enabled java server that takes in JSON requests over HTTP (or HTTPS).
We'll properly send whatever request is needed: for Jefferson Parish, we send HTTP with JSON, and with Tyler, we send SOAP requests.
The Docassemble Side
docassemble-integrated python interface
core questions
a full general e-filing Interview
We also developed a python that runs on docassemble that you can use to communicate with the proxy server,
so you're not having to hand-write raw queries, you can use a python object, much like you would use to interact with
any other part of docassemble.
We wrote some core e-filing question that you might need to ask in your interviews, and we wrote an entirely
general e-filing interview that lets you file into whatever case with whatever filing type for Tyler's system.
If you're a legal or technical expert, it's a great place to start and integrate into your own Assembly Line interviews.
Example Usage: LA
Louisiana Statewide Name Change Form
---
code: |
efile_author_mode = False
jurisdiction_id = 'louisiana'
proxy_conn = ProxyConnection(credentials_code_block=None)
---
...
---
mandatory: True
id: main order block
code: |
...
if can_check_efile:
users[0].email
lead_contact
ready_to_efile
...
---
question: |
Your form is read to download
subquestion: |
% if ready_to_efile and not (defined('efile') and efile):
Click the "E-File" button below to e-file your form
at ${ trial_court }.
${ action_button_html(url_ask([{'recompute':['efile']}]),
label='E-file', icon='file-export') }
% endif
---
Integration into your Assembly Line interviews is very simple. For Louisiana, there are three blocks you need to add:
the first tells us that this interview will e-file in Louisiana, the second checks that everything is setup properly to make the filing.
The third is a bit of an incantation, but it just shows a button that triggers a variable called "efile",
which guides the user through the rest of the filing for you. I'd do a demo here, but it's literally just as simple as pressing a button.
The Future
Finish certification process (ongoing)
ECF v5.0
Additional EFM system integrations
Community building: what do you want to see?
Now that we've made this e-filing feature, our next steps are to:
finish the ongoing certification process
upgrade to work with ECF v5, which is more extensible than ECF v4
working with other e-filing systems. Tyler is the biggest with about 22 states, but there are other states, like Michigan,
Utah, and Arizona, who don't use Tyler, and we'd love to integrate with them.
building a community! What would features do you want to see?