Skip to main content

Base django classes for health economics

Project description

pypi actions codecov downloads

edc-he

Health economics model, form mixins for clinicedc / Django

Declare in settings if using concrete models not included in this app:

EDC_HE_ASSETS_MODEL = "<label_lower>"
EDC_HE_HOUSEHOLDHEAD_MODEL = "<label_lower>"
EDC_HE_INCOME_MODEL = "<label_lower>"
EDC_HE_PATIENT_MODEL = "<label_lower>"
EDC_HE_PROPERTY_MODEL = "<label_lower>"

See also module intecomm_subject at https://github.com/intecomm-trial/intecomm-edc.

If you need to declare the Health Economics models in your app, use the provided model mixins.

For example, the HealthEconomicsHouseholdHead model would be declared like this:

# models.py

class HealthEconomicsHouseholdHead(
    SingletonCrfModelMixin,
    HouseholdHeadModelMixin,
    HouseholdModelMixin,
    CrfModelMixin,
    BaseUuidModel,
):

    class Meta(CrfModelMixin.Meta, BaseUuidModel.Meta):
        verbose_name = "Health Economics: Household head"
        verbose_name_plural = "Health Economics: Household head"
# forms.py

class HealthEconomicsHouseholdHeadForm(
    CrfSingletonModelFormMixin, CrfModelFormMixin, forms.ModelForm
):
    form_validator_cls = HealthEconomicsHouseholdHeadFormValidator

    def clean(self):
        self.raise_if_singleton_exists()
        raise_if_clinical_review_does_not_exist(self.cleaned_data.get("subject_visit"))
        return super().clean()
# admin.py


@admin.register(HealthEconomicsHouseholdHead, site=intecomm_subject_admin)
class HealthEconomicsHouseholdHeadAdmin(
    HealthEconomicsHouseholdHeadModelAdminMixin, CrfModelAdmin
):
    form = HealthEconomicsHouseholdHeadForm

The metadata rules may also be declared locally

# metadata_rules.py

from edc_he.rule_groups import Predicates as BaseHealthEconomicsPredicates
from edc_he.rule_groups import HealthEconomicsRuleGroup as BaseHealthEconomicsRuleGroup

class HealthEconomicsPredicates(BaseHealthEconomicsPredicates):
    app_label = "intecomm_subject"
    visit_model = "intecomm_subject.subjectvisit"

@register()
class HealthEconomicsRuleGroup(BaseHealthEconomicsRuleGroup):
    class Meta:
        app_label = "intecomm_subject"
        source_model = "intecomm_subject.subjectvisit"
        predicates = HealthEconomicsPredicates()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

edc-he-0.3.12.tar.gz (77.3 kB view hashes)

Uploaded Source

Built Distribution

edc_he-0.3.12-py3-none-any.whl (102.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page