I'm working on a project pro-bono (yes, as in "free beer") for a state department with a very interesting problem. How many programs (as in "food stamps", not as in "vim") do you think the state offers? I don't know either, but I know there are plenty. How many people in the state actually understand the rules used to administer these programs? Far fewer than you think. The rules are complex even when they can be understood and reconciled with each other, which isn't always.
So, say you've got some bright young people going through the mess of rules, trying to make sense of them. The question is: what are these bright young things supposed to produce? Most likely, they'll produce a document using Microsoft Word, in which they do the best they can to disentangle the mess. Could they do better? Could they, perhaps with the help of a bright if not nearly so young programmer, come up with a more structured format? One which could be used to produce, say, an index or cross-reference? Or, since we're talking about rules which determine eligibility for given benefit programs, maybe even a series of flowcharts. After all, the rules operate as a sort of process description.
XML? Surely not. It's one thing to convince the non-techies that it's worth writing in a structured way. It's another thing to convince them to type all those brackets. YAML? Maybe closer. One could imagine a program which reads YAML and produces a GraphViz program to generate a directed graph in lieu of a flowhchart. Another application: generate a simple webapp which performs at least a preliminary screening of eligibility. My initial hope was that maybe Visio itself could be used to express the rules directly as flowcharts, the output of which would be comprehensible by custom tools. However, reading visio files appears (from cursory googling) to be difficult.
So the question is: can one imagine a document format which is simple to type and which represents, in a well structured way, the decision process used by an agency in deciding to award benefits? You'd want to be able to extract, for example, the "inputs" to the process (i.e. what information is required -- age, income, disability status, etc.), and some sort of description of the decision process. It needn't be "executable" in any sense -- we're not talking about having the computer decide eligibility. As long as we can produce intelligible documents of some sort illustrating the process.
I don't expect anyone here to "answer" the question. I'm just hoping that people will have pointers, suggestions, warnings, etc..
You need to be a member of TechHui to add comments!