InvalidArgumentError if form is not provided or is not a supported form id
Throws
InvalidArgumentError if contact is not provided or is not the identifier of a valid contact
Throws
InvalidArgumentError if the provided reported_date is not in a valid format. Valid formats are
'YYYY-MM-DDTHH:mm:ssZ', 'YYYY-MM-DDTHH:mm:ss.SSSZ', or .
Returns a function for creating a report from the given data context.