Implementing versioning
Implementing versioning
In Pega Product Composer for Healthcare, entities such as a benefit or plan can undergo changes in their life cycles. Workflows of these entities generally progress at different times in discrete phases. During a phase, you might need to allocate a different set of data or enforce different business rules. In these situations, you can represent the changes to an entity in time blocks. Each time block of an entity is a version. The effective and end dates in PCS are used as the time blocks and they drive versioning for all entities in PCS.
For more information about how versioning works in PCS, see Versioning.
In the Enter details step of all entity creation, the following two core properties drive the versioning logic in PCS:
- Effective date
- End date
Whenever you change one or both of these dates, the PCS application automatically creates a new major version for the new entity. If these dates are not changed and any other property is changed on the entity, the application creates a minor version. For example:
- User A creates a new e-visit benefit. Version 01-01 is assigned by the application.
- User A moves the benefit to the Dev-Approved status. The benefit is now in the Dev Approved work queue and is available in the application’s search list with the Dev-Approved work status.
- Later, User A opens the entity in the application, and clicks Save as new version.
- If User A clicks Next without changing the effective date or end date or both, the next minor version, 01-02, is assigned to the e-visit benefit. Now there are two versions in the application, 01-01 and 01-02, for that entity.
- If User A clicks Next after changing the effective date or end date or both, the next major version, 02-01, is assigned if there are no existing versions in the system with the new dates that were entered. Now there are two versions in the application, 01-01 and 02-01, for that entity.
Extend versioning in PCS
The centralized D_NewVersion data page, which is found in the PegaHC-USA-PCS:08-01-0 ruleset, drives the versioning for all entities in PCS. To change the default versioning logic, you can add any other property from the implementation layer or base PCS layer to the D_NewVersion data page. For more information about using data pages, see Data pages.
There could be many scenarios in which you might want to enhance the versioning logic, such as having open-ended plans, controlling the versions of plans for a particular calendar year, having the versioning for plans for a specific line of business, or adding versioning based on input requests from a sales automation system.
Design inputs
When you try to enhance the versioning logic, you need to keep the auditing needs of the organization in mind. The use of a centralized module for versioning means that the changes are applied to all entities. One of the most common inputs to the design for versioning is the process by which the plans change from year-to-year and the compliance requirements changes in reporting. You must also keep in mind the overall stage in which the updates occur and adjust the versioning configuration accordingly. To prevent updates from occurring to the plans in the Production stage without changing the version, you can update the configuration page by clicking Configure -> Product Composer System -> Configuration in Dev Studio.
Understanding the configuration options available for the versioning logic is extremely critical. With this knowledge, you can act as informed advisors to the business team throughout the life of the project. Additionally, you can also facilitate and deliver quick results if the business team wants to extend the versioning logic to properties beyond the effective dates without breaking any guardrails and keeping compliant with Pega's best practices.