Attribute Populators for New Revisions of Regulatory Submissions
This topic explains how to extend the out-of-the-box regulatory submission processor classes and override the attribute populator methods to add custom attribute population.
Intended Outcome
After reading this, you should know how to create custom logic for populating attributes on regulatory submission when they are revised.
Solution
• Creating a custom class that extends an out-of-the-box regulatory submission attribute populator
• Creating an xconf entry to register your custom class
Solution Elements
The description of the various solution elements is given in the table below.
Element
|
Type
|
Description
|
revisePopulatePreNewVersion(RegulatorySubmission regulatorySubmission)
|
API
|
Method to populate data to the given regulatory submission during the revise process before persistence.
|
revisePopulateNewVersion(RegulatorySubmission regulatorySubmission)
|
API
|
Method to populate data to the given regulatory submission during the revise process after persistence.
|
Default Behavior
When creating a new revision of a regulatory submission, the tracking attributes, the regulatory content, and the submission stage reset according to their configuration. The tracking attributes reset according the preference value of each respective type of regulatory submission (RPS, UDI, AER, and ER). Any existing regulatory content is removed depending on the preference value for each respective type of regulatory submission (RPS, UDI, AER, and ER). The
Submission Stage attribute is reset depending on the configured default on the
Submission Stage enumerated list. The default behavior without any configuration changes copies forward all the tracking attribute values and regulatory contents, and the
Submission Stage is reset to
In Progress. For more information, see
Regulatory Master Preferences.
Creating Custom Classes
To customize attribute population when revising a non-revisable or revisable regulatory submission, create a java class (your populator) which extends the SimpleRegulatorySubmissionProcessor or the appropriate revisable subtype populators, such as, AERSubmissionProcessor, ERSubmissionProcessor, RPSSubmissionProcessor, or UDISubmissionProcessor and override the revisePopulatePreNewVersion and revisePopulateNewVersion methods. The example of a new custom class with the minimum requirements of the overridden revisePopulatePreNewVersion and the revisePopulateNewVersion methods is given below:
/**
* @param regulatorySubmission
* @throws Exception
*/
@Override
public void revisePopulatePreNewVersion(RegulatorySubmission regulatorySubmission) throws Exception {
/*
* Overriding this method provides the means to add custom data
* population to any hard or soft data on the RegulatorySubmission
* during the revise process; on the pre-new version.
*/
}
/**
* @param regulatorySubmission
* @throws Exception
*/
@Override
public void revisePopulateNewVersion(RegulatorySubmission regulatorySubmission) throws Exception {
/*
* Overriding this method provides the means to add custom data
* population to any hard or soft data on the RegulatorySubmission
* during the revise process; on the new version.
*/
}