Best way to model an enquiry which is unsuccessful

I’m trying to model someone presenting themselves at a medical centre for an appointment.

The receptionist takes their details (either appointment time, name or address) and then the process calls a service task which retrieves their details. The receptionist confirms the other details and admits the patient into the waiting room (let’s ignore the scenario where someone can’t confirm their details).

If the patient said that their name was “Jones” and the web service came back with nothing for that day (due to a spelling mistake or some such), you’d want the receptionist to be able to try again, hence the loop.

So is this the best way to model the scenario as described?

If this were to be automated, it wouldn’t be very good if there was no notification to the receptionist that the web service task came back with nothing due to the data entered. So not really in the modeller category but how would the notification be displayed on the “Take Patient Details” form that the previous web call was unsuccessful?



IMHO - this scenario is a potential candidate for pageflow rather than process flow. Thus the more coarse grained user task may be ‘Accept Patient’. Within the accept patient task, there is a requirement to find the patient record and the corresponding appointment.

Hence you could use an ‘Ajax’ call from the user task form to retrieve the appointment details. If they can be retrieved, enable the confirm button on the form.

Its possible to model page flow as a sequence of User Tasks. If you use this approach in Camunda technology, you may want to look at the UI Mediator Pattern



1 Like

Hi Rob,

Reading around the link it seems that the UI Mediator Pattern is not something that is common in Camunda these days? I think that I’m coming back to the age-old problem of how to capture and display a process for one type of user (business) and how to have a process that you can deploy to an engine.

I think that what I’m taking away from this is that where you have a lot of UI-type requirements which aren’t related to the actual E2E process then don’t try and model them just have them as functionality at the page level (implemented by ajax/JSF/whatever)? I think that I read somewhere that 95% of Camunda implementations don’t use camunda forms but a different UI layer.

It’s not a criticism, I’m just trying to understand the best practice for handling when to model it in Camunda and when to develop it in something else.