“Rules as Code” Can and Should Be Done Without Programmers

An Example from Law to Code to App

I’ve been having conversations with people on twitter recently about my aspirational view that encoding laws will not always require programmers to be involved.

I am both a lawyer and a programmer, so it’s easy for me to be wrong about that sort of thing. So I’d like to share an example of why I think it’s possible, and you can decide for yourself.

The basic idea of Rules as Code is we take rules, we encode them, and that allows us and others to build more and better helpful applications.

The Tool: DataLex

The Law: Section 2 of the MHA

Admission certificate

2 When a physician examines a person and is of the opinion that the person is

(a) suffering from mental disorder,

(b) likely to cause harm to the person or others or to suffer substantial mental or physical deterioration or serious physical impairment, and

(c) unsuitable for admission to a facility other than as a formal patient,

the physician may, not later than 24 hours after the examination, issue an admission certificate in the prescribed form with respect to the person.

The Code

PERSON the physician
PERSON the individual
LINK Section 2 of the Mental Health Act TO https://www.canlii.org/en/ab/laws/stat/rsa-2000-c-m-13/latest/rsa-2000-c-m-13.html#sec2GOAL RULE Section 2 of the Mental Health Act PROVIDESSection 2 of the Mental Health Act applies, and the physician may issue an admission certificate in prescribed form with respect to the individual ONLY IFthe physician has examined the individual in the last 24 hours ANDthe physician is of the opinion that the individual is suffering from mental disorder ANDthe physician is of the opinion that the individual is likely to cause harm to the individual or others or to suffer substantial mental or physical deterioration or serious physical impairment ANDthe physician is of the opinion that the individual is unsuitable for admission to a facility other than as a formal patient

I don’t think that requires a programmer. Read the law, and the code, and tell me that only a programmer could get from A to B.

I think it’s realistic to expect non-programmers to be able to learn to express legislative concepts in that sort of a language, and to expect them to gain expertise at it.

The App

Image for post
Image for post
The start of the chat-bot interface generated by the above code in DataLex.

First, the chat bot asks for the names and genders of the doctor and the individual. It then asks whether the requirements of the act are met, using the names of the people involved.

Image for post
Image for post
The end of the conversation with the chat bot.

Then, the chat bot provides the answer to the question marked as a “goal” in the code, using the names of the individuals, providing reasons, and linking to the source legislation.

Image for post
Image for post
The Facts and Conclusions parts of the DataLex chat bot interface.

While the interview is going on, on the side of the screen the chatbot updates a list of the things it has been told, and the conclusions it has reached based on that information. For each fact, you can ask the chatbot to forget it. For each conclusion, you can ask for an explanation for how that conclusion was reached.

All of this is created with zero additional effort on top of encoding the law.

Seem unlikely? Try it yourself. Go to the development page, copy and paste the code above into the “Edit DataLex knowledge-base” field, and click “Run Consultation”.

The Point

Are there intricacies and expertise involved? Yes. Do you need the person using a tool like DataLex to be trained in how to use it properly? Yes. Does that person need to be a software developer by profession?

No, they don’t.

But even if we can do rules as code without programmers, should we?

If we care about access to justice, then yes, we should.

Automating legal reasoning has a lot of applications in access to justice that have not been exploited. The bottleneck in the use of this technology over the last nearly four decades is “knowledge acquisition” — getting what the subject matter expert (in this case, probably a lawyer) knows into the programmer’s head. People have been saying so since before Richard Susskind wrote his PhD on the topic in 1986.

But, if the “coding” tool is easy enough for the subject matter expert to use by themselves, that problem disappears. The technology will get used more, it will be more efficient to develop solutions, and those solutions will be of higher quality.

That’s why we should aspire to take the programmers out of it: Having to teach the programmers what we already know before we can turn it into an app is slowing us down.

Written by

Lawyer, Round Table Law; 2018/2019 ABA Innovation Fellow; Sessional Instructor, University of Alberta; Computational Law (Symbolic AI) Researcher, CCLaw @ SMU

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store