Changes
=======

0.3.36
------
- fix incorrectly formatted codename string passed to has_perm for unscheduled appts
- add pre-commit config
- expand testing matrix - add  py3.10 dj4.0, dj4.1

0.3.35
------
- check appointment model permissions before creating unscheduled appointment

0.3.19
------
- tighten up window period validation and handling
- auto create subject visit if appointment is missed

0.3.10
------
- fix issue that triggers a migration if APPT_REASON_CHOICES is customized in setttings
- use default DEFAULT_APPT_REASON_CHOICES on model, use custom choices on modelform
- validate custom choices for APPT_REASON_CHOICES if overriden thru settings
  to ensure required keys are present

0.3.5
-----
- add link in form validation error to requisition changelist

0.2.24
------
- enforce consistent ordering by ``timepoint``, ``visit_code_sequence``
- in ``delete_for_subject_after_date``, bypass ``schedule`` filter with ``is_offstudy``

0.2.23
------
- in ``delete_for_subject_after_date``, add ``visit_schedule_name`` and ``schedule_name``
  to query of future appts (gh-4)
- increment timepoint decimal for interim (continuation) appointments (gh-4)
- enforce consistent ordering by ``timepoint``, ``visit_code_sequence``
- in ``delete_for_subject_after_date``, bypass ``schedule`` filter with ``is_offstudy``
