def METHOD_NAME(self):
    for key in self.cleaned_data['patient_config']['person_properties']:
        if key not in PERSON_PROPERTIES:
            raise ValidationError(
                _('person property key "%(key)s" is not valid.'),
                code='invalid',
                params={'key': key}
            )
    for key in self.cleaned_data['patient_config']['person_preferred_name']:
        if key not in NAME_PROPERTIES:
            raise ValidationError(
                _('person preferred name key "%(key)s" is not valid.'),
                code='invalid',
                params={'key': key}
            )
    for key in self.cleaned_data['patient_config']['person_preferred_address']:
        if key not in ADDRESS_PROPERTIES:
            raise ValidationError(
                _('person preferred address key "%(key)s" is not valid.'),
                code='invalid',
                params={'key': key}
            )
    for id_ in self.cleaned_data['patient_config']['match_on_ids']:
        if id_ not in self.cleaned_data['patient_config']['patient_identifiers']:
            raise ValidationError(
                _('ID "%(id_)s" used in "match_on_ids" is missing from "patient_identifiers".'),
                code='invalid',
                params={'id_': id_}
            )
    return self.cleaned_data['patient_config']