.

edc-visit-schedule的Python项目详细描述


pypitraviscodecovdownloads

EDC访问计划

向应用程序添加数据收集计划。

安装

添加到设置:

INSTALLED_APPS=[...'edc_visit_schedule.apps.AppConfig',...]

概述

  • 一个Visit Schedule存在于visit_schedules.py中的应用程序中。每个应用程序都可以在其visit_schedules模块中声明和注册一个或多个访问计划。从AppConfig调用autodiscover时加载就诊计划。
  • 一个VisitSchedule包含Schedules,其中包含Visits,其中包含CrfsRequisitions
  • schedule实际上是一个“数据收集计划”,其中每个包含的visit表示一个数据收集时间点。
  • 主题由调度的onschedule模型放在schedule上,并由调度的offschedule模型取下。在下面的示例中,我们使用模型OnScheduleOffSchedule对scheduleschedule1执行此操作。

使用量

首先,在应用程序的根目录中创建一个文件visit_schedules.py,下面的访问计划代码将在其中运行。

接下来,声明每次访问期间要完成的数据列表Crfs和实验室Requisitions。为了简单起见,我们假设每次访问都有相同的数据收集要求(通常不是这样)。

frommyapp.modelsimportSubjectVisit,OnSchedule,OffSchedule,SubjectDeathReport,SubjectOffstudyfromedc_visit_schedule.site_visit_schedulesimportsite_visit_schedulesfromedc_visit_schedule.scheduleimportSchedulefromedc_visit_schedule.visitimportCrf,Requisition,FormsCollectionfromedc_visit_schedule.visit_scheduleimportVisitSchedulecrfs=FormsCollection(Crf(show_order=10,model='myapp.crfone'),Crf(show_order=20,model='myapp.crftwo'),Crf(show_order=30,model='myapp.crfthree'),Crf(show_order=40,model='myapp.crffour'),Crf(show_order=50,model='myapp.crffive'),)requisitions=FormsCollection(Requisition(show_order=10,model='myapp.subjectrequisition',panel_name='Research Blood Draw'),Requisition(show_order=20,model='myapp.subjectrequisition',panel_name='Viral Load'),)

创建新的就诊计划:

subject_visit_schedule=VisitSchedule(name='subject_visit_schedule',verbose_name='My Visit Schedule',death_report_model=SubjectDeathReport,offstudy_model=SubjectOffstudy,visit_model=SubjectVisit)

访问计划包含Schedules,因此请创建计划:

schedule=Schedule(name='schedule1',onschedule_model='myapp.onschedule',offschedule_model='myapp.offschedule')

日程安排包含访问,因此标记一些访问并添加到schedule

visit0=Visit(code='1000',title='Visit 1000',timepoint=0,rbase=relativedelta(days=0),requisitions=requisitions,crfs=crfs)visit1=Visit(code='2000',title='Visit 2000',timepoint=1,rbase=relativedelta(days=28),requisitions=requisitions,crfs=crfs)schedule.add_visit(visit=visit0)schedule.add_visit(visit=visit1)

将日程添加到您的访问日程:

schedule=subject_visit_schedule.add_schedule(schedule)

向网站注册表注册访问计划:

site_visit_schedules.register(subject_visit_schedule)

当django加载时,visit schedule类将在全局site_visit_schedules中可用。

site_visit_schedules有许多方法可以帮助查询访问计划和一些相关数据。

Note: The ^{tt11}$ above was declared with ^{tt27}$. An on-schedule model uses the ^{tt28}$ from ^{tt29}$. On ^{tt30}$ the method ^{tt31}$ is called. This method uses the visit schedule information to create the appointments as per the visit data in the schedule. See also ^{tt29}$.

计划内和计划外模型

两个模型-MIXIN可用于计划表和非计划模型,^ {TT33 } $和^ {TT34 } $。onschedule/offschedule模型特定于schedule。模型的Meta类属性visit_schedule_name上声明了visit_schedule_nameschedule_name

例如:

classOnSchedule(OnScheduleModelMixin,CreateAppointmentsMixin,RequiresConsentModelMixin,BaseUuidModel):classMeta(EnrollmentModelMixin.Meta):visit_schedule_name='subject_visit_schedule.schedule1'consent_model='myapp.subjectconsent'classOffSchedule(OffScheduleModelMixin,RequiresConsentModelMixin,BaseUuidModel):classMeta(OffScheduleModelMixin.Meta):visit_schedule_name='subject_visit_schedule.schedule1'consent_model='myapp.subjectconsent'

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
.net等效于Java的Swing TableModel?   java将具有相同标记的xml结构解组到不同的字段   JavaSpringDataGemFire:自定义过期示例   设计模式质疑java中工厂函数的使用   文本区域中的swing格式。JAVA   Java:IEEE双倍于IBM浮点   java解析微数据时,我得到的是空值   java如何配置Ebean生成SQLite代码   具有复合工厂或抽象工厂的java工厂   如何使用java中的POI在excel工作表中获取小计   Java中指向整数的指针   java每次都会得到一个新的随机数[Dice Simulator]   javalucene:多线程文档复制   Java不仅使用ArrayList,还创建它(泛型)