Add Date to PPG Status History Form #3778

Closes #3778
Use most recent consent for withdrawal #3444

When a Participant withdraws from the study we should
be updating their most recent consent rather than
creating a new consent.

This commit ensures that the link shown to the user
will edit the existing consent through the consent survey.
Restore step removed in 682033c9.

It was apparently removed because it used Instrument#response_set,
which was being removed. But it is used in merge.feature so it needs
to stick around. I replaced `@instrument.response_set` with
`@instrument.response_sets.first` because that seems correct in this
context.
Withdrawal #3444

Withdraw children of participant when participant withdraws
from the study.

This is being committed straight to master as it is currently
being tested in QA.

Closes #3444
Provider may not have a unit.
missed !
adding fields to case status report #3738
add net ids to case status report #3738
Enhanced single_birth method for post-natal events when no response to MULTIPLE is provided.

#3768
add reset button to radio questions #3549
1.5.0.rc3
Refactored the single_birth as per comments on PR.

#3768
Survey root did not use survey_identifier #3780

And thus did not correctly choose the activity associated with
the survey having been taken.

Closes #3780
Re-order activities #3786

Activities for 6-month event were ordered improperly.
This commit re-orders the activities.

Closes #3786
1.5.0.rc4
Fixed failing spec

There are 19 segments!
(said in best Jean Luc Picard voice)
Check for participant.person

The recent commit e61f0bc1 changed the method used
to find participants to update. This change returns participants
without associated person records (how this is possible I do not
know and requires investigation).

This commit simply checks if this association exists and if not
then logs that record and continues (as the person association
is required to cancel activities in PSC as the person public_id
is the unique id in PSC.)
Filter informed consent events #3767

When advancing a participant, if an event is not sent
as a parameter we use the most recent event. If that event
is an Informed Consent event the advance does nothing.

This commit filters the Informed Consent event from the list
of events used if event given is nil.
Revert 28bf9eee #3444

New guidelines confirm that a withdrawal is a new participant
consent record rather than an update of an existing consent.

Closes #3444
Set withdraw attributes #3444

and clean up participant after withdrawal

cancel activities in PSC after withdrawal
set person who withdrew consent