PRPC Case Types

Case Types are a key element in Pega BPM development and it is important for Pega Business Architects to have an understanding of them.

Case Type is what Pega used to call a Work Type prior to Pega 7. Although the Type is a Pega implementation device, the concept also has a place in the business world. If you want to figure out whether something is truly business in nature rather than just a constraint of the ethnology you are using, imagine going back a hundred years. If the concept has a place in the world of paper, ink and elbow-grease, then it is probably not a technological constraint.

Can we imagine Types in a technology-agnostic world? Yes, we can.

Anyone who works for a company understand the concept of having to submit a formal request whenever they want to take leave (time off). In a world without computers, you might have to fill out a special form. Let’s call the form a Leave Request. There is space on the form for you to document anything you need to about your requested leave. After completing the form, you take it to your line manager, who has to review your request, noting any comments and the outcome of the review on the form itself. Your manager can approve or reject the request. Under certain circumstances, your line manager’s approval might not be enough. Perhaps you are requesting unpaid leave, which also requires approval of the HR manager. The form is therefore reviewed by the HR manager, who notes any comments and the outcome of the review.

If you have recognised this process as a workflow, then feel free to treat yourself to a neck massage and a slice of chocolate cake. A piece of work is flowing from one role to another, each role assuming responsibility for the work as the process progresses. In this case, the business process is a workflow, although not all business processes involve workflow. You might name this process “Request Leave”.

The thing being processed is not a one-off. It is something that happens over and over in the company. Therefore, the work has a pre-defined type. In this case, you might name the type “Leave Request”. If you are familiar with logical data modelling, you will recognise that “Leave Request” is an Entity Type. In fact, the Case Type in Pega 7 is the implementation of a key Entity Type.

However, in the business world, Entity Types also exist outside the context of workflow and case management. In Pega, when you execute any process (whether workflow or not) a container is created which holds all the information needed about that instance of the process. Such a container is called an Object and its abstract definition is a Type. Identifying all Types, including non-workflow types, is important in designing the class structure for the Pega implementation.

Take a process for amending an address. It does not involve workflow because the work does not move from role to role. A single role starts and completes the work independently. The process is called “Amend Address” and although the Business does not need a work type called “Address Amendment”, the PRPC implementation does.

If in doubt, work closely with the PRPC Lead Systems Architect during the early stages of the project to define Types but make sure you have a robust logical data model to work from!

Kind regards,

Declan Chellar

Related posts:

2 comments to PRPC Case Types

  • Luc

    If the ‘Case Type’ represents a ‘thing being processed’ shouldn’t its name be a verb-object (with verb in imperative mode ) rather than as a noun or Entity Type?

    • Declan Chellar

      Hello, Luc.

      I would always label the thing being processed with a noun phrase only because we are labelling only the thing itself and not what actions can be applied to that thing. Actions (i.e., processes) that can be applied to a thing I would label with a verb phrase.

      In Pega a Case Type does not represent a process, rather it represents a mechanism for holding information about a particular type of case.

      Kind regards.

      Declan

Leave a Reply to Declan Chellar Cancel reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>