|pypi| |actions| |codecov| |downloads|
edc-next-appointment
--------------------
Base classes for managing next appointment CRF at each timepoint
Declare in your app as a longitudinal model / CRF.
For example:
.. code-block:: python
# model.py
class NextAppointment(NextAppointmentCrfModelMixin, CrfModelMixin, BaseUuidModel):
class Meta(CrfModelMixin.Meta, BaseUuidModel.Meta):
verbose_name = "Next Appointment"
verbose_name_plural = "Next Appointments"
# forms.py
class NextAppointmentForm(NextAppointmentModelFormMixin, CrfModelFormMixin, forms.ModelForm):
form_validator_cls = NextAppointmentFormValidator
class Meta:
model = NextAppointment
fields = "__all__"
# admin.py
@admin.register(NextAppointment, site=intecomm_subject_admin)
class NextAppointmentAdmin(NextAppointmentModelAdminMixin, CrfModelAdmin):
form = NextAppointmentForm
.. |pypi| image:: https://img.shields.io/pypi/v/edc-next-appointment.svg
:target: https://pypi.python.org/pypi/edc-next-appointment
.. |actions| image:: https://github.com/clinicedc/edc-next-appointment/workflows/build/badge.svg?branch=develop
:target: https://github.com/clinicedc/edc-next-appointment/actions?query=workflow:build
.. |codecov| image:: https://codecov.io/gh/clinicedc/edc-next-appointment/branch/develop/graph/badge.svg
:target: https://codecov.io/gh/clinicedc/edc-next-appointment
.. |downloads| image:: https://pepy.tech/badge/edc-next-appointment
:target: https://pepy.tech/project/edc-next-appointment
Raw data
{
"_id": null,
"home_page": "https://github.com/clinicedc/edc-next-appointment",
"name": "edc-next-appointment",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "django Edc appointment, scheduling, CRF, clinicedc, clinical trials",
"author": "Erik van Widenfelt",
"author_email": "ew2789@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/60/9b/9ceffd142360e3b1383b7f8985a744473f23112e7e7aa5e262168e205b56/edc_next_appointment-0.3.1.tar.gz",
"platform": null,
"description": "|pypi| |actions| |codecov| |downloads|\n\nedc-next-appointment\n--------------------\n\nBase classes for managing next appointment CRF at each timepoint\n\nDeclare in your app as a longitudinal model / CRF.\n\nFor example:\n\n.. code-block:: python\n\n # model.py\n class NextAppointment(NextAppointmentCrfModelMixin, CrfModelMixin, BaseUuidModel):\n\n class Meta(CrfModelMixin.Meta, BaseUuidModel.Meta):\n verbose_name = \"Next Appointment\"\n verbose_name_plural = \"Next Appointments\"\n\n\n # forms.py\n class NextAppointmentForm(NextAppointmentModelFormMixin, CrfModelFormMixin, forms.ModelForm):\n form_validator_cls = NextAppointmentFormValidator\n\n class Meta:\n model = NextAppointment\n fields = \"__all__\"\n\n\n # admin.py\n @admin.register(NextAppointment, site=intecomm_subject_admin)\n class NextAppointmentAdmin(NextAppointmentModelAdminMixin, CrfModelAdmin):\n form = NextAppointmentForm\n\n\n\n.. |pypi| image:: https://img.shields.io/pypi/v/edc-next-appointment.svg\n :target: https://pypi.python.org/pypi/edc-next-appointment\n\n.. |actions| image:: https://github.com/clinicedc/edc-next-appointment/workflows/build/badge.svg?branch=develop\n :target: https://github.com/clinicedc/edc-next-appointment/actions?query=workflow:build\n\n.. |codecov| image:: https://codecov.io/gh/clinicedc/edc-next-appointment/branch/develop/graph/badge.svg\n :target: https://codecov.io/gh/clinicedc/edc-next-appointment\n\n.. |downloads| image:: https://pepy.tech/badge/edc-next-appointment\n :target: https://pepy.tech/project/edc-next-appointment\n",
"bugtrack_url": null,
"license": "GPL license, see LICENSE",
"summary": "Base classes for managing next appointment CRF at each timepoint in clinicedc/edc projects",
"version": "0.3.1",
"project_urls": {
"Homepage": "https://github.com/clinicedc/edc-next-appointment"
},
"split_keywords": [
"django edc appointment",
" scheduling",
" crf",
" clinicedc",
" clinical trials"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1dd5129b6decbebf0339fd5b0eb29df2b51f48ac090310646d2a43869cdc99f0",
"md5": "4e7e8dd93fc605ce1b4f874296676286",
"sha256": "338ef548b76b9e2985ebed1203f123fe961afac081573ca23b335222d3078e57"
},
"downloads": -1,
"filename": "edc_next_appointment-0.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4e7e8dd93fc605ce1b4f874296676286",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 40599,
"upload_time": "2024-04-17T13:29:46",
"upload_time_iso_8601": "2024-04-17T13:29:46.782783Z",
"url": "https://files.pythonhosted.org/packages/1d/d5/129b6decbebf0339fd5b0eb29df2b51f48ac090310646d2a43869cdc99f0/edc_next_appointment-0.3.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "609b9ceffd142360e3b1383b7f8985a744473f23112e7e7aa5e262168e205b56",
"md5": "84133d643fe07ee21d3ca534e11d2e5d",
"sha256": "f8ea3f4197a3b5d135e6d7fe2baaf8cff9a83760b75035215ead61268cb5abf4"
},
"downloads": -1,
"filename": "edc_next_appointment-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "84133d643fe07ee21d3ca534e11d2e5d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 36705,
"upload_time": "2024-04-17T13:29:48",
"upload_time_iso_8601": "2024-04-17T13:29:48.287307Z",
"url": "https://files.pythonhosted.org/packages/60/9b/9ceffd142360e3b1383b7f8985a744473f23112e7e7aa5e262168e205b56/edc_next_appointment-0.3.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-17 13:29:48",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "clinicedc",
"github_project": "edc-next-appointment",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "edc-next-appointment"
}