cancel
Showing results for 
Search instead for 
Did you mean: 

Activiti for eHealth question

fbarbon
Champ in-the-making
Champ in-the-making
Hi,

I'm evaluating Activiti (as the best promising workflow engine around) in an eHealth context of pharmacological theraphy, and I'd like to share some thoughts (hoping they are of general interest).

The medicine prescription workflow is quite straightforward in structure, as it consists (without considering the compensations) of only 4 activities: prescribe (doctor), administer (nurse), don't administer (nurse) and close (doctor).

The biggest modeling issue is that medicine administration tasks need a precise execution timing. Typically, there is a small time window inside which an administration is considered "in time", a slightly larger windows under which the administration is "late" (or "early") but still allowed. Out of these windows an administration work item is not (anymore, or yet) allowed to execute.

Actually, the time specification capabilities of Task, being general purpose, only allows for time requirements like "this task must be due by …"

What I need instead is an extension of the Task class for supporting time requirements like "this task must take place at 12:00" (for administration with no duration, like oral theraphy) or as "this task must start at 11:15 and end at 13:30" (for durable administrations, like continuous intravenous theraphy).

Would such an extension be of some value for Activiti in general?

If not, would somebody be so kind to give me some directions on how to develop custom activity types?

Sorry for my english, many thanks in advance.
1 REPLY 1

jbarrez
Star Contributor
Star Contributor
There is indeed no support in the engine yet for such time requirements.
In the future we will add more capabilities to calculate times.

For the moment, you can use a workaround using process variables: create for example a process variable that contains your time and name the variable with the task prefix. In your UI, you can then use these process variables when displaying the task list.