Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
COMPUTER-IMPLEMENTED METHOD FOR COMPLEX DYNAMIC CASE MANAGEMENT
Document Type and Number:
WIPO Patent Application WO/2017/118597
Kind Code:
A1
Abstract:
The current invention concerns a computer-implemented method for managing cases such as service requests, using a DCM system. According to an embodiment, each of said cases is cast into a model using a modeling language, preferably Case Management Model and Notation (CMMN). In a particularly preferred embodiment, said business data are stored in a NoSQL repository, locally (on-premise) and/or using a cloud-based service, whereby said data refer to each other and suitable dynamic responses are provided when adding new data. In another preferred embodiment, the DCM application development platform uses an event-based architecture based on a complexevent processing (CEP) engine to interpret events and issue commands.In a second aspect, the present invention provides a computer- implemented method for developing and deploying DCM applications in a cloud-based service.

Inventors:
VANDEN BRANDE JOACHIM (BE)
Application Number:
PCT/EP2016/082913
Publication Date:
July 13, 2017
Filing Date:
December 30, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
GROUNDLION NV (BE)
International Classes:
G06Q10/10
Foreign References:
US20130024835A12013-01-24
US20150081873A12015-03-19
US20130024835A12013-01-24
US20150081873A12015-03-19
US20150006235A12015-01-01
US8769412B22014-07-01
Attorney, Agent or Firm:
BRANTSANDPATENTS BVBA (BE)
Download PDF:
Claims:
CLAIMS

1. A computer-implemented method for managing cases, using a dynamic case management system, said cases corresponding to at least a business process, and whereby said system comprises a runtime platform which is adapted to operate in a shared or direct multitenant application deployment model, characterized in that, said cases are cast into a model using a graphical modeling language.

2. The method of claim 1, characterized in that, said modeling language comprises Case Management Model and Notation (CMMN).

3. The method of claims 1-2, characterized in that, said cases are modeled at the client-side.

4. The method of claims 1-3, characterized in that, said cases are modelled using a plug-in, preferably in a Microsoft VisioModeler environment, or in a web-based environment.

5. The method of claims 1-4, characterized in that, the case models and/or the business data are stored in a NoSQL repository.

6. The method of claims 1-5, characterized in that, the case models and/or the business data corresponding to the case models are stored, locally (on-premise) and/or using a cloud-based service, whereby said data refer to each other and suitable dynamic responses are provided when adding new data and/or when altering data.

7. The method according to any of the previous claims, characterized in that the at least one of the repositories is organized according to a faceted classification system, and that the DCM system comprises a facetted search application.

8. The method according to any of the previous claims, characterized in that said DCM application development platform uses an event-based architecture based on a complex event processing (CEP) engine to interpret events and issue commands.

9. The method according to any of the previous claims, characterized in that said CEP engine is configured automatically when the case is deployed or published, and all the case behavior is stored as business rules within this system.

10. The method according to any of the previous claims, characterized in that said CEP engine records all user actions and events originating from external systems, related to a certain case, and makes suggestions to the user, based upon the business rules and the records related to said case. The method according to any of the previous claims, characterized in that said dashboard builder further comprises a library of DCM applications, said library enabling users of said development platform to retrieve a pre-built DCM application from said library for use or customization by said users.

11. The method according to any of the previous claims, characterized in that said library makes available to one or more users a plurality of DCM applications from third-party application developers.

12. The method according to any of the previous claims, characterized in that said development platform enables development of, and the runtime platform enables execution of, chained or multi-tiered applications, comprising applications from at least two distinct corporate entities.

13. The method according to any of the previous claims, characterized in that said runtime platform enforces a shared, role-based security model working for each of the tenants.

14. The method according to any of the previous claims, characterized in that realtime fraud prevention is provided.

15. The method according to at least one of the previous claims, characterized in that the dynamic case management system comprises:

a) a configuration server;

b) a DCM application development platform, comprising at least one of:

a business object builder;

- a presentation builder;

a rule builder;

a report builder;

a dashboard builder; and

a business process builder;

c) a DCM model store; and

d) a multitenant runtime platform, comprising at least one of:

a business data server;

a rules processor;

a content management server;

- a desktop renderer;

a report server;

a dashboard server;

an audit server;

an alert server;

- a runtime security server.

16. A computer-implemented method for developing and deploying DCM applications in a cloud-based service, said method comprising the steps of: a) creating a new DCM application within a developer portal, or optionally loading a pre-built application from a DCM application library accessed via said developer portal;

b) further developing said DCM application within said developer portal using at least one of a business object builder, a presentation builder, a rules builder, a report builder, a dashboard builder, and a business process builder;

c) generating a unique DCM application revision for said DCM application developed in step (b); and

d) deploying said application into a DCM runtime platform, said platform comprising at least a business data server, a rules processor, a content management server, a desktop renderer, a report server, a dashboard server, an audit server, and a runtime security server;

characterized in that each of said cases is cast into a model using Case Management Model and Notation (CMMN) modeling language.

17. The method according to claim 16, characterized in that the method further comprises any of the following steps:

loading a copy of said deployed DCM application into a tenant runtime environment;

generating a form or a view to handle said dynamic cases of modelled data.

18. A dynamic case management system comprising

a dynamic case management application development computer comprising program code stored in a memory and adapted to maintain a case model, and a multitenant runtime computer comprising program code stored in a memory and adapted to operate in either of a shared multitenant application deployment model and a direct multitenant application deployment model, characterized in that the modeling language employed for modeling a case model comprises Case Management Model and Notation (CMMN).

Description:
COMPUTER-IMPLEMENTED METHOD FOR COMPLEX DYNAMIC CASE

MANAGEMENT

TECHNICAL FIELD

The invention pertains to the technical field of dynamic case management (DCM), also known as adaptive case management or advanced case management (ACM), particularly for end-user organizations that are confronted by challenges in case management.

BACKGROUND

Case management is intended to support the needs of knowledge workers when engaged in knowledge intensive goal oriented processes. It is common for knowledge workers to interact via documents (e.g. text documents, word processor documents, spreadsheets, presentations, correspondence, memos, videos, pictures, etc.). Case management shares most of the characteristics with knowledge intensive processes, which are knowledge driven, collaboration oriented, unpredictable, emergent, goal- oriented, event driven, constraint and rule driven, and non-repeatable. Therefore, it makes sense that a platform to support knowledge workers provides content management and collaboration capabilities.

Applications of case management include licensing and permitting in government, application and claim processing in insurance, patient care and medical diagnosis in healthcare, mortgage processing in banking, problem resolution in call centers, sales and operations planning, invoice discrepancy handling, maintenance and repair of machines and equipment, and engineering of made-to-order products. Any individual case may be resolved in a completely ad-hoc manner, but as experience grows in resolving similar cases over time, a set of common practices and responses can be defined for managing cases in a more rigorous and repeatable manner. This becomes the practice of case management, around which software products have emerged to assist case workers whose job is to process and resolve cases.

The present concept comprises a solution for Adaptive case Management (ACM), also known as Advanced case Management or Dynamic case Management (DCM), based on state of the art technology regarding business process management (BPM). The present ACM solution supports knowledge workers by making their knowledge- intensive processes transparent and trackable. Users of the ACM should have a perfect insight as to who is working on what file, such that the run-through time of each project and the business as a whole can be managed optimally. For their case management, organizations typically use tools such as enterprise content management (ECM), customer relationship management (CRM) or business process management (BPM). While all these tools can be part of a case management solution, they are insufficient to address its complex requirements. These tools also lack one integrated case folder that includes all available information regarding a particular project or case. Furthermore, these traditional tools wrongly assume that processes always follow a completely predictable path. Traditionally, these tools are architected for formal processes with a very structured approach, but now more work is done on an exception basis or is milestone-driven. Historically, technologies required software engineers to program around every possible use case, which was very cost-prohibitive from a development perspective.

An ACM system provides a collection of architectural solutions with the aim of integrating all the information about a certain concept in one virtual directory, as well as supporting unpredictable processes. The present invention aims to meet the key challenges of case management and starts around the central notion of the "case", a virtual container holding all information concerning the case, such as case type, tasks, documents, involved parties, auditing logs, calendars, notes and other information. The case serves as an aggregation point and defines the crucial linkages between all pieces of information.

Document US20130024835 discloses a dynamic case management system and method intended for operation in the cloud (for example, as a web-based service) that supports a flexible DCM application composition paradigm utilizing an underlying application library.

Document US20150081873 discloses a dynamic state-based case management and task transitioning system, comprising a DCM system that maintains a state model and associates states with tasks pertaining to cases, and a method for maintaining and transitioning states for tasks and cases.

Document US20150006235 discloses a method comprising applying data mining techniques to find properties, documents, and workflow tasks from historical task reports and/or workflow execution reports of existing BPM system(s); finding patterns from the mined data from the BPM reports and deriving ordering of tasks to form at least a part of a new process; and converting a BPM system(s) into a case management system by analyzing the task and/or workflow definition file and BPM reports. According to some embodiments, this BPM system is defined in Business Process Modeling Notation (BPMN).

Document US 8,769,412 discloses a method and apparatus for providing complete solutions for role-based, rules-driven access enforcement. An embodiment addresses blended risk assessment and security across logical systems, IT applications, databases, and physical systems from a single analytic dashboard, with auto- remediation capabilities. Further, an embodiment provides capability and functionality for providing visual risk and event monitoring, alerting, mitigation, and analytics displayed on a geospatial map. In a preferred embodiment, an Analysis and Correlation engine is provided within an alert enterprise system, that allows complex event processing (CEP) on a spatial and temporal phenomenon.

However, there remains a need in the art for an improved advanced case management system with better services, insights and efficiency, as well as allowing the enforcing of complex business rules. There exists an ongoing need to model activities that are not so predefined and repeatable, but instead depend on evolving circumstances and ad hoc decisions by knowledge workers regarding a particular situation, i.e. a case.

The present invention aims to resolve at least some of the problems mentioned above. Furthermore the invention aims to provide a faster use, an open and scalable platform, a large flexibility in types and amounts of data, an event-based architecture and the use of the best available techniques to model cases and tasks.

SUMMARY OF THE INVENTION

In a first aspect, the present invention provides a computer-implemented method for managing service requests, using a DCM system comprising a configuration server, a DCM application development platform, a DCM model store, and a multitenant runtime platform. The DCM application development platform further comprises a business object builder, a presentation builder, a rule builder, a report builder, a dashboard builder, and a business process builder. The multitenant runtime platform further comprises a business data server, a rules processor, a content management server, a desktop renderer, a report server, a dashboard server, an audit server, an alert server, and a runtime security server. The runtime platform is adapted to operate as a shared or direct multitenant application deployment model. According to the invention each of said cases is cast into a model using a modeling language, preferably Case Management Model and Notation (CMMN). In a particularly preferred embodiment, said business data are stored in a NoSQL repository, locally (on- premise) and/or using a cloud-based service, whereby said data refer to each other and suitable dynamic responses are provided when adding new data. In another preferred embodiment, the DCM application development platform uses an event- based architecture based on a complex event processing (CEP) engine to interpret events and issue commands. In a second aspect, the present invention provides a computer-implemented method for developing and deploying DCM applications in a cloud-based service, said method comprising the steps of:

a) creating a new DCM application within a developer portal, or optionally loading a pre-built application from a DCM application library accessed via said developer portal;

b) further developing said DCM application within said developer portal using at least one of a business object builder, a presentation builder, a rules builder, a report builder, a dashboard builder, and a business process builder;

generating a unique DCM application revision for said DCM application developed in step (b); and deploying said application into a DCM runtime platform, said platform comprising at least one of a business data server, a rules processor, a content management server, a desktop renderer, a report server, a dashboard server, an audit server, and a runtime security server.

DESCRIPTION OF FIGURES

Figure 1 is a block diagram of components according to an embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

Unless otherwise defined, all terms used in disclosing the invention, including technical and scientific terms, have the meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. By means of further guidance, term definitions are included to better appreciate the teaching of the present invention.

A "case" is the collection of all information concerning a certain concept, combined with the tasks that can be performed using this information at any moment.

The term "business process" as used herein, refers to a specific event in a chain of structured business activities. The event typically changes the state of data and/or a product and generates some type of output. Examples of business processes include receiving orders, invoicing, shipping products, updating employee information, or setting a marketing budget. Business processes occur at all levels of an organization's activities and include events that a customer sees and events that are invisible to a customer. The term also refers to the amalgam of all the separate steps toward the final business goal. The term "business intelligence (BI)" refers to a set of theories, methodologies, processes, architectures, and technologies that transform raw data into meaningful and useful information for business purposes. BI can handle large amounts of information to help identify and develop new opportunities. Making use of new opportunities and implementing an effective strategy can provide a competitive market advantage and long-term stability. BI technologies provide historical, current and predictive views of business operations. Common functions of business intelligence technologies include: (i) reporting ; (ii) online analytical processing; (iii) analytics; (iv) data mining; (v) process mining; (vi) complex event processing; (vii) business performance management; (viii) benchmarking; (ix) text mining; (x) predictive analytics; and (xi) prescriptive analytics.

The term "content management system (CMS)", also called a web management system, is software or a group or suite of applications and tools that enable an organization to seamlessly create, edit, review and publish electronic text. Many content management systems offer a Web-based GUI, enabling publishers to access the CMS online using only a web browser. Content Management Interoperability Services (CMIS) is an open standard that allows different content management systems to inter-operate over the Internet. Specifically, CMIS defines an abstraction layer for controlling diverse document management systems and repositories using web protocols.

Cloud computing is a model for enabling ubiquitous network access to a shared pool of configurable computing resources. Cloud computing and storage solutions provide users and enterprises with various capabilities to store and process their data in third- party data centers. It relies on sharing of resources to achieve coherence and economies of scale, similar to a utility (like the electricity grid) over a network. At the foundation of cloud computing is the broader concept of converged infrastructure and shared services. Cloud computing, often referred to as "the cloud", also focuses on maximizing the effectiveness of the shared resources. Cloud resources are usually not only shared by multiple users but are also dynamically reallocated per demand. This can work for allocating resources to users. For example, a cloud computer facility that serves European users during European business hours with a specific application (e.g., email) may reallocate the same resources to serve North American users during North America's business hours with a different application (e.g., a web server). This approach helps maximize the use of computing power while reducing the overall cost of resources by using less power, air conditioning, rack space, etc. to maintain the system. With cloud computing, multiple users can access a single server to retrieve and update their data without purchasing licenses for different applications.

The Structured Query Language (SQL) is a special-purpose programming language designed for managing data held in a relational database management system, or for stream processing in a relational data stream management system. The term "NoSQL", originally referring to "non SQL", refers to a database mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in traditional relational databases. Motivations for this approach include simplicity of design; simpler "horizontal" scaling to clusters of machine, which is a problem for relational databases, and finer control over availability. The data structures used by NoSQL databases (e.g. key-value, graph, or document) differ slightly from those used by default in relational databases, making some operations faster in NoSQL and others faster in relational databases. The particular suitability of a given NoSQL database depends on the problem it must solve. Sometimes the data structures used by NoSQL databases are also viewed as more flexible than relational database tables. NoSQL databases are increasingly used in big data and real-time web applications. NoSQL systems are also sometimes called "Not only SQL" to emphasize that they may support SQL-like query languages.

The term "repository" generically refers to a central place where data is stored and maintained, such as a database.

The term "facetted search", denotes a technique for accessing information organized according to a faceted classification system, allowing users to explore a collection of information by applying multiple filters. A faceted classification system classifies each information element along multiple explicit dimensions, called facets, enabling the classifications to be accessed and ordered in multiple ways rather than in a single, predetermined, taxonomic order. The user of a faceted search system typically performs a keyword search, which is afterwards filtered using filtering criteria such as pre-defined categories.

The term "event processing" as used herein, refers to a method of tracking and analyzing (processing) streams of information (data) about things that happen (events), and deriving a conclusion from them. Complex event processing, or CEP, is event processing that combines data from multiple sources to infer events or patterns that suggest more complicated circumstances. The goal of complex event processing is to identify meaningful events (such as opportunities or threats) and respond to them as quickly as possible. These events may be happening across the various layers of an organization as sales leads, orders or customer service calls. Or, they may be news items, text messages, social media posts, stock market feeds, traffic reports, weather reports, or other kinds of data. An event may also be defined as a "change of state," when a measurement exceeds a predefined threshold of time, temperature, or other value. Analysts suggest that CEP will give organizations a new way to analyze patterns in real-time and help the business side communicate better with IT and service departments. The vast amount of information available about events is sometimes referred to as the event cloud.

"Multi-tenancy" is an architecture in which a single instance of a software application serves multiple customers. Each customer is called a tenant. Tenants may be given the ability to customize some parts of the application, such as color of the user interface (UI) or business rules, but they cannot customize the application's code. Multi-tenancy can be economical because software development and maintenance costs are shared. It can be contrasted with "single-tenancy", an architecture in which each customer has his own software instance and may be given access to code. With a multi-tenancy architecture, the provider only has to make updates once. With a single-tenancy architecture, the provider has to touch multiple instances of the software in order to make updates. In cloud computing, the meaning of multi-tenancy architecture has broadened because of new service models that take advantage of virtualization and remote access. A "software-as-a-service (SaaS) provider", for example, can run one instance of its application on one instance of a database and provide web access to multiple customers. In such a scenario, each tenant's data is isolated and remains invisible to other tenants.

An "application programming interface (API)" is a set of routines, protocols, and tools for building software applications. An API expresses a software component in terms of its operations, inputs, outputs, and underlying types. An API defines functionalities that are independent of their respective implementations, which allows definitions and implementations to vary without compromising the interface. A good API makes it easier to develop a program by providing all the building blocks, which should be put together by a programmer.

"Extensible Markup Language (XML)" is a markup language that defines a set of rules for encoding documents in a format which is both human-readable and machine- readable. The design goals of XML emphasize simplicity, generality and usability across the Internet. It is a textual data format with strong support via Unicode for different human languages. Although the design of XML focuses on documents, it is widely used for the representation of arbitrary data structures such as those used in web services. Several schema systems exist to aid in the definition of XML-based languages, while many application programming interfaces (APIs) have been developed to aid the processing of XML data.

In a first aspect, the current invention describes a computer implemented method for managing cases, using a dynamic case management system, said cases corresponding to at least a business process, and whereby said system comprises a runtime platform which is adapted to operate in a shared or direct multitenant application deployment model, characterized in that, said cases are cast into a model using a modeling language.

In a particularly preferred embodiment, the current invention describes a computer implemented method for managing service requests. For instance, service requests on behalf of subjects such as customers, citizens, and employees are typically found in finance, health, legal, citizen and human resources related matters. In general, the current invention describes a computer implemented method for managing cases. A non-limiting example of a case, and more particularly a service request, is the process of handling complaints. The computer implemented method described in the current invention will assist the knowledge worker handling this case where possible. For example, it will provide for the related data and it will list the possible choices for decision making. In order to do so, the cases first have to be modelled by the knowledge worker.

In a particularly preferred embodiment, the invention provides a computer- implemented method for managing service requests, using a DCM system comprising :

a) a configuration server;

b) a DCM application development platform, comprising at least

a business object builder;

a presentation builder;

a rule builder;

a report builder;

a dashboard builder; and

a business process builder;

c) a DCM model store; and

d) a multitenant runtime platform, comprising at least one of:

a business data server;

a rules processor;

a content management server;

a desktop renderer; a report server;

a dashboard server;

an audit server;

an alert server;

- a runtime security server;

wherein the runtime platform is adapted to operate as a shared or direct multitenant application deployment model

In particular, each of said cases is cast into a model using a modeling language. In a preferred embodiment, the DCM application development platform comprises a business object builder, a presentation builder, a rule builder, a report builder a dashboard builder, and a business process builder. In a further preferred embodiment, the multitenant runtime platform comprises a business data server, a rules processor, a content management server, a desktop renderer, a report server, a dashboard server, an audit server, an alert server, and a runtime security server.

In a preferred embodiment of the invention, said modeling language comprises a graphical type of modeling language. In a further preferred embodiment of the invention, said modeling language comprises Case Management Model and Notation (CMMN). The CMMN standard of the Object Management Group (OMG) is an efficient way to model cases. It allows for graphically representing a case, as well as exchanging case models among different tools. It is quickly becoming the standard for an ad-hoc approach of semi-structured and dynamic processes, with which organizations are continuingly being confronted. The CMMN specification defines a common meta-model and notation for modeling and graphically expressing a case, as well as an interchange format for exchanging case models among different tools. The specification is intended to capture the common elements that case management products use, while also taking into account current research contributions on case management. In a preferred embodiment of the invention, said cases are modeled at the client-side. This allows for fully exploiting the expertise of the knowledge worker.

The use of a graphical type of modeling language, such as CMMN, for modeling all aspects of a case, entails several advantages. A first advantage is that zero coding is involved : a complete case-driven application can be designed without coding. Therefore, as a second advantage, the current invention is user-friendly and it is easy to learn how to work with it. A third advantage is that it is visually more attractive than traditional, written coding : the graphical case model gives a global overview of the complex case. Typically, dynamic case management is applied to a fast changing environment. A fifth advantage of using a graphical type of modeling language is that it is relatively easy to adapt the case model to the fast changing environment. This is also important when modeling the case: preferably, the case is split up into smaller portions, each of which is modelled individually. In a later stage, once the smaller portions are functioning correctly, they are put together to form a model for the complete case. Most preferably, this modeling process is an iterative process, where the model is adapted by taking in to account the output of the model. In case of iterative modeling, it is highly advantageous that it is easy to adapt the model during its optimization.

CMMN was released in May 2014. The use of CMMN for modeling cases entails all of the five above-mentioned advantages. An additional advantage of employing CMMN, is that it has become the standard for case modeling. As such, communication issues between case modelers and/or case designers employing different modeling languages are resolved.

In a particularly preferred embodiment of the invention, said cases are modelled using a plug-in, preferably in a Microsoft VisioModeler environment, or in a web- based environment. For instance, in the VisioModeler plug-in, all CMMN shapes (diagrams) are available for use. With these elements, a case can be designed. In a preferred embodiment, the following case modelling methodology is thereby followed : the user can specify a case, that is, define the case type. Particular attention is thereby paid to the particular characteristics of the case. In this case modelling step, subcases and related cases are specified as well. The user can specify the stages/statesa case contains. In a preferred embodiment, one or more of these stages can be optional. These states are not necessarily sequential. The user can also specify the individual tasks and activities relating to the case. In doing so, he can specify the best practices per activity. The user can specify and model processes of the case where possible. These can be either end-to-end processes or only those fragments of non-deterministic processes that are deterministic. The latter is typical of dynamic case management. The user can specify all information that is related or will be related to the case, such as data, templates, guidelines, communications, documents, etc. Also, extra specifications can be set per element. For example, for tasks, the user can specify which data should be available and should be entered, if tasks are required or not, how many times they can be executed and so on. The user can also specify the conditions for all transitions between the individual case stages he or she previously specified. Other than the behavior of the case, the data model can also be configured using this plug-in. With this tool, a complete data model can be created. Entities, relations, etc. can be created in a graphical manner and used directly in the case template. Upon completion, a modeled case can be exported or published. When publishing, an XML file based on the CMMN standard is created containing the case model, and an XSD file is created containing the data model. These files are used to configure the application core of the present invention.

A case modeling environment gives a case analyst a powerful tool that uses CMMN and some necessary extensions to design a complete case-driven application without requiring any coding. When a case model is properly constructed, costs and efficiency of the related business process can be optimized. There can exist large issues concerning the follow-up of information and behavior with regard to a case. A proper case model will, for example, efficiently present a product innovation process and can contribute to collaboration on said case. Advantageously, using CMMN a case is cast into a model and turned into an application without the need for coding e.g. Java and/or database interfaces. This is an iterative process that facilitates the development of applications, which can then be analyzed by a case manager or other case workers. Such applications are also to be validated by such end-users.

Some of the terms employed above will now be clarified for a better understanding : Preferably, the "configuration server" acts as an intermediary between the DCM application development environment and various models. In a preferred embodiment, it also provides access for builder components to predefined database schema definitions, which can then be used as a template from which to build new models. The configuration server in some embodiments enforces security rules, ensuring that no changes to models are made by unauthorized persons using DCM application development environment (although normally this role is performed by the DCM application environment itself, checking security rights of each user as the user logs in to one or more builders). Additionally, the configuration server in some embodiments validates proposed changes or additions to models against one or more data integrity rules. In particular, the configuration server will generally enforce tenant data integrity rules. Since the system is intended to operate in a multitenant environment— that is, in an environment where many users from many different enterprises are using the system at any given time— it is important that, throughout the system, rules regarding data integrity between tenants be enforced. For example, one tenant (enterprise) may create a particularly sophisticated case model, and the tenant may desire that the model be kept invisible to other tenants. In other cases, either the operator of the system, or a third party, or even another tenant, may build various models that are intended to be viewable (or even editable) by all or a subset of possible tenants. While the configuration server acts as an intermediary between builders and models, it also provides access for builder components to predefined database schema definitions, which can then be used as a template from which to build new models.

Preferably, the "DCM application development platform" comprises one or more "builder" services. As such, it comprises at least one of a business object builder, a presentation builder, a rule builder, a report builder, a dashboard builder, and a business process builder. In a preferred embodiment, the DCM application development platform comprises a business object builder, a presentation builder, a rule builder, a report builder, a dashboard builder, and a business process builder. According to a preferred embodiment of the invention, the DCM application development platform is accessed by users via ordinary web browsers. In that case, said "builder" services are specialized web applications, typically delivered to a browser via a web server, each providing a development environment suitable for the building of particular parts of a DCM application. Of course, as described above, in many cases all of the builders provided by the DCM application development environment will be delivered from a single web server or web application server, and also in many cases the separate builders are each provided via a separate tab within a DCM application development web page provided by the development environment. Generally, each builder provides a graphical, drag-and-drop style interface for building various models relevant to an intended DCM application. Users can generally start a new model from scratch, or they can load a predefined model, either of their own or another's design, for use a starting point when building or editing specific models.

Preferably, the "business object builder" provides a graphical, web-based user interface that allows users to build or edit business object models. The business object models are stored in the DCM model store. Each DCM application has as a base component one or more business object models. In a preferred embodiment, the business object models are used to define types of business data a particular application will use, and it defines relationships between data elements. For example, in many DCM applications a main business object is "case", which represents an instance of an end-to-end complex process. Examples of cases include murder investigations, insurance claims adjustments, unemployment insurance benefit applications, litigation matters, and so forth. Typically, dynamic case management systems are built around cases. Usually there are many other "business objects" in any given application, such as "client", "provider", "account", and so forth. Each business object model comprises many business objects, and each business object typically has one or more attributes. For example, business object "client" will typically contain attributes "Last Name", "First Name", "Street Address", and so forth. Each business attribute in turn has a property called "data type"; for example, "Last Name" and "First Name" would be of type "Text", whereas a business attribute "Date of Birth" might be assigned type "Date". Typically, although not necessarily, business object attributes will also contain certain additional properties, such as "Length"; each business object attribute can be assigned any number of properties, and properties can optionally be provided with default values. A second key part of a business object model is a set of relationships between business objects. Relationships can be viewed as "links" from one business object to another. For example, a "Client" business object may be linked, through a relationship, to a "Provider" who has been assigned to be their primary contact within an enterprise. Another important example is that "Case" objects typically are linked to a "Client", and may also be linked to an assigned case manager who is a "Provider". When relations are properly established, it becomes possible to establish "views" across a given DCM application, such as "all cases assigned to members of provider group A, with the cases' current status"— this query or report would rely on links between "Cases" and "Providers", between "Providers" and "Groups", and it would also rely on each case's "Status" attribute. Relations can be one-to-one, one-to-many, or many- to-many; it will be appreciated by one having ordinary skill in the art that there are many modeling tools and languages capable of fully representing sets of objects and relations, and that any of them can be used according to the invention. Typically, business object builder is used to define objects, their relations, and their attributes (or to edit those definitions), and a person whose role is to create a DCM application uses the business object builder. Actual creation of instances of business objects is normally carried out at runtime by end users. However, it is contemplated by the inventor that users of business object builder will sometimes create a small number of instances of business objects, and typically business object builder will provide facilities for doing so.

Preferably, the "presentation builder" allows application designers to graphically (typically using drag- and-drop interface style) specify user interface elements that will be used, at runtime, by users of the system. In a preferred embodiment, such specified interface elements are assembled in a presentation model and stored in the DCM model store. For example, various screens for searching, editing, creating, and deleting various types of business objects can be specified. Such screens could be object-specific (for example, an "Add a Client" screen, which might not only allow a user to add a new client but also walk the user through a series of related steps required to be performed whenever a client is added), or general (for example, a general "Search" page which might include a pull- down list to specify the types of objects to be included in search results, and a series of fields for specifying search query parameters— such a search page could be used to search for objects of any type and is thus general). Presentation builder, in some embodiments, allows creation of hierarchical presentation models comprising a plurality low-level presentation elements such as "Account-Short Form" and "Account-Long Form" and a plurality of higher-level elements such as predefined pages, which are assembled by placing low- level elements on them in specific layouts or locations.

Preferably, the "rule builder" provides a web-based user interface to allow a DCM application designer to specify or edit business rules that will be used to drive application behavior at runtime. Business rules for a particular DCM application created or edited in the rule builder are assembled in a rule model and stored in the DCM model store. The rule builder is, in some embodiments, a graphical, drag-and- drop style web page, but the rule builder may also be of a more text-oriented style, for instance with a table for rule elements that can be populated by a DCM application designer, possibly using pull-down lists or other well-known user interface widgets or elements to facilitate easy rules configuration. Rules are created using other elements previously created within the DCM application development environment. For example, a rule might be created stating : "If CLIENT has more than two ACCOUNTS, and the sum of all BALANCES within all of CLIENT'S ACCOUNTS is more than $ 150,000, then set CLIENT'S SEGMENT to 5". The capitalized words are names of business objects or their attributes, all of which would have been previously defined within the business object builder, and thus available within the rule builder.

Preferably, the "report builder" provides a web-based user interface to allow a DCM application designer to specify or edit reports that will be provided to end users at runtime. Reports for a particular DCM application created or edited in the report builder are assembled in a report model and stored in the DCM model store. The report builder is, in some embodiments, a graphical, drag-and-drop style page, but the report builder may also be of a more text-oriented style, for instance using a tabular format (which is commonly how reports are delivered and consumed). Reports stored in a report model may be stored in a number of ways known in the art, including extensible markup language (XML), including possibly of a specialized variant designed for reporting, such as Report Markup Language (RML). However, it will be clear to one having ordinary skill in the art that there are a large number of well-established ways to store report-related data, any of which can be used according to the invention. The "dashboard builder" is in many ways analogous to the report builder, and in fact the two could be combined. Dashboards tend to be more real-time and graphical in their presentation of data, but basically serve the same function as reports. In a similar way, dashboard models are analogous to report models. Dashbords for a particular DCM application created or edited in the dashboard builder are assembled in a dashboard model and stored in the DCM model store. In a preferred embodiment, the function of the dashboard is to bring together all of the key information related to a selected case.

Preferably, the "business process builder" provides a graphical, web-based user interface that allows drag-and-drop composition of complex business processes. In marked contrast with typical business process management platforms, where process definition is typically done in either code or in a code-like markup language, he business process builder allows a non-technical user to compose or assemble complex processes without writing (or even seeing) any code. Processes are built up using elements previously defined with the DCM application development environment . Business rules defined in the rule builder can be used to filter a set of objects or to determine which execution branch to take. Reports and dashboards defined in the report builder and the dashboard builder can be updated or sent to specified individuals from within a business process. Business processes designed within the business process builder are assembled in business process model and stored in the DCM model store. In many cases, according to preferred embodiments of the invention, business processes are designed hierarchically. For example, fairly focused and commonly-used business processes such as "validate risk factors" or "update customer address" may be defined once and then included as sub-processes within larger, more complex business processes, such as "originate home mortgage loan". Web-based modelling advantageously allows further ease of deployment in comparison with plug-ins, the latter needing to be installed at the client-side on a user-by-user basis. Therefore, the business object builder, the presentation builder, the rule builder, the report builder, the dashboard builder, and/or the business process builder are preferably web-based. In an alternative embodiment however, one or more of the builder applications above are realized as plug-ins and installed at the client-side on a user-by-user basis.

Preferably, the dynamic case management system comprises one or more database- type components, at least a "business data store" and a "model store". In a preferred embodiment, the business data store is a data repository for "real world" data. Whereas the model store stores abstract models of, for example, a generic client, the business data store stores data about actual clients. The structure of data stored in the business data store corresponds to the applicable models stored in the model store, but the content will be specific to each individual client (or other business object). Another way to view this relationship is to consider that the model store contains empty, abstract descriptions of particular classes of objects ("clients", "cases", etc.), with no data (except possibly default values) stored, and with only one record stored per type of object. Thus the model store stores a single model of "client" (although it should be noted that there may be many distinct abstract models of "client", each one representing a particular model version for a particular tenant), to which all clients actually conform. The business data store, on the other hand, contains populated instances of objects, each corresponding in structure to the corresponding abstract model but populated with real data. Moreover, business data store will store data corresponding to many clients (for example), each containing data pertaining to that specific client, the model store is populated by DCM application development environment, whereas business data store is populated by the DCM runtime engine. In a preferred embodiment of the invention, said business data are stored in the business data store, said business data store being a NoSQL repository, locally (on- premise) and/or using a cloud-based service, whereby said data refer to each other and suitable dynamic responses are provided when adding new data. In a preferred embodiment of the invention, the DCM models are stored in the DCM model store, the DCM model store being a NoSQL repository, locally (on-premise) and/or using a cloud-based service, whereby said data refer to each other and suitable dynamic responses are provided when adding new data. In particular, the business object models, presentation models, rule models, report models, dashboard models and business process models are stored in the DCM model store. In an alternative embodiment, the DCM model store and/or business data store NoSQL repositories are replaced by any type of data storage system known in the art, such as a relational database system or even a flat file.

A traditional relational database is very rigid and must be structured with a fixed data model. A NoSQL repository or database allows for a flexible data model that can change over time without having to be reconfigured. Also, relational databases were not designed to run efficiently on clusters. Therefore, if lots of data are involved, NoSQL databases are used because they scale much better. Said NoSQL repository preferably comprises MongoDB, which is a cross-platform and document-oriented open-source NoSQL document database that uses a JSON-like schema (called BSON) instead of traditional table-based relational data. This advantageously makes the integration of data easier and faster. JSON or JavaScript Object Notation is a lightweight data-interchange format that is easy for humans to read and write, and easy for machines to parse and generate.

In a preferred embodiment of the invention, said DCM application development platform uses an event-based architecture based on a complex event processing (CEP) engine to interpret events and issue commands. In a preferred embodiment of the invention, said CEP engine is configured automatically when the case is modeled and all the case behavior (e.g., when a certain activity should be executed, when a stage is completed and when a subcase should be started) is stored as business rules within this system. In a preferred embodiment of the invention, said CEP engine listens for all of a user's actions and events originating in external systems or machines, and builds a context for each case. In this way, said CEP engine acts like a context broker. This contextual information, together with the business rules configured on case design, can be used to guide said user through a case's life cycle, e.g. by suggesting the next-best action or creating a new subcase. Users (knowledge workers or case workers) can always choose their own path through a case, but the CEP system will guide them while doing so. For this event pattern handling, the present invention preferably uses the Espertech CEP Engine. In a preferred embodiment, the CEP engine records all user actions, as well as events originating from external systems and makes suggestions to the user, based upon the business rules. Preferably, some of these business rules are imposed by the knowledge worker, while other business rules are automatically distilled by the CEP engine from all information related to the previous cases. In a preferred embodiment of the invention, said report builder provides standard reporting options (e.g. using fixed templates) and/or more advanced reporting options, which can be customized by users. In addition to several default reports, every case must be able to have its own custom reports. Since every case design has a very distinct context and data model, there is a need for a flexible reporting framework. This component allows creation of reports using the data model defined in the case designer. This component is implemented using the Business Intelligence and Reporting Tools (BIRT) Project. The BIRT Project is an open source software project that provides reporting and business intelligence capabilities for rich client and web applications, especially those based on Java and Java EE. It allows for graphical design of reports using data sets defined in the internal NoSQL repository of the present invention, as well as data from external systems. This component allows users to create their own reports to get a better overview on his cases. In a preferred embodiment of the invention, said dashboard builder further comprises a library of DCM applications, said library enabling users of said development platform to retrieve a pre-built DCM application from said library for use or customization by said users. The dashboard builder provides multiple apps (also known as widgets, gadgets, etc.) for users to use and configure on their dashboard as desired, and said dashboard server hosts said apps and their configuration data.

In a preferred embodiment of the invention, said library makes available to one or more users a plurality of DCM applications from third-party application developers. In a most preferred embodiment, the computer-implemented method is pluggable by design, and can be plugged in as a service in existing environments that already contain a portal, content management and/or other components. This is advantageous because many potential users already invested in management solutions which are capable of meeting an isolated need but cannot effectively extend beyond that requirement. The current invention can then be plugged into that environment. In a preferred embodiment of the invention, said development platform enables development of, and the runtime platform enables execution of, chained or multi-tiered applications, comprising applications from at least two distinct corporate entities.

In a preferred embodiment of the invention, said runtime platform enforces a shared, role-based security model working for each of the tenants.

While users interact with the DCM platform via the user interface, which in turn passes all requests and receives all responses from the runtime tenant environment, execution of actual DCM applications in runtime takes place in the DCM runtime engine, which is a collection of web-based servers (or services; the two terms can be considered synonymous), each carrying out a distinct subset of an application's functionality, and each based on corresponding models stored in the model store. The "business data server", which is driven by the business data model, provides access to business objects (data) in runtime. Business data representing actual business objects is stored in the business data store, to which the business data server has access.

Preferably, the "rules processor" is a rules engine analogous to those well-known in the art, and has the function of processing business rules defined in the rule model, applying actual data in the execution of rules. For instance, a rule defined in the rules builder without reference to actual data, is evaluated with actual data when it is executed by the rules processor. Preferably, "content management server" is a service that provides well-understood enterprise content management functionality, and which thereby ensures accuracy and currency of any content provided to a user in conjunction with a DCM application. For example, if a user is a loan officer considering a complex loan application, the user might have need, during the course of managing the case (the complex loan application), to conduct a review of certain specific regulations pertaining to the type of loan requested. The required content would be served up by the content management server, and the user would not have to manually check to make sure he or she had the most current information.

Preferably, the "desktop renderer" uses presentation models to populate the user interface with user interface elements as designed in presentation builder. Similarly, the "report server" and/or "dashboard server" uses report models and dashboard models to populate and render reports and dashboards via user the interface.

Preferably, the "audit server" tracks all usage of DCM runtime engine, and stores all usage-related data in business data store. The audit server is configured using the runtime configuration server, for example by specifying what types of actions or events are to be captured and retained for audit purposes, and by specifying what types of audit reports will be prepared (and how often they will be prepared).

Preferably, the "alert server" has the role of providing alerts to users (via the user interface, or via notification via email, short message service, instant messaging, or any other means known in the art) when configurable alert conditions are met. For example, an alert may be triggered when an elapsed time for carrying out a certain step in a certain business process has been missed. Such an alert would be configured in two parts. First, in the relevant business application's rule model, a rule would be configured that states that, if a certain action isn't taken within a specified time, an alert should be generated. Second, actual parameters used to send the requested alert are determined by the alert server. For example, the identities of personnel to whom the alert is to be sent would be determined by executing a query to the business data server (because roles and responsibilities of individuals associated with tenants are provided as attributes of the respective business objects). In some cases, alerts are sent to staff of the DCM platform rather than personnel of any specific tenant; in such cases, configuration information required may be obtained either from the business data server or from runtime configuration server.

Preferably, "runtime security server" enforces security roles of all individuals interacting with DCM runtime engine, particularly by preventing unauthorized actions from taking place. In some embodiments, when an unauthorized action is attempted, an alert request may be generated and sent to the alert server to notify appropriate people. Security rules and parameters are configured by the DCM platform personnel using the administration portal, which provides configuration data to the security admin service, which maintains all security administration data and rules. In some embodiments, comprehensive audit data is passed by the audit service to the security admin service so that the DCM platform staff is able to review any aspect of security. For security measures, for example Apache Shiro can be used, which is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management. It has been designed to be an intuitive and easy-to-use framework while still providing robust security features. Furthermore, configurable authentication providers are implemented, using technologies such as:

Lightweight Directory Access Protocol (LDAP), which is an open, vendor- neutral, industry standard application protocol for accessing and maintaining distributed directory information services over an Internet Protocol network); Active Directory (AD), whereby an AD domain controller authenticates and authorizes all users and computers in a Windows domain type network- assigning and enforcing security policies for all computers and installing or updating software);

Kerberos, a computer network authentication protocol which works on the basis of 'tickets' to allow nodes communicating over a non-secure network to prove their identity to one another in a secure manner.

For client access to databases, preferably JDBC (Java database connectivity technology) is used. This is an application programming interface for the Java programming language that defines how the client may access a database.

Additionally, CAS (Central Authentication Service) SSO (Single Sign-On) integration, e.g. Active Directory (AD), LDAP and Kerberos, is supported in the present invention.

In a preferred embodiment of the invention, real-time fraud prevention is provided, e.g. in cases where multiple parties are collaborating. To this end, the present invention provides a complex authorization procedure using various (flexible) user roles. This aspect furthermore leads to a direct and personal communication between users and other parties, e.g. customers.

The general deployment of said DCM system can either occur on-premise, e.g. using a lightweight application server, or through a cloud-based service. Therefore, in a second aspect, the invention provides a computer-implemented method for developing and deploying DCM applications in a cloud-based service, said method comprising the steps of:

a) creating a new DCM application within a developer portal, or optionally loading a pre-built application from a DCM application library accessed via said developer portal;

b) further developing said DCM application within said developer portal using at least one of a business object builder, a presentation builder, a rules builder, a report builder, a dashboard builder, and a business process builder;

c) generating a unique DCM application revision for said DCM application developed in step (b); and

d) deploying said application into a DCM runtime platform, said platform comprising at least one of a business data server, a rules processor, a content management server, a desktop renderer, a report server, a dashboard server, an audit server, and a runtime security server;

wherein each of said cases is cast into a model using a modeling language, preferably Case Management Model and Notation (CMMN).

In a preferred embodiment of the invention, said computer-implemented method for developing and deploying DCM applications in a cloud-based service further comprises any of the following steps:

loading a copy of said deployed DCM application into a tenant runtime environment;

generating a form or a view to handle said dynamic cases of modelled data. Using a cloud approach, specifically a Platform as a Service (PaaS) approach, allows people to work where and how they want. The cloud infrastructure used in several embodiments of the present invention can be either private, public, hybrid (i.e. partly on premise, partly in the cloud) or use more advanced cloud-based solutions. This advantageously provides users with a desktop client as well as a mobile device client, e.g. for smartphones and tablets. This allows a collaboration with employees regardless of their location, while other case workers or managers are able to follow- up what they are working on, as well as how and when. A cloud approach also allows rapid application deployment, since there is no need for software installations on a user-by-user basis.

In a preferred embodiment, the computer-implemented methods of the present invention are imbedded in an infrastructure that enables consistent monitoring, makes log files of the various types of performed activities, and makes a proper backup of all data. The invention is further described by the following non-limiting examples which further illustrate the invention, and are not intended to, nor should they be interpreted to, limit the scope of the invention . It is supposed that the present invention is not restricted to any form of realization described previously and that some modifications can be added to the presented example of fabrication without reappraisal of the appended claims.

EXAM PLE

As a genuine DCM platform, an embodiment of the present invention provides the following throughout all stages of a case management life cycle :

Case discovery: all the case types, cases, subcases and related cases are defined in this stage.

Case analysis : case states and their added value are described in this stage, and all the activities that belong to the case are inventoried .

Case design : In this stage, all the related information (such as data, documents, templates and guidelines), case state transitions and process fragments are modeled . The case modeling environment (e.g ., available in a Visio plug-in or a web version) gives the case analyst a powerful tool that uses Case Management Model and Notation (CMMN) and some necessary extensions to design a complete case-driven application without requiring any coding .

Case implementation : in this stage, the entire case design is published into the DCM platform . The present invention also provides necessary services to build new case solutions within the same platform ; it delivers what could be called a "case management platform as a service" (PaaS).

Case monitoring and controlling : in this stage, all case-related activities and events are monitored, and this information is used to create reports. It also introduces case mining to identify bottlenecks and anomalies. Fig. 1 serves as a further example and shows a block diagram of components according to an embod iment of the present invention 100. The system is composed of several independent modules, each of which can be switched out and replaced by another component. Following elements are defined : case design 110, case management 120, application core 130, complex event processing (CEP) component 140, enterprise search component 150 and reporting framework 160.

In order to perform case design 110 in a visual way, for example a plugin 111 in Microsoft Visio is used . With this element, a model of the case can be drawn in CMMN and exported to XML (or published directly to the application core). This component can be used without the rest of the solution for analysis purposes or can be switched out with another component generating CM MN compliant XM L.

For case management 120, end-users are able to handle cases using a web client 121. It is built using e.g . HTML5, JavaScript and CSS3 and works on any recent web browser. Several user interface (UI) components can be used to develop this client application, e.g . Kendo UI (UI components), RequireJS (JavaScript library management), AngularJS (forms design), Bootstrap (responsive design usable on any device), AJAX and Websockets (for real time notifications when collaborating with other people). The web client uses widgets to compose screens, i.e. a dashboard . Each user can choose which widgets should be displayed, where they should be shown and which size they should have. This can be done in both the home screen as the detailed view of each case. For any device (e.g . smartphone, tablet, pc), the user can choose a different layout, depending on the capabilities and the requirements. Default forms to complete tasks are generated when publishing the case with the case designer. These are automatically generated using an XSD file specifying the data model. For example, AngularJS is used to generate these forms. They are stored in the database and can be customized with regard to layout and behavior, for more efficient use.

The application core 130 uses all components to be able to handle cases. It brings together all external components. It can call these components and interpret calls from these components. It consists of the following elements : business logic component 131, security component 132, persistence component 133, and integration component 134.

The business logic component 131 is custom made to be able to handle all commands and route all requests to the correct component. It is written in e.g . Java using the Spring framework. The business logic contains logic to convert a case model to an executable model . It will configure the complex event processing engine (see 140) for the case behavior and configure the persistence (see 133) to be able to handle the data model and store the data in correct formats in the correct places. During execution of a case, it will send events to the event processing engine 140 and interpret commands for further hand ling . It will also call the persistence component 133 for data handling .

The security framework 132 makes sure no unauthorized access can be granted . It will also make sure a user cannot see more information than is allowed . It is developed using e.g . Apache Shiro. This framework contains several configurable authentication providers. CAS SSO integration, e.g. LDAP, Active Directory and Kerberos, is supported and authorization is group and/or role based.

The persistence component 133: the present system allows the use of many data model, which must be easily modifiable and can contain lots of data. To leverage these requirements, a NoSQL database is used, e.g. MongoDB.

Different interfaces 135 (e.g. API, UI) can be used to access the application. The integration component 134 extends the functionality of the application and allows to call to external components using an adapter framework. The business services expose all elements used by the case designer and the UI, thus exposing all services necessary to design and use cases.

The complex event processing (CEP) component 140 is configured with the behavior of the case as modelled by the case designer and will guide the application while cases are being executed.

The enterprise search component 150, which can be developed using e.g. Elasticsearch, allows for a search through all data contained in the system. The search component indexes all data and documents used in cases. It allows full-text search, hit highlighting, faceted search, dynamic clustering, database integration, and rich document (e.g. Word, PDF) handling. It is developed to be highly scalable and very performant.

In a preferred embodiment of the invention, at least one of the repositories is organized according to a faceted classification system, while the DCM system comprises a faceted search application. In a further preferred embodiment, the business data store and/or the DCM model store is organized according to a faceted classification system, while the enterprise search component is a facetted search application. The advantage of using a faceted search application is that it allows for advanced functionalities. For instance associated topics and items are suggested and/or search terms are optionally auto-completed.

The reporting framework 160 allows easy design of custom reports over case data. This component allows creation of reports using the data model defined in the case designer. It allows for graphical design of reports using data sets defined in the internal NoSQL database 133 as well as data from external systems. This component allows users to create their own reports to get a better overview on cases.