Split Joined SoR Records

Actors

  • User
  • Database
  • OpenRegistry

Pre-Conditions

  • PRE1: User is authenticated and authorized to perform split.
  • PRE2: Identified PRC person to split (most likely via Search for Person Use Case)
  • PRE3: Identified PRC person to receive SoR Records (either via Search for Person Use Case or will indicate that this is a new person)
  • PRE4: Defined list of calculation rules to be executed.

Flow

  1. User provides the following information to the OpenRegistry System:
    1. Required:
      • From prc_person_id.
      • The sor_person_id for each sor record to move.
    2. Optional:
      • To prc_person_id for the case where the person to receive the sor_records is already in the registry.
  2. If the person to receive the the sor records is not already in the registry then OpenRegistry will:
    1. add a new prc_person record.
    2. generate identifiers normally generated on an add of a person to the registry using data from the sor record.
    3. establish prc_person data using data from the sor record.
  3. For each sor record being moved where sor record is a prs_person record:
    1. Check if there exists a prs_person record for the receiving person with a matching sor source:
      1. if found, give error message.  System of Records must correct their own data.
      2. if not found:
        1. associate prs_person record with the prc_person_id of the receiving person.
        2. For each prs_role record, find the prc_role record pointed to by the prs_role record and point the prc_role record to the prc_person record of the person receiving the sor record.

Post Conditions

  • From person and to Person are recalculated.
  • Downstream systems are notified of change.

Exceptions

  • EX1: If any rule calculation fails, the flow should fail.