USP_RECORDOPERATION_UNDOMARKINDIVIDUALDECEASED

Executes the "Individual: Undo Mark Deceased" record operation.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN Input parameter indicating the ID of the record being updated.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the update.

Definition

Copy


                CREATE procedure dbo.USP_RECORDOPERATION_UNDOMARKINDIVIDUALDECEASED
                (
                    @ID uniqueidentifier,
                    @CHANGEAGENTID uniqueidentifier = null
                )
                as
                    set nocount on;

          if @CHANGEAGENTID is null  
            exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

          if exists (select 1 from dbo.DECEASINGRULE where SETMARITALSTATUS = 1)
            begin
              if exists (select 1 from dbo.RELATIONSHIP where RELATIONSHIPCONSTITUENTID = @ID and ISSPOUSE=1)
                begin
                  update
                    set B.MARITALSTATUSCODEID = A.MARITALSTATUSCODEID,
                    CHANGEDBYID = @CHANGEAGENTID
                  from 
                    dbo.CONSTITUENT A 
                  inner join 
                    dbo.RELATIONSHIP R on A.ID = R.RELATIONSHIPCONSTITUENTID
                  inner join 
                    dbo.CONSTITUENT B on R.RECIPROCALCONSTITUENTID = B.ID
                  where 
                    R.ISSPOUSE = 1 
                  and 
                    A.ID = @ID
                end
             end

                    exec dbo.USP_DECEASEDCONSTITUENT_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID;

                    -- Bug 441716 (ADC 12/12/14) - Always update CONSTITUENT table when changing deceased status to show that the constituent's data changed.

                    declare @CURRENTDATE datetime
                    set @CURRENTDATE = getdate();

                    update
                        dbo.CONSTITUENT
                    set
                        DATECHANGED = @CURRENTDATE,
                        CHANGEDBYID = @CHANGEAGENTID
                    where
                        ID = @ID;

                    return 0;