BC Biomedical Business Rules UI

BC Biomedical Business Rules UI

This small project demonstrates that work doesn't need to be wide in scope or market facing in order to have impact and be interesting.

The IT department of BC Biomedical, a major medical laboratory services company (now owned by LifeLabs), approached E-Cubed with a request for help. They needed to develop a new and better way for their accounting personnel to formulate database queries and to generate reports. They had begun exploring some possibilities, but they were stymied on exactly how to define and develop the user interface.

They provided some examples of the kinds of work they wanted to enable.

problem-example

The IF/THEN construction of the procedure was something they had defined long before and their rules engine code was ready to support complex logical expressions. Could we perhaps show them a model and approach for building a graphical interface?

The problem statement suggests a strong possible direction. The statement is composed of atomic parts that are combined to formulate a business rule and the subsequent action. Data items, evaluators and values can be combined into an expression. Expressions can be chained together using operators.

ui-parts

Essentially there is a kit of parts that we could assemble on a canvas.

A multipaned view will help us here, showing independent but related information. A source list (sidebar) on the left and a canvas (work area) on the right. The work area is split into an IF region on top (or left) and the THEN region on the bottom (or right).

drag-n-drop

So the essential interaction is defined as building a business rule by dragging elements from the source list, onto the canvas. The elements have controls that display available possibilities and can be set by the user. For example, an expression object bears a selector for choosing the type of thing it will express (data item, an operator, an action) a selector for the kind of evaluation to perform on that thing, and a selector to set the kind of value to match and a field for the value itself.

By dragging, dropping items and selecting settings, a user can construct complex business rules visually.

sample-screens

We explored a few more specific designs and found we could simplify the UI even more that the original concept had suggested. Every rule formulation must consist of at least one IF expression and one Then expression. That meant we could pre-populate the canvas with these basic elements. This made integrated instruction and guided action possible in the UI. More work remained of course, but the BCBIo team were now on solid ground and could carry on development internally.

We provided the drawings and notes as well labelled Micorosft Expression files to facilitate integration into their .Net development process.