Guides and Tutorials

Bootstrap Your Case Management Project

Updated: July 17, 2023

The Nuxeo Platform is a perfect choice for implementing a case management project. The platform provides all the necessary elements: strong information typing, rich form management, structure and document templating tools, event bus for plugging custom rules, powerful workflow engine, content lists and queues mechanisms. Nuxeo Studio allows semi-technical people to inject business requirements in the application while powerful API and great Java framework provide practically no limit in integrating with external applications or adding custom features.

Let's go through the important steps when implementing a case management project.

Defining Your Case Model

  1. From Nuxeo Studio, design your data model and structure, using document type, schemas and content-template features. A case has a specific type, and specific substructure. 
  2. Also define a default form for your case and the sub documents. At the beginning, just consider filling all the information at once. You will refine later the various forms and views you need depending on the role of the user.
  3. If you have some data that should come from remote systems, you should define your integration mode:
    • Store a foreign key on the case and display the information by doing live queries;
    • Fetch the data at creation of your case, and provide a way to synchronize it all the way long.

Defining the Case Life Cycle

  1. Define a base life cycle for your case and implement it using the life cycle editor in Studio.
  2. List the roles of your case management project, make the analysis of who should work when on your case and on which data. Each main phase of your case processing may be the object of a dedicated workflow model design. Or a simple task. You must define how you want to orchestrate all of the phases:
    • Either by a global workflow that may be call subworkflows
    • or, in a more adaptive style, launching small workflows depending on some pre-defined event-based conditions (click on a given button, change of state of the case, …). You may also want to integrate Nuxeo with an external rules engine that would provide even more induction capabilities.

Refining Your Users Views

Now that you start having a pretty good idea of which user should fill which information, you can refine the user experience:

  • By spreading all your business data among different tabs for making them simpler, and by organizing the main case view in a nice way. You can use for this the forms and content views features, as well as the tab designer feature, in Studio.
  • By providing working queues, that help organize the case worker job. A working queue is a mechanism for displaying cases depending on some of their criteria (nature, life cycle, customer id, ...)

Adding Automation on Content Processing

It is very frequent in case management projects that the systems generate automatically some documents using the data that was already stored in the system. You may want to use the template rendering module for generating professional-class documents, either in Office format or PDF, that you can then send via emails or distribute to external partners via FTP or using a dedicated folder in the system, etc.

Reporting

Case management applications are very strategical for managers as they are most of the time at the heart of the activity of the department. Thus it is a great source for tracking potential optimizations regarding internal process. Computing some mindful statistics around tasks closing, case life length, etc. may be very meaningful. You can leverage the Elasticsearch index capabilities with our data visualisation module.