Data Quality Routine

This routine performs various clean-up tasks in the database including:

People Records

Contact Synching

The routine syncs Contacts with Donors/Participants/Users. See Routines FAQ for more information on how the SVC MNGR syncs these records.

  • Contacts.Donor_Record with Donors.Donor_ID
  • Contacts.Participant_Record with Participants.Participant_ID
  • Contacts.User_Account with dp_Users.User_ID
Other Contact Cleanup
  • Add Suffix to display name on any Contact that has one
  • Assign household position of "Company" to any contact record where Contacts.Company = 1 (yes/true)
  • All email addresses will be made lower case.
  • Populate missing Nickname values. If the Nickname field is null, the routine will auto-populate the Nickname field with the First Name.
  • Add a title on the Care Case page when a Care Case is created from Mobile Tools that shows the Care Type and Display Name of the Contact when there is one or the Household when there is not a Contact.


  • Delete any unused Donor Account records assigned to the Default Contact
  • Merge any duplicate Donor Account records for a Donor
  • Donation Distributions within the past 90 days will be credited to active Pledges that were, for whatever reason, not credited. Pledges will be credited if the Donation is distributed to a Program that is connected to a Pledge Campaign to which the Donor or spouse has an active Pledge.  The Donation date must be LATER than the First Installment date of the Pledge.

Groups and Participation

Forms and Invoices
  • Anyone associated with a Form Response record that came from the Opportunity Finder will be updated with the same person once the Response record is updated. 
  • The Recipient associated with an Invoice Detail record that came from the Portal Event Registration will be updated with the same person once the Event Participant record is updated. 
  • Update Last Attendance Date on Participant record as appropriate from recent attendance posted (the attendance could be for a past, current or future event - the routine looks for the most recent 03 Attended or 04 Confirmed status).
  • End date any current Group Participants on Groups where the End Date was added at the Groups creation (before the Group Participants were added to the Group).
  • Update Last Attendance Posted and Last Group Member Change fields on the Group record.

Groups and Events

  • Create Event_Groups for any Groups found in Event_Rooms table that are associated with future Events to makes reports and tools leveraging Event_Groups still valuable during the transition to using Event_Rooms as part of the new Check In Suite.
  • Set Event_Rooms.__Primary_Reservation (hidden field on Groups & Rooms sub-page) to allow views and reports to target this field to get back only the most relevant record associating a room with an Event when a Room is associated multiple times with an Event in order to accommodate multiple Groups sharing a Room as is common in some Check In Suite scenarios.
Register Into Series

Anyone who is registered for a future Event in a series will automatically be added to all future Events in the series.

See Register Into Series.


  • Replace "WebUser" with the actual user name in the audit log when possible
  • Remove In Recovery from user accounts. After a specified time the temporary password issued will expire and the user will need to begin the process again.
  • Remove any empty "Current/Unsaved Selections."
  • Review Configuration Settings for instances when a primary key integer value that is being used as a configuration setting is no longer present in the table. An alert about this situation will allow a technician to update the value to a value that does exist. This will prevent application errors.

Last Modified: 8/21/2019

Did this article help?
× Thank You for the Feedback