From cd469ce4d6e857395cdc6b2a258c62051737e210 Mon Sep 17 00:00:00 2001 From: urrutia Date: Mon, 1 May 2023 11:05:27 -0400 Subject: [PATCH 1/9] adding repeat instance to measurments table and methods --- src/vbr/api/measurement.py | 11 +++++++++-- src/vbr/tableclasses/single_tables.py | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/vbr/api/measurement.py b/src/vbr/api/measurement.py index 6f721e1..46c3501 100644 --- a/src/vbr/api/measurement.py +++ b/src/vbr/api/measurement.py @@ -36,6 +36,7 @@ def create_measurement( status_id: int, volume: float = DEFAULT_VOLUME_ML, creation_timestr: str = None, + redcap_repeat_instance: int = None, ) -> Measurement: """Create a new Measurement.""" # TODO - data_event @@ -49,6 +50,7 @@ def create_measurement( status=status_id, volume=volume, creation_time=creation_timestr, + redcap_repeat_instance=redcap_repeat_instance, ) try: return self.vbr_client.create_row(bs)[0] @@ -66,6 +68,7 @@ def create_or_get_measurement_by_tracking_id( status_id: int, volume: float, creation_timestr: str = None, + redcap_repeat_instance: int = None, ) -> Measurement: """Create a Measurement or return existing with specified tracking_id.""" try: @@ -79,6 +82,7 @@ def create_or_get_measurement_by_tracking_id( status_id, volume, creation_timestr, + redcap_repeat_instance ) except Exception: return self.get_measurement_by_tracking_id(tracking_id) @@ -154,9 +158,12 @@ def get_measurements_in_container(self, container: Container) -> List[Measuremen root_url="measurement", query=query, limit=1000000 ) - def get_measurements_in_biosample(self, biosample: Biosample) -> List[Measurement]: + def get_measurements_in_biosample(self, biosample: Biosample, redcap_repeat_instance) -> List[Measurement]: """Retrieve Measurements in a Biosample.""" - query = {"biosample": {"operator": "=", "value": biosample.biosample_id}} + query = { + "biosample": {"operator": "=", "value": biosample.biosample_id}, + "redcap_repeat_instance": {"operator": "=", "value": redcap_repeat_instance} + } return self.vbr_client.query_rows( root_url="measurement", query=query, limit=1000000 ) diff --git a/src/vbr/tableclasses/single_tables.py b/src/vbr/tableclasses/single_tables.py index 4efd075..620a27e 100644 --- a/src/vbr/tableclasses/single_tables.py +++ b/src/vbr/tableclasses/single_tables.py @@ -288,6 +288,7 @@ class Measurement(TableVBR): volume = Column( Numeric, nullable=False, default=0.0, comments="Volume in milliliters" ) + redcap_repeat_instance = Column(Integer, nullable=True, comments=None) class MeasurementType(TableVBR): From f5f1f64104750f3c40633ede6ae87857b74441cb Mon Sep 17 00:00:00 2001 From: urrutia Date: Tue, 2 May 2023 06:20:54 -0400 Subject: [PATCH 2/9] patch for quering null repeat instance --- src/vbr/api/measurement.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/vbr/api/measurement.py b/src/vbr/api/measurement.py index 46c3501..88ce4a5 100644 --- a/src/vbr/api/measurement.py +++ b/src/vbr/api/measurement.py @@ -160,10 +160,15 @@ def get_measurements_in_container(self, container: Container) -> List[Measuremen def get_measurements_in_biosample(self, biosample: Biosample, redcap_repeat_instance) -> List[Measurement]: """Retrieve Measurements in a Biosample.""" - query = { - "biosample": {"operator": "=", "value": biosample.biosample_id}, - "redcap_repeat_instance": {"operator": "=", "value": redcap_repeat_instance} - } + # PgREST doesn't handle =None queries well, patch: + if redcap_repeat_instance is not None: + query = { + "biosample": {"operator": "=", "value": biosample.biosample_id}, + "redcap_repeat_instance": {"operator": "=", "value": redcap_repeat_instance} + } + else: + query = { + "biosample": {"operator": "=", "value": biosample.biosample_id} } return self.vbr_client.query_rows( root_url="measurement", query=query, limit=1000000 ) From bb6fa19fb382c390eecdb6b9980c0749d0758d54 Mon Sep 17 00:00:00 2001 From: urrutia Date: Thu, 1 Jun 2023 11:29:00 -0400 Subject: [PATCH 3/9] adding function for redcap form queries --- src/vbr/api/measurement.py | 2 +- src/vbr/api/redcap.py | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/vbr/api/measurement.py b/src/vbr/api/measurement.py index 88ce4a5..6e698f9 100644 --- a/src/vbr/api/measurement.py +++ b/src/vbr/api/measurement.py @@ -168,7 +168,7 @@ def get_measurements_in_biosample(self, biosample: Biosample, redcap_repeat_inst } else: query = { - "biosample": {"operator": "=", "value": biosample.biosample_id} } + "biosample": {"operator": "=", "value": biosample.biosample_id}} return self.vbr_client.query_rows( root_url="measurement", query=query, limit=1000000 ) diff --git a/src/vbr/api/redcap.py b/src/vbr/api/redcap.py index 43cac25..7c02263 100644 --- a/src/vbr/api/redcap.py +++ b/src/vbr/api/redcap.py @@ -45,6 +45,17 @@ def get_redcap_record_by_biosample_and_instance( return self._get_row_from_table_with_query(redcap_form_name, query=query) + def get_redcap_record_by_subject_and_protocol( + self, redcap_form_name: str, subject_id: str, protocol_id: str + ) -> RcapTable: + """Retrieve a Biosample by subject and protocol IDs.""" + redcap_form_name = 'rcap_'+redcap_form_name + query = { + "subject_id": {"operator": "=", "value": subject_id}, + "protocol_id": {"operator": "=", "value": protocol_id} + } + return self._get_row_from_table_with_query(redcap_form_name, query=query) + def update_redcap_record( self, redcap_form_name: str, redcap_record: RcapTable, rcap_row: RcapTable ) -> RcapTable: From 9136d7ac8f0ef54019a91a75fb4947621134f47e Mon Sep 17 00:00:00 2001 From: urrutia Date: Thu, 21 Sep 2023 10:38:19 -0500 Subject: [PATCH 4/9] updating metadata for new thoracic/knee projects --- src/vbr/utils/redcaptasks/arms.csv | 19 +++ src/vbr/utils/redcaptasks/metadata.csv | 221 +++++++++++++++++++++++++ 2 files changed, 240 insertions(+) diff --git a/src/vbr/utils/redcaptasks/arms.csv b/src/vbr/utils/redcaptasks/arms.csv index 0069b99..ee3a200 100644 --- a/src/vbr/utils/redcaptasks/arms.csv +++ b/src/vbr/utils/redcaptasks/arms.csv @@ -35,3 +35,22 @@ arm_id,project_id,arm_num,arm_name 38,37,1,Arm 1 39,38,1,Arm 1 40,39,1,Arm 1 +15,14,1,Arm 1 +23,22,1,Arm 1 +33,32,1,Arm 1 +34,33,1,Arm 1 +61,59,1,Arm 1 +63,61,1,Arm 1 +66,64,1,Arm 1 +29,28,1,Arm 1 +30,29,1,Arm 1 +40,39,1,Arm 1 +42,41,1,Arm 1 +43,42,1,Arm 1 +48,47,1,Arm 1 +49,48,1,Arm 1 +50,49,1,Arm 1 +51,50,1,Arm 1 +62,60,1,Arm 1 +64,62,1,Arm 1 +67,65,1,Arm 1 \ No newline at end of file diff --git a/src/vbr/utils/redcaptasks/metadata.csv b/src/vbr/utils/redcaptasks/metadata.csv index e5b4044..2c2368d 100644 --- a/src/vbr/utils/redcaptasks/metadata.csv +++ b/src/vbr/utils/redcaptasks/metadata.csv @@ -227,3 +227,224 @@ event_id,arm_id,day_offset,offset_min,offset_max,descrip,external_id,custom_even 349,39,40,0,0,12-Mo Post-Op,NULL,NULL 350,39,41,0,0,Event Reporting,NULL,NULL 351,40,1,0,0,Event 1,NULL,NULL +41,15,1,0,0,Informed Consent,NULL,NULL +42,15,2,0,0,Baseline Visit,NULL,NULL +43,15,30,0,0,6-Wks Post-Op,NULL,NULL +44,15,31,0,0,3-Mo Post-Op,NULL,NULL +45,15,32,0,0,6-Mo Post-Op,NULL,NULL +47,15,47,0,0,12-Mo Post-Op,NULL,NULL +48,15,3,0,0,3 Days Pre-Op,NULL,NULL +89,15,5,0,0,Day 4 Post-Op,NULL,[traj04wkenterdate] +90,15,6,0,0,Day 5 Post-Op,NULL,[traj04wkenterdate] +91,15,7,0,0,Day 6 Post-Op,NULL,[traj04wkenterdate] +92,15,8,0,0,Day 7 Post-Op,NULL,[traj04wkenterdate] +93,15,9,0,0,Day 8 Post-Op,NULL,[traj04wkenterdate] +94,15,10,0,0,Day 9 Post-Op,NULL,[traj04wkenterdate] +95,15,11,0,0,Day 10 Post-Op,NULL,[traj04wkenterdate] +96,15,12,0,0,Day 11 Post-Op,NULL,[traj04wkenterdate] +97,15,13,0,0,Day 12 Post-Op,NULL,[traj04wkenterdate] +98,15,14,0,0,Day 13 Post-Op,NULL,[traj04wkenterdate] +99,15,15,0,0,Day 14 Post-Op,NULL,[traj04wkenterdate] +100,15,16,0,0,Day 15 Post-Op,NULL,[traj04wkenterdate] +101,15,17,0,0,Day 16 Post-Op,NULL,[traj04wkenterdate] +102,15,18,0,0,Day 17 Post-Op,NULL,[traj04wkenterdate] +103,15,19,0,0,Day 18 Post-Op,NULL,[traj04wkenterdate] +104,15,20,0,0,Day 19 Post-Op,NULL,[traj04wkenterdate] +105,15,21,0,0,Day 20 Post-Op,NULL,[traj04wkenterdate] +106,15,22,0,0,Day 21 Post-Op,NULL,[traj04wkenterdate] +107,15,23,0,0,Day 22 Post-Op,NULL,[traj04wkenterdate] +108,15,24,0,0,Day 23 Post-Op,NULL,[traj04wkenterdate] +109,15,25,0,0,Day 24 Post-Op,NULL,[traj04wkenterdate] +110,15,26,0,0,Day 25 Post-Op,NULL,[traj04wkenterdate] +111,15,27,0,0,Day 26 Post-Op,NULL,[traj04wkenterdate] +112,15,28,0,0,Day 27 Post-Op,NULL,[traj04wkenterdate] +113,15,29,0,0,Day 28 Post-Op,NULL,[traj04wkenterdate] +114,15,33,0,0,6-Mo Post-Op Day 1 ,NULL,NULL +115,15,34,0,0,6-Mo Post-Op Day 2,NULL,NULL +116,15,35,0,0,6-Mo Post-Op Day 3,NULL,NULL +117,15,36,0,0,6-Mo Post-Op Day 4,NULL,NULL +118,15,37,0,0,6-Mo Post-Op Day 5,NULL,NULL +119,15,38,0,0,6-Mo Post-Op Day 6,NULL,NULL +120,15,39,0,0,6-Mo Post-Op Day 7,NULL,NULL +164,15,48,0,0,Event Reporting,NULL,NULL +167,23,1,0,0,Screening,NULL,NULL +210,15,4,0,0,Day 3 Post-Op,NULL,[traj04wkenterdate] +304,33,1,0,0,Screening,NULL,NULL +305,34,1,0,0,Screening,NULL,NULL +363,15,40,0,0,6-Mo Post-Op Day 8,NULL,NULL +364,15,41,0,0,6-Mo Post-Op Day 9,NULL,NULL +365,15,42,0,0,6-Mo Post-Op Day 10,NULL,NULL +366,15,43,0,0,6-Mo Post-Op Day 11,NULL,NULL +367,15,44,0,0,6-Mo Post-Op Day 12,NULL,NULL +368,15,45,0,0,6-Mo Post-Op Day 13,NULL,NULL +369,15,46,0,0,6-Mo Post-Op Day 14,NULL,NULL +551,61,1,0,0,Screening,NULL,NULL +553,63,1,0,0,Informed Consent,NULL,NULL +554,63,2,0,0,Baseline Visit,NULL,NULL +555,63,3,0,0,3 Days Pre-Op,NULL,NULL +556,63,4,0,0,Day 3 Post-Op,NULL,[traj04wkenterdate] +557,63,5,0,0,Day 4 Post-Op,NULL,[traj04wkenterdate] +558,63,6,0,0,Day 5 Post-Op,NULL,[traj04wkenterdate] +559,63,7,0,0,Day 6 Post-Op,NULL,[traj04wkenterdate] +560,63,8,0,0,Day 7 Post-Op,NULL,[traj04wkenterdate] +561,63,9,0,0,Day 8 Post-Op,NULL,[traj04wkenterdate] +562,63,10,0,0,Day 9 Post-Op,NULL,[traj04wkenterdate] +563,63,11,0,0,Day 10 Post-Op,NULL,[traj04wkenterdate] +564,63,12,0,0,Day 11 Post-Op,NULL,[traj04wkenterdate] +565,63,13,0,0,Day 12 Post-Op,NULL,[traj04wkenterdate] +566,63,14,0,0,Day 13 Post-Op,NULL,[traj04wkenterdate] +567,63,15,0,0,Day 14 Post-Op,NULL,[traj04wkenterdate] +568,63,16,0,0,Day 15 Post-Op,NULL,[traj04wkenterdate] +569,63,17,0,0,Day 16 Post-Op,NULL,[traj04wkenterdate] +570,63,18,0,0,Day 17 Post-Op,NULL,[traj04wkenterdate] +571,63,19,0,0,Day 18 Post-Op,NULL,[traj04wkenterdate] +572,63,20,0,0,Day 19 Post-Op,NULL,[traj04wkenterdate] +573,63,21,0,0,Day 20 Post-Op,NULL,[traj04wkenterdate] +574,63,22,0,0,Day 21 Post-Op,NULL,[traj04wkenterdate] +575,63,23,0,0,Day 22 Post-Op,NULL,[traj04wkenterdate] +576,63,24,0,0,Day 23 Post-Op,NULL,[traj04wkenterdate] +577,63,25,0,0,Day 24 Post-Op,NULL,[traj04wkenterdate] +578,63,26,0,0,Day 25 Post-Op,NULL,[traj04wkenterdate] +579,63,27,0,0,Day 26 Post-Op,NULL,[traj04wkenterdate] +580,63,28,0,0,Day 27 Post-Op,NULL,[traj04wkenterdate] +581,63,29,0,0,Day 28 Post-Op,NULL,[traj04wkenterdate] +582,63,30,0,0,6-Wks Post-Op,NULL,NULL +583,63,31,0,0,3-Mo Post-Op,NULL,NULL +584,63,32,0,0,6-Mo Post-Op,NULL,NULL +585,63,33,0,0,6-Mo Post-Op Day 1 ,NULL,NULL +586,63,34,0,0,6-Mo Post-Op Day 2,NULL,NULL +587,63,35,0,0,6-Mo Post-Op Day 3,NULL,NULL +588,63,36,0,0,6-Mo Post-Op Day 4,NULL,NULL +589,63,37,0,0,6-Mo Post-Op Day 5,NULL,NULL +590,63,38,0,0,6-Mo Post-Op Day 6,NULL,NULL +591,63,39,0,0,6-Mo Post-Op Day 7,NULL,NULL +592,63,40,0,0,6-Mo Post-Op Day 8,NULL,NULL +593,63,41,0,0,6-Mo Post-Op Day 9,NULL,NULL +594,63,42,0,0,6-Mo Post-Op Day 10,NULL,NULL +595,63,43,0,0,6-Mo Post-Op Day 11,NULL,NULL +596,63,44,0,0,6-Mo Post-Op Day 12,NULL,NULL +597,63,45,0,0,6-Mo Post-Op Day 13,NULL,NULL +598,63,46,0,0,6-Mo Post-Op Day 14,NULL,NULL +599,63,47,0,0,12-Mo Post-Op,NULL,NULL +600,63,48,0,0,Event Reporting,NULL,NULL +651,23,2,0,0,June 2022 Re-consent,NULL,NULL +652,61,2,0,0,June 2022 Re-consent,NULL,NULL +653,33,2,0,0,June 2022 Re-consent,NULL,NULL +654,34,2,0,0,June 2022 Re-consent,NULL,NULL +663,66,1,0,0,Screening,NULL,NULL +664,66,2,0,0,June 2022 Re-consent,NULL,NULL +260,29,1,0,0,Screening,NULL,NULL +261,30,1,0,0,Informed Consent,NULL,NULL +262,30,2,0,0,Baseline Visit,NULL,NULL +263,30,3,0,0,3 Days Pre-Op,NULL,NULL +264,30,4,0,0,Day 3 Post-Op,NULL,[traj04wkenterdate] +265,30,5,0,0,Day 4 Post-Op,NULL,[traj04wkenterdate] +266,30,6,0,0,Day 5 Post-Op,NULL,[traj04wkenterdate] +267,30,7,0,0,Day 6 Post-Op,NULL,[traj04wkenterdate] +268,30,8,0,0,Day 7 Post-Op,NULL,[traj04wkenterdate] +269,30,9,0,0,Day 8 Post-Op,NULL,[traj04wkenterdate] +270,30,10,0,0,Day 9 Post-Op,NULL,[traj04wkenterdate] +271,30,11,0,0,Day 10 Post-Op,NULL,[traj04wkenterdate] +272,30,12,0,0,Day 11 Post-Op,NULL,[traj04wkenterdate] +273,30,13,0,0,Day 12 Post-Op,NULL,[traj04wkenterdate] +274,30,14,0,0,Day 13 Post-Op,NULL,[traj04wkenterdate] +275,30,15,0,0,Day 14 Post-Op,NULL,[traj04wkenterdate] +276,30,16,0,0,Day 15 Post-Op,NULL,[traj04wkenterdate] +277,30,17,0,0,Day 16 Post-Op,NULL,[traj04wkenterdate] +278,30,18,0,0,Day 17 Post-Op,NULL,[traj04wkenterdate] +279,30,19,0,0,Day 18 Post-Op,NULL,[traj04wkenterdate] +280,30,20,0,0,Day 19 Post-Op,NULL,[traj04wkenterdate] +281,30,21,0,0,Day 20 Post-Op,NULL,[traj04wkenterdate] +282,30,22,0,0,Day 21 Post-Op,NULL,[traj04wkenterdate] +283,30,23,0,0,Day 22 Post-Op,NULL,[traj04wkenterdate] +284,30,24,0,0,Day 23 Post-Op,NULL,[traj04wkenterdate] +285,30,25,0,0,Day 24 Post-Op,NULL,[traj04wkenterdate] +286,30,26,0,0,Day 25 Post-Op,NULL,[traj04wkenterdate] +287,30,27,0,0,Day 26 Post-Op,NULL,[traj04wkenterdate] +288,30,28,0,0,Day 27 Post-Op,NULL,[traj04wkenterdate] +289,30,29,0,0,Day 28 Post-Op,NULL,[traj04wkenterdate] +290,30,30,0,0,6-Wks Post-Op,NULL,NULL +291,30,31,0,0,3-Mo Post-Op,NULL,NULL +292,30,32,0,0,6-Mo Post-Op,NULL,NULL +293,30,33,0,0,6-Mo Post-Op Day 1 ,NULL,NULL +294,30,34,0,0,6-Mo Post-Op Day 2,NULL,NULL +295,30,35,0,0,6-Mo Post-Op Day 3,NULL,NULL +296,30,36,0,0,6-Mo Post-Op Day 4,NULL,NULL +297,30,37,0,0,6-Mo Post-Op Day 5,NULL,NULL +298,30,38,0,0,6-Mo Post-Op Day 6,NULL,NULL +299,30,39,0,0,6-Mo Post-Op Day 7,NULL,NULL +300,30,47,0,0,12-Mo Post-Op,NULL,NULL +301,30,48,0,0,Event Reporting,NULL,NULL +351,40,1,0,0,Screening,NULL,NULL +353,42,1,0,0,Screening,NULL,NULL +354,43,1,0,0,Screening,NULL,NULL +370,30,40,0,0,6-Mo Post-Op Day 8,NULL,NULL +371,30,41,0,0,6-Mo Post-Op Day 9,NULL,NULL +372,30,42,0,0,6-Mo Post-Op Day 10,NULL,NULL +373,30,43,0,0,6-Mo Post-Op Day 11,NULL,NULL +374,30,44,0,0,6-Mo Post-Op Day 12,NULL,NULL +375,30,45,0,0,6-Mo Post-Op Day 13,NULL,NULL +376,30,46,0,0,6-Mo Post-Op Day 14,NULL,NULL +444,48,1,0,0,Screening,NULL,NULL +445,49,1,0,0,Screening,NULL,NULL +446,50,1,0,0,Event 1,NULL,NULL +447,51,1,0,0,Screening,NULL,NULL +552,62,1,0,0,Screening,NULL,NULL +601,64,1,0,0,Informed Consent,NULL,NULL +602,64,2,0,0,Baseline Visit,NULL,NULL +603,64,3,0,0,3 Days Pre-Op,NULL,NULL +604,64,4,0,0,Day 3 Post-Op,NULL,[traj04wkenterdate] +605,64,5,0,0,Day 4 Post-Op,NULL,[traj04wkenterdate] +606,64,6,0,0,Day 5 Post-Op,NULL,[traj04wkenterdate] +607,64,7,0,0,Day 6 Post-Op,NULL,[traj04wkenterdate] +608,64,8,0,0,Day 7 Post-Op,NULL,[traj04wkenterdate] +609,64,9,0,0,Day 8 Post-Op,NULL,[traj04wkenterdate] +610,64,10,0,0,Day 9 Post-Op,NULL,[traj04wkenterdate] +611,64,11,0,0,Day 10 Post-Op,NULL,[traj04wkenterdate] +612,64,12,0,0,Day 11 Post-Op,NULL,[traj04wkenterdate] +613,64,13,0,0,Day 12 Post-Op,NULL,[traj04wkenterdate] +614,64,14,0,0,Day 13 Post-Op,NULL,[traj04wkenterdate] +615,64,15,0,0,Day 14 Post-Op,NULL,[traj04wkenterdate] +616,64,16,0,0,Day 15 Post-Op,NULL,[traj04wkenterdate] +617,64,17,0,0,Day 16 Post-Op,NULL,[traj04wkenterdate] +618,64,18,0,0,Day 17 Post-Op,NULL,[traj04wkenterdate] +619,64,19,0,0,Day 18 Post-Op,NULL,[traj04wkenterdate] +620,64,20,0,0,Day 19 Post-Op,NULL,[traj04wkenterdate] +621,64,21,0,0,Day 20 Post-Op,NULL,[traj04wkenterdate] +622,64,22,0,0,Day 21 Post-Op,NULL,[traj04wkenterdate] +623,64,23,0,0,Day 22 Post-Op,NULL,[traj04wkenterdate] +624,64,24,0,0,Day 23 Post-Op,NULL,[traj04wkenterdate] +625,64,25,0,0,Day 24 Post-Op,NULL,[traj04wkenterdate] +626,64,26,0,0,Day 25 Post-Op,NULL,[traj04wkenterdate] +627,64,27,0,0,Day 26 Post-Op,NULL,[traj04wkenterdate] +628,64,28,0,0,Day 27 Post-Op,NULL,[traj04wkenterdate] +629,64,29,0,0,Day 28 Post-Op,NULL,[traj04wkenterdate] +630,64,30,0,0,6-Wks Post-Op,NULL,NULL +631,64,31,0,0,3-Mo Post-Op,NULL,NULL +632,64,32,0,0,6-Mo Post-Op,NULL,NULL +633,64,33,0,0,6-Mo Post-Op Day 1 ,NULL,NULL +634,64,34,0,0,6-Mo Post-Op Day 2,NULL,NULL +635,64,35,0,0,6-Mo Post-Op Day 3,NULL,NULL +636,64,36,0,0,6-Mo Post-Op Day 4,NULL,NULL +637,64,37,0,0,6-Mo Post-Op Day 5,NULL,NULL +638,64,38,0,0,6-Mo Post-Op Day 6,NULL,NULL +639,64,39,0,0,6-Mo Post-Op Day 7,NULL,NULL +640,64,40,0,0,6-Mo Post-Op Day 8,NULL,NULL +641,64,41,0,0,6-Mo Post-Op Day 9,NULL,NULL +642,64,42,0,0,6-Mo Post-Op Day 10,NULL,NULL +643,64,43,0,0,6-Mo Post-Op Day 11,NULL,NULL +644,64,44,0,0,6-Mo Post-Op Day 12,NULL,NULL +645,64,45,0,0,6-Mo Post-Op Day 13,NULL,NULL +646,64,46,0,0,6-Mo Post-Op Day 14,NULL,NULL +647,64,47,0,0,12-Mo Post-Op,NULL,NULL +648,64,48,0,0,Event Reporting,NULL,NULL +655,29,2,0,0,June 2022 Re-consent,NULL,NULL +656,62,2,0,0,Re-consent,NULL,NULL +657,40,2,0,0,June 2022 Re-consent,NULL,NULL +658,42,2,0,0,June 2022 Re-consent,NULL,NULL +659,43,2,0,0,June 2022 Re-consent,NULL,NULL +660,48,2,0,0,June 2022 Re-consent,NULL,NULL +661,51,2,0,0,June 2022 Re-consent,NULL,NULL +662,49,2,0,0,June 2022 Re-consent,NULL,NULL +665,67,1,0,0,Screening,NULL,NULL +666,67,2,0,0,2022 Re-consent,NULL,NULL From 975b107a881c9005329243bc75344732ea21059e Mon Sep 17 00:00:00 2001 From: urrutia Date: Thu, 14 Dec 2023 17:26:16 -0600 Subject: [PATCH 5/9] updating relocate measurment to point to correct container id --- src/vbr/api/logistics.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vbr/api/logistics.py b/src/vbr/api/logistics.py index 519e113..5f9a101 100644 --- a/src/vbr/api/logistics.py +++ b/src/vbr/api/logistics.py @@ -216,7 +216,7 @@ def relocate_measurement( """Move a Measurement to a Container.""" orig_measurement_container = measurement.container measurement.container = container.container_id - container = self.vbr_client.update_row(measurement) + measurement = self.vbr_client.update_row(measurement) DataEventApi.create_and_link( self, comment="Relocated to container {0}".format(container.local_id), From 099d65c68b78f5b6cf9e4f9eefc3523dc1fc41e9 Mon Sep 17 00:00:00 2001 From: Patrick Sadil Date: Tue, 17 Sep 2024 20:23:06 -0400 Subject: [PATCH 6/9] update tapipy requirements --- setup.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.cfg b/setup.cfg index 3806fd8..ac9c967 100644 --- a/setup.cfg +++ b/setup.cfg @@ -29,9 +29,9 @@ install_requires = pytz requests simplejson - tapipy ==1.0.7 + tapipy>=1.6 Jinja2 - jsonschema ==3.2.0 + jsonschema [options.packages.find] where = src From 7fe93834da2755a4b87eb8e63ce0be752d484143 Mon Sep 17 00:00:00 2001 From: urrutia Date: Wed, 18 Sep 2024 12:21:00 -0500 Subject: [PATCH 7/9] updating data dictionaires and generating imaging items --- ...inStudyMCC2_DataDictionary_2024-09-17.csv} | 329 +++++++---- ...PSMainStudy_DataDictionary_2024-09-17.csv} | 328 +++++++---- src/vbr/tableclasses/__init__.py | 4 + .../redcap/autogenerated/__init__.py | 119 ++-- ...phase_trajectory_items_v01_6month_daily.py | 27 +- ..._phase_trajectory_items_v05_acute_daily.py | 33 +- ..._childhood_experience_questionnaire_ace.py | 17 +- ...od_sample_collection_and_processing_crf.py | 36 +- ...brief_pain_inventory_v23_short_form_bpi.py | 23 +- .../consented_participant_information.py | 33 +- .../autogenerated/current_medications_v02.py | 25 +- .../current_opioid_misuse_v02_comm.py | 13 +- .../daily_items_6_mo_v03_6month_daily.py | 21 +- ...nish_thoracic_surgery_questionnaire_v02.py | 13 +- .../deep_breathing_and_coughing_v02.py | 13 +- .../autogenerated/early_withdrawal_v04.py | 23 +- .../autogenerated/expectation_items_v12.py | 15 +- ...voidance_beliefs_questionnaire_v03_fabq.py | 19 +- .../autogenerated/functional_testing.py | 13 +- .../functional_testing_mcc2_v01.py | 13 +- .../general_sensory_sensitivity_v02_gss8.py | 13 +- ..._anxiety_disorder_7_item_gad7_scale_sco.py | 17 +- .../redcap/autogenerated/imaging_items_v01.py | 13 +- .../redcap/autogenerated/imaging_items_v11.py | 13 +- .../redcap/autogenerated/imaging_mcc1_v09.py | 50 +- .../redcap/autogenerated/imaging_mcc2_v01.py | 50 +- ...ury_osteoarthritis_outcome_score_koos12.py | 17 +- ...th_remote_followup_v20_12month_followup.py | 85 +-- ...ional_inventory_of_subjective_cognitive.py | 17 +- ...pain_control_satisfaction_v02_satisfact.py | 17 +- ..._effects_and_likeability_v03_side_effec.py | 17 +- ...id_use_acute_followup_v10_opioid_use_ii.py | 25 +- .../opioid_use_baseline_v10_opioid_use_i.py | 49 +- ...se_longterm_followup_v10_opioid_use_iii.py | 29 +- .../other_medical_surgical_treatments_ii.py | 191 +++--- ...her_pain_treatments_v3_other_treatments.py | 13 +- ...pain_catastrophizing_questionnaire_pcs6.py | 13 +- .../pain_detect_questionnaire_pdq.py | 13 +- .../pain_resilience_scale_prs.py | 13 +- .../painsleep_duration_sleep_ii.py | 13 +- ...emographics_baseline_v03_demographics_i.py | 17 +- ...mographics_full_part_2_v03_demographics.py | 17 +- .../autogenerated/patient_encounters.py | 13 +- ...atient_global_impression_of_change_pgic.py | 13 +- ...alth_questionnaire_depression_scale_phq.py | 17 +- .../postconsent_study_plan_crf_v06.py | 83 +-- .../autogenerated/promis_sf_v10_fatigue_7a.py | 13 +- ...mis_sf_v10_sleep_disturbance_6a_sleep_i.py | 13 +- .../promis_sf_v12_physical_function_8b.py | 13 +- .../promis_sf_v20_emotional_support_6a.py | 13 +- .../promis_sf_v20_informational_support_6a.py | 13 +- .../redcap/autogenerated/qst_mcc1_v03.py | 556 +++++++++--------- ...ssessment_of_physical_activity_v10_rapa.py | 17 +- .../reportable_eventdeviation_v03.py | 35 +- ...stered_comorbidity_questionnaire_v4_scq.py | 17 +- .../autogenerated/study_visit_feedback_v03.py | 69 +-- .../symptom_severity_index_v10_ssi.py | 29 +- .../redcap/autogenerated/taps1.py | 12 +- .../redcap/autogenerated/taps2.py | 12 +- .../the_big_five_inventory_bfi2s.py | 13 +- 60 files changed, 1497 insertions(+), 1273 deletions(-) rename src/scripts/data/{A2CPSMainStudyMCC2_DataDictionary_2021-08-31.csv => A2CPSMainStudyMCC2_DataDictionary_2024-09-17.csv} (91%) rename src/scripts/data/{A2CPSMainStudy_DataDictionary_2021-08-31.csv => A2CPSMainStudy_DataDictionary_2024-09-17.csv} (90%) diff --git a/src/scripts/data/A2CPSMainStudyMCC2_DataDictionary_2021-08-31.csv b/src/scripts/data/A2CPSMainStudyMCC2_DataDictionary_2024-09-17.csv similarity index 91% rename from src/scripts/data/A2CPSMainStudyMCC2_DataDictionary_2021-08-31.csv rename to src/scripts/data/A2CPSMainStudyMCC2_DataDictionary_2024-09-17.csv index 548fbcf..59be3ed 100644 --- a/src/scripts/data/A2CPSMainStudyMCC2_DataDictionary_2021-08-31.csv +++ b/src/scripts/data/A2CPSMainStudyMCC2_DataDictionary_2024-09-17.csv @@ -1,4 +1,4 @@ -"Variable / Field Name","Form Name","Section Header","Field Type","Field Label","Choices, Calculations, OR Slider Labels","Field Note","Text Validation Type OR Show Slider Number","Text Validation Min","Text Validation Max",Identifier?,"Branching Logic (Show field only if...)","Required Field?","Custom Alignment","Question Number (surveys only)","Matrix Group Name","Matrix Ranking?","Field Annotation" +field_name,form_name,section_header,field_type,field_label,select_choices_or_calculations,field_note,text_validation_type_or_show_slider_number,text_validation_min,text_validation_max,identifier,branching_logic,required_field,custom_alignment,question_number,matrix_group_name,matrix_ranking,field_annotation record_id,consented_participant_information,,text,"Record ID",,,,,,,,,,,,, dt1,consented_participant_information,,descriptive,"FOR TESTING THE FORMS AS SURVEYS: 1. Enter the email that you want to receive the baseline forms survey link on this form. @@ -9,15 +9,18 @@ You should receive an email invitations for: - Trajectory Items 6-Mo Post-Op Daily Day 1 When you complete the Trajectory Day 1 Surveys, you'll immediately receive an email with the links for Day 2 -",,,,,,,,,,,,," @HIDDEN" -guid,consented_participant_information,,text,GUID,,,,,,,,,,,,," @READONLY" -screening_id,consented_participant_information,,text,"Screening ID",,,,,,,,,,,,," @READONLY" +",,,,,,,,,,,,,@HIDDEN +guid,consented_participant_information,,text,GUID,,,,,,,,,,,,,@READONLY +nda_guid,consented_participant_information,,text,"NDA GUID",,,,,,,,,,,,,"@READONLY 20240709 Added field" +screening_id,consented_participant_information,,text,"Screening ID",,,,,,,,,,,,,@READONLY first_name,consented_participant_information,,text,"First Name",,,,,,y,,,,,,, -last_name,consented_participant_information,,text,"Last Name",,,,,,,,,,,,, -patient_email,consented_participant_information,,text,Email,,,email,,,,,,,,,, -mobile_phone_number,consented_participant_information,,text,"Mobile Phone",,,phone,,,,,,,,,, -home_phone_number,consented_participant_information,,text,"Home Phone",,,phone,,,,,,,,,, +last_name,consented_participant_information,,text,"Last Name",,,,,,y,,,,,,, +patient_email,consented_participant_information,,text,Email,,,email,,,y,,,,,,, +mobile_phone_number,consented_participant_information,,text,"Mobile Phone",,,phone,,,y,,,,,,, +home_phone_number,consented_participant_information,,text,"Home Phone",,,phone,,,y,,,,,,, contact_method,consented_participant_information,,radio,"Preferred Contact method:","2, E-mail | 1, Text | 0, Mobile/Home",,,,,,,,,,,, +contact_language,consented_participant_information,"Language Preference for Surveys and Alerts",radio,"

What language do you prefer to use for surveys?

","en, English | es, Spanish",,,,,,,,,,,, +reconsent06302022,consented_participant_information,"Re-consent Information",radio,"

Was this participant reconsented for the June 30, 2022 consent change related to 3-Month visit?
This only applies if participant was consented prior to 7/6/2022 AND had not yet completed their 3-Month visit at that time.

","1, yes - participant has been re-consented | 0, no - participant still needs re-consent | 2, no - participant did not come in for 3-month visit",,,,,,,,,,,,"20220706 - Added this field to flag participants that need to be re-consented. AHACKMAN" sp_inclinfconsdone,postconsent_study_plan_crf_v06,"

Confirm inclusion criteria:
In order to be eligible for the study, an individual must meet all of the following criteria:

",radio,"Completed informed consent","1, yes | 0, no",,,,,,,,RH,,,, sp_inclcomply,postconsent_study_plan_crf_v06,,radio,"Stated willingness to comply with all base study activities for the duration of the study.","1, yes | 0, no",,,,,,,,RH,,,, sp_inclage1884,postconsent_study_plan_crf_v06,,radio,"Between the ages of 18 to < 85 years.","1, yes | 0, no",,,,,,,,RH,,,, @@ -25,26 +28,29 @@ sp_inclsurg,postconsent_study_plan_crf_v06,,radio,"

Confirm exclusion criteria are not violated, including MRI screening process:

",radio,"

Patient has undergone prior thoracic surgery within 3-months.

","1, yes | 0, no",,,,,,,,RH,,,, sp_exclothmajorsurg,postconsent_study_plan_crf_v06,,radio,"

Patient undergoing:

  • a bilateral thoracic procedure.
  • another planned major surgery during the 6-month follow up period.
","1, yes | 0, no",,,,,,,,RH,,,, sp_exclnoreadspkenglish,postconsent_study_plan_crf_v06,,radio,"

Patient unable to provide informed consent; or unable to read/speak English.

","1, yes | 0, no",,,,,,,,RH,,,, -sp_elig_calc,postconsent_study_plan_crf_v06,,calc,"Participant Inclusion/Exclusion Eligibility Calculation","if (([sp_inclcomply] + [sp_inclage1884] + [sp_inclsurg])='3' and ([sp_exclothmajorsurg] + [sp_exclprevbilthorpro] + [sp_exclnoreadspkenglish])='0',1,0)",,,,,,,,,,,," @HIDDEN" -sp_elig_calc_2,postconsent_study_plan_crf_v06,,calc,"Participant Inclusion sum testing","sum([sp_inclinfconsdone] + [sp_inclcomply] + [sp_inclage1884] + [sp_inclsurg])",,,,,,,,,,,," @HIDDEN" +sp_elig_calc,postconsent_study_plan_crf_v06,,calc,"Participant Inclusion/Exclusion Eligibility Calculation","if (([sp_inclcomply] + [sp_inclage1884] + [sp_inclsurg])='3' and ([sp_exclothmajorsurg] + [sp_exclprevbilthorpro] + [sp_exclnoreadspkenglish])='0',1,0)",,,,,,,,,,,,@HIDDEN +sp_elig_calc_2,postconsent_study_plan_crf_v06,,calc,"Participant Inclusion sum testing","sum([sp_inclinfconsdone] + [sp_inclcomply] + [sp_inclage1884] + [sp_inclsurg])",,,,,,,,,,,,@HIDDEN sp_plansurgincissite,postconsent_study_plan_crf_v06,"Confirm surgical incision site:",radio,"Planned surgical incision site:","1, Right chest | 2, Left chest",,,,,,,,RH,,,, +sp_surgcardiac,postconsent_study_plan_crf_v06,,radio,"Is the participant's thoracic surgery being performed to address a cardiac condition (e.g. mitral valve replacement, tricuspid valve replacement, afib ablation)?","1, yes | 0, no",,,,,,,,RH,,,,"20230404 Added field (AHACKMAN)" sp_mricompatscr,postconsent_study_plan_crf_v06," ",radio,"

MRI compatibility screening:

","1, Pt has MR imaging contraindications, exclude from study | 2, MRI compatibility screen incomplete, need additional information from patient | 3, MRI screen complete, needs follow-up to determine compatibility by investigator | 4, Complete, cleared for imaging (no known contraindications)",,,,,,,,,,,, sp_comments,postconsent_study_plan_crf_v06,,notes,"Additional Comments:",,,,,,,,,,,,, dt_sp_unverified,postconsent_study_plan_crf_v06,,descriptive,"

Note: Please leave this form status as ""Unverified"" until the MRI compatibility screening has been finalized.

",,,,,,,"[sp_mricompatscr] = '2' or [sp_mricompatscr] = '3'",,,,,, dt_sp_eligible,postconsent_study_plan_crf_v06,,descriptive,"

Patient is Eligible

",,,,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,, dt_sp_eligible_2,postconsent_study_plan_crf_v06,,descriptive,"

Patient is Ineligible

",,,,,,,"[sp_inclcomply]='0' or [sp_inclage1884]='0' or [sp_inclsurg]='0' or [sp_exclothmajorsurg]='1' or [sp_exclprevbilthorpro]='1' or [sp_exclnoreadspkenglish]='1' or [sp_mricompatscr] = '1'",,,,,, sp_dt_1,postconsent_study_plan_crf_v06,,descriptive,"

Scheduling Visits

",,,,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,, -sp_surg_date,postconsent_study_plan_crf_v06,,text,"

Confirm Surgery Date:

",,,date_mdy,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",y,,,,, -sp_v1_preop_date,postconsent_study_plan_crf_v06,,text,"

V1 (Pre-Op) date:

",,,date_mdy,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,, +sp_data_site,postconsent_study_plan_crf_v06,,radio,"

Site where data collection will be performed:

","1, U of Michigan | 2, Wayne State | 3, Spectrum Health",,,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",y,,,,,"20211105 Added this field AHACKMAN" +sp_surg_date,postconsent_study_plan_crf_v06,,text,"

Confirm Surgery Date:

",,,date_mdy,,,y,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",y,,,,, +sp_v1_preop_date,postconsent_study_plan_crf_v06,,text,"

V1 (Pre-Op) date:

",,,date_mdy,,,y,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,, +sp_v1_preop_dss,postconsent_study_plan_crf_v06,,calc,"

Pre-op visit: days since surgery

","datediff([sp_v1_preop_date],[sp_surg_date],'d')",,,,,y,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,,@HIDDEN sp_dt_preop_datetime,postconsent_study_plan_crf_v06,,descriptive,"
V1 (Pre-Op) time:   {sp_v1_preop_time} {sp_v1_preop_time_ampm}
",,,,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,, -sp_v1_preop_time,postconsent_study_plan_crf_v06,,text,"

V1 (Pre-Op) time:

",,HH:MM,,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,," @PLACEHOLDER='HH:MM'" +sp_v1_preop_time,postconsent_study_plan_crf_v06,,text,"

V1 (Pre-Op) time:

",,HH:MM,,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,,@PLACEHOLDER='HH:MM' sp_v1_preop_time_ampm,postconsent_study_plan_crf_v06,,dropdown,"

V1 (Pre-Op) time AM/PM:

","AM, AM | PM, PM",,,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,, -sp_v2_6wk_date,postconsent_study_plan_crf_v06,,text,"

V2 (~6 week Follow-up) date:

",,,date_mdy,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,," @CALCDATE([sp_surg_date], 42, 'd')" -sp_v3_3mo_date,postconsent_study_plan_crf_v06,,text,"

V3 (~3 month Follow-up) date:

",,,date_mdy,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,," @CALCDATE([sp_surg_date], 3, 'M')" +sp_v2_6wk_date,postconsent_study_plan_crf_v06,,text,"

V2 (~6 week Follow-up) date:

",,,date_mdy,,,y,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,,"@CALCDATE([sp_surg_date], 42, 'd')" +sp_v3_3mo_date,postconsent_study_plan_crf_v06,,text,"

V3 (~3 month Follow-up) date:

",,,date_mdy,,,y,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,,"@CALCDATE([sp_surg_date], 3, 'M')" sp_previsit_survey_pref,postconsent_study_plan_crf_v06," ",radio,"

Please indicate how the patient would like to receive Pre-Visit surveys:

","1, E-mail | 2, Push notification via app | 3, In-person (provide paper version) | 4, Phone (via coordinator)",,,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,, sp_daily_survey_pref,postconsent_study_plan_crf_v06,,radio,"

Please indicate how the patient would like to receive Daily Trajectory surveys:

","1, E-mail | 2, Push notification via app | 3, In-person (provide paper version) | 4, Phone (via coordinator)",,,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,, sp_dt_wd_alert,postconsent_study_plan_crf_v06,,descriptive,"

Alert!

This participant has been withdrawn from the study.

This OVERRIDES the ""Send electronic survey.."" setting above and no future email or text invitations will be sent to the participant.

Date of early termination: [event_reporting_arm_1][ewdateterm]

Primary reason for termination: [event_reporting_arm_1][ewprimaryreason]

",,,,,,,"[event_reporting_arm_1][ewdateterm]<>""""",,,,,, -brthdtc,patient_demographics_baseline_v03_demographics_i,,text,"1. Birth date",,,date_mdy,,,,,,,,,," @HIDEBUTTON" +brthdtc,patient_demographics_baseline_v03_demographics_i,,text,"1. Birth date",,,date_mdy,,,y,,,,,,,@HIDEBUTTON age,patient_demographics_baseline_v03_demographics_i,,text,"2. Age",,"xx years",number,20,100,,,,,,,, sex,patient_demographics_baseline_v03_demographics_i,,radio,"3. Sex at birth","1, Male | 2, Female | 3, Unknown | 4, Intersex",,,,,,,,,,,, genident,patient_demographics_baseline_v03_demographics_i,,radio,"4. Gender identity","1, Male | 2, Female | 3, Unknown | 4, Other, specify",,,,,,,,,,,, @@ -56,7 +62,7 @@ opt_q6_hands_on_trt,other_pain_treatments_v3_other_treatments,,radio,"2. In the opt_q7_modality_trt,other_pain_treatments_v3_other_treatments,,radio,"3. In the PAST 4 WEEKS, how often have you applied a treatment for your pain condition (for example, topical nerve stimulation (TENS), ice pack, hot pack, menthol cream product, patch product, etc):","1, Daily or almost daily | 2, 2-4 days/week | 3, Weekly | 4, Less than 1 day/week | 5, Never",,,,,,,,,,opt1,, opt_q8_mental_hlth_trt,other_pain_treatments_v3_other_treatments,,radio,"4. In the PAST 4 WEEKS, how often have you received behavioral or mental health treatment for your pain (for example, from a Psychologist, Licensed Social Worker, Mental Health Counselor, etc):","1, Daily or almost daily | 2, 2-4 days/week | 3, Weekly | 4, Less than 1 day/week | 5, Never",,,,,,,,,,opt1,, opt_q2_anx_meds,other_pain_treatments_v3_other_treatments,,radio,"5. In the PAST 4 WEEKS, how often have you used any anxiety medications (for example, alprazolam (Xanax), lorazepam (Ativan))?","1, Daily or almost daily | 2, 2-4 days/week | 3, Weekly | 4, Less than 1 day/week | 5, Never",,,,,,,,,,opt1,, -opt_q3_ns_pain_meds,other_pain_treatments_v3_other_treatments,,radio,"6. In the PAST 4 WEEKS, how often have you used any prescription or over‐the‐counter non‐steroidal pain relievers (for example, ibuprofen (Advil, Motrin), naproxyn (Aleve), aspirin (>325 mg)):","1, Daily or almost daily | 2, 2-4 days/week | 3, Weekly | 4, Less than 1 day/week | 5, Never",,,,,,,,,,opt1,, +opt_q3_ns_pain_meds,other_pain_treatments_v3_other_treatments,,radio,"6. In the PAST 4 WEEKS, how often have you used any prescription or over‐the‐counter non‐steroidal pain relievers (for example, ibuprofen (Advil, Motrin), naproxyn (Aleve), aspirin (>325 mg), Celecoxib, Meloxicam)?","1, Daily or almost daily | 2, 2-4 days/week | 3, Weekly | 4, Less than 1 day/week | 5, Never",,,,,,,,,,opt1,, opt_q4_cbd,other_pain_treatments_v3_other_treatments,,radio,"7. In the PAST 4 WEEKS, how often have you used any THC/CBD or marijuana products for pain relief (e.g., CBD oil, edibles, weed, gummies, etc):","1, Daily or almost daily | 2, 2-4 days/week | 3, Weekly | 4, Less than 1 day/week | 5, Never",,,,,,,,,,opt1,, oms2timeframe,other_medical_surgical_treatments_ii,,text,"Set the ""timeframe"" for all of the questions below. Timeframe options entered into each item: @@ -95,7 +101,7 @@ oms2unrvisitoffice,other_medical_surgical_treatments_ii,,checkbox,"
","1, Other",,,,,,"[oms2unrvisit] = '1'",,RH,,,, oms2unrvisitothertxt,other_medical_surgical_treatments_ii,,text,"

Other specify:

",,,,,,,"[oms2unrvisitother(1)] = '1'",,RH,,,, pgicsymptomchangestatval,patient_global_impression_of_change_pgic,,radio,"Since the start of the study (treatment), my overall pain is ....","0, Very much improved | 1, Much improved | 2, Minimally improved | 3, No change | 4, Minimally worse | 5, Much worse | 6, Very much worse",,,,,,,,,,,, -bpipainanatsiteareatxt,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,text,,,,,,,,,,,,,," @IMAGEMAP=MBODY" +bpipainanatsiteareatxt,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,text,,,,,,,,,,,,,,@IMAGEMAP=MBODY bpi_mbm_z1_rate,bpisf_the_brief_pain_inventory_v23_short_form_bpi," ",radio,"You indicated having pain in the head / face / jaw. Please rate your pain in this region by choosing the number that best describes your average pain in the LAST 24 HOURS.","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No Pain ------------------------------------------------------------------ 10 = Pain as bad as you can imagine",,,,,"(contains ([bpipainanatsiteareatxt], ""a00"") or contains ([bpipainanatsiteareatxt], ""a01"") or contains ([bpipainanatsiteareatxt], ""a02"") or contains ([bpipainanatsiteareatxt], ""a25""))",,LH,,,, bpi_mbm_z1_dur,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio,"How long have you been experiencing pain in the head / face / jaw? Choose the best option:","1, less than 1 month | 2, 1 month or more, but less than 6 months | 3, 6 months or more, but less than 2 years | 4, 2 years or more",,,,,,"(contains ([bpipainanatsiteareatxt], ""a00"") or contains ([bpipainanatsiteareatxt], ""a01"") or contains ([bpipainanatsiteareatxt], ""a02"") or contains ([bpipainanatsiteareatxt], ""a25""))",,LV,,,, @@ -134,7 +140,7 @@ bpipainsleepintrfrscl,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio," bpipainenjoymntintrfrscl,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio,"4.g. Enjoyment of life","0, Does not interfere 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, Completely interferes 10",,,,,,,,,,bpisf_9,, bpipainintrfrscore,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,calc,"BPI Pain Interference Subscale Score -","mean([bpipainintfrgnrlactvtyscl], [bpipainintfrmoodscl], [bpipainintfrwlkablscl], [bpipainnrmlwrkintrfrscl], [bpipainrelationsintrfrscl], [bpipainsleepintrfrscl], [bpipainenjoymntintrfrscl])",,,,,,,,,,,," @HIDDEN-SURVEY" +","mean([bpipainintfrgnrlactvtyscl], [bpipainintfrmoodscl], [bpipainintfrwlkablscl], [bpipainnrmlwrkintrfrscl], [bpipainrelationsintrfrscl], [bpipainsleepintrfrscl], [bpipainenjoymntintrfrscl])",,,,,,,,,,,,@HIDDEN-SURVEY ssi_fatigue,symptom_severity_index_v10_ssi,"Using the following scale, indicate for each item your severity over the past week by marking the appropriate answer",radio,"1. Fatigue","0, No problem | 1, Mild | 2, Moderate | 3, Severe",,,,,,,,,,mtrx_ssi_1,, ssi_cognitive,symptom_severity_index_v10_ssi,,radio,"2. Trouble thinking or remembering","0, No problem | 1, Mild | 2, Moderate | 3, Severe",,,,,,,,,,mtrx_ssi_1,, ssi_tired,symptom_severity_index_v10_ssi,,radio,"3. Waking up tired (unrefreshed)","0, No problem | 1, Mild | 2, Moderate | 3, Severe",,,,,,,,,,mtrx_ssi_1,, @@ -142,7 +148,8 @@ ssi_chronicyn,symptom_severity_index_v10_ssi,,yesno,"4. Have your problems with ssi_abdpainyn,symptom_severity_index_v10_ssi,"During the past 6 months have you had any of the following symptoms?",yesno,"5. Pain or cramps in the lower abdomen",,,,,,,,,RH,,,, ssi_depressyn,symptom_severity_index_v10_ssi,,yesno,"6. Depression",,,,,,,,,RH,,,, ssi_headacheyn,symptom_severity_index_v10_ssi,,yesno,"7. Headache",,,,,,,,,RH,,,, -pdqassessdate,pain_detect_questionnaire_pdq,,text,"Assessment Date:",,,date_mdy,,,,,,,,,," @TODAY @HIDDEN-SURVEY" +pdqassessdate,pain_detect_questionnaire_pdq,,text,"Assessment Date:",,,date_mdy,,,y,,,,,,,"@TODAY @HIDDEN-SURVEY" +pdqassessdate_dss,pain_detect_questionnaire_pdq,,calc,"

PDQ Assessment visit: days since surgery

 

","datediff([baseline_visit_arm_1][pdqassessdate],[informed_consent_arm_1][sp_surg_date],'d')",,,,,,,,,,,,@HIDDEN pdburnsens,pain_detect_questionnaire_pdq,"

The following questions refer to any pain you are experiencing at your surgical site. 1. Thinking about your pain in the past week, please select the best response for each question:

",radio,"a. Do you suffer from a burning sensation (e.g. a bee sting) in the area of your pain?","0, Never | 1, Hardly Noticed | 2, Slightly | 3, Moderately | 4, Strongly | 5, Very Strongly",,,,,,,,,,pd_mtrx_1,, @@ -186,7 +193,7 @@ pfaphyslaborlimitscl,promis_sf_v12_physical_function_8b,,radio,"Does your health pfamodwrklimitscl,promis_sf_v12_physical_function_8b,,radio,"Does your health now limit you in doing moderate work around the house like vacuuming, sweeping floors or carrying in groceries?","5, Not at all | 4, Very little | 3, Somewhat | 2, Quite a lot | 1, Cannot do",,,,,,,,,,,, pfagrocliftlimitscl,promis_sf_v12_physical_function_8b,,radio,"Does your health now limit you in lifting or carrying groceries?","5, Not at all | 4, Very little | 3, Somewhat | 2, Quite a lot | 1, Cannot do",,,,,,,,,,,, pfaheavyworklimitscl,promis_sf_v12_physical_function_8b,,radio,"Does your health now limit you in doing heavy work around the house like scrubbing floors, or lifting or moving heavy furniture?","5, Not at all | 4, Very little | 3, Somewhat | 2, Quite a lot | 1, Cannot do",,,,,,,,,,,, -pfatotalscore,promis_sf_v12_physical_function_8b,,calc,"Total score","sum([pfadochoresscl], [pfastairsscl], [pfawalkscl], [pfarunerrandsscl], [pfaphyslaborlimitscl], [pfamodwrklimitscl], [pfagrocliftlimitscl], [pfaheavyworklimitscl])",,,,,,,,,,,," @HIDDEN-SURVEY" +pfatotalscore,promis_sf_v12_physical_function_8b,,calc,"Total score","sum([pfadochoresscl], [pfastairsscl], [pfawalkscl], [pfarunerrandsscl], [pfaphyslaborlimitscl], [pfamodwrklimitscl], [pfagrocliftlimitscl], [pfaheavyworklimitscl])",,,,,,,,,,,,@HIDDEN-SURVEY promissleepwasrefreshscl,promis_sf_v10_sleep_disturbance_6a_sleep_i,,radio,"In the past 7 days My sleep was refreshing.","5, Not at all | 4, A little bit | 3, Somewhat | 2, Quite a bit | 1, Very much",,,,,,,,,,,, promisproblemwithslpscl,promis_sf_v10_sleep_disturbance_6a_sleep_i,,radio,"In the past 7 days @@ -203,7 +210,7 @@ sleepnight_dt_1,painsleep_duration_sleep_ii,,descriptive,"
last 2 weeks, how often have you been bothered by any of the following problems? (select one number on each line) @@ -242,8 +249,8 @@ phqabnrmldietscore,patient_health_questionnaire_depression_scale_phq,,radio,"5. phqflngfailrscore,patient_health_questionnaire_depression_scale_phq,,radio,"6. Feeling bad about yourself, or that you are a failure, or have let yourself or your family down","0, Not
at all
0 | 1, Several
days
1 | 2, More than
half
the days
2 | 3, Nearly
every day
3",,,,,,,,,,phq8_sc,, phqconcntrtnimprmntscore,patient_health_questionnaire_depression_scale_phq,,radio,"7. Trouble concentrating on things, such as reading the newspaper or watching television","0, Not
at all
0 | 1, Several
days
1 | 2, More than
half
the days
2 | 3, Nearly
every day
3",,,,,,,,,,phq8_sc,, phqmovmntspchimprmntscore,patient_health_questionnaire_depression_scale_phq,,radio,"8. Moving or speaking so slowly that other people could have noticed. Or the opposite--being so fidgety or restless that you have been moving around a lot more than usual","0, Not
at all
0 | 1, Several
days
1 | 2, More than
half
the days
2 | 3, Nearly
every day
3",,,,,,,,,,phq8_sc,, -phq8_score_inst_sc,patient_health_questionnaire_depression_scale_phq,,descriptive,"Score is the sum of the 8 items. If more than 1 item missing, set the value of the scale to missing. A score of 10 or greater is considered major depression, 20 or more is severe major depression.",,,,,,,,,,,,," @HIDDEN-SURVEY" -phqtotalscore,patient_health_questionnaire_depression_scale_phq,,calc,Score,"sum([phqlitintrstscore], [phqdeprssnscore], [phqsleepimpairscore], [phqtirdlittleenrgyscore], [phqabnrmldietscore], [phqflngfailrscore], [phqconcntrtnimprmntscore], [phqmovmntspchimprmntscore])",,,,,,,,,,,," @HIDDEN-SURVEY" +phq8_score_inst_sc,patient_health_questionnaire_depression_scale_phq,,descriptive,"Score is the sum of the 8 items. If more than 1 item missing, set the value of the scale to missing. A score of 10 or greater is considered major depression, 20 or more is severe major depression.",,,,,,,,,,,,,@HIDDEN-SURVEY +phqtotalscore,patient_health_questionnaire_depression_scale_phq,,calc,Score,"sum([phqlitintrstscore], [phqdeprssnscore], [phqsleepimpairscore], [phqtirdlittleenrgyscore], [phqabnrmldietscore], [phqflngfailrscore], [phqconcntrtnimprmntscore], [phqmovmntspchimprmntscore])",,,,,,,,,,,,@HIDDEN-SURVEY pcs_dt_1,pain_catastrophizing_questionnaire_pcs6,,descriptive,"Everyone experiences painful situations at some point in their lives. Such experiences may include headaches, tooth pain, joint or muscle pain. People are often exposed to situations that may cause pain such as illness, injury, dental procedures or surgery. We are interested in the types of thoughts and feelings that you have when you are in pain. Listed below are six statements describing different thoughts and feelings that may be associated with pain. Using the following scale, please indicate the degree to which you have these thoughts and feelings when you are experiencing pain. ",,,,,,,,,,,,, @@ -253,7 +260,7 @@ pcqafraidpainworsescl,pain_catastrophizing_questionnaire_pcs6,,radio,"3. I beco pcqhurtscl,pain_catastrophizing_questionnaire_pcs6,,radio,"4. I keep thinking about how much it hurts","0, Not at all | 1, To a slight degree | 2, To a moderate degree | 3, To a great degree | 4, All the time",,,,,,,,,,pcs_1,, pcqpainstopscl,pain_catastrophizing_questionnaire_pcs6,,radio,"5. I keep thinking about how badly I want the pain to stop","0, Not at all | 1, To a slight degree | 2, To a moderate degree | 3, To a great degree | 4, All the time",,,,,,,,,,pcs_1,, pcqseriousscl,pain_catastrophizing_questionnaire_pcs6,,radio,"6. I wonder whether something serious may happen","0, Not at all | 1, To a slight degree | 2, To a moderate degree | 3, To a great degree | 4, All the time",,,,,,,,,,pcs_1,, -pcqtotalscoreval,pain_catastrophizing_questionnaire_pcs6,,calc,"Total score value:","[pcqpainawfulovrwhlmscl]+ [pcqfeelcantwithstandscl] + [pcqafraidpainworsescl] + [pcqhurtscl] + [pcqpainstopscl] + [pcqseriousscl]",,,,,,,,,,,," @HIDDEN-SURVEY" +pcqtotalscoreval,pain_catastrophizing_questionnaire_pcs6,,calc,"Total score value:","[pcqpainawfulovrwhlmscl]+ [pcqfeelcantwithstandscl] + [pcqafraidpainworsescl] + [pcqhurtscl] + [pcqpainstopscl] + [pcqseriousscl]",,,,,,,,,,,,@HIDDEN-SURVEY fabq_dt_1,fearavoidance_beliefs_questionnaire_v03_fabq,,descriptive,"Here are some of the things which other patients have told us about their pain. For each statement please choose any number from 0 to 6 to say how much physical activities such as bending, lifting, walking or driving affect or would affect your chest pain.",,,,,,,,,,,,, fabqphysclactvtywrsscl,fearavoidance_beliefs_questionnaire_v03_fabq,,radio,"2. Physical activity makes my pain worse","0, 0 - Completely disagree | 1, 1 | 2, 2 | 3, 3 - Unsure | 4, 4 | 5, 5 | 6, 6 - Completely agree",,,,,,,,,,,, fabqphysclactvtybckhrmscl,fearavoidance_beliefs_questionnaire_v03_fabq,,radio,"3. Physical activity might harm my chest","0, 0 - Completely disagree | 1, 1 | 2, 2 | 3, 3 - Unsure | 4, 4 | 5, 5 | 6, 6 - Completely agree",,,,,,,,,,,, @@ -274,9 +281,9 @@ prsnotgetdownscl,pain_resilience_scale_prs,,radio,"11. I don't let it get me dow prsnotupsetscl,pain_resilience_scale_prs,,radio,"12. I don't let it upset me.","0, 0 - Not at all | 1, 1 - To a slight degree | 2, 2 - To a moderate degree | 3, 3 - To a great degree | 4, 4 - All the time",,,,,,,,,,prs_1,, prsavoidnegativescl,pain_resilience_scale_prs,,radio,"13. I avoid negative thoughts.","0, 0 - Not at all | 1, 1 - To a slight degree | 2, 2 - To a moderate degree | 3, 3 - To a great degree | 4, 4 - All the time",,,,,,,,,,prs_1,, prsstayrelaxscl,pain_resilience_scale_prs,,radio,"14. I try to stay relaxed.","0, 0 - Not at all | 1, 1 - To a slight degree | 2, 2 - To a moderate degree | 3, 3 - To a great degree | 4, 4 - All the time",,,,,,,,,,prs_1,, -prsscore,pain_resilience_scale_prs,,calc,"Total score - sum of all items","[prsbackoutscl]+[prsworkgoalsscl]+ [prspushthroughscl]+ [prscontworkscl]+ [prsstayactivescl]+ [prsfocuspositivescl]+ [prsposattitudescl]+ [prsnotaffecthappyscl]+ [prsfindjoyscl]+ [prshopefulscl]+ [prsnotgetdownscl]+ [prsnotupsetscl]+ [prsavoidnegativescl]+ [prsstayrelaxscl]",,,,,,,,,,,," @HIDDEN-SURVEY" -prsbehpersscore,pain_resilience_scale_prs,,calc,"Behavioral Perseverance = sum of items 1-5","[prsbackoutscl]+[prsworkgoalsscl]+ [prspushthroughscl]+ [prscontworkscl]+ [prsstayactivescl]",,,,,,,,,,,," @HIDDEN-SURVEY" -prscognitivescore,pain_resilience_scale_prs,,calc,"Cognitive/Affective = sum of items 6-14","[prsfocuspositivescl]+ [prsposattitudescl]+ [prsnotaffecthappyscl]+ [prsfindjoyscl]+ [prshopefulscl]+ [prsnotgetdownscl]+ [prsnotupsetscl]+ [prsavoidnegativescl]+ [prsstayrelaxscl]",,,,,,,,,,,," @HIDDEN-SURVEY" +prsscore,pain_resilience_scale_prs,,calc,"Total score - sum of all items","[prsbackoutscl]+[prsworkgoalsscl]+ [prspushthroughscl]+ [prscontworkscl]+ [prsstayactivescl]+ [prsfocuspositivescl]+ [prsposattitudescl]+ [prsnotaffecthappyscl]+ [prsfindjoyscl]+ [prshopefulscl]+ [prsnotgetdownscl]+ [prsnotupsetscl]+ [prsavoidnegativescl]+ [prsstayrelaxscl]",,,,,,,,,,,,@HIDDEN-SURVEY +prsbehpersscore,pain_resilience_scale_prs,,calc,"Behavioral Perseverance = sum of items 1-5","[prsbackoutscl]+[prsworkgoalsscl]+ [prspushthroughscl]+ [prscontworkscl]+ [prsstayactivescl]",,,,,,,,,,,,@HIDDEN-SURVEY +prscognitivescore,pain_resilience_scale_prs,,calc,"Cognitive/Affective = sum of items 6-14","[prsfocuspositivescl]+ [prsposattitudescl]+ [prsnotaffecthappyscl]+ [prsfindjoyscl]+ [prshopefulscl]+ [prsnotgetdownscl]+ [prsnotupsetscl]+ [prsavoidnegativescl]+ [prsstayrelaxscl]",,,,,,,,,,,,@HIDDEN-SURVEY essfsomeonelistenscl,promis_sf_v20_emotional_support_6a,,radio,"I have someone who will listen to me when I need to talk","1, Never | 2, Rarely | 3, Sometimes | 4, Usually | 5, Always",,,,,,,,,,,, essfsomeoneconfidescl,promis_sf_v20_emotional_support_6a,,radio,"I have someone to confide in or talk to about myself or my problems","1, Never | 2, Rarely | 3, Sometimes | 4, Usually | 5, Always",,,,,,,,,,,, essffeelappreciatscl,promis_sf_v20_emotional_support_6a,,radio,"I have someone who makes me feel appreciated","1, Never | 2, Rarely | 3, Sometimes | 4, Usually | 5, Always",,,,,,,,,,,, @@ -296,7 +303,7 @@ issfmealprepscl,promis_sf_v20_informational_support_6a,,radio,"Do you have someo ","1, Never | 2, Rarely | 3, Sometimes | 4, Usually | 5, Always",,,,,,,,,,,, issfresponsiblescl,promis_sf_v20_informational_support_6a,,radio,"Do you have someone to take over all of your responsibilities at home if you need it? ","1, Never | 2, Rarely | 3, Sometimes | 4, Usually | 5, Always",,,,,,,,,,,, -issftotalscore,promis_sf_v20_informational_support_6a,,calc,"Total score","sum([issfconfinedbedscl], [issfdoctorvisitscl], [issfchoreshelpscl], [issferrandshelpscl], [issfmealprepscl], [issfresponsiblescl])",,,,,,,,,,,," @HIDDEN-SURVEY" +issftotalscore,promis_sf_v20_informational_support_6a,,calc,"Total score","sum([issfconfinedbedscl], [issfdoctorvisitscl], [issfchoreshelpscl], [issferrandshelpscl], [issfmealprepscl], [issfresponsiblescl])",,,,,,,,,,,,@HIDDEN-SURVEY miscithinkclrscl,multidimensional_inventory_of_subjective_cognitive,"Please respond to each item by marking one item per row: In the past 7 days...",radio,"I have been able to think clearly without extra effort.","1, Not at all | 2, A little bit | 3, Somewhat | 4, Quite a bit | 5, Very much",,,,,,,,,,mtrx_misci_1,, @@ -312,7 +319,7 @@ miscirightwordsscl,multidimensional_inventory_of_subjective_cognitive,,radio,"I miscitotalscore,multidimensional_inventory_of_subjective_cognitive,,calc,"Total score","sum([miscithinkclrscl], [miscimindsharpscl], [miscirememberscl], [miscilearnscl], [misciconcentratescl], [misciattentionscl]) + (if([miscishiftactivscl]='1',5,if([miscishiftactivscl]='2',4,if([miscishiftactivscl]='4',2,if([miscishiftactivscl]='5',1,[miscishiftactivscl]))))) + (if([misciplanningscl]='1',5,if([misciplanningscl]='2',4,if([misciplanningscl]='4',2,if([misciplanningscl]='5',1,[misciplanningscl]))))) + (if([misciexpressscl]='1',5,if([misciexpressscl]='2',4,if([misciexpressscl]='4',2,if([misciexpressscl]='5',1,[misciexpressscl]))))) + -(if([miscirightwordsscl]='1',5,if([miscirightwordsscl]='2',4,if([miscirightwordsscl]='4',2,if([miscirightwordsscl]='5',1,[miscirightwordsscl])))))",,,,,,,,,,,," @HIDDEN-SURVEY" +(if([miscirightwordsscl]='1',5,if([miscirightwordsscl]='2',4,if([miscirightwordsscl]='4',2,if([miscirightwordsscl]='5',1,[miscirightwordsscl])))))",,,,,,,,,,,,@HIDDEN-SURVEY dt_ace_preamble,adverse_childhood_experience_questionnaire_ace,,descriptive,"

This Survey will be asking you some questions about events that happened during your childhood; specifically the first 18 years of your life.

Some of the questions may be considered sensitive, and none of your answers will be shared with your care provider.

",,,,,,,,,,,,, ace_dt_1,adverse_childhood_experience_questionnaire_ace," ",descriptive,"While you were growing up, during your first 18 years of life:",,,,,,,,,,,,, aceadinhmhfroff18yrincode,adverse_childhood_experience_questionnaire_ace,,radio,"1. Did a parent or other adult in the household often ... @@ -357,14 +364,14 @@ Ever repeatedly hit over at least a few minutes or threatened with a gun or knif acealdruslvfr18yrincode,adverse_childhood_experience_questionnaire_ace,,radio,"8. Did you live with anyone who was a problem drinker or alcoholic or who used street drugs?","1, Yes | 0, No",,,,,,,,,,,, acedpmnischsmbfr18yincode,adverse_childhood_experience_questionnaire_ace,,radio,"9. Was a household member depressed or mentally ill or did a household member attempt suicide?","1, Yes | 0, No",,,,,,,,,,,, acehsmmprfr18yrincode,adverse_childhood_experience_questionnaire_ace,,radio,"10. Did a household member go to prison?","1, Yes | 0, No",,,,,,,,,,,, -aceadvchlexpqstttlscore,adverse_childhood_experience_questionnaire_ace,,calc,"11. ACE Total Score: ","[aceadinhmhfroff18yrincode]+[aceadphyabsinfr18yrincode]+ [acesxlabsfr18yrincode]+[acefllcemspoffr18yrincode]+ [aceflngdhproffr18yrincode] + [aceprevspdvfr18yrincode] + [acemtdmvlfr18yrincode] + [acealdruslvfr18yrincode] + [acedpmnischsmbfr18yincode] + [acehsmmprfr18yrincode]",,,,,,,,,,,," @HIDDEN-SURVEY" +aceadvchlexpqstttlscore,adverse_childhood_experience_questionnaire_ace,,calc,"11. ACE Total Score: ","[aceadinhmhfroff18yrincode]+[aceadphyabsinfr18yrincode]+ [acesxlabsfr18yrincode]+[acefllcemspoffr18yrincode]+ [aceflngdhproffr18yrincode] + [aceprevspdvfr18yrincode] + [acemtdmvlfr18yrincode] + [acealdruslvfr18yrincode] + [acedpmnischsmbfr18yincode] + [acehsmmprfr18yrincode]",,,,,,,,,,,,@HIDDEN-SURVEY tapstobaccoproductscl,taps1,,radio,"1. In the PAST 12 MONTHS, how often have you used any tobacco product (for example, cigarettes, e-cigarettes, cigars, pipes, or smokeless tobacco)?","0, Daily or Almost Daily | 1, Weekly | 2, Monthly | 3, Less Than Monthly | 4, Never",,,,,,,,,,taps1_q1,, tapstobaccoproductscl_yrs,taps1,,text,"How many years have you smoked?",,,integer,0,75,,"[tapstobaccoproductscl] = '0' or [tapstobaccoproductscl] = '1' or [tapstobaccoproductscl] = '2' or [tapstobaccoproductscl] = '3'",,,,,, tapsalcoholusemalescl,taps1,,radio,"2. In the PAST 12 MONTHS, how often have you had 5 or more drinks containing alcohol in one day? One standard drink is about 1 small glass of wine (5 oz), 1 beer (12 oz), or 1 single shot of liquor.","0, Daily or Almost Daily | 1, Weekly | 2, Monthly | 3, Less Than Monthly | 4, Never",,,,,,"[genident] = '1'",,,,taps1_q2,, tapsalcoholusefemalescl,taps1,,radio,"3. In the PAST 12 MONTHS, how often have you had 4 or more drinks containing alcohol in one day? One standard drink is about 1 small glass of wine (5 oz), 1 beer (12 oz), or 1 single shot of liquor.","0, Daily or Almost Daily | 1, Weekly | 2, Monthly | 3, Less Than Monthly | 4, Never",,,,,,"[genident] = '2'",,,,taps1_q3,, tapsdrugusescl,taps1,,radio,"4. In the PAST 12 MONTHS, how often have you used any drugs including marijuana, cocaine or crack, heroin, methamphetamine (crystal meth), hallucinogens, ecstasy/MDMA?","0, Daily or Almost Daily | 1, Weekly | 2, Monthly | 3, Less Than Monthly | 4, Never",,,,,,,,,,taps1_q4,, tapsprescriptionmedusescl,taps1,,radio,"5. In the PAST 12 MONTHS, how often have you used any prescription medications just for the feeling, more than prescribed or that were not prescribed for you? Prescription medications that may be used this way include: Opiate pain relievers (for example, OxyContin, Vicodin, Percocet, Methadone). Medications for anxiety or sleeping (for example, Xanax, Ativan, Klonopin) Medications for ADHD (for example, Adderall or Ritalin)","0, Daily or Almost Daily | 1, Weekly | 2, Monthly | 3, Less Than Monthly | 4, Never",,,,,,,,,,taps1_q5,, -dt_header,taps2,,descriptive,"

Tobacco, Alcohol, Prescription medications, and other Substance
Part 2 (TAPS-2)

General Instructions: The TAPS Tool Part 2 is a brief assessment for tobacco, alcohol, and illicit substance use and prescription medication misuse in the PAST 3 MONTHS ONLY.

Each of the following questions and sub-questions has two possible answer choices- either yes or no.

Select your answer.

",,,,,,,,,,,,," @HIDDEN-SURVEY" +dt_header,taps2,,descriptive,"

Tobacco, Alcohol, Prescription medications, and other Substance
Part 2 (TAPS-2)

General Instructions: The TAPS Tool Part 2 is a brief assessment for tobacco, alcohol, and illicit substance use and prescription medication misuse in the PAST 3 MONTHS ONLY.

Each of the following questions and sub-questions has two possible answer choices- either yes or no.

Select your answer.

",,,,,,,,,,,,,@HIDDEN-SURVEY taps2tobaccoyn,taps2,,radio,"1. In the PAST 3 MONTHS, did you smoke a cigarette containing tobacco?","0, No | 1, Yes",,,,,,,,,,,, taps2_dt1,taps2,,descriptive,"If 'Yes', answer the following questions: ",,,,,,,"[taps2tobaccoyn] = '1'",,,,,, taps2tobaccogr10yn,taps2,,radio,"1.a. In the PAST 3 MONTHS, did you usually smoke more than 10 cigarettes each day?","0, No | 1, Yes",,,,,,"[taps2tobaccoyn] = '1'",,,,,, @@ -407,14 +414,14 @@ taps2adhdmedconcernyn,taps2,,radio,"8.b. In the PAST 3 MONTHS, has anyone expres taps2otherdrugsyn,taps2,,radio,"9. In the PAST 3 MONTHS, did you use any other illegal or recreational drug (for example, ecstasy/molly, GHB, poppers, LSD, mushrooms, special K, bath salts, synthetic marijuana ('spice'), whip-its, etc.)? ","0, No | 1, Yes",,,,,,,,,,,, taps2_dt9,taps2,,descriptive,"If 'Yes', answer the following questions: ",,,,,,,"[taps2otherdrugsyn] = '1'",,,,,, taps2otherdrugstxt,taps2,,text,"9.a. In the PAST 3 MONTHS, what were the other drug(s) you used?",,,,,,,"[taps2otherdrugsyn] = '1'",,,,,, -tap2tobaccoscore,taps2,,calc,"Tobacco score","sum([taps2tobaccoyn],[taps2tobaccogr10yn],[taps2tobaccowakingyn])",,,,,,,,,,,," @HIDDEN-SURVEY" -tap2alcoholscore,taps2,,calc,"Alcohol score","sum([taps2alcoholyn],[taps2alcoholfem4yn],[taps2alcoholmale5yn], [taps2alcoholfailyn],[taps2alcoholconcernyn])",,,,,,,,,,,," @HIDDEN-SURVEY" -tap2cannabisscore,taps2,,calc,"Cannabis score","sum([taps2mjuseyn], [taps2mjweeklyyn], [taps2mjconcernyn])",,,,,,,,,,,," @HIDDEN-SURVEY" -tap2stimulantscore,taps2,,calc,"Stimulant score","sum([taps2stimulantyn], [taps2stimulantweeklyyn], [taps2stimulntconcernyn])",,,,,,,,,,,," @HIDDEN-SURVEY" -tap2heroinscore,taps2,,calc,"Heroin score","sum([taps2heroinyn], [taps2heroinfailyn], [taps2heroinconcernyn])",,,,,,,,,,,," @HIDDEN-SURVEY" -tap2opioidscore,taps2,,calc,"Opioid score","sum([taps2rxopiateyn], [taps2rxopiatefailyn], [taps2rxopiateconcernyn])",,,,,,,,,,,," @HIDDEN-SURVEY" -tap2sedativescore,taps2,,calc,"Sedative score","sum([taps2anxietyslpmedyn], [taps2anxietyslpweeklyyn], [taps2anxietyslpconcyn])",,,,,,,,,,,," @HIDDEN-SURVEY" -tap2rxstimscore,taps2,,calc,"Prescription stimulant score","sum([taps2adhdmedyn], [taps2adhdmedweeklyyn], [taps2adhdmedconcernyn])",,,,,,,,,,,," @HIDDEN-SURVEY" +tap2tobaccoscore,taps2,,calc,"Tobacco score","sum([taps2tobaccoyn],[taps2tobaccogr10yn],[taps2tobaccowakingyn])",,,,,,,,,,,,@HIDDEN-SURVEY +tap2alcoholscore,taps2,,calc,"Alcohol score","sum([taps2alcoholyn],[taps2alcoholfem4yn],[taps2alcoholmale5yn], [taps2alcoholfailyn],[taps2alcoholconcernyn])",,,,,,,,,,,,@HIDDEN-SURVEY +tap2cannabisscore,taps2,,calc,"Cannabis score","sum([taps2mjuseyn], [taps2mjweeklyyn], [taps2mjconcernyn])",,,,,,,,,,,,@HIDDEN-SURVEY +tap2stimulantscore,taps2,,calc,"Stimulant score","sum([taps2stimulantyn], [taps2stimulantweeklyyn], [taps2stimulntconcernyn])",,,,,,,,,,,,@HIDDEN-SURVEY +tap2heroinscore,taps2,,calc,"Heroin score","sum([taps2heroinyn], [taps2heroinfailyn], [taps2heroinconcernyn])",,,,,,,,,,,,@HIDDEN-SURVEY +tap2opioidscore,taps2,,calc,"Opioid score","sum([taps2rxopiateyn], [taps2rxopiatefailyn], [taps2rxopiateconcernyn])",,,,,,,,,,,,@HIDDEN-SURVEY +tap2sedativescore,taps2,,calc,"Sedative score","sum([taps2anxietyslpmedyn], [taps2anxietyslpweeklyyn], [taps2anxietyslpconcyn])",,,,,,,,,,,,@HIDDEN-SURVEY +tap2rxstimscore,taps2,,calc,"Prescription stimulant score","sum([taps2adhdmedyn], [taps2adhdmedweeklyyn], [taps2adhdmedconcernyn])",,,,,,,,,,,,@HIDDEN-SURVEY opioidusebslnopds,opioid_use_baseline_v10_opioid_use_i,,radio,"1. Are you currently taking opioids daily or most days? Examples of opioid medications include hydrocodone (Norco, Vicodin), oxycodone (Percocet), tapentadol (Nucynta), morphine, tramadol, codeine.","0, No | 1, Yes",,,,,,,,RH,,,, opioidusebslnexprncopd,opioid_use_baseline_v10_opioid_use_i,,radio,"2.Have you ever taken an opioid continuously? @@ -736,10 +743,10 @@ if([rapa_mod]='1',5, if([rapa_vig]='1',4, if([rapa_lightweekly]='1',3, if([rapa_light]='1',2, -if([rapa_rarly]='1',1,0)))))))",,,,,,,,,,,," @HIDDEN-SURVEY" -rapa_1cat,rapid_assessment_of_physical_activity_v10_rapa,,calc,"Scoring: RAPA 1: Aerobic category","if(([rapa_modweekly]='1' or [rapa_vigweekly]='1'),5, if(( [rapa_mod]='1' or [rapa_vig]='1'),4, if([rapa_lightweekly]='1',3, if([rapa_light]='1',2, if([rapa_rarly]='1',1,0)))))",,,,,,,,,,,," @HIDDEN-SURVEY" +if([rapa_rarly]='1',1,0)))))))",,,,,,,,,,,,@HIDDEN-SURVEY +rapa_1cat,rapid_assessment_of_physical_activity_v10_rapa,,calc,"Scoring: RAPA 1: Aerobic category","if(([rapa_modweekly]='1' or [rapa_vigweekly]='1'),5, if(( [rapa_mod]='1' or [rapa_vig]='1'),4, if([rapa_lightweekly]='1',3, if([rapa_light]='1',2, if([rapa_rarly]='1',1,0)))))",,,,,,,,,,,,@HIDDEN-SURVEY rapa_2score,rapid_assessment_of_physical_activity_v10_rapa,,calc,"RAPA 2: Strength & Flexibility -","if([rapa_strength]='1' and [rapa_flex]='1',3,if([rapa_strength]='1' and [rapa_flex]='0',1, if([rapa_strength]='0' and [rapa_flex]='1',2, if([rapa_strength]='0' and [rapa_flex]='0',0,0))))",,,,,,,,,,,," @HIDDEN-SURVEY" +","if([rapa_strength]='1' and [rapa_flex]='1',3,if([rapa_strength]='1' and [rapa_flex]='0',1, if([rapa_strength]='0' and [rapa_flex]='1',2, if([rapa_strength]='0' and [rapa_flex]='0',0,0))))",,,,,,,,,,,,@HIDDEN-SURVEY gss8_dt_1,general_sensory_sensitivity_v02_gss8,,descriptive,"Instructions: Please read the following list of symptoms. If you have had any of these symptoms for at least three (3) months in the past year, please mark the appropriate box.",,,,,,,,,,,,, gss8photophobia,general_sensory_sensitivity_v02_gss8,,radio,"Sensitivity to bright lights","1, Yes | 0, No",,,,,,,,RH,,,, gss8phonophobia,general_sensory_sensitivity_v02_gss8,,radio,"Sensitivity to sounds","1, Yes | 0, No",,,,,,,,RH,,,, @@ -749,9 +756,9 @@ gss8touchsensitiv,general_sensory_sensitivity_v02_gss8,,radio,"Sensitivity to to gss8balance,general_sensory_sensitivity_v02_gss8,,radio,"Problems with balance","1, Yes | 0, No",,,,,,,,RH,,,, gss8nausea,general_sensory_sensitivity_v02_gss8,,radio,"Problems with nausea","1, Yes | 0, No",,,,,,,,RH,,,, gss8rapidhr,general_sensory_sensitivity_v02_gss8,,radio,"Problems with rapid heart rate","1, Yes | 0, No",,,,,,,,RH,,,, -gss8_ext_score,general_sensory_sensitivity_v02_gss8,,calc,"External sensory sensitivity - sum of items 1-5","sum([gss8photophobia], [gss8phonophobia], [gss8odorsensitiv], [gss8flavorsensitiv], [gss8touchsensitiv])",,,,,,,,LV,,,," @HIDDEN-SURVEY" -gss8_int_score,general_sensory_sensitivity_v02_gss8,,calc,"Interoception - sum of items 6-8","sum([gss8balance], [gss8nausea], [gss8rapidhr])",,,,,,,,LV,,,," @HIDDEN-SURVEY" -gss8_total_score,general_sensory_sensitivity_v02_gss8,,calc,"GSS Total Score - sum of items 1-8","sum([gss8photophobia], [gss8phonophobia], [gss8odorsensitiv], [gss8flavorsensitiv], [gss8touchsensitiv], [gss8balance], [gss8nausea], [gss8rapidhr])",,,,,,,,LV,,,," @HIDDEN-SURVEY" +gss8_ext_score,general_sensory_sensitivity_v02_gss8,,calc,"External sensory sensitivity - sum of items 1-5","sum([gss8photophobia], [gss8phonophobia], [gss8odorsensitiv], [gss8flavorsensitiv], [gss8touchsensitiv])",,,,,,,,LV,,,,@HIDDEN-SURVEY +gss8_int_score,general_sensory_sensitivity_v02_gss8,,calc,"Interoception - sum of items 6-8","sum([gss8balance], [gss8nausea], [gss8rapidhr])",,,,,,,,LV,,,,@HIDDEN-SURVEY +gss8_total_score,general_sensory_sensitivity_v02_gss8,,calc,"GSS Total Score - sum of items 1-8","sum([gss8photophobia], [gss8phonophobia], [gss8odorsensitiv], [gss8flavorsensitiv], [gss8touchsensitiv], [gss8balance], [gss8nausea], [gss8rapidhr])",,,,,,,,LV,,,,@HIDDEN-SURVEY bfi2s_dt1,the_big_five_inventory_bfi2s,,descriptive,"Instructions Here are a number of characteristics that may or may not apply to you. For example, do you agree that you are someone who likes to spend time with others? Please mark a number for each statement to indicate the extent to which you agree or disagree with that statement. ",,,,,,,,,,,,, @@ -797,10 +804,10 @@ prev_covid19_dx,patient_demographics_full_part_2_v03_demographics,,radio,"15. We who_dx_in_hh,patient_demographics_full_part_2_v03_demographics,,checkbox,"15a. If yes, indicate who (check all that apply):","1, myself | 2, a family member",,,,,,"[prev_covid19_dx] = '1'",,,,,, height_ft_part,patient_demographics_full_part_2_v03_demographics,,text,"16. How tall are you? (in ft and inches)",,feet,integer,4,7,,,,,,,, height_inches_part,patient_demographics_full_part_2_v03_demographics,,text,"
",,inches,integer,0,11,,,,,,,, -height_meters,patient_demographics_full_part_2_v03_demographics,,calc,"

Height in meters (calculated)

","(([height_ft_part]*12) + [height_inches_part])/39.37",,,,,,,,,,,," @HIDDEN-SURVEY" +height_meters,patient_demographics_full_part_2_v03_demographics,,calc,"

Height in meters (calculated)

","(([height_ft_part]*12) + [height_inches_part])/39.37",,,,,,,,,,,,@HIDDEN-SURVEY weight_lbs,patient_demographics_full_part_2_v03_demographics,,text,"17. How much do you weigh (in lbs)?",,"lbs (integer)",integer,75,350,,,,,,,, -weight_kg,patient_demographics_full_part_2_v03_demographics,,calc,"

Weight in kg

",[weight_lbs]/2.205,,,,,,,,,,,," @HIDDEN-SURVEY" -bmi_kg_m2,patient_demographics_full_part_2_v03_demographics,,calc,"

BMI (calculated)

","[weight_kg]/([height_meters] * [height_meters])",kg/(m2),,,,,,,,,,," @HIDDEN-SURVEY" +weight_kg,patient_demographics_full_part_2_v03_demographics,,calc,"

Weight in kg

",[weight_lbs]/2.205,,,,,,,,,,,,@HIDDEN-SURVEY +bmi_kg_m2,patient_demographics_full_part_2_v03_demographics,,calc,"

BMI (calculated)

","[weight_kg]/([height_meters] * [height_meters])",kg/(m2),,,,,,,,,,,@HIDDEN-SURVEY scq_dt_1,selfadministered_comorbidity_questionnaire_v4_scq,,descriptive,"Instructions: The following is a list of common health problems. Please indicate if you currently have the problem. @@ -852,14 +859,41 @@ scqother1,selfadministered_comorbidity_questionnaire_v4_scq,,radio,"19. Do you h scqother1name,selfadministered_comorbidity_questionnaire_v4_scq,,text,"

Problem:

",,,,,,,"[scqother1] = '1'",,,,,, scqother1treat,selfadministered_comorbidity_questionnaire_v4_scq,,radio,"

Do you receive treatment for it?

","0, No | 1, Yes",,,,,,"[scqother1] = '1'",,RH,,,, scqother2,selfadministered_comorbidity_questionnaire_v4_scq,,radio,"20. Do you have any other medical problems? ","0, No | 1, Yes",,,,,,"[scqother1] = '1'",,,,,, -scqother2name,selfadministered_comorbidity_questionnaire_v4_scq,,text,"

Problem:

",,,,,,,"[scqother2] = '1'",,,,,, +scqother2name,selfadministered_comorbidity_questionnaire_v4_scq,,text,"

Problem:

",,,,,,y,"[scqother2] = '1'",,,,,, scqother2treat,selfadministered_comorbidity_questionnaire_v4_scq,,radio,"

Do you receive treatment for it?

","0, No | 1, Yes",,,,,,"[scqother2] = '1'",,RH,,,, eor_dt_1,expectation_items_v12,,descriptive,"Please indicate your expectations regarding your surgery and health care team, using a 0 to 10 scale, for the following items.",,,,,,,,,,,,, eor_funct_ability,expectation_items_v12,,radio,"1. How much functional ability do you expect to have after you recover from surgery?","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = expect no ability (maximum impairment) ----------------------------------- 10 = expect to be fully functional",,,,,,,LH,,,, eor_surg_relieve_pain,expectation_items_v12,,radio,"2. I expect that the pain related with this surgery will relieve over time.","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = expect no pain relief -------------------------------------------------------- 10 = expect full pain relief ",,,,,,,LH,,,, eor_surg_relieve_pain_2,expectation_items_v12,,radio,"3. I'm afraid of pain or other complications during and/or after surgery ","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = not at all afraid ------------------------------------------------------------- 10 = extremely afraid",,,,,,,LH,,,, traj04wkenterdate,acute_phase_trajectory_items_v05_acute_daily,,text,"Date entered: -(auto-entered on submission)",,,datetime_seconds_mdy,,,,,,,,,," @READONLY @HIDDEN-SURVEY @NOW-SERVER" +(auto-entered on submission)",,,datetime_seconds_mdy,,,,,,,,,,"@READONLY @HIDDEN-SURVEY @NOW-SERVER" +traj04wkenterdate_dss,acute_phase_trajectory_items_v05_acute_daily,,calc,"

Acute Daily visit: days since surgery

","if(([event-name]=""day_3_postop_arm_1""), datediff([day_3_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_4_postop_arm_1""), datediff([day_4_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_5_postop_arm_1""), datediff([day_5_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_6_postop_arm_1""), datediff([day_6_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_7_postop_arm_1""), datediff([day_7_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_8_postop_arm_1""), datediff([day_8_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_9_postop_arm_1""), datediff([day_9_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_10_postop_arm_1""), datediff([day_10_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_11_postop_arm_1""), datediff([day_11_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_12_postop_arm_1""), datediff([day_12_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_13_postop_arm_1""), datediff([day_13_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_14_postop_arm_1""), datediff([day_14_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_15_postop_arm_1""), datediff([day_15_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_16_postop_arm_1""), datediff([day_16_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_17_postop_arm_1""), datediff([day_17_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_18_postop_arm_1""), datediff([day_18_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_19_postop_arm_1""), datediff([day_19_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_20_postop_arm_1""), datediff([day_20_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_21_postop_arm_1""), datediff([day_21_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_22_postop_arm_1""), datediff([day_22_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_23_postop_arm_1""), datediff([day_23_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_24_postop_arm_1""), datediff([day_24_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_25_postop_arm_1""), datediff([day_25_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_26_postop_arm_1""), datediff([day_26_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_27_postop_arm_1""), datediff([day_27_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_28_postop_arm_1""), datediff([day_28_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +''))))))))))))))))))))))))))",,,,,,,,,,,,@HIDDEN-SURVEY traj04worstpainscl,acute_phase_trajectory_items_v05_acute_daily,,radio,"

1. Please rate your chest pain by choosing the number that best describes your pain at its worst in the LAST 24 HOURS.

","0, 0 No pain | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 Pain as bad as you can imagine","0 = No pain ------------------------------------------------------------------ 10 Pain as bad as you can imagine",,,,,,,LH,,,, traj04avgpainscl,acute_phase_trajectory_items_v05_acute_daily,,radio,"

2. Please rate your chest pain by choosing the number that best describes your average pain in the LAST 24 HOURS.

","0, 0 No pain | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 Pain as bad as you can imagine","0 = No pain ------------------------------------------------------------------ 10 Pain as bad as you can imagine",,,,,,,LH,,,, traj04painintfactivscl,acute_phase_trajectory_items_v05_acute_daily,,radio,"

3. Please rate how much your chest pain has interfered with your general activities during the LAST 24 HOURS.

","0, 0 Did not interfere | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 Completely interfered","0 = Did not interfere ----------------------------------------------------------- 10 = Completely interfered",,,,,,,LH,,,, @@ -870,14 +904,15 @@ traj04angryscl,acute_phase_trajectory_items_v05_acute_daily,,radio,"7. During th traj04nervousscl,acute_phase_trajectory_items_v05_acute_daily,,radio,"8. During the past 24 hours, how nervous were you?","0, 0 Not at all | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 Extremely","0 = Not at all ------------------------------------------------------------------ 10 = Extremely",,,,,,,LH,,,, traj04medyn,acute_phase_trajectory_items_v05_acute_daily,,radio,"9. During the past 24 hours, did you take any kind of medication for your chest pain?","Y, Yes | N, No",,,,,,,,RH,,,, traj04wk_dt,acute_phase_trajectory_items_v05_acute_daily,,descriptive,"

9a. Please select which medications you took from the list below:

",,,,,,,"[traj04medyn] = 'Y'",,,,,, -traj04medlist1otc,acute_phase_trajectory_items_v05_acute_daily,,radio,"Over-the-counter pain relievers (e.g., acetaminophen Tylenol, Advil, Aleve, Motrin, Aspirin, etc.)","Y, Yes | N, No",,,,,,"[traj04medyn] = 'Y'",,RH,,,, +traj04medlisttylenol,acute_phase_trajectory_items_v05_acute_daily,,radio,"Acetaminophen (Tylenol)","Y, Yes | N, No",,,,,,"[traj04medyn] = 'Y'",,RH,,,,"20220928 Added this field AHACKMAN" +traj04medlist1otc,acute_phase_trajectory_items_v05_acute_daily,,radio,"Over-the-counter or prescription non‐steroidal pain relievers (examples Advil, Aleve, Motrin, Aspirin, Ibuprofen, Naproxen, Celecoxib, Meloxicam, etc.) ","Y, Yes | N, No",,,,,,"[traj04medyn] = 'Y'",,RH,,,, traj04medlist2opioid,acute_phase_trajectory_items_v05_acute_daily,,radio,"Opioid pain relievers (e.g., oxycodone, Percocet, Nucynta, tapendadol, hydrocodone, Vicodin, Norco, Dilaudid, morphine, tramadol, Ultram, etc.)","Y, Yes | N, No",,,,,,"[traj04medyn] = 'Y'",,RH,,,, traj04medlist3thc,acute_phase_trajectory_items_v05_acute_daily,,radio,"THC/CBD or marijuana products (edibles, gummies, CBD oil, weed, etc.)","Y, Yes | N, No",,,,,,"[traj04medyn] = 'Y'",,RH,,,, traj04medlist4gaba,acute_phase_trajectory_items_v05_acute_daily,,radio,"Gabapentin or pregabalin (Neurontin, Lyrica, etc)","Y, Yes | N, No",,,,,,"[traj04medyn] = 'Y'",,RH,,,, -traj04medlist5dulox,acute_phase_trajectory_items_v05_acute_daily,,radio,"Duloxetine (Cymbalta) or venlafaxine (Wellbutrin)","Y, Yes | N, No",,,,,,"[traj04medyn] = 'Y'",,RH,,,, +traj04medlist5dulox,acute_phase_trajectory_items_v05_acute_daily,,radio,"Duloxetine (Cymbalta) or venlafaxine (Effexor)","Y, Yes | N, No",,,,,,"[traj04medyn] = 'Y'",,RH,,,, traj04medlist6other,acute_phase_trajectory_items_v05_acute_daily,,radio,"Other, not specified above","Y, Yes | N, No",,,,,,"[traj04medyn] = 'Y'",,RH,,,, traj04medlist6othertxt,acute_phase_trajectory_items_v05_acute_daily,,text,"Please specify the other medication:",,,,,,,"[traj04medlist6other] = 'Y'",,RH,,,, -traj24wkenterdate,acute_phase_trajectory_items_v01_6month_daily,,text,"Date entered:",,,datetime_seconds_mdy,,,,,,,,,," @READONLY @HIDDEN-SURVEY @NOW-SERVER" +traj24wkenterdate,acute_phase_trajectory_items_v01_6month_daily,,text,"Date entered:",,,datetime_seconds_mdy,,,,,,,,,,"@READONLY @HIDDEN-SURVEY @NOW-SERVER" traj24worstpainscl,acute_phase_trajectory_items_v01_6month_daily,,radio,"

1. Please rate your chest pain by choosing the number that best describes your pain at its worst in the LAST 24 HOURS.

","0, 0 No pain | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 Pain as bad as you can imagine","0 = No pain ------------------------------------------------------------------ 10 Pain as bad as you can imagine",,,,,,,LH,,,, traj24avgpainscl,acute_phase_trajectory_items_v01_6month_daily,,radio,"

2. Please rate your chest pain by choosing the number that best describes your average pain in the LAST 24 HOURS.

","0, 0 No pain | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 Pain as bad as you can imagine","0 = No pain ------------------------------------------------------------------ 10 Pain as bad as you can imagine",,,,,,,LH,,,, traj24painintfactivscl,acute_phase_trajectory_items_v01_6month_daily,,radio,"

3. Please rate how much your chest pain has interfered with your general activities during the LAST 24 HOURS.

","0, 0 Did not interfere | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 Completely interfered","0 = Did not interfere ----------------------------------------------------------- 10 = Completely interfered",,,,,,,LH,,,, @@ -885,12 +920,13 @@ traj24sleepscl,acute_phase_trajectory_items_v01_6month_daily,,radio,"4. Please r traj24physactscl,acute_phase_trajectory_items_v01_6month_daily,,radio,"5. During the past 24 hours, how physically active were you?","0, 0 Not at all | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 Extremely","0 = Not at all ------------------------------------------------------------------ 10 = Extremely",,,,,,,LH,,,, traj24medyn,acute_phase_trajectory_items_v01_6month_daily,,radio,"6. During the past 24 hours, did you take any kind of medication for your chest pain?","Y, Yes | N, No",,,,,,,,RH,,,, traj24wk_dt_1,acute_phase_trajectory_items_v01_6month_daily,,descriptive,"

6a. Please select which medications you took from the list below:

",,,,,,,"[traj24medyn] = 'Y'",,,,,, -traj24medlist1otc,acute_phase_trajectory_items_v01_6month_daily,,radio,"

1. Over-the-counter pain relievers (e.g., acetaminophen Tylenol, Advil, Aleve, Motrin, Aspirin, etc.)

","Y, Yes | N, No",,,,,,"[traj24medyn] = 'Y'",,RH,,,, -traj24medlist2opioid,acute_phase_trajectory_items_v01_6month_daily,,radio,"

2. Opioid pain relievers (e.g., oxycodone, Percocet, Nucynta, tapendadol, hydrocodone, Vicodin, Norco, Dilaudid, morphine, tramadol, Ultram, etc.)

","Y, Yes | N, No",,,,,,"[traj24medyn] = 'Y'",,RH,,,, -traj24medlist3thc,acute_phase_trajectory_items_v01_6month_daily,,radio,"3. THC/CBD or marijuana products (edibles, gummies, CBD oil, weed, etc.)","Y, Yes | N, No",,,,,,"[traj24medyn] = 'Y'",,RH,,,, -traj24medlist4gaba,acute_phase_trajectory_items_v01_6month_daily,,radio,"4. Gabapentin or pregabalin (Neurontin, Lyrica, etc)","Y, Yes | N, No",,,,,,"[traj24medyn] = 'Y'",,RH,,,, -traj24medlist5dulox,acute_phase_trajectory_items_v01_6month_daily,,radio,"5. Duloxetine (Cymbalta) or venlafaxine (Wellbutrin)","Y, Yes | N, No",,,,,,"[traj24medyn] = 'Y'",,RH,,,, -traj24medlist6other,acute_phase_trajectory_items_v01_6month_daily,,radio,"6. Other, not specified above","Y, Yes | N, No",,,,,,"[traj24medyn] = 'Y'",,RH,,,, +traj24medlist1tylenol,acute_phase_trajectory_items_v01_6month_daily,,radio,"

1. Acetaminophen (Tylenol)

","Y, Yes | N, No",,,,,,"[traj24medyn] = 'Y'",,RH,,,,"20220928 Added this field AHACKMAN" +traj24medlist1otc,acute_phase_trajectory_items_v01_6month_daily,,radio,"

2. Over-the-counter or prescription non‐steroidal pain relievers (examples Advil, Aleve, Motrin, Aspirin, Ibuprofen, Naproxen, Celecoxib, Meloxicam, etc.) 

","Y, Yes | N, No",,,,,,"[traj24medyn] = 'Y'",,RH,,,, +traj24medlist2opioid,acute_phase_trajectory_items_v01_6month_daily,,radio,"

3. Opioid pain relievers (e.g., oxycodone, Percocet, Nucynta, tapendadol, hydrocodone, Vicodin, Norco, Dilaudid, morphine, tramadol, Ultram, etc.)

","Y, Yes | N, No",,,,,,"[traj24medyn] = 'Y'",,RH,,,, +traj24medlist3thc,acute_phase_trajectory_items_v01_6month_daily,,radio,"4. THC/CBD or marijuana products (edibles, gummies, CBD oil, weed, etc.)","Y, Yes | N, No",,,,,,"[traj24medyn] = 'Y'",,RH,,,, +traj24medlist4gaba,acute_phase_trajectory_items_v01_6month_daily,,radio,"5. Gabapentin or pregabalin (Neurontin, Lyrica, etc)","Y, Yes | N, No",,,,,,"[traj24medyn] = 'Y'",,RH,,,, +traj24medlist5dulox,acute_phase_trajectory_items_v01_6month_daily,,radio,"6. Duloxetine (Cymbalta) or venlafaxine (Effexor)","Y, Yes | N, No",,,,,,"[traj24medyn] = 'Y'",,RH,,,, +traj24medlist6other,acute_phase_trajectory_items_v01_6month_daily,,radio,"7. Other, not specified above","Y, Yes | N, No",,,,,,"[traj24medyn] = 'Y'",,RH,,,, traj24medlist6othertxt,acute_phase_trajectory_items_v01_6month_daily,,notes,"Other, specify:",,,,,,,"[traj24medlist6other] = 'Y'",,RH,,,, rfu12worstchestpainscl,month_remote_followup_v20_12month_followup,,radio,"

1. Please rate your chest pain by choosing the number that best describes your pain at its worst in the LAST 7 DAYS.

","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No pain ------------------------------------------------------------------ 10 Pain as bad as you can imagine",,,,,,,LH,,,, rfu12avgchestpainscl,month_remote_followup_v20_12month_followup,,radio,"

2. Please rate your chest pain by choosing the number that best describes your average pain in the LAST 7 DAYS.

","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No pain ------------------------------------------------------------------ 10 Pain as bad as you can imagine",,,,,,,LH,,,, @@ -899,13 +935,15 @@ rfu12sleepqualscl,month_remote_followup_v20_12month_followup,,radio,"4. Please r rfu12physactscl,month_remote_followup_v20_12month_followup,,radio,"5. During the LAST 7 DAYS, how physically active were you?","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = Not at all ------------------------------------------------------------------ 10 Extremely",,,,,,,LH,,,, rfu12medchestpainyn,month_remote_followup_v20_12month_followup,,radio,"6. During the past 24 hours, did you take any kind of medication for your chest pain?","1, Yes | 0, No",,,,,,,,LH,,,, rfu12_dt_1,month_remote_followup_v20_12month_followup,,descriptive,"

6a. If yes, please indicate which medications you took from the list below.

",,,,,,,"[rfu12medchestpainyn] = '1'",,,,,, -rfu12medchestotc,month_remote_followup_v20_12month_followup,,radio,"Over-the-counter pain relievers (e.g., acetaminophen Tylenol, Advil, Aleve, Motrin, Aspirin, etc.)","1, Yes | 0, No",,,,,,"[rfu12medchestpainyn] = '1'",,RH,,,, +rfu12medchesttylenol,month_remote_followup_v20_12month_followup,,radio,"Acetaminophen (Tylenol)","1, Yes | 0, No",,,,,,"[rfu12medchestpainyn] = '1'",,RH,,,,"20220928 Added this field AHACKMAN" +rfu12medchestotc,month_remote_followup_v20_12month_followup,,radio,"Over-the-counter or prescription non‐steroidal pain relievers (examples Advil, Aleve, Motrin, Aspirin, Ibuprofen, Naproxen, Celecoxib, Meloxicam, etc.) ","1, Yes | 0, No",,,,,,"[rfu12medchestpainyn] = '1'",,RH,,,, rfu12medchestopioid,month_remote_followup_v20_12month_followup,,radio,"Opioid pain relievers (e.g., oxycodone, Percocet, Nucynta, tapendadol, hydrocodone, Vicodin, Norco, Dilaudid, morphine, tramadol, Ultram, etc.)","1, Yes | 0, No",,,,,,"[rfu12medchestpainyn] = '1'",,RH,,,, rfu12medchestcannabid,month_remote_followup_v20_12month_followup,,radio,"THC/CBD or marijuana products (edibles, gummies, CBD oil, weed, etc.)","1, Yes | 0, No",,,,,,"[rfu12medchestpainyn] = '1'",,RH,,,, rfu12medchestgaba,month_remote_followup_v20_12month_followup,,radio,"Gabapentin or pregabalin (Neurontin, Lyrica, etc)","1, Yes | 0, No",,,,,,"[rfu12medchestpainyn] = '1'",,RH,,,, -rfu12medchestdulox,month_remote_followup_v20_12month_followup,,radio,"Duloxetine (Cymbalta) or venlafaxine (Wellbutrin)","1, Yes | 0, No",,,,,,"[rfu12medchestpainyn] = '1'",,RH,,,, +rfu12medchestdulox,month_remote_followup_v20_12month_followup,,radio,"Duloxetine (Cymbalta) or venlafaxine (Effexor)","1, Yes | 0, No",,,,,,"[rfu12medchestpainyn] = '1'",,RH,,,, rfu12medchestother,month_remote_followup_v20_12month_followup,,radio,"Other, not specified above","1, Yes | 0, No",,,,,,"[rfu12medchestpainyn] = '1'",,RH,,,, rfu12medchestothertxt,month_remote_followup_v20_12month_followup,,text,"

Specify other:

",,,,,,,"[rfu12medchestother] = '1'",,RH,,,, +dt_reconsent_check,functional_testing_mcc2_v01,,descriptive,"
It appears that this participant still needs to be reconsented with the new June 30, 2022 consent related to the 3-Month Visit.
Please check in the Screening Project if they have been reconsented.
",,,,,,,"[informed_consent_arm_1][reconsent06302022]=""0""",,,,,,@HIDDEN-PDF ft_dt_1,functional_testing_mcc2_v01,,descriptive,"

Deep breathing & coughing

",,,,,,,,,,,,, ftdbcdeepbrthinitscl,functional_testing_mcc2_v01,"Deep Breathing",dropdown,"1a. Initial Pain Rating: ","0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10","0 = no pain to 10 = worst pain imaginable",,,,,,,,,,, @@ -941,7 +979,7 @@ pptremoter3val,qst_mcc1_v03,,text,"Rep 3:",,x.xx,number_2dp,0,9,,,,,,,, pptremoter3val_d,qst_mcc1_v03,,text,"Rep 3: (double entry)",,x.xx,number_2dp,0,9,,,,,,,, ppt_dt_rep9,qst_mcc1_v03,,descriptive,"

Rep 3 entries do not match! Please check your entries.

",,,,,,,"[pptremoter3val] <> """" and [pptremoter3val_d] <> """" and [pptremoter3val] <> [pptremoter3val_d]",,,,,, dma_dt_1,qst_mcc1_v03,,descriptive,"

Dynamic Mechanical Allodynia (DMA):

(double entry of data to prevent entry errors)

",,,,,,,,,,,,, -dma_dt_2,qst_mcc1_v03,,descriptive,"1. Pain ratings - Standardized site (5th-6th ICS): +dma_dt_2,qst_mcc1_v03,,descriptive,"1. DMA Pain ratings - Standardized site (5th-6th ICS): Control side (contralateral):",,,,,,,,,,,,, dmacontr1pain,qst_mcc1_v03,,dropdown,"Rep 1:","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,,,,,,, @@ -976,42 +1014,47 @@ dmaindxr5pain,qst_mcc1_v03,,dropdown,"Rep 5:","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | dmaindxr5pain_d,qst_mcc1_v03,,dropdown,"Rep 5: (double entry)","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,,,,,,, dma_dt_index5,qst_mcc1_v03,,descriptive,"

Rep 5 entries do not match! Please check your entries.

",,,,,,,"[dmaindxr5pain] <> """" and [dmaindxr5pain_d] <> """" and [dmaindxr5pain] <> [dmaindxr5pain_d]",,,,,, dmasenscompare,qst_mcc1_v03,,dropdown,"11. Sensation comparison standardized site","1, Equal on both sides | 2, Stronger on the surgery side | 3, Stronger on contralateral side",,,,,,,,,,,, -dma_ps_dt_1,qst_mcc1_v03,,descriptive,"

Patient specific site:
DMA Pain ratings – Patient specific site. Double data entry
Range: 0-10 in 0.5 increments

Control side (contralateral)

",,,,,,,"[pmachgchestpainyn] = '1'",,,,,, -dmaptcontr1pain,qst_mcc1_v03,,dropdown,"12. Rep 1:","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[pmachgchestpainyn] = '1'",,,,,, -dmaptcontr1pain_d,qst_mcc1_v03,,dropdown,"12. Rep 1: (double entry)","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[pmachgchestpainyn] = '1'",,,,,, +dma_ps_dt_1,qst_mcc1_v03,,descriptive,"

Patient specific site:
DMA Pain ratings – Patient specific site. Double data entry
Range: 0-10 in 0.5 increments

Control side (contralateral)

",,,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, +dmaptcontr1pain,qst_mcc1_v03,,dropdown,"12. Rep 1:","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, +dmaptcontr1pain_d,qst_mcc1_v03,,dropdown,"12. Rep 1: (double entry)","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, dma_dt_index6,qst_mcc1_v03,,descriptive,"

Rep 1 entries do not match! Please check your entries.

",,,,,,,"[dmaptcontr1pain] <> """" and [dmaptcontr1pain_d] <> """" and [dmaptcontr1pain] <> [dmaptcontr1pain_d]",,,,,, -dmaptcontr2pain,qst_mcc1_v03,,dropdown,"13. Rep 2:","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[pmachgchestpainyn] = '1'",,,,,, -dmaptcontr2pain_d,qst_mcc1_v03,,dropdown,"13. Rep 2: (double entry)","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[pmachgchestpainyn] = '1'",,,,,, +dmaptcontr2pain,qst_mcc1_v03,,dropdown,"13. Rep 2:","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, +dmaptcontr2pain_d,qst_mcc1_v03,,dropdown,"13. Rep 2: (double entry)","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, dma_dt_index7,qst_mcc1_v03,,descriptive,"

Rep 2 entries do not match! Please check your entries.

",,,,,,,"[dmaptcontr2pain] <> """" and [dmaptcontr2pain_d] <> """" and [dmaptcontr2pain] <> [dmaptcontr2pain_d]",,,,,, -dmaptcontr3pain,qst_mcc1_v03,,dropdown,"14. Rep 3:","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[pmachgchestpainyn] = '1'",,,,,, -dmaptcontr3pain_d,qst_mcc1_v03,,dropdown,"14. Rep 3: (double entry)","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[pmachgchestpainyn] = '1'",,,,,, +dmaptcontr3pain,qst_mcc1_v03,,dropdown,"14. Rep 3:","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, +dmaptcontr3pain_d,qst_mcc1_v03,,dropdown,"14. Rep 3: (double entry)","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, dma_dt_index8,qst_mcc1_v03,,descriptive,"

Rep 3 entries do not match! Please check your entries.

",,,,,,,"[dmaptcontr3pain] <> """" and [dmaptcontr3pain_d] <> """" and [dmaptcontr3pain] <> [dmaptcontr3pain_d]",,,,,, -dmaptcontr4pain,qst_mcc1_v03,,dropdown,"15. Rep 4:","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[pmachgchestpainyn] = '1'",,,,,, -dmaptcontr4pain_d,qst_mcc1_v03,,dropdown,"15. Rep 4: (double entry)","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[pmachgchestpainyn] = '1'",,,,,, +dmaptcontr4pain,qst_mcc1_v03,,dropdown,"15. Rep 4:","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, +dmaptcontr4pain_d,qst_mcc1_v03,,dropdown,"15. Rep 4: (double entry)","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, dma_dt_index9,qst_mcc1_v03,,descriptive,"

Rep 4 entries do not match! Please check your entries.

",,,,,,,"[dmaptcontr4pain] <> """" and [dmaptcontr4pain_d] <> """" and [dmaptcontr4pain] <> [dmaptcontr4pain_d]",,,,,, -dmaptcontr5pain,qst_mcc1_v03,,dropdown,"16. Rep 5:","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[pmachgchestpainyn] = '1'",,,,,, -dmaptcontr5pain_d,qst_mcc1_v03,,dropdown,"16. Rep 5: (double entry)","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[pmachgchestpainyn] = '1'",,,,,, +dmaptcontr5pain,qst_mcc1_v03,,dropdown,"16. Rep 5:","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, +dmaptcontr5pain_d,qst_mcc1_v03,,dropdown,"16. Rep 5: (double entry)","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, dma_dt_index10,qst_mcc1_v03,,descriptive,"

Rep 5 entries do not match! Please check your entries.

",,,,,,,"[dmaptcontr5pain] <> """" and [dmaptcontr5pain_d] <> """" and [dmaptcontr5pain] <> [dmaptcontr5pain_d]",,,,,, -dma_ps_dt_2,qst_mcc1_v03,,descriptive,"

Index side (surgery)

",,,,,,,"[pmachgchestpainyn] = '1'",,,,,, -dmaptindxr1pain,qst_mcc1_v03,,dropdown,"17. Rep 1:","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[pmachgchestpainyn] = '1'",,,,,, -dmaptindxr1pain_d,qst_mcc1_v03,,dropdown,"17. Rep 1: (double entry)","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[pmachgchestpainyn] = '1'",,,,,, +dma_ps_dt_2,qst_mcc1_v03,,descriptive,"

Index side (surgery)

",,,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, +dmaptindxr1pain,qst_mcc1_v03,,dropdown,"17. Rep 1:","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, +dmaptindxr1pain_d,qst_mcc1_v03,,dropdown,"17. Rep 1: (double entry)","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, dma_dt_index11,qst_mcc1_v03,,descriptive,"

Rep 1 entries do not match! Please check your entries.

",,,,,,,"[dmaptindxr1pain] <> """" and [dmaptindxr1pain_d] <> """" and [dmaptindxr1pain] <> [dmaptindxr1pain_d]",,,,,, -dmaptindxr2pain,qst_mcc1_v03,,dropdown,"18. Rep 2:","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[pmachgchestpainyn] = '1'",,,,,, -dmaptindxr2pain_d,qst_mcc1_v03,,dropdown,"18. Rep 2: (double entry)","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[pmachgchestpainyn] = '1'",,,,,, +dmaptindxr2pain,qst_mcc1_v03,,dropdown,"18. Rep 2:","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, +dmaptindxr2pain_d,qst_mcc1_v03,,dropdown,"18. Rep 2: (double entry)","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, dma_dt_index12,qst_mcc1_v03,,descriptive,"

Rep 2 entries do not match! Please check your entries.

",,,,,,,"[dmaptindxr2pain] <> """" and [dmaptindxr2pain_d] <> """" and [dmaptindxr2pain] <> [dmaptindxr2pain_d]",,,,,, -dmaptindxr3pain,qst_mcc1_v03,,dropdown,"19. Rep 3:","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[pmachgchestpainyn] = '1'",,,,,, -dmaptindxr3pain_d,qst_mcc1_v03,,dropdown,"19. Rep 3: (double entry)","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[pmachgchestpainyn] = '1'",,,,,, +dmaptindxr3pain,qst_mcc1_v03,,dropdown,"19. Rep 3:","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, +dmaptindxr3pain_d,qst_mcc1_v03,,dropdown,"19. Rep 3: (double entry)","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, dma_dt_index13,qst_mcc1_v03,,descriptive,"

Rep 3 entries do not match! Please check your entries.

",,,,,,,"[dmaptindxr3pain] <> """" and [dmaptindxr3pain_d] <> """" and [dmaptindxr3pain] <> [dmaptindxr3pain_d]",,,,,, -dmaptindxr4pain,qst_mcc1_v03,,dropdown,"20. Rep 4:","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[pmachgchestpainyn] = '1'",,,,,, -dmaptindxr4pain_d,qst_mcc1_v03,,dropdown,"20. Rep 4: (double entry)","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[pmachgchestpainyn] = '1'",,,,,, +dmaptindxr4pain,qst_mcc1_v03,,dropdown,"20. Rep 4:","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, +dmaptindxr4pain_d,qst_mcc1_v03,,dropdown,"20. Rep 4: (double entry)","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, dma_dt_index14,qst_mcc1_v03,,descriptive,"

Rep 4 entries do not match! Please check your entries.

",,,,,,,"[dmaptindxr4pain] <> """" and [dmaptindxr4pain_d] <> """" and [dmaptindxr4pain] <> [dmaptindxr4pain_d]",,,,,, -dmaptindxr5pain,qst_mcc1_v03,,dropdown,"21. Rep 5:","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[pmachgchestpainyn] = '1'",,,,,, -dmaptindxr5pain_d,qst_mcc1_v03,,dropdown,"21. Rep 5: (double entry)","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[pmachgchestpainyn] = '1'",,,,,, +dmaptindxr5pain,qst_mcc1_v03,,dropdown,"21. Rep 5:","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, +dmaptindxr5pain_d,qst_mcc1_v03,,dropdown,"21. Rep 5: (double entry)","0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0",,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, dma_dt_index15,qst_mcc1_v03,,descriptive,"

Rep 5 entries do not match! Please check your entries.

",,,,,,,"[dmaptindxr5pain] <> """" and [dmaptindxr5pain_d] <> """" and [dmaptindxr5pain] <> [dmaptindxr5pain_d]",,,,,, -dmaptspecsite,qst_mcc1_v03,,radio,"22. Patient-Specific site assessed?","1, 1. No, no new pain site or < 4 cm from standardized site | 2, 2. Yes, tested pt-specific site",,,,,,"[pmachgchestpainyn] = '1'",,,,,, -dmaptsenscompare,qst_mcc1_v03,,radio,"23. Sensation comparison patient-specific site:","1, 1. Equal on both sides | 2, 2. Stronger on surgery side | 3, 3. Stronger on contralateral side",,,,,,"[dmaptspecsite] = '2'",,,,,, -dmatestcompyn,qst_mcc1_v03,,radio,"24. DMA Test(s) completed","1, Yes, all 4 sites | 2, Yes, but only some sites | 0, None",,,,,,,,,,,, -dmatestcompwhich,qst_mcc1_v03,,checkbox,"25. Choose all completed sites:","1, 1. Standardized control site (contralateral) | 2, 2. Standardized index site (surgical) | 3, 3. Patient specific control site (contralateral) | 4, 4. Patient specific index site (surgical)",,,,,,"[dmatestcompyn] = '2'",,,,,, +dmaptspecsite_3m,qst_mcc1_v03,,radio,"22. Patient-Specific site assessed? +(3-Month)","1, 1. No, Pain site or < 4 cm from standardized site | 2, 2. Yes, tested pt-specific site | 3, 3. Yes, tested 2 cm below most anterior scar",,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, +dmaptsenscompare,qst_mcc1_v03,,radio,"23. Sensation comparison patient-specific site:","1, 1. Equal on both sides | 2, 2. Stronger on surgery side | 3, 3. Stronger on contralateral side",,,,,,"[dmaptspecsite_3m] = '2' or [dmaptspecsite_3m] = '3'",,,,,, +dmatestcompyn,qst_mcc1_v03,,radio,"24A. DMA Test(s) completed","1, Yes, all sites | 2, Yes, but only some sites | 0, None",,,,,,"[event-name]=""baseline_visit_arm_1""",,,,,, +dmatestcompyn_3m,qst_mcc1_v03,,radio,"24B. DMA Test(s) completed","1, Yes, all 4 sites | 2, Yes, but only some sites | 0, None",,,,,,"[event-name]=""3mo_postop_arm_1""",,,,,, +dmatestcompwhich,qst_mcc1_v03,,checkbox,"25. Choose all completed sites: +(Baseline)","1, 1. Standardized control site (contralateral) | 2, 2. Standardized index site (surgical)",,,,,,"[dmatestcompyn] = '2' and [event-name]=""baseline_visit_arm_1""",,,,,, +dmatestcompwhich_3m,qst_mcc1_v03,,checkbox,"25. Choose all completed sites: +(3-Month)","1, 1. Standardized control site (contralateral) | 2, 2. Standardized index site (surgical) | 3, 3. Patient specific control site (contralateral) | 4, 4. Patient specific index site (surgical)",,,,,,"[dmatestcompyn_3m] = '2' and [event-name]=""3mo_postop_arm_1""",,,,,, dmanotes,qst_mcc1_v03,,notes,"26. Additional notes for DMA",,,,,,,,,,,,, ppt_dt_1,qst_mcc1_v03,,descriptive,"

Pressure Pain Threshold (PPT) (continued)

Chest PPTs. Double data entry

PPT- Standardized site (5th-6th ICS) on surgical side (index site): 

PPT (in kg, to 2 decimal places; min value 0.00, max value 9.00 kg)

Standardized site: Index  (5-6th ICS):

",,,,,,,,,,,,, pptindxr1val,qst_mcc1_v03,,text,"1. Rep 1:",,x.xx,number_2dp,,,,,,,,,, @@ -1095,20 +1138,25 @@ ppt_dt_rep6,qst_mcc1_v03,,descriptive,"

Cuff Pressure for fMRI:

",radio,"1. Cuff pressure contraindicated:","1, Yes | 0, No",,,,,,,,RH,,,, -cuffpfmrinondomleg,qst_mcc1_v03,,radio,"2. Which leg is non-dominant?","1, Right | 2, Left",,,,,,"[cuffpfmricontraindyn] = '0'",,RH,,,, +cuffpfmrinondomleg,qst_mcc1_v03,"

Cuff Pressure for fMRI:

",radio,"1. Which leg is non-dominant?","1, Right | 2, Left",,,,,,,,RH,,,, +cuffpfmricontraindyn,qst_mcc1_v03,,radio,"2. Cuff pressure contraindicated on non-dominant leg:","1, Yes | 0, No",,,,,,,,RH,,,, +cuffpfmricontrainddomyn,qst_mcc1_v03,,radio,"Cuff pressure contraindicated on dominant leg:","1, Yes | 0, No",,,,,,"[cuffpfmricontraindyn] = '1'",,RH,,,, +cuffappliedto,qst_mcc1_v03,,radio,"3. Cuff applied to: +(Note: non-dominant leg = default, dominant leg only if non-dominant is contraindicated) ","1, Right | 2, Left",,,,,,"[cuffpfmricontraindyn] = '0' or [cuffpfmricontrainddomyn]='0'",,RH,,,, cuff_dt_1,qst_mcc1_v03,,descriptive,"Cuff Pressure fMRI -Cuff Pressure to achieve 4/10 pain outside of scanner (in mmHg)",,,,,,,"[cuffpfmricontraindyn] = '0'",,,,,, -cuffpfmripressure,qst_mcc1_v03,,text,"3. Calf of non-dominant leg pressure: -",,(mmHg),number,,,,"[cuffpfmricontraindyn] = '0'",,,,,, -cuffpfmripressure_d,qst_mcc1_v03,,text,"3. Calf of non-dominant leg pressure 1: (double entry) -",,(mmHg),number,,,,"[cuffpfmricontraindyn] = '0'",,,,,, +Cuff Pressure to achieve 4/10 pain outside of scanner (in mmHg)",,,,,,,"[cuffpfmricontraindyn] = '0' or [cuffpfmricontrainddomyn]='0'",,,,,, +cuffpfmripressure,qst_mcc1_v03,,text,"4. Calf pressure: +",,(mmHg),number,,,,"[cuffpfmricontraindyn] = '0' or [cuffpfmricontrainddomyn]='0'",,,,,, +cuffpfmripressure_d,qst_mcc1_v03,,text,"4. Calf pressure: (double entry) +",,(mmHg),number,,,,"[cuffpfmricontraindyn] = '0' or [cuffpfmricontrainddomyn]='0'",,,,,, fmricuff_dt_1,qst_mcc1_v03,,descriptive,"

Cuff pressure entries do not match! Please check your entries.

",,,,,,,"[cuffpfmripressure] <> """" and [cuffpfmripressure_d] <> """" and [cuffpfmripressure] <> [cuffpfmripressure_d]",,,,,, +dt_reconsent_check_3,current_medications_v02,,descriptive,"
It appears that this participant still needs to be reconsented with the new June 30, 2022 consent related to the 3-Month Visit.
Please check in the Screening Project if they have been reconsented.
",,,,,,,"[informed_consent_arm_1][reconsent06302022]=""0""",,,,,,@HIDDEN-PDF cmc_medsleepdepr,current_medications_v02,,radio,"1. In the last 24 hours, have you taken any medication to help you sleep, for depression or anxiety, or for a bipolar/schizoaffective disorder? Examples by category: Sleep meds - zolpidem, flurazepam, eszopiclone, temazepam, melatonin, trazadone; -Anxiety - lorazepam, alprazolam, diazepam;Depression -citalopram, escitalopram, fluoxetine, paroxetine, sertraline, fluvoxamine, duloxetine, venlafaxine, desvenlafaxine, amitriptyline, imipramine, desipramine; +Anxiety - lorazepam, alprazolam, diazepam; +Depression - citalopram, escitalopram, fluoxetine, paroxetine, sertraline, fluvoxamine, duloxetine, venlafaxine, desvenlafaxine, amitriptyline, imipramine, desipramine; Bipolar - lurasidone, lithium, divalproex, valproic acid, lithium, haloperidol, risperidone, olanzapine, aripiprazole, or ziprasidone.","1, Yes | 0, No | 3, Unknown",,,,,,,,RH,,,, cmc_medhtcd,current_medications_v02,,radio,"2. In the past 24 hours have you taken any medications for hypertension/cardiac disease? @@ -1123,25 +1171,32 @@ Neuro - levodopa, safinamide, pramipexole, ropinirole, amantadine, benztropine, ADHD - lisdexamfetamine, amphetamine, methylphenidate, dexmethylphenidate, atomoxetine.","1, Yes | 0, No | 3, Unknown",,,,,,,,RH,,,, cmc_medpainopioid,current_medications_v02,,radio,"5. In the past 24 hours have you taken any pain or opioid containing medications? -Examples: oxycodone, hydrocodone, morphine, hydromorphone, tramadol, fentanyl, pregabalin, gabapentin, NSAIDs, acetaminophen)","1, Yes | 0, No | 3, Unknown",,,,,,,,RH,,,, +Examples: oxycodone, hydrocodone, morphine, hydromorphone, tramadol, fentanyl","1, Yes | 0, No | 3, Unknown",,,,,,,,RH,,,, +cmc_medpainpregabdulo,current_medications_v02,,radio,"

6. In the past 24 hours have you taken any of the following pain medications?

  • 6a. Pregabalin, gabapentin, duloxetine
","1, Yes | 0, No | 3, Unknown",,,,,,,,RH,,,,"20220928 Added this field AHACKMAN" +cmc_medpainnsaids,current_medications_v02,,radio,"
  • 6b. NSAIDs (Ibuprofen (Advil, Motrin), naproxyn (Aleve), aspirin (>325 mg), Celecoxib, Meloxicam 
","1, Yes | 0, No | 3, Unknown",,,,,,,,RH,,,,"20220928 Added this field AHACKMAN" +cmc_medpaintylenol,current_medications_v02,,radio,"
  • 6c. Acetaminophen (Tylenol)   
","1, Yes | 0, No | 3, Unknown",,,,,,,,RH,,,,"20220928 Added this field AHACKMAN" +dt_reconsent_check_2,blood_sample_collection_and_processing_crf,,descriptive,"
It appears that this participant still needs to be reconsented with the new June 30, 2022 consent related to the 3-Month Visit.
Please check in the Screening Project if they have been reconsented.
",,,,,,,"[informed_consent_arm_1][reconsent06302022]=""0""",,,,,,@HIDDEN-PDF bscp_hrs_since_water,blood_sample_collection_and_processing_crf,,text,"1. Number of hours since last drank anything except water:",,,integer,,,,,,,,,, bscp_hrs_since_food,blood_sample_collection_and_processing_crf,,text,"2. Number of hours since last food intake: ",,,integer,,,,,,,,,, bscp_caff_cups_amt,blood_sample_collection_and_processing_crf,,radio,"3. How would you describe the amount of caffeine you had in the last 24 hours: ","1, The usual amount | 2, Less than the usual amount | 3, More than the usual amount | 4, Not applicable",,,,,,,,,,,, bscp_hrs_since_cafstim,blood_sample_collection_and_processing_crf,,text,"3.b. Number of hours since last had caffeine/stimulants:",,,integer,,,,"[bscp_caff_cups_amt] = '1' or [bscp_caff_cups_amt] = '2' or [bscp_caff_cups_amt] = '3'",,,,,, bscp_any_vacc,blood_sample_collection_and_processing_crf,,radio,"4. Have you received any vaccine in the last two weeks?","1, Yes | 0, No",,,,,,,,,,,, bscp_verify_pt,blood_sample_collection_and_processing_crf,,radio,"5. Did you verify patients name and date of birth:","1, Yes | 0, No",,,,,,,,,,,, -bscp_phleb_by_init,blood_sample_collection_and_processing_crf,,text,"6. Initials of person or lab performing phlebotomy:",,,,,,,,,,,,, -bscp_sample_obtained,blood_sample_collection_and_processing_crf,,checkbox,"7. Blood sample","1, Not obtained",,,,,,,,,,,, -bscp_no_sample_reason,blood_sample_collection_and_processing_crf,,radio,"

7.a. Reason not obtained

","1, Unable to obtain blood (>2 sticks) | 2, Patient request to stop (pain, paresthesia) | 3, Patient condition (lightheaded, fainted) | 4, Hematoma after needle stick (bruising, ecchymosis) | 5, Other",,,,,,"[bscp_sample_obtained(1)] = '1'",,,,,, +bscp_coll_site,blood_sample_collection_and_processing_crf,,radio,"6. Site where blood sample collection performed:","1, U of Michigan | 2, Wayne State | 3, Spectrum Health",,,,,,,,,,,, +bscp_phleb_by_init,blood_sample_collection_and_processing_crf,,text,"7. Initials of person or lab performing phlebotomy:",,,,,,,,,,,,, +bscp_sample_obtained,blood_sample_collection_and_processing_crf,,checkbox,"8. Blood sample","1, Not obtained",,,,,,,,,,,, +bscp_no_sample_reason,blood_sample_collection_and_processing_crf,,radio,"

8.a. Reason not obtained

","1, Unable to obtain blood (>2 sticks) | 2, Patient request to stop (pain, paresthesia) | 3, Patient condition (lightheaded, fainted) | 4, Hematoma after needle stick (bruising, ecchymosis) | 5, Other",,,,,,"[bscp_sample_obtained(1)] = '1'",,,,,, bscp_samplekit_brcd,blood_sample_collection_and_processing_crf,,text,"

Sample kit barcode

",,,,,,,,,,,,, -bscp_time_blood_draw,blood_sample_collection_and_processing_crf,,text,"Time completed blood draw: ",,,datetime_mdy,,,,,,,,,, +bscp_time_blood_draw,blood_sample_collection_and_processing_crf,,text,"Time completed blood draw: ",,,datetime_mdy,,,y,,,,,,, +bscp_time_blood_draw_dss,blood_sample_collection_and_processing_crf,,calc,"

Time completed blood draw: days since surgery

","datediff([bscp_time_blood_draw],[sp_surg_date],'d')",,,,,,,,,,,, bscp_dt1,blood_sample_collection_and_processing_crf,,descriptive,"

Sample Tubes

",,,,,,,,,,,,, bscp_lav1_not_obt,blood_sample_collection_and_processing_crf,,checkbox,"

Lavender #1:

","1, Not obtained",,,,,,,,,,,, bscp_lav1_brcd,blood_sample_collection_and_processing_crf,,text,"

Lavender #1 barcode

",,,,,,,,,,,,, bscp_paxg_not_obt,blood_sample_collection_and_processing_crf,,checkbox,"

PAXgene DNA tube:

","1, Not obtained",,,,,,,,,,,, bscp_paxg_brcd,blood_sample_collection_and_processing_crf,,text,"

PAXgene DNA tube barcode

",,,,,,,,,,,,, bscp_dt2,blood_sample_collection_and_processing_crf,,descriptive,"

Centrifuging

",,,,,,,,,,,,, -bscp_time_centrifuge,blood_sample_collection_and_processing_crf,,text,"Time completed centrifuging: ",,,datetime_mdy,,,,,,,,,, +bscp_time_centrifuge,blood_sample_collection_and_processing_crf,,text,"Time completed centrifuging: ",,,datetime_mdy,,,y,,,,,,, +bscp_time_centrifuge_dss,blood_sample_collection_and_processing_crf,,calc,"

Time completed centrifuging: days since surgery

","datediff([bscp_time_centrifuge],[sp_surg_date],'d')",,,,,,,,,,,, bscp_lav1_centrif_brcd,blood_sample_collection_and_processing_crf,,text,"

Lavender #1 barcode

",,,,,,,,,,,,, bscp_plugcap_centrif_brcd,blood_sample_collection_and_processing_crf,,text,"

Plug cap tube barcode

",,,,,,,,,,,,, bscp_deg_of_hemolysis,blood_sample_collection_and_processing_crf,,radio,"

Assess the degree of hemolysis of the plasma (Lavender tube) after centrifugation according to the laminated hemolysis color scale, and record the estimated hemoglobin value in g/L:

","0, 0 | .25, 0.25 | .5, 0.5 | 1, 1 | 2, 2 | 4, 4 | 8, 8",g/L,,,,,,y,LH,,,, @@ -1154,7 +1209,8 @@ bscp_aliq_cnt,blood_sample_collection_and_processing_crf,,dropdown,"

Time plasma aliquot tubes placed in freezer:days since surgery

","datediff([bscp_aliquot_freezer_time],[sp_surg_date],'d')",,,,,,,,,,,, bscp_dt_4,blood_sample_collection_and_processing_crf,,descriptive,"

Protocol Deviation

",,,,,,,,,,,,, bscp_protocol_dev,blood_sample_collection_and_processing_crf,,radio,"Did a protocol deviation occur:","1, Yes | 0, No",,,,,,,,,,,, bscp_protocol_dev_reason,blood_sample_collection_and_processing_crf,,radio,"Reason for protocol deviation:","1, Unable to obtain blood sample -technical reason | 2, Unable to obtain blood sample -patient related | 3, Sample handling/processing error",,,,,,,,,,,, @@ -1167,15 +1223,20 @@ img_hopeful,imaging_items_v01,,radio,"4. Currently, how hopeful are you?","0, No img_nervous,imaging_items_v01,,radio,"5. Currently, how nervous are you?","0, Not at all | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, Extremely",,,,,,,,,,img_mtrx_1,, img_happy,imaging_items_v01,,radio,"6. Currently, how happy are you?","0, Not at all | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, Extremely",,,,,,,,,,img_mtrx_1,, img_qual_sleep_24,imaging_items_v01,,radio,"7.Rate the overall QUALITY of your SLEEP in the past 24 hours.","0, Extremely poor | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, Extremely good",,,,,,,,,,img_mtrx_2,, -imgpainanatsiteareatxt,imaging_items_v01,,text,,,,,,,,,,,,,," @IMAGEMAP=MBODY2" +imgpainanatsiteareatxt,imaging_items_v01,,text,,,,,,,,,,,,,,@IMAGEMAP=MBODY2 fmricuff_initials,imaging_mcc2_v01,,text,"Investigator initials:",,,,,,,,,,,,, -fmripatientname,imaging_mcc2_v01,,text,"

Verify Patient Name (as entered into scanner console):

  • Patient name: first name: followed by a 5-digit REDCap patient ID; last name: A2CPS
  • Site code:
    ""UM"" for U of Michigan
    ""WS"" for Wayne State
    ""SH"" for Spectrum Health
  • Visit code:
    ""V1"" for baseline visit
    ""V3"" for 3-month visit 
  • Example: UM10078V1 (first name) A2CPS (last name) 
",,,,,,,,,RH,,,, +fmripatientname_gen,imaging_mcc2_v01,,text,"Generated image ID - Copied to fmripatientname field when that form is completed. +Added 6/22/2022",,,,,,,,,RH,,,,"@HIDDEN @CALCTEXT(concat(if([informed_consent_arm_1][sp_data_site]='1',""UM"",if([informed_consent_arm_1][sp_data_site]='2',""WS"",if([informed_consent_arm_1][sp_data_site]='3',""SH"",""NoSite""))),[record_id],if([event-name]= 'baseline_visit_arm_1',""V1"",if([event-name]= '3mo_postop_arm_1',""V3"",""NoEvent""))))" +fmripatientname,imaging_mcc2_v01,,text,"

Verify Patient Name (as entered into scanner console):

  • Site code:
    • ""UM"" - U of Michigan
    • ""WS"" - Wayne State
    • ""SH"" - Spectrum Health
  • Patient name: 5-digit REDCap patient ID
  • Visit code:
    ""V1"" for baseline visit
    ""V3"" for 3-month visit 

    Example: UM20001V1
",,,,,,,,,RH,,,,"@CALCTEXT(concat(if([informed_consent_arm_1][sp_data_site]='1',""UM"",if([informed_consent_arm_1][sp_data_site]='2',""WS"",if([informed_consent_arm_1][sp_data_site]='3',""SH"",""NoSite""))),[record_id],if([event-name]= 'baseline_visit_arm_1',""V1"",if([event-name]= '3mo_postop_arm_1',""V3"",""NoEvent""))))" +fmripatientname_scan,imaging_mcc2_v01,,text,"

Optional:

Patient Name as entered into scanner console if DIFFERENT than generated ID above:

",,,,,,,,,RH,,,, fmri_magnet_name,imaging_mcc2_v01,,radio,"fMRI Magnet Name:","1, Explorer MRI (BIRB) | 2, Discovery MRI (Modular Unit)",,,,,,"left ([fmripatientname], 2)=""UM""",,,,,, -fmri_dt_0,imaging_mcc2_v01,,descriptive,"

Cuff pressure contraindicated: [cuffpfmricontraindyn]

(From QST MCC1 form)

",,,,,,,,,,,,, -fmri_dt_1,imaging_mcc2_v01,,descriptive,"

Cuff Pressure fMRI:

Cuff Pressure to achieve 4/10 pain outside of scanner (in mmHg)

Reading from QST MCC1 form:

Calf pressure, contralateral calf, Pressure 1: [cuffpfmripressure] mmHg

",,,,,,,"[cuffpfmricontraindyn] = '0'",,,,,, -fmricuffleg,imaging_mcc2_v01,,radio,"Cuff applied to R/L leg: -(hint: MCC2: non-dominant leg)","1, Right | 2, Left",,,,,,[cuffpfmricontraindyn]='0',,,,,, -fmricuffcontrarecal,imaging_mcc2_v01,,radio,"Re-calibration of pressure needed:","1, Yes | 0, No",,,,,,"[cuffpfmricontraindyn] = '0'",,RH,,,, +fmri_dt_0,imaging_mcc2_v01,,descriptive,"
Cuff pressure contraindicated on non-dominant leg: [cuffpfmricontraindyn]

(From QST MCC2 form)

",,,,,,,,,,,,, +fmri_dt_4,imaging_mcc2_v01,,descriptive,"
Contraindicated  on dominant leg: [cuffpfmricontrainddomyn]

(From QST MCC2 form)

",,,,,,,"[cuffpfmricontraindyn] = '1'",,,,,, +fmri_dt_1,imaging_mcc2_v01,,descriptive,"
Cuff Pressure fMRI:
Cuff Pressure to achieve 4/10 pain: [cuffpfmripressure] mmHg

(From QST MCC2 form)

",,,,,,,"[cuffpfmricontraindyn] = '0' or [cuffpfmricontrainddomyn]='0'",,,,,, +fmricuffleg,imaging_mcc2_v01," ",radio,"Cuff applied to R/L leg: +(hint: non-dominant leg = default +dominant leg only if non-dominant is contraindicated)","1, Right | 2, Left",,,,,,"[cuffpfmricontraindyn] = '0' or [cuffpfmricontrainddomyn]='0'",,,,,, +fmricuffcontrarecal,imaging_mcc2_v01,,radio,"Re-calibration of pressure needed:","1, Yes | 0, No",,,,,,"[cuffpfmricontraindyn] = '0' or [cuffpfmricontrainddomyn]='0'",,RH,,,, fmricuffcalfpressurerecal,imaging_mcc2_v01,,text,"Calf pressure, contralateral calf, Pressure 2: ",,(mmHg),number,,,,"[fmricuffcontrarecal] = '1'",,,,,, fmricuffcalfpressurerecal2,imaging_mcc2_v01,,text,"Calf pressure, contralateral calf, Pressure 2: (double entry) @@ -1229,15 +1290,20 @@ fmricuffrest1yn,imaging_mcc2_v01,,yesno,"

fMRI individualized pressure

",,,,,,,"[fmricuffcompletescl] = '2'",,RH,,,, fmricuffspyn,imaging_mcc2_v01,,yesno,"

fMRI standard pressure

",,,,,,,"[fmricuffcompletescl] = '2'",,RH,,,, fmricuffrest2yn,imaging_mcc2_v01,,yesno,"

2nd Resting state

",,,,,,,"[fmricuffcompletescl] = '2'",,RH,,,, +fmri_face_mask,imaging_mcc2_v01,,radio,"Face mask worn during imaging:","1, Yes | 0, No | 2, Mixed / not fully on - please describe in additional notes",,,,,,,,,,,,"20211105 Added this field AHACKMAN" fmricuffdicuploaded,imaging_mcc2_v01,,yesno,"Dicom files uploaded to TACC:",,,,,,,,,RH,,,, fmricuffdicupdate,imaging_mcc2_v01,,text,"Upload date/time",,,datetime_mdy,,,,"[fmricuffdicuploaded] = '1'",,RH,,,, fmricuffnotes,imaging_mcc2_v01,,notes,"Additional notes for imaging",,,,,,,,,LH,,,, +bvr_dt1,baseline_visit_reset,,descriptive,"
** This form to be completed and managed by the DIRC Team **
",,,,,,,,,,,,, +bvr_visit_date,baseline_visit_reset,,text,"Collection date of Baseline Forms being reset:",,,date_mdy,,,,,,,,,, +bvr_data_file,baseline_visit_reset,,file,"Upload zip file with collected baseline visit data prior to reset: +",,,,,,,,,,,,, svf_anyfeedback,study_visit_feedback_v03,,radio,"Do you have any feedback about today's visit, good or bad, that you wish to share with us?","0, No | 1, Yes",,,,,,,,LV,,,, dt_instr1,study_visit_feedback_v03,,descriptive,"Instructions: Check only the items mentioned, do not read each selection to the participant -Select response, other or comment ",,,,,,,"[svf_anyfeedback] = '1'",,,,,," @HIDDEN-SURVEY" +Select response, other or comment ",,,,,,,"[svf_anyfeedback] = '1'",,,,,,@HIDDEN-SURVEY dt_instr2,study_visit_feedback_v03,,descriptive,"Instructions: -Thank them and you are done",,,,,,,"[svf_anyfeedback] = '0'",,,,,," @HIDDEN-SURVEY" +Thank them and you are done",,,,,,,"[svf_anyfeedback] = '0'",,,,,,@HIDDEN-SURVEY svf_surveys,study_visit_feedback_v03,,checkbox,,"1, Surveys",,,,,,"[svf_anyfeedback] = '1'",,LV,,,, svf_surveys_fb,study_visit_feedback_v03,,radio,,"1, Too long | 3, Confusing / Not enough explanation | 4, Difficulties with electronic interface | 10, Other",,,,,,"[svf_surveys(1)] = '1'",,LV,,,, svf_surveys_other,study_visit_feedback_v03,,text,"Other, specify",,,,,,,"[svf_surveys_fb] = '10'",,LV,,,, @@ -1274,20 +1340,27 @@ svf_general,study_visit_feedback_v03,,checkbox,,"1, General / Other not included svf_general_fb,study_visit_feedback_v03,,radio,,"7, Logistics (finding where to go, parking) | 8, Visit too long overall | 9, Reimbursement concerns | 10, Other",,,,,,"[svf_general(1)] = '1'",,LV,,,, svf_general_other,study_visit_feedback_v03,,text,"Other, specify",,,,,,,"[svf_general_fb] = '10'",,LV,,,, svf_general_comments,study_visit_feedback_v03,,notes,Comments,,,,,,,"[svf_general(1)] = '1'",,LV,,,, +up_formname,form_uploads,"Use this form to upload forms/surveys that are completed on paper and have been manually entered by A2CPS staff.",checkbox,"Select the form(s) that are included in your upload file:","3, Patient Demographics Baseline v0.3 (Demographics I) | 4, Other Pain Treatments v3 (Other Treatments) | 5, Other Medical Surgical Treatments II v0.5 | 6, Patient Global Impression of Change (PGIC) | 7, BPI-SF - The Brief Pain Inventory v0.2 - Short Form (BPI) | 8, Symptom Severity Index v1.0 (SSI) | 9, Pain Detect Questionnaire (PD-Q) | 10, Danish Thoracic Surgery Questionnaire v0.2 | 11, Deep Breathing and Coughing v1.0 | 12, PROMIS SF v1.2 - Physical Function 8b | 13, PROMIS SF v1.0 - Sleep Disturbance 6a (Sleep I) | 14, Pain-Sleep Duration (Sleep II) | 15, PROMIS SF v1.0 - Fatigue 7a | 16, Generalized Anxiety Disorder 7 Item (GAD7) Scale Score | 17, Patient Health Questionnaire Depression Scale (PHQ) Scored | 18, Pain Catastrophizing Questionnaire (PCS6) | 19, Fear-Avoidance Beliefs Questionnaire v0.2 (FABQ) | 20, Pain Resilience Scale (PRS) | 21, PROMIS SF v2.0 - Emotional Support 6a | 22, PROMIS SF v2.0 - Instrumental Support 6a | 23, Multidimensional Inventory of Subjective Cognitive Impairment v1.0 (MISCI) | 24, Adverse Childhood Experience Questionnaire (ACE) | 25, TAPS-1 | 26, TAPS-2 | 27, Opioid Use Baseline v1.0 (Opioid Use I) | 28, Opioid Use Acute Followup v1.0 (Opioid Use II) | 29, Opioid Use Longterm Followup v1.0 (Opioid Use III) | 30, Opioid Side Effects and Likeability v0.3 (Side Effects) | 31, Opioid and Pain Control Satisfaction v0.2 (Satisfaction) | 32, Current Opioid Misuse v0.2 (COMM) | 33, Rapid Assessment of Physical Activity v1.0 (RAPA) | 34, General Sensory Sensitivity v0.2 (GSS-8) | 35, The Big Five Inventory (BFI-2-S) | 36, Patient Demographics Full Part 2 v0.3 (Demographics II) | 37, Self-Administered Comorbidity Questionnaire v4 (SCQ) | 38, Expectation Items MCC2 v0.2 | 39, Acute Phase Trajectory items v0.1 (Acute Daily) | 40, Acute Phase Trajectory items v0.1 (6-month Daily) | 41, 12-Month Remote Follow-up v0.2 (12-Month Follow-up) | 42, Functional Testing - Deep Breathing and Coughing MCC2 v1.0 | 43, QST MCC2 v0.5 | 44, Current Medications v0.2 | 45, Blood Sample Collection and Processing v0.2 | 46, Imaging Items v0.1 | 47, Imaging MCC2 v0.4 | 48, Study Visit Feedback MCC2 v0.2 | 50, Other, specify",,,,,,,,,,,, +up_formnametxt,form_uploads,,text,"Specify other form name: ",,,,,,,"[up_formname(50)]=""1""",,,,,, +up_form_file,form_uploads,,file,"Upload the file containing these forms: +[up_formname] ",,,,,,,,,,,,, pe_dt_1,patient_encounters,,descriptive,"
    Staff Initials
Enter date and time of patient encounter: {pe_datetime} {pe_staff_init}
",,,,,,,,,,,,, pe_datetime,patient_encounters,,text,"Enter date and time of this patient encounter:",,,datetime_mdy,,,,,,,,,, pe_staff_init,patient_encounters,,text,"Staff member initials:",,,alpha_only,,,,,,,,,, pe_notes,patient_encounters,,notes,Notes:,,,,,,,,,LH,,,, -erep_local_dtime,reportable_eventdeviation_v03,,text,"Date of Report Entry (local time)",,,,,,,,,,,,," @NOW @READONLY" -erep_submit_user,reportable_eventdeviation_v03,,text,"Submitted by username:",,,,,,,,,,,,," @READONLY @USERNAME" -erep_ae_date,reportable_eventdeviation_v03,,text,"

Date of adverse event:

",,,date_mdy,,,,"[erep_ae_yn] = '1'",,,,,, +erep_local_dtime,reportable_eventdeviation_v03,,text,"Date of Report Entry (local time)",,,,,,,,,,,,,"@NOW @READONLY" +erep_submit_user,reportable_eventdeviation_v03,,text,"Submitted by username:",,,,,,,,,,,,,"@READONLY @USERNAME" erep_initials,reportable_eventdeviation_v03,,text,"Staff/Investigator initials:",,,,,,,,,,,,, erep_visit_inv,reportable_eventdeviation_v03,,radio,"Visit/encounter involved:","1, Informed Consent | 2, Baseline (pre-surgery) | 3, 6-weeks post-surgery | 4, 3-months post-surgery | 5, 6-months post surgery | 6, Other or N/A",,,,,,,,,,,, erep_dt_1,reportable_eventdeviation_v03,,descriptive,"

Is this event:

",,,,,,,,,,,,, -erep_unant_prob,reportable_eventdeviation_v03,,radio,"Unanticipated Problem?","1, Yes | 0, No",,,,,,,,,,,, +erep_unant_prob,reportable_eventdeviation_v03,,radio,"A Reportable Event?","1, Yes | 0, No",,,,,,,,,,,,"20220522 Changed wording from ""Unanticipated Problem"" to ""A Reportable Event"" (AHACKMAN)" erep_ae_yn,reportable_eventdeviation_v03,,radio,"

Is this an adverse event?

","1, Yes | 0, No",,,,,,"[erep_unant_prob] = '1'",,,,,, -erep_onset_date,reportable_eventdeviation_v03,,text,"Date of Adverse event onset:",,,datetime_mdy,,,,"[erep_ae_yn] = '1'",,,,,, -erep_resolution_date,reportable_eventdeviation_v03,,text,"Date of Adverse Event resolution:",,,datetime_mdy,,,,"[erep_ae_yn] = '1'",,,,,, +erep_ae_date,reportable_eventdeviation_v03,,text,"

Date of adverse event:

",,,date_mdy,,,y,"[erep_ae_yn] = '1'",,,,,, +erep_ae_dss,reportable_eventdeviation_v03,,calc,"

Date of adverse event: days since surgery

","datediff([erep_ae_date],[sp_surg_date],'d')",,,,,,"[erep_ae_yn] = '1'",,,,,, +erep_onset_date,reportable_eventdeviation_v03,,text,"Date of Adverse event onset:",,,datetime_mdy,,,y,"[erep_ae_yn] = '1'",,,,,, +erep_onset_dss,reportable_eventdeviation_v03,,calc,"

Date of Adverse event onset: days since surgery

","datediff([erep_onset_date],[sp_surg_date],'d')",,,,,,,,,,,, +erep_resolution_date,reportable_eventdeviation_v03,,text,"Date of Adverse Event resolution:",,,datetime_mdy,,,y,"[erep_ae_yn] = '1'",,,,,, +erep_resolution_dss,reportable_eventdeviation_v03,,calc,"

 

Date of Adverse Event resolution: days since surgery

 

","datediff([erep_resolution_date],[sp_surg_date],'d')",,,,,,,,,,,, erep_ae_severity,reportable_eventdeviation_v03,,radio,"Adverse Event Severity:","1, Mild (Events require minimal or no treatment and do not interfere with the participant's daily activities) | 2, Moderate (Events result in a low level of inconvenience or concern with the therapeutic measures. Moderate events may cause some interference with functioning.) | 3, Severe (Events interrupt a participant's usual daily activity and may require systemic drug therapy or other treatment. Severe events are usually potentially life-threatening or incapacitating. Of note, the term ""severe"" does not necessarily equate to ""serious"".)",,,,,,"[erep_ae_yn] = '1'",,,,,, erep_ae_relation,reportable_eventdeviation_v03,,radio,"Relationship to Adverse Event","1, Definitely related (AE is known to occur with the study procedure(s) or there is a temporal relationship between the study procedure(s) and event, that is confirmed by improvement after stopping the procedure (and cannot be explained by participants' clinical or health status). | 2, Possibly/Probably Related (AE that follows reasonable sequence from administration of study procedure(s),but could readily have been produced by other factors as well.) | 3, Not Related (There is not a reasonable possibility that the administration of the study procedure(s) caused the event, there is no temporal relationship between the study procedure(s) and event onset, or an alternate etiology has been established.)",,,,,,"[erep_unant_prob] = '1'",,,,,, erep_ae_serious,reportable_eventdeviation_v03,,radio,"

Is the event serious?:

","1, Yes | 0, No",,,,,,"[erep_ae_yn] = '1'",,,,,, @@ -1298,7 +1371,7 @@ erep_oe_desc,reportable_eventdeviation_v03,,notes,"

Type of deviation:

","1, Informed Consent | 2, Protocol Deviation-blood drawo | 3, Protocol Deviation-functional testing | 4, Protocol Deviation-QST | 5, Protocol Deviation-imaging | 6, Visit timeline (outside protocol range) | 7, Other",,,,,,"[erep_prot_dev] = '1'",,,,,, +erep_protdev_type,reportable_eventdeviation_v03,,radio,"

Type of deviation:

","1, Informed Consent | 2, Protocol Deviation-blood drawo | 3, Protocol Deviation-functional testing | 4, Protocol Deviation-QST | 5, Protocol Deviation-imaging | 6, Timeline (outside protocol range) | 7, Other",,,,,,"[erep_prot_dev] = '1'",,,,,, erep_protdev_desc,reportable_eventdeviation_v03,,notes,"

Description of deviation:

",,,,,,,"[erep_prot_dev] = '1'",,,,,, erep_protdev_caplan,reportable_eventdeviation_v03,,notes,"

Corrective Action Plan:

",,,,,,,"[erep_prot_dev] = '1'",,,,,, erep_rel_covid19,reportable_eventdeviation_v03," ",radio,"Is this event related to COVID-19?","1, Yes | 0, No",,,,,,,,,,,, @@ -1307,7 +1380,11 @@ erep_whereavail,reportable_eventdeviation_v03,,checkbox,"

2.A. Is the subject asking that their data be removed from the database (documentation required if Yes)?

","1, Yes | 0, No",,,,,,"[ewprimaryreason] = '1'",,,,,,"20220525 Added field (AHACKMAN)" +ewdocdataremovalfile,early_withdrawal_v04,,file,"

2.A.i. Upload documentation that subject asked to have their data removed

",,,,,,,"[ewreqdataremoval] = '1'",,,,,,"20220525 Added field (AHACKMAN)" +ewdocdataremovalnote,early_withdrawal_v04,,notes,"

2.A.ii. Enter any notes here to document that subject asked to have their data removed:

",,,,,,,"[ewreqdataremoval] = '1'",,,,,,"20220525 Added field (AHACKMAN)" +ewdisreasons,early_withdrawal_v04,,checkbox,"3. Reason(s) participant chose to discontinue (may select more than one if needed):","1, Unwilling or unable to perform study-related activities. | 2, Study-related adverse event | 3, Inadequate compensation | 4, COVID-related | 6, None given/other (add to notes)",,,,,,"[ewprimaryreason] = '1'",,,,,,"20220525 Removed ""5, Withdrew consent"" (AHACKMAN)" ewpireason,early_withdrawal_v04,,radio,"4. Reason PI chose to discontinue participation:","1, Subject did not have surgery. | 2, Second procedure scheduled. | 3, Subject unable to perform study-related activities | 4, Adverse event | 5, Other (add to notes)",,,,,,"[ewprimaryreason] = '2'",,,,,, ewstudypinit,early_withdrawal_v04,,text,"5. Initials of study personnel:",,,alpha_only,,,,,,,,,, ewcomments,early_withdrawal_v04,,notes,"6. Notes/Comments:",,,,,,,,,,,,, +ew_dt_1,early_withdrawal_v04,,descriptive,"

Note: Completion of this form will STOP all email and text notifications from being sent to the participant.

",,,,,,,,,,,,, diff --git a/src/scripts/data/A2CPSMainStudy_DataDictionary_2021-08-31.csv b/src/scripts/data/A2CPSMainStudy_DataDictionary_2024-09-17.csv similarity index 90% rename from src/scripts/data/A2CPSMainStudy_DataDictionary_2021-08-31.csv rename to src/scripts/data/A2CPSMainStudy_DataDictionary_2024-09-17.csv index d8d04a8..2a18cae 100644 --- a/src/scripts/data/A2CPSMainStudy_DataDictionary_2021-08-31.csv +++ b/src/scripts/data/A2CPSMainStudy_DataDictionary_2024-09-17.csv @@ -1,4 +1,4 @@ -"Variable / Field Name","Form Name","Section Header","Field Type","Field Label","Choices, Calculations, OR Slider Labels","Field Note","Text Validation Type OR Show Slider Number","Text Validation Min","Text Validation Max",Identifier?,"Branching Logic (Show field only if...)","Required Field?","Custom Alignment","Question Number (surveys only)","Matrix Group Name","Matrix Ranking?","Field Annotation" +field_name,form_name,section_header,field_type,field_label,select_choices_or_calculations,field_note,text_validation_type_or_show_slider_number,text_validation_min,text_validation_max,identifier,branching_logic,required_field,custom_alignment,question_number,matrix_group_name,matrix_ranking,field_annotation record_id,consented_participant_information,,text,"Record ID",,,,,,,,,,,,, dt1,consented_participant_information,,descriptive,"FOR TESTING THE FORMS AS SURVEYS: 1. Enter the email that you want to receive the baseline forms survey link on this form. @@ -9,26 +9,31 @@ You should receive an email invitations for: - Trajectory Items 6-Mo Post-Op Daily Day 1 When you complete the Trajectory Day 1 Surveys, you'll immediately receive an email with the links for Day 2 -",,,,,,,,,,,,," @HIDDEN" -guid,consented_participant_information,,text,GUID,,,,,,,,,,,,," @READONLY" -screening_id,consented_participant_information,,text,"Screening ID",,,integer,,,,,,,,,," @READONLY" +",,,,,,,,,,,,,@HIDDEN +guid,consented_participant_information,,text,GUID,,,,,,,,,,,,,@READONLY +nda_guid,consented_participant_information,,text,"NDA GUID",,,,,,,,,,,,,"@READONLY 20240709 Added this field" +screening_id,consented_participant_information,,text,"Screening ID",,,integer,,,,,,,,,,@READONLY first_name,consented_participant_information,,text,"First Name",,,,,,y,,,,,,, -last_name,consented_participant_information,,text,"Last Name",,,,,,,,,,,,, -patient_email,consented_participant_information,,text,Email,,,email,,,,,,,,,, -mobile_phone_number,consented_participant_information,,text,"Mobile Phone",,,phone,,,,,,,,,, -home_phone_number,consented_participant_information,,text,"Home Phone",,,phone,,,,,,,,,, +last_name,consented_participant_information,,text,"Last Name",,,,,,y,,,,,,, +patient_email,consented_participant_information,,text,Email,,,email,,,y,,,,,,, +mobile_phone_number,consented_participant_information,,text,"Mobile Phone",,,phone,,,y,,,,,,, +home_phone_number,consented_participant_information,,text,"Home Phone",,,phone,,,y,,,,,,, contact_method,consented_participant_information,,radio,"Preferred Contact method:","2, E-mail | 1, Text | 0, Mobile/Home",,,,,,,,,,,, -downtime202108,consented_participant_information,,radio,"August 2021 TACC Server Downtime Notification: Send downtime alert to this participant?","0, No | 1, Yes",,,,,,,,,,,, -maintcomp202108,consented_participant_information,,radio,"August 2021 TACC Server Maintenance Completed Notification: Send maintenance complete alert to this participant?","0, No | 1, Yes",,,,,,,,,,,, +contact_language,consented_participant_information,"Language Preference for Surveys and Alerts",radio,"

What language do you prefer to use for surveys?

Spanish is only approved for use by Rush University Medical Center

English is DEFAULT for Northshore and UChicago

","en, English | es, Spanish",,,,,,,,,,,, +reconsent06302022,consented_participant_information,"Re-consent Information",radio,"

Was this participant reconsented for the June 30, 2022 consent change related to 3-Month visit?
This only applies if participant was consented prior to 7/6/2022 AND had not yet completed their 3-Month visit at that time.

","1, yes - participant has been re-consented | 0, no - participant still needs re-consent",,,,,,,,,,,,"20220706 - Added this field to flag participants that need to be re-consented. AHACKMAN" +downtime202108,consented_participant_information,"Fields below are for REDCap Admin use ",radio,"August 2021 TACC Server Downtime Notification: Send downtime alert to this participant?","0, No | 1, Yes",,,,,,,,,,,,@HIDDEN +maintcomp202108,consented_participant_information,,radio,"August 2021 TACC Server Maintenance Completed Notification: Send maintenance complete alert to this participant?","0, No | 1, Yes",,,,,,,,,,,,@HIDDEN +downtime202109,consented_participant_information,,radio,"September 2021 TACC Server Downtime Notification: Send downtime alert to this participant?","0, No | 1, Yes",,,,,,,,,,,,@HIDDEN +downtime20220621,consented_participant_information,,radio,"June 21 2022 TACC Server Downtime Notification: Send downtime alert to this participant?","0, No | 1, Yes",,,,,,,,,,,,@HIDDEN sp_inclcomply,postconsent_study_plan_crf_v06,"

Confirm inclusion criteria:
In order to be eligible for the study, an individual must meet all of the following criteria:

",radio,"Stated willingness to comply with all base study activities for the duration of the study.","1, yes | 0, no",,,,,,,,RH,,,, sp_inclage1884,postconsent_study_plan_crf_v06,,radio,"Between the ages of 18 to < 85 years.","1, yes | 0, no",,,,,,,,RH,,,, sp_inclsurg,postconsent_study_plan_crf_v06,,radio,"

Individuals diagnosed with knee osteoarthritis scheduled to undergo:

  • a single primary partial;
  • total knee replacement;
  • conversion of a partial to total knee replacement for mechanical failure (aseptic loosening, implant fracture, instability), wear-related complications (osteolysis, synovitis) or component malposition;
  • revision of a total knee replacement for mechanical failure (aseptic loosening, implant fracture, instability), wear-related complications (osteolysis, synovitis) or component malposition.


(All surgical approaches including robotic-controlled and muscle-sparing techniques will be included for the study.)

","1, yes | 0, no",,,,,,,,RH,,,, sp_exclarthkneerep,postconsent_study_plan_crf_v06,"

Confirm exclusion criteria are not violated, including MRI screening process:

",radio,"

Patient undergoing knee replacement for an inflammatory arthritic condition such as rheumatoid arthritis or osteonecrosis.

","1, yes | 0, no",,,,,,,,RH,,,, sp_exclinfdxjoint,postconsent_study_plan_crf_v06,,radio,"

Patient undergoing revision surgery with an infectious diagnosis involving the joint to be replaced (as this will be a 2-stage procedure).

","1, yes | 0, no",,,,,,,,RH,,,, sp_exclbilkneerep,postconsent_study_plan_crf_v06,,radio,"

Patient undergoing:

  • bilateral knee replacements,
  • planned staged bilateral knee replacements within 3 mo of each other, or
  • is within 3 mo of a prior contralateral knee replacement.
","1, yes | 0, no",,,,,,,,RH,,,, -sp_exclnoreadspkenglish,postconsent_study_plan_crf_v06,,radio,"

Patient unable to provide informed consent; or unable to read/speak English.

","1, yes | 0, no",,,,,,,,RH,,,, -sp_elig_calc,postconsent_study_plan_crf_v06,,calc,"Participant Inclusion/Exclusion Eligibility Calculation","if (([sp_inclcomply] + [sp_inclage1884] + [sp_inclsurg])='3' and ([sp_exclarthkneerep] + [sp_exclinfdxjoint] + [sp_exclbilkneerep] + [sp_exclnoreadspkenglish])='0',1,0)",,,,,,,,,,,," @HIDDEN" -sp_elig_calc_2,postconsent_study_plan_crf_v06,,calc,"Participant Inclusion sum testing","sum([sp_inclcomply] + [sp_inclage1884] + [sp_inclsurg])",,,,,,,,,,,," @HIDDEN" +sp_exclnoreadspkenglish,postconsent_study_plan_crf_v06,,radio,"

Patient unable to provide informed consent; or unable to read/speak English or Spanish is applicable.

","1, yes | 0, no",,,,,,,,RH,,,,"20220908 Added ""or Spanish is applicable"" AHACKMAN" +sp_elig_calc,postconsent_study_plan_crf_v06,,calc,"Participant Inclusion/Exclusion Eligibility Calculation","if (([sp_inclcomply] + [sp_inclage1884] + [sp_inclsurg])='3' and ([sp_exclarthkneerep] + [sp_exclinfdxjoint] + [sp_exclbilkneerep] + [sp_exclnoreadspkenglish])='0',1,0)",,,,,,,,,,,,@HIDDEN +sp_elig_calc_2,postconsent_study_plan_crf_v06,,calc,"Participant Inclusion sum testing","sum([sp_inclcomply] + [sp_inclage1884] + [sp_inclsurg])",,,,,,,,,,,,@HIDDEN sp_surgsite,postconsent_study_plan_crf_v06," ",radio,"Confirm surgical incision site:","1, Right Knee | 2, Left Knee","Planned surgical incision site",,,,,,,RH,,,, sp_mricompatscr,postconsent_study_plan_crf_v06," ",radio,"

MRI compatibility screening:

","1, Pt has MR imaging contraindications, exclude from study | 2, MRI compatibility screen incomplete, need additional information from patient | 3, MRI screen complete, needs follow-up to determine compatibility by investigator | 4, Complete, cleared for imaging (no known contraindications)",,,,,,,,,,,, sp_comments,postconsent_study_plan_crf_v06,,notes,"Additional Comments:",,,,,,,,,,,,, @@ -36,18 +41,20 @@ dt_sp_unverified,postconsent_study_plan_crf_v06,,descriptive,"

Patient is Eligible

",,,,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,, dt_sp_eligible_2,postconsent_study_plan_crf_v06,,descriptive,"

Patient is Ineligible

",,,,,,,"[sp_inclcomply]='0' or [sp_inclage1884]='0' or [sp_inclsurg]='0' or [sp_exclarthkneerep]='1' or [sp_exclinfdxjoint]='1' or [sp_exclbilkneerep]='1' or [sp_exclnoreadspkenglish]='1' or [sp_mricompatscr] = '1'",,,,,, sp_dt_1,postconsent_study_plan_crf_v06,,descriptive,"

Scheduling Visits

",,,,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,, -sp_surg_date,postconsent_study_plan_crf_v06,,text,"

Confirm Surgery Date:

",,,date_mdy,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",y,,,,," @PREVENT-PASTDATE" -sp_v1_preop_date,postconsent_study_plan_crf_v06,,text,"

V1 (Pre-Op) date:

",,,date_mdy,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,," @PREVENT-PASTDATE" +sp_surg_date,postconsent_study_plan_crf_v06,,text,"

Confirm Surgery Date:

",,,date_mdy,,,y,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",y,,,,, +sp_v1_preop_date,postconsent_study_plan_crf_v06,,text,"

V1 (Pre-Op) date:

",,,date_mdy,,,y,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,, +sp_v1_preop_dss,postconsent_study_plan_crf_v06,,calc,"

Pre-op visit: days since surgery

","datediff([sp_v1_preop_date],[sp_surg_date],'d')",,,,,,,,,,,,@HIDDEN sp_dt_preop_datetime,postconsent_study_plan_crf_v06,,descriptive,"
V1 (Pre-Op) time:   {sp_v1_preop_time} {sp_v1_preop_time_ampm}
",,,,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,, -sp_v1_preop_time,postconsent_study_plan_crf_v06,,text,"

V1 (Pre-Op) time:

",,HH:MM,,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,," @PLACEHOLDER='HH:MM'" +sp_v1_preop_time,postconsent_study_plan_crf_v06,,text,"

V1 (Pre-Op) time:

",,HH:MM,,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,,@PLACEHOLDER='HH:MM' sp_v1_preop_time_ampm,postconsent_study_plan_crf_v06,,dropdown,"

V1 (Pre-Op) time AM/PM:

","AM, AM | PM, PM",,,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,, -sp_v2_6wk_date,postconsent_study_plan_crf_v06,,text,"

V2 (~6 week Follow-up) date:

",,,date_mdy,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,," @CALCDATE([sp_surg_date], 42, 'd')" -sp_v3_3mo_date,postconsent_study_plan_crf_v06,,text,"

V3 (~3 month Follow-up) date:

",,,date_mdy,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,," @CALCDATE([sp_surg_date], 3, 'M')" +sp_v2_6wk_date,postconsent_study_plan_crf_v06,,text,"

V2 (~6 week Follow-up) date:

",,,date_mdy,,,y,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,,"@CALCDATE([sp_surg_date], 42, 'd')" +sp_v3_3mo_date,postconsent_study_plan_crf_v06,,text,"

V3 (~3 month Follow-up) date:

",,,date_mdy,,,y,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,,"@CALCDATE([sp_surg_date], 3, 'M')" +sp_imaging_site,postconsent_study_plan_crf_v06,"Imaging Site (Rush participants only)",radio,"Indicate site where imaging will be done:","1, University of Illinois at Chicago | 2, Rush University Medical Center",,,,,,"[record-dag-name]=""rush_university_me""",y,,,,,"20240216 Added for Rush participants with addition of Rush imaging. AHACKMAN" sp_previsit_survey_pref,postconsent_study_plan_crf_v06," ",radio,"

Please indicate how you would like to receive Pre-Visit surveys:

","1, E-mail with survey link | 2, Text message with survey link (need smart phone) | 3, In-person (provide paper version)",,,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,, -sp_daily_survey_pref,postconsent_study_plan_crf_v06,,radio,"

Please indicate how you would like to receive Daily Trajectory surveys:

","1, E-mail | 2, Text message with link, take via browser (smart phone) | 3, Text message, take survey via SMS (flip phone) | 4, Automated voice option | 5, In-person (provide paper version)",,,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,," @HIDECHOICE='4'" -sp_assess_remote,postconsent_study_plan_crf_v06,,radio,"

Send electronic surveys to this participant?

If YES, electronic invitations will be scheduled and sent to this participant.

If NO, invitations will NOT be sent and any already scheduled will be cancelled.

","1, Yes | 0, No",,,,,,"[sp_previsit_survey_pref] = '1' or [sp_previsit_survey_pref] = '2' or [sp_daily_survey_pref] = '1' or [sp_daily_survey_pref] = '2' or [sp_daily_survey_pref] = '4'",y,,,,, +sp_daily_survey_pref,postconsent_study_plan_crf_v06,,radio,"

Please indicate how you would like to receive Daily Trajectory surveys:

","1, E-mail | 2, Text message with link, take via browser (smart phone) | 3, Text message, take survey via SMS (flip phone) | 4, Automated voice option | 5, In-person (provide paper version)",,,,,,"[sp_elig_calc] = '1' and [sp_mricompatscr] = '4'",,,,,,@HIDECHOICE='4' +sp_assess_remote,postconsent_study_plan_crf_v06,,radio,"

Send electronic surveys to this participant?

If YES, electronic invitations will be scheduled and sent to this participant.

If NO, invitations will NOT be sent and any already scheduled will be cancelled.

","1, Yes | 0, No",,,,,,"[sp_previsit_survey_pref] = '1' or [sp_previsit_survey_pref] = '2' or [sp_daily_survey_pref] = '1' or [sp_daily_survey_pref] = '2' or [sp_daily_survey_pref] = '3' or [sp_daily_survey_pref] = '4'",y,,,,, sp_dt_wd_alert,postconsent_study_plan_crf_v06,,descriptive,"

Alert!

This participant has been withdrawn from the study.

This OVERRIDES the ""Send electronic survey.."" setting above and no future email or text invitations will be sent to the participant.

Date of early termination: [event_reporting_arm_1][ewdateterm]

Primary reason for termination: [event_reporting_arm_1][ewprimaryreason]

",,,,,,,"[event_reporting_arm_1][ewdateterm]<>""""",,,,,, -brthdtc,patient_demographics_baseline_v03_demographics_i,,text,"1. Birth date",,,date_mdy,,,,,,,,,," @HIDEBUTTON" +brthdtc,patient_demographics_baseline_v03_demographics_i,,text,"1. Birth date",,,date_mdy,,,y,,,,,,,@HIDEBUTTON age,patient_demographics_baseline_v03_demographics_i,,text,"2. Age",,"xx years",number,20,100,,,,,,,, sex,patient_demographics_baseline_v03_demographics_i,,radio,"3. Sex at birth","1, Male | 2, Female | 3, Unknown | 4, Intersex",,,,,,,,,,,, genident,patient_demographics_baseline_v03_demographics_i,,radio,"4. Gender identity","1, Male | 2, Female | 3, Unknown | 4, Other, specify",,,,,,,,,,,, @@ -59,8 +66,9 @@ opt_q6_hands_on_trt,other_pain_treatments_v3_other_treatments,,radio,"2. In the opt_q7_modality_trt,other_pain_treatments_v3_other_treatments,,radio,"3. In the PAST 4 WEEKS, how often have you applied a treatment for your pain condition (for example, topical nerve stimulation (TENS), ice pack, hot pack, menthol cream product, patch product, etc):","1, Daily or almost daily | 2, 2-4 days/week | 3, Weekly | 4, Less than 1 day/week | 5, Never",,,,,,,,,,opt1,, opt_q8_mental_hlth_trt,other_pain_treatments_v3_other_treatments,,radio,"4. In the PAST 4 WEEKS, how often have you received behavioral or mental health treatment for your pain (for example, from a Psychologist, Licensed Social Worker, Mental Health Counselor, etc):","1, Daily or almost daily | 2, 2-4 days/week | 3, Weekly | 4, Less than 1 day/week | 5, Never",,,,,,,,,,opt1,, opt_q2_anx_meds,other_pain_treatments_v3_other_treatments,,radio,"5. In the PAST 4 WEEKS, how often have you used any anxiety medications (for example, alprazolam (Xanax), lorazepam (Ativan))?","1, Daily or almost daily | 2, 2-4 days/week | 3, Weekly | 4, Less than 1 day/week | 5, Never",,,,,,,,,,opt1,, -opt_q3_ns_pain_meds,other_pain_treatments_v3_other_treatments,,radio,"6. In the PAST 4 WEEKS, how often have you used any prescription or over‐the‐counter non‐steroidal pain relievers (for example, ibuprofen (Advil, Motrin), naproxyn (Aleve), aspirin (>325 mg)):","1, Daily or almost daily | 2, 2-4 days/week | 3, Weekly | 4, Less than 1 day/week | 5, Never",,,,,,,,,,opt1,, +opt_q3_ns_pain_meds,other_pain_treatments_v3_other_treatments,,radio,"6. In the PAST 4 WEEKS, how often have you used any prescription or over‐the‐counter non‐steroidal pain relievers (for example, ibuprofen (Advil, Motrin), naproxyn (Aleve), aspirin (>325 mg), Celecoxib, Meloxicam)?","1, Daily or almost daily | 2, 2-4 days/week | 3, Weekly | 4, Less than 1 day/week | 5, Never",,,,,,,,,,opt1,, opt_q4_cbd,other_pain_treatments_v3_other_treatments,,radio,"7. In the PAST 4 WEEKS, how often have you used any THC/CBD or marijuana products for pain relief (e.g., CBD oil, edibles, weed, gummies, etc):","1, Daily or almost daily | 2, 2-4 days/week | 3, Weekly | 4, Less than 1 day/week | 5, Never",,,,,,,,,,opt1,, +oms1notavailable,other_medical_surgical_treatments_ii,,dropdown,"Form added on 9/24/2021 - Indicate if the form was not available for participant to complete because the event was already past:","1, Form was not available at this event",,,,,,,,,,,,@HIDDEN-SURVEY oms1timeframe,other_medical_surgical_treatments_ii,,text,"Set the ""timeframe"" for all of the questions below. Timeframe options entered into each item: 1. ""in the past 6 weeks"" @@ -72,68 +80,73 @@ Baseline: use option 3. ""in the past 6 months"" 6 week follow up: Use option 1. ""in the past 6 weeks"" 3 month follow up: Use option 1. ""in the past 6 weeks"" 6 month follow up: Use option 2. ""In the past 3 months"" -",,,,,,,,,,,,," @CALCTEXT=( - if([event-name]=""baseline_visit_arm_1"",""in the past 6 months"", - [event-name]=""6wks_postop_arm_1"",""in the past 6 weeks"", - [event-name]=""3mo_postop_arm_1"",""in the past 6 weeks"", - [event-name]=""6mo_postop_arm_1"",""in the past 3 month"",""?"") -) +",,,,,,,,,,,,,"@CALCTEXT(if([event-name]=""baseline_visit_arm_1"",""in the past 6 months"",if([event-name]=""6wks_postop_arm_1"",""in the past 6 weeks"", +if([event-name]=""3mo_postop_arm_1"",""in the past 6 weeks"", +if([event-name]=""6mo_postop_arm_1"",""in the past 3 months"",""""))))) @READONLY @HIDDEN-SURVEY" oms1chemoyn,other_medical_surgical_treatments_ii,,radio,"1. Did you receive any Chemotherapy / Immunotherapy for cancer in the past [oms1timeframe]?","1, Yes | 0, No",,,,,,,,RH,,,, oms1radtxyn,other_medical_surgical_treatments_ii,,radio,"2. Did you receive any Radiation Therapy for cancer in the past [oms1timeframe]?","1, Yes | 0, No",,,,,,,,RH,,,, oms1surgyn,other_medical_surgical_treatments_ii,,radio,"3. In the past [oms1timeframe], have you had any additional significant surgical procedures beyond your knee replacement?","1, Yes | 0, No",,,,,,"[event-name]<>""baseline_visit_arm_1""",,RH,,,, oms1surgrel,other_medical_surgical_treatments_ii,,radio,"

3.1 Related to my original knee surgery

","1, Yes | 0, No",,,,,,"[oms1surgyn] = '1'",,RH,,,, -dt_allthatapply,other_medical_surgical_treatments_ii,,descriptive,"

Choose all that apply

",,,,,,,,,,,,, +dt_allthatapply,other_medical_surgical_treatments_ii,,descriptive,"

Choose all that apply

",,,,,,,"[oms1surgrel] = '1'",,,,,, oms1relmanipultn,other_medical_surgical_treatments_ii,,checkbox,"
","1, Knee manipulation",,,,,,"[oms1surgrel] = '1'",,RH,,,, oms1relinfection,other_medical_surgical_treatments_ii,,checkbox,"
","1, Infection at surgical site",,,,,,"[oms1surgrel] = '1'",,RH,,,, oms1relrevision,other_medical_surgical_treatments_ii,,checkbox,"
","1, Revision of knee replacement",,,,,,"[oms1surgrel] = '1'",,RH,,,, oms1relother,other_medical_surgical_treatments_ii,,checkbox,"
","1, Other",,,,,,"[oms1surgrel] = '1'",,RH,,,, oms1relothertxt,other_medical_surgical_treatments_ii,,text,"

Other specify:

",,,,,,,"[oms1relother(1)] = '1'",,RH,,,, oms1surgunr,other_medical_surgical_treatments_ii,,radio,"

3.2 Unrelated to my original knee surgery

","1, Yes | 0, No",,,,,,"[oms1surgyn] = '1'",,RH,,,, -oms1unrotherknee,other_medical_surgical_treatments_ii,,checkbox,"

Choose all that apply

","1, Surgery on the other knee",,,,,,"[oms1surgunr] = '1'",,RH,,,, +dt_allthatapply_2,other_medical_surgical_treatments_ii,,descriptive,"

Choose all that apply

",,,,,,,"[oms1surgunr] = '1'",,,,,, +oms1unrotherknee,other_medical_surgical_treatments_ii,,checkbox,"
","1, Surgery on the other knee",,,,,,"[oms1surgunr] = '1'",,RH,,,, oms1unrsurgother,other_medical_surgical_treatments_ii,,checkbox,"
","1, Surgery on another region",,,,,,"[oms1surgunr] = '1'",,RH,,,, oms1unrother,other_medical_surgical_treatments_ii,,checkbox,"
","1, Other",,,,,,"[oms1surgunr] = '1'",,RH,,,, oms1unrothertxt,other_medical_surgical_treatments_ii,,text,"

Other specify:

",,,,,,,"[oms1unrother(1)] = '1'",,RH,,,, oms1visityn,other_medical_surgical_treatments_ii,,radio,"4. In the past [oms1timeframe], have you had any non-scheduled visits with your doctor or gone to the hospital for a non-scheduled reason?","1, Yes | 0, No",,,,,,"[event-name]<>""baseline_visit_arm_1""",,RH,,,, -oms1relvisit,other_medical_surgical_treatments_ii,,radio,"

4.1. Related to my original knee surgery 

","1, Yes | 0, No",,,,,,"[oms1surgyn] = '1'",,RH,,,, -oms1relvisited,other_medical_surgical_treatments_ii,,checkbox,"

Choose all that apply

","1, Emergency room / Urgent care clinic visit",,,,,,"[oms1relvisit] = '1'",,RH,,,, +oms1relvisit,other_medical_surgical_treatments_ii,,radio,"

4.1. Related to my original knee surgery 

","1, Yes | 0, No",,,,,,"[oms1visityn] = '1'",,RH,,,, +dt_allthatapply_3,other_medical_surgical_treatments_ii,,descriptive,"

Choose all that apply

",,,,,,,"[oms1relvisit] = '1'",,,,,, +oms1relvisited,other_medical_surgical_treatments_ii,,checkbox,"
","1, Emergency room / Urgent care clinic visit",,,,,,"[oms1relvisit] = '1'",,RH,,,, oms1relvisitoffice,other_medical_surgical_treatments_ii,,checkbox,"
","1, Physician office visit",,,,,,"[oms1relvisit] = '1'",,RH,,,, oms1relvisitother,other_medical_surgical_treatments_ii,,checkbox,"
","1, Other",,,,,,"[oms1relvisit] = '1'",,RH,,,, oms1relvisitothertxt,other_medical_surgical_treatments_ii,,text,"

Other specify:

",,,,,,,"[oms1relvisitother(1)] = '1'",,RH,,,, oms1unrvisit,other_medical_surgical_treatments_ii,,radio,"

4.2 Unrelated to my original knee surgery

","1, Yes | 0, No",,,,,,"[oms1visityn] = '1'",,RH,,,, -oms1unrvisited,other_medical_surgical_treatments_ii,,checkbox,"

Choose all that apply

","1, Emergency room / Urgent care clinic visit",,,,,,"[oms1unrvisit] = '1'",,RH,,,, +dt_allthatapply_4,other_medical_surgical_treatments_ii,,descriptive,"

Choose all that apply

",,,,,,,"[oms1unrvisit] = '1'",,,,,, +oms1unrvisited,other_medical_surgical_treatments_ii,,checkbox,"
","1, Emergency room / Urgent care clinic visit",,,,,,"[oms1unrvisit] = '1'",,RH,,,, oms1unrvisitoffice,other_medical_surgical_treatments_ii,,checkbox,"
","1, Physician office visit",,,,,,"[oms1unrvisit] = '1'",,RH,,,, oms1unrvisitother,other_medical_surgical_treatments_ii,,checkbox,"
","1, Other",,,,,,"[oms1unrvisit] = '1'",,RH,,,, oms1unrvisitothertxt,other_medical_surgical_treatments_ii,,text,"

Other specify:

",,,,,,,"[oms1unrvisitother(1)] = '1'",,RH,,,, pgicsymptomchangestatval,patient_global_impression_of_change_pgic,,radio,"Since the start of the study (treatment), my overall pain is ....","0, Very much improved | 1, Much improved | 2, Minimally improved | 3, No change | 4, Minimally worse | 5, Much worse | 6, Very much worse",,,,,,,,,,,, -bpipainanatsiteareatxt,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,text,,,,,,,,,,,,,," @IMAGEMAP=MBODY" +bpipainanatsiteareatxt,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,text,,,,,,,,"[informed_consent_arm_1][contact_language]=""en""",,,,,,@IMAGEMAP=MBODY +bpipainanatsiteareatxt_sp,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,text,,,,,,,,"[informed_consent_arm_1][contact_language]=""es""",,,,,,@IMAGEMAP=MBODY_SP bpi_mbm_z1_rate,bpisf_the_brief_pain_inventory_v23_short_form_bpi," ",radio,"You indicated having pain in the head / face / jaw. -Please rate your pain in this region by choosing the number that best describes your average pain in the LAST 24 HOURS.","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No Pain ------------------------------------------------------------------ 10 = Pain as bad as you can imagine",,,,,"(contains ([bpipainanatsiteareatxt], ""a00"") or contains ([bpipainanatsiteareatxt], ""a01"") or contains ([bpipainanatsiteareatxt], ""a02"") or contains ([bpipainanatsiteareatxt], ""a25""))",,LH,,,, -bpi_mbm_z1_dur,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio,"How long have you been experiencing pain in the head / face / jaw? Choose the best option:","1, less than 1 month | 2, 1 month or more, but less than 6 months | 3, 6 months or more, but less than 2 years | 4, 2 years or more",,,,,,"(contains ([bpipainanatsiteareatxt], ""a00"") or contains ([bpipainanatsiteareatxt], ""a01"") or contains ([bpipainanatsiteareatxt], ""a02"") or contains ([bpipainanatsiteareatxt], ""a25""))",,LV,,,, +Please rate your pain in this region by choosing the number that best describes your average pain in the LAST 24 HOURS.","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No Pain ------------------------------------------------------------------ 10 = Pain as bad as you can imagine",,,,,"(contains ([bpipainanatsiteareatxt], ""a00"") or contains ([bpipainanatsiteareatxt], ""a01"") or contains ([bpipainanatsiteareatxt], ""a02"") or contains ([bpipainanatsiteareatxt], ""a25"")) or +(contains ([bpipainanatsiteareatxt_sp], ""a00"") or contains ([bpipainanatsiteareatxt_sp], ""a01"") or contains ([bpipainanatsiteareatxt_sp], ""a02"") or contains ([bpipainanatsiteareatxt_sp], ""a25""))",,LH,,,, +bpi_mbm_z1_dur,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio,"How long have you been experiencing pain in the head / face / jaw? Choose the best option:","1, less than 1 month | 2, 1 month or more, but less than 6 months | 3, 6 months or more, but less than 2 years | 4, 2 years or more",,,,,,"(contains ([bpipainanatsiteareatxt], ""a00"") or contains ([bpipainanatsiteareatxt], ""a01"") or contains ([bpipainanatsiteareatxt], ""a02"") or contains ([bpipainanatsiteareatxt], ""a25"")) or +(contains ([bpipainanatsiteareatxt_sp], ""a00"") or contains ([bpipainanatsiteareatxt_sp], ""a01"") or contains ([bpipainanatsiteareatxt_sp], ""a02"") or contains ([bpipainanatsiteareatxt_sp], ""a25""))",,LV,,,, bpi_mbm_z2_rate,bpisf_the_brief_pain_inventory_v23_short_form_bpi," ",radio,"You indicated having pain in the neck. -Please rate your pain in this region by choosing the number that best describes your average pain in the LAST 24 HOURS.","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No Pain ------------------------------------------------------------------ 10 = Pain as bad as you can imagine",,,,,"contains ([bpipainanatsiteareatxt], ""a26"")",,LH,,,, -bpi_mbm_z2_dur,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio,"How long have you been experiencing pain in the neck? Choose the best option:","1, less than 1 month | 2, 1 month or more, but less than 6 months | 3, 6 months or more, but less than 2 years | 4, 2 years or more",,,,,,"contains ([bpipainanatsiteareatxt], ""a26"")",,LV,,,, +Please rate your pain in this region by choosing the number that best describes your average pain in the LAST 24 HOURS.","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No Pain ------------------------------------------------------------------ 10 = Pain as bad as you can imagine",,,,,"contains ([bpipainanatsiteareatxt], ""a26"") or contains ([bpipainanatsiteareatxt_sp], ""a26"")",,LH,,,, +bpi_mbm_z2_dur,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio,"How long have you been experiencing pain in the neck? Choose the best option:","1, less than 1 month | 2, 1 month or more, but less than 6 months | 3, 6 months or more, but less than 2 years | 4, 2 years or more",,,,,,"contains ([bpipainanatsiteareatxt], ""a26"") or contains ([bpipainanatsiteareatxt_sp], ""a26"")",,LV,,,, bpi_mbm_z3_rate,bpisf_the_brief_pain_inventory_v23_short_form_bpi," ",radio,"You indicated having pain in the chest/breast. -Please rate your pain in this region by choosing the number that best describes your average pain in the LAST 24 HOURS.","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No Pain ------------------------------------------------------------------ 10 = Pain as bad as you can imagine",,,,,"contains ([bpipainanatsiteareatxt], ""a03"") or contains ([bpipainanatsiteareatxt], ""a04"")",,LH,,,, -bpi_mbm_z3_dur,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio,"How long have you been experiencing pain in the chest/breast? Choose the best option:","1, less than 1 month | 2, 1 month or more, but less than 6 months | 3, 6 months or more, but less than 2 years | 4, 2 years or more",,,,,,"contains ([bpipainanatsiteareatxt], ""a03"") or contains ([bpipainanatsiteareatxt], ""a04"")",,LV,,,, +Please rate your pain in this region by choosing the number that best describes your average pain in the LAST 24 HOURS.","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No Pain ------------------------------------------------------------------ 10 = Pain as bad as you can imagine",,,,,"contains ([bpipainanatsiteareatxt], ""a03"") or contains ([bpipainanatsiteareatxt], ""a04"") or contains ([bpipainanatsiteareatxt_sp], ""a03"") or contains ([bpipainanatsiteareatxt_sp], ""a04"")",,LH,,,, +bpi_mbm_z3_dur,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio,"How long have you been experiencing pain in the chest/breast? Choose the best option:","1, less than 1 month | 2, 1 month or more, but less than 6 months | 3, 6 months or more, but less than 2 years | 4, 2 years or more",,,,,,"contains ([bpipainanatsiteareatxt], ""a03"") or contains ([bpipainanatsiteareatxt], ""a04"") or contains ([bpipainanatsiteareatxt_sp], ""a03"") or contains ([bpipainanatsiteareatxt_sp], ""a04"")",,LV,,,, bpi_mbm_z4_rate,bpisf_the_brief_pain_inventory_v23_short_form_bpi," ",radio,"You indicated having pain in the abdomen / pelvis / groin. -Please rate your pain in this region by choosing the number that best describes your average pain in the LAST 24 HOURS.","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No Pain ------------------------------------------------------------------ 10 = Pain as bad as you can imagine",,,,,"contains ([bpipainanatsiteareatxt], ""a13"") or contains ([bpipainanatsiteareatxt], ""a14"") or contains ([bpipainanatsiteareatxt], ""a15"") or contains ([bpipainanatsiteareatxt], ""a16"")",,LH,,,, -bpi_mbm_z4_dur,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio,"How long have you been experiencing pain in the abdomen / pelvis / groin? Choose the best option:","1, less than 1 month | 2, 1 month or more, but less than 6 months | 3, 6 months or more, but less than 2 years | 4, 2 years or more",,,,,,"contains ([bpipainanatsiteareatxt], ""a13"") or contains ([bpipainanatsiteareatxt], ""a14"") or contains ([bpipainanatsiteareatxt], ""a15"") or contains ([bpipainanatsiteareatxt], ""a16"")",,LV,,,, +Please rate your pain in this region by choosing the number that best describes your average pain in the LAST 24 HOURS.","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No Pain ------------------------------------------------------------------ 10 = Pain as bad as you can imagine",,,,,"contains ([bpipainanatsiteareatxt], ""a13"") or contains ([bpipainanatsiteareatxt], ""a14"") or contains ([bpipainanatsiteareatxt], ""a15"") or contains ([bpipainanatsiteareatxt], ""a16"") or contains ([bpipainanatsiteareatxt_sp], ""a13"") or contains ([bpipainanatsiteareatxt_sp], ""a14"") or contains ([bpipainanatsiteareatxt_sp], ""a15"") or contains ([bpipainanatsiteareatxt_sp], ""a16"")",,LH,,,, +bpi_mbm_z4_dur,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio,"How long have you been experiencing pain in the abdomen / pelvis / groin? Choose the best option:","1, less than 1 month | 2, 1 month or more, but less than 6 months | 3, 6 months or more, but less than 2 years | 4, 2 years or more",,,,,,"contains ([bpipainanatsiteareatxt], ""a13"") or contains ([bpipainanatsiteareatxt], ""a14"") or contains ([bpipainanatsiteareatxt], ""a15"") or contains ([bpipainanatsiteareatxt], ""a16"") or contains ([bpipainanatsiteareatxt_sp], ""a13"") or contains ([bpipainanatsiteareatxt_sp], ""a14"") or contains ([bpipainanatsiteareatxt_sp], ""a15"") or contains ([bpipainanatsiteareatxt_sp], ""a16"")",,LV,,,, bpi_mbm_z5_rate,bpisf_the_brief_pain_inventory_v23_short_form_bpi," ",radio,"You indicated having pain in the RIGHT side: shoulder / upper arm / elbow / lower arm / wrist / hand. -Please rate your pain in this region by choosing the number that best describes your average pain in the LAST 24 HOURS.","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No Pain ------------------------------------------------------------------ 10 = Pain as bad as you can imagine",,,,,"contains ([bpipainanatsiteareatxt], ""a28"") or contains ([bpipainanatsiteareatxt], ""a05"") or contains ([bpipainanatsiteareatxt], ""a07"") or contains ([bpipainanatsiteareatxt], ""a09"") or contains ([bpipainanatsiteareatxt], ""a11"")",,LH,,,, -bpi_mbm_z5_dur,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio,"How long have you been experiencing pain in the RIGHT side: shoulder / upper arm / elbow / lower arm / wrist / hand? Choose the best option:","1, less than 1 month | 2, 1 month or more, but less than 6 months | 3, 6 months or more, but less than 2 years | 4, 2 years or more",,,,,,"contains ([bpipainanatsiteareatxt], ""a28"") or contains ([bpipainanatsiteareatxt], ""a05"") or contains ([bpipainanatsiteareatxt], ""a07"") or contains ([bpipainanatsiteareatxt], ""a09"") or contains ([bpipainanatsiteareatxt], ""a11"")",,LV,,,, +Please rate your pain in this region by choosing the number that best describes your average pain in the LAST 24 HOURS.","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No Pain ------------------------------------------------------------------ 10 = Pain as bad as you can imagine",,,,,"contains ([bpipainanatsiteareatxt], ""a28"") or contains ([bpipainanatsiteareatxt], ""a05"") or contains ([bpipainanatsiteareatxt], ""a07"") or contains ([bpipainanatsiteareatxt], ""a09"") or contains ([bpipainanatsiteareatxt], ""a11"") or contains ([bpipainanatsiteareatxt_sp], ""a28"") or contains ([bpipainanatsiteareatxt_sp], ""a05"") or contains ([bpipainanatsiteareatxt_sp], ""a07"") or contains ([bpipainanatsiteareatxt_sp], ""a09"") or contains ([bpipainanatsiteareatxt_sp], ""a11"")",,LH,,,, +bpi_mbm_z5_dur,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio,"How long have you been experiencing pain in the RIGHT side: shoulder / upper arm / elbow / lower arm / wrist / hand? Choose the best option:","1, less than 1 month | 2, 1 month or more, but less than 6 months | 3, 6 months or more, but less than 2 years | 4, 2 years or more",,,,,,"contains ([bpipainanatsiteareatxt], ""a28"") or contains ([bpipainanatsiteareatxt], ""a05"") or contains ([bpipainanatsiteareatxt], ""a07"") or contains ([bpipainanatsiteareatxt], ""a09"") or contains ([bpipainanatsiteareatxt], ""a11"") or contains ([bpipainanatsiteareatxt_sp], ""a28"") or contains ([bpipainanatsiteareatxt_sp], ""a05"") or contains ([bpipainanatsiteareatxt_sp], ""a07"") or contains ([bpipainanatsiteareatxt_sp], ""a09"") or contains ([bpipainanatsiteareatxt_sp], ""a11"")",,LV,,,, bpi_mbm_z6_rate,bpisf_the_brief_pain_inventory_v23_short_form_bpi," ",radio,"You indicated having pain in the LEFT side: shoulder / upper arm / elbow / lower arm / wrist / hand. -Please rate your pain in this region by choosing the number that best describes your average pain in the LAST 24 HOURS.","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No Pain ------------------------------------------------------------------ 10 = Pain as bad as you can imagine",,,,,"contains ([bpipainanatsiteareatxt], ""a27"") or contains ([bpipainanatsiteareatxt], ""a06"") or contains ([bpipainanatsiteareatxt], ""a08"") or contains ([bpipainanatsiteareatxt], ""a10"") or contains ([bpipainanatsiteareatxt], ""a12"")",,LH,,,, -bpi_mbm_z6_dur,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio,"How long have you been experiencing pain in the LEFT side: shoulder / upper arm / elbow / lower arm / wrist / hand? Choose the best option:","1, less than 1 month | 2, 1 month or more, but less than 6 months | 3, 6 months or more, but less than 2 years | 4, 2 years or more",,,,,,"contains ([bpipainanatsiteareatxt], ""a27"") or contains ([bpipainanatsiteareatxt], ""a06"") or contains ([bpipainanatsiteareatxt], ""a08"") or contains ([bpipainanatsiteareatxt], ""a10"") or contains ([bpipainanatsiteareatxt], ""a12"")",,LV,,,, +Please rate your pain in this region by choosing the number that best describes your average pain in the LAST 24 HOURS.","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No Pain ------------------------------------------------------------------ 10 = Pain as bad as you can imagine",,,,,"contains ([bpipainanatsiteareatxt], ""a27"") or contains ([bpipainanatsiteareatxt], ""a06"") or contains ([bpipainanatsiteareatxt], ""a08"") or contains ([bpipainanatsiteareatxt], ""a10"") or contains ([bpipainanatsiteareatxt], ""a12"") or contains ([bpipainanatsiteareatxt_sp], ""a27"") or contains ([bpipainanatsiteareatxt_sp], ""a06"") or contains ([bpipainanatsiteareatxt_sp], ""a08"") or contains ([bpipainanatsiteareatxt_sp], ""a10"") or contains ([bpipainanatsiteareatxt_sp], ""a12"")",,LH,,,, +bpi_mbm_z6_dur,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio,"How long have you been experiencing pain in the LEFT side: shoulder / upper arm / elbow / lower arm / wrist / hand? Choose the best option:","1, less than 1 month | 2, 1 month or more, but less than 6 months | 3, 6 months or more, but less than 2 years | 4, 2 years or more",,,,,,"contains ([bpipainanatsiteareatxt], ""a27"") or contains ([bpipainanatsiteareatxt], ""a06"") or contains ([bpipainanatsiteareatxt], ""a08"") or contains ([bpipainanatsiteareatxt], ""a10"") or contains ([bpipainanatsiteareatxt], ""a12"") or contains ([bpipainanatsiteareatxt_sp], ""a27"") or contains ([bpipainanatsiteareatxt_sp], ""a06"") or contains ([bpipainanatsiteareatxt_sp], ""a08"") or contains ([bpipainanatsiteareatxt_sp], ""a10"") or contains ([bpipainanatsiteareatxt_sp], ""a12"")",,LV,,,, bpi_mbm_z7_rate,bpisf_the_brief_pain_inventory_v23_short_form_bpi," ",radio,"You indicated having pain in the upper back / lower back / buttocks. -Please rate your pain in this region by choosing the number that best describes your average pain in the LAST 24 HOURS.","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No Pain ------------------------------------------------------------------ 10 = Pain as bad as you can imagine",,,,,"contains ([bpipainanatsiteareatxt], ""a29"") or contains ([bpipainanatsiteareatxt], ""a30"") or contains ([bpipainanatsiteareatxt], ""a33"") or contains ([bpipainanatsiteareatxt], ""a34"")",,LH,,,, -bpi_mbm_z7_dur,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio,"How long have you been experiencing pain in the upper back / lower back / buttocks? Choose the best option:","1, less than 1 month | 2, 1 month or more, but less than 6 months | 3, 6 months or more, but less than 2 years | 4, 2 years or more",,,,,,"contains ([bpipainanatsiteareatxt], ""a29"") or contains ([bpipainanatsiteareatxt], ""a30"") or contains ([bpipainanatsiteareatxt], ""a33"") or contains ([bpipainanatsiteareatxt], ""a34"")",,LV,,,, +Please rate your pain in this region by choosing the number that best describes your average pain in the LAST 24 HOURS.","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No Pain ------------------------------------------------------------------ 10 = Pain as bad as you can imagine",,,,,"contains ([bpipainanatsiteareatxt], ""a29"") or contains ([bpipainanatsiteareatxt], ""a30"") or contains ([bpipainanatsiteareatxt], ""a33"") or contains ([bpipainanatsiteareatxt], ""a34"") or contains ([bpipainanatsiteareatxt_sp], ""a29"") or contains ([bpipainanatsiteareatxt_sp], ""a30"") or contains ([bpipainanatsiteareatxt_sp], ""a33"") or contains ([bpipainanatsiteareatxt_sp], ""a34"")",,LH,,,, +bpi_mbm_z7_dur,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio,"How long have you been experiencing pain in the upper back / lower back / buttocks? Choose the best option:","1, less than 1 month | 2, 1 month or more, but less than 6 months | 3, 6 months or more, but less than 2 years | 4, 2 years or more",,,,,,"contains ([bpipainanatsiteareatxt], ""a29"") or contains ([bpipainanatsiteareatxt], ""a30"") or contains ([bpipainanatsiteareatxt], ""a33"") or contains ([bpipainanatsiteareatxt], ""a34"") or contains ([bpipainanatsiteareatxt_sp], ""a29"") or contains ([bpipainanatsiteareatxt_sp], ""a30"") or contains ([bpipainanatsiteareatxt_sp], ""a33"") or contains ([bpipainanatsiteareatxt_sp], ""a34"")",,LV,,,, bpi_mbm_z8_rate,bpisf_the_brief_pain_inventory_v23_short_form_bpi," ",radio,"You indicated having pain in the RIGHT side: hip / upper leg / knee / lower leg / ankle / foot. -Please rate your pain in this region by choosing the number that best describes your average pain in the LAST 24 HOURS.","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No Pain ------------------------------------------------------------------ 10 = Pain as bad as you can imagine",,,,,"contains ([bpipainanatsiteareatxt], ""a32"") or contains ([bpipainanatsiteareatxt], ""a17"") or contains ([bpipainanatsiteareatxt], ""a19"") or contains ([bpipainanatsiteareatxt], ""a21"") or contains ([bpipainanatsiteareatxt], ""a23"")",,LH,,,, -bpi_mbm_z8_dur,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio,"How long have you been experiencing pain in the RIGHT side: hip / upper leg / knee / lower leg / ankle / foot? Choose the best option:","1, less than 1 month | 2, 1 month or more, but less than 6 months | 3, 6 months or more, but less than 2 years | 4, 2 years or more",,,,,,"contains ([bpipainanatsiteareatxt], ""a32"") or contains ([bpipainanatsiteareatxt], ""a17"") or contains ([bpipainanatsiteareatxt], ""a19"") or contains ([bpipainanatsiteareatxt], ""a21"") or contains ([bpipainanatsiteareatxt], ""a23"")",,LV,,,, +Please rate your pain in this region by choosing the number that best describes your average pain in the LAST 24 HOURS.","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No Pain ------------------------------------------------------------------ 10 = Pain as bad as you can imagine",,,,,"contains ([bpipainanatsiteareatxt], ""a32"") or contains ([bpipainanatsiteareatxt], ""a17"") or contains ([bpipainanatsiteareatxt], ""a19"") or contains ([bpipainanatsiteareatxt], ""a21"") or contains ([bpipainanatsiteareatxt], ""a23"") or contains ([bpipainanatsiteareatxt_sp], ""a32"") or contains ([bpipainanatsiteareatxt_sp], ""a17"") or contains ([bpipainanatsiteareatxt_sp], ""a19"") or contains ([bpipainanatsiteareatxt_sp], ""a21"") or contains ([bpipainanatsiteareatxt_sp], ""a23"")",,LH,,,, +bpi_mbm_z8_dur,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio,"How long have you been experiencing pain in the RIGHT side: hip / upper leg / knee / lower leg / ankle / foot? Choose the best option:","1, less than 1 month | 2, 1 month or more, but less than 6 months | 3, 6 months or more, but less than 2 years | 4, 2 years or more",,,,,,"contains ([bpipainanatsiteareatxt], ""a32"") or contains ([bpipainanatsiteareatxt], ""a17"") or contains ([bpipainanatsiteareatxt], ""a19"") or contains ([bpipainanatsiteareatxt], ""a21"") or contains ([bpipainanatsiteareatxt], ""a23"") or contains ([bpipainanatsiteareatxt_sp], ""a32"") or contains ([bpipainanatsiteareatxt_sp], ""a17"") or contains ([bpipainanatsiteareatxt_sp], ""a19"") or contains ([bpipainanatsiteareatxt_sp], ""a21"") or contains ([bpipainanatsiteareatxt_sp], ""a23"")",,LV,,,, bpi_mbm_z9_rate,bpisf_the_brief_pain_inventory_v23_short_form_bpi," ",radio,"You indicated having pain in the LEFT side: hip / upper leg / knee / lower leg / ankle / foot. -Please rate your pain in this region by choosing the number that best describes your average pain in the LAST 24 HOURS.","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No Pain ------------------------------------------------------------------ 10 = Pain as bad as you can imagine",,,,,"contains ([bpipainanatsiteareatxt], ""a31"") or contains ([bpipainanatsiteareatxt], ""a18"") or contains ([bpipainanatsiteareatxt], ""a20"") or contains ([bpipainanatsiteareatxt], ""a22"") or contains ([bpipainanatsiteareatxt], ""a24"")",,LH,,,, -bpi_mbm_z9_dur,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio,"How long have you been experiencing pain in the LEFT side: hip / upper leg / knee / lower leg / ankle / foot? Choose the best option:","1, less than 1 month | 2, 1 month or more, but less than 6 months | 3, 6 months or more, but less than 2 years | 4, 2 years or more",,,,,,"contains ([bpipainanatsiteareatxt], ""a31"") or contains ([bpipainanatsiteareatxt], ""a18"") or contains ([bpipainanatsiteareatxt], ""a20"") or contains ([bpipainanatsiteareatxt], ""a22"") or contains ([bpipainanatsiteareatxt], ""a24"")",,LV,,,, +Please rate your pain in this region by choosing the number that best describes your average pain in the LAST 24 HOURS.","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No Pain ------------------------------------------------------------------ 10 = Pain as bad as you can imagine",,,,,"(contains ([bpipainanatsiteareatxt], ""a31"") or contains ([bpipainanatsiteareatxt], ""a18"") or contains ([bpipainanatsiteareatxt], ""a20"") or contains ([bpipainanatsiteareatxt], ""a22"") or contains ([bpipainanatsiteareatxt], ""a24"")) or +(contains ([bpipainanatsiteareatxt_sp], ""a31"") or contains ([bpipainanatsiteareatxt_sp], ""a18"") or contains ([bpipainanatsiteareatxt_sp], ""a20"") or contains ([bpipainanatsiteareatxt_sp], ""a22"") or contains ([bpipainanatsiteareatxt_sp], ""a24""))",,LH,,,, +bpi_mbm_z9_dur,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio,"How long have you been experiencing pain in the LEFT side: hip / upper leg / knee / lower leg / ankle / foot? Choose the best option:","1, less than 1 month | 2, 1 month or more, but less than 6 months | 3, 6 months or more, but less than 2 years | 4, 2 years or more",,,,,,"(contains ([bpipainanatsiteareatxt], ""a31"") or contains ([bpipainanatsiteareatxt], ""a18"") or contains ([bpipainanatsiteareatxt], ""a20"") or contains ([bpipainanatsiteareatxt], ""a22"") or contains ([bpipainanatsiteareatxt], ""a24"")) or +(contains ([bpipainanatsiteareatxt_sp], ""a31"") or contains ([bpipainanatsiteareatxt_sp], ""a18"") or contains ([bpipainanatsiteareatxt_sp], ""a20"") or contains ([bpipainanatsiteareatxt_sp], ""a22"") or contains ([bpipainanatsiteareatxt_sp], ""a24""))",,LV,,,, bpiworstpainratingss,bpisf_the_brief_pain_inventory_v23_short_form_bpi," ",radio,"

Please rate your surgical site (knee) pain by choosing the number that best describes your pain at its worst in the last 24 hours.

","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No Pain ------------------------------------------------------------------ 10 = Pain as bad as you can imagine",,,,,,,LH,,,, bpiworstpainratingexclss,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio,"

Please rate any other pain (excluding surgical site) by choosing the number that best describes your pain at its worst in the last 24 hours.

","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No Pain ------------------------------------------------------------------ 10 = Pain as bad as you can imagine",,,,,,,LH,,,, bpipainintfrgnrlactvtyscl,bpisf_the_brief_pain_inventory_v23_short_form_bpi,"4. Choose the number that best describes how, during the past 24 hours, pain in your surgical site has interfered with your:",radio,"4.a. General Activity","0, Does not interfere 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, Completely interferes 10",,,,,,,,,,bpisf_9,, @@ -145,15 +158,16 @@ bpipainsleepintrfrscl,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio," bpipainenjoymntintrfrscl,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,radio,"4.g. Enjoyment of life","0, Does not interfere 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, Completely interferes 10",,,,,,,,,,bpisf_9,, bpipainintrfrscore,bpisf_the_brief_pain_inventory_v23_short_form_bpi,,calc,"BPI Pain Interference Subscale Score -","mean([bpipainintfrgnrlactvtyscl], [bpipainintfrmoodscl], [bpipainintfrwlkablscl], [bpipainnrmlwrkintrfrscl], [bpipainrelationsintrfrscl], [bpipainsleepintrfrscl], [bpipainenjoymntintrfrscl])",,,,,,,,,,,," @HIDDEN-SURVEY" +","mean([bpipainintfrgnrlactvtyscl], [bpipainintfrmoodscl], [bpipainintfrwlkablscl], [bpipainnrmlwrkintrfrscl], [bpipainrelationsintrfrscl], [bpipainsleepintrfrscl], [bpipainenjoymntintrfrscl])",,,,,,,,,,,,@HIDDEN-SURVEY ssi_fatigue,symptom_severity_index_v10_ssi,"Using the following scale, indicate for each item your severity over the past week by marking the appropriate answer",radio,"1. Fatigue","0, No problem | 1, Mild | 2, Moderate | 3, Severe",,,,,,,,,,mtrx_ssi_1,, ssi_cognitive,symptom_severity_index_v10_ssi,,radio,"2. Trouble thinking or remembering","0, No problem | 1, Mild | 2, Moderate | 3, Severe",,,,,,,,,,mtrx_ssi_1,, ssi_tired,symptom_severity_index_v10_ssi,,radio,"3. Waking up tired (unrefreshed)","0, No problem | 1, Mild | 2, Moderate | 3, Severe",,,,,,,,,,mtrx_ssi_1,, -ssi_chronicyn,symptom_severity_index_v10_ssi,,yesno,"4. Have your problems with these symptoms been present for 3 months or more?",,,,,,,"sum([ssi_fatigue], [ssi_cognitive], [ssi_tired])>0",,RH,,,, -ssi_abdpainyn,symptom_severity_index_v10_ssi,"During the past 6 months have you had any of the following symptoms?",yesno,"5. Pain or cramps in the lower abdomen",,,,,,,,,RH,,,, -ssi_depressyn,symptom_severity_index_v10_ssi,,yesno,"6. Depression",,,,,,,,,RH,,,, -ssi_headacheyn,symptom_severity_index_v10_ssi,,yesno,"7. Headache",,,,,,,,,RH,,,, -pdqassessdate,pain_detect_questionnaire_pdq,,text,"Assessment Date:",,,date_mdy,,,,,,,,,," @TODAY @HIDDEN-SURVEY" +ssi_chronicyn,symptom_severity_index_v10_ssi,,radio,"4. Have your problems with these symptoms been present for 3 months or more?","1, Yes | 0, No",,,,,,"sum([ssi_fatigue], [ssi_cognitive], [ssi_tired])>0",,RH,,,, +ssi_abdpainyn,symptom_severity_index_v10_ssi,"During the past 6 months have you had any of the following symptoms?",radio,"5. Pain or cramps in the lower abdomen","1, Yes | 0, No",,,,,,,,RH,,,, +ssi_depressyn,symptom_severity_index_v10_ssi,,radio,"6. Depression","1, Yes | 0, No",,,,,,,,RH,,,, +ssi_headacheyn,symptom_severity_index_v10_ssi,,radio,"7. Headache","1, Yes | 0, No",,,,,,,,RH,,,, +pdqassessdate,pain_detect_questionnaire_pdq,,text,"Assessment Date:",,,date_mdy,,,y,,,,,,,"@TODAY @HIDDEN-SURVEY" +pdqassessdate_dss,pain_detect_questionnaire_pdq,,calc,"

PDQ Assessment visit: days since surgery

 

","datediff([baseline_visit_arm_1][pdqassessdate],[informed_consent_arm_1][sp_surg_date],'d')",,,,,,,,,,,,@HIDDEN pdburnsens,pain_detect_questionnaire_pdq,"

The following questions refer to any pain you are experiencing at your surgical site. 1. Thinking about your pain in the past week, please select the best response for each question:

",radio,"a. Do you suffer from a burning sensation (e.g. a bee sting) in the area of your pain?","0, Never | 1, Hardly Noticed | 2, Slightly | 3, Moderately | 4, Strongly | 5, Very Strongly",,,,,,,,,,pd_mtrx_1,, @@ -180,14 +194,14 @@ koosqolkneeawarescl,knee_injury_osteoarthritis_outcome_score_koos12,"Quality of koosqollifestylemodscl,knee_injury_osteoarthritis_outcome_score_koos12,,radio,"10. Have you modified your life style to avoid potentially damaging activities to your knee?","0, Not at all | 1, Mildly | 2, Moderately | 3, Severely | 4, Extremely",,,,,,,,,,,, koosqolconfidencescl,knee_injury_osteoarthritis_outcome_score_koos12,,radio,"11. How much are you troubled with lack of confidence in your knee?","0, Not at all | 1, Mildly | 2, Moderately | 3, Severely | 4, Extremely",,,,,,,,,,,, koosqolkneedifficultyscl,knee_injury_osteoarthritis_outcome_score_koos12,,radio,"12. In general, how much difficulty do you have with your knee?","0, None | 1, Mild | 2, Moderate | 3, Severe | 4, Extreme",,,,,,,,,,,, -koospainscore,knee_injury_osteoarthritis_outcome_score_koos12,,calc,"KOOS-12 Pain scale score ","[koospainfreqscl]+ [koospainwalkflatscl]+ [koospainstairsscl]+ [koospainsitlyingscl]",,,,,,,,,,,," @HIDDEN-SURVEY" -koospainscoret,knee_injury_osteoarthritis_outcome_score_koos12,,calc,"KOOS-12 Pain scale score transformed","([koospainfreqscl]+ [koospainwalkflatscl]+ [koospainstairsscl]+ [koospainsitlyingscl])/16*100",,,,,,,,,,,," @HIDDEN-SURVEY" -koosfunctionscore,knee_injury_osteoarthritis_outcome_score_koos12,,calc,"KOOS-12 Function scale","[koosfuncdiffrisesitscl]+ [koosfuncdiffstandscl]+ [koosfuncdiffcarscl]+ [koosfunctwistpivotscl]",,,,,,,,,,,," @HIDDEN-SURVEY" -koosfunctionscoret,knee_injury_osteoarthritis_outcome_score_koos12,,calc,"KOOS-12 Function scale transformed","([koosfuncdiffrisesitscl]+ [koosfuncdiffstandscl]+ [koosfuncdiffcarscl]+ [koosfunctwistpivotscl])/16*100",,,,,,,,,,,," @HIDDEN-SURVEY" -koosqolscore,knee_injury_osteoarthritis_outcome_score_koos12,,calc,"KOOS-12 QOL scale scores","[koosqolkneeawarescl]+ [koosqollifestylemodscl]+ [koosqolconfidencescl]+ [koosqolkneedifficultyscl]",,,,,,,,,,,," @HIDDEN-SURVEY" -koosqolscoret,knee_injury_osteoarthritis_outcome_score_koos12,,calc,"KOOS-12 QOL scale scores transformed","([koosqolkneeawarescl]+ [koosqollifestylemodscl]+ [koosqolconfidencescl]+ [koosqolkneedifficultyscl])/16*100",,,,,,,,,,,," @HIDDEN-SURVEY" +koospainscore,knee_injury_osteoarthritis_outcome_score_koos12,,calc,"KOOS-12 Pain scale score ","[koospainfreqscl]+ [koospainwalkflatscl]+ [koospainstairsscl]+ [koospainsitlyingscl]",,,,,,,,,,,,@HIDDEN-SURVEY +koospainscoret,knee_injury_osteoarthritis_outcome_score_koos12,,calc,"KOOS-12 Pain scale score transformed","([koospainfreqscl]+ [koospainwalkflatscl]+ [koospainstairsscl]+ [koospainsitlyingscl])/16*100",,,,,,,,,,,,@HIDDEN-SURVEY +koosfunctionscore,knee_injury_osteoarthritis_outcome_score_koos12,,calc,"KOOS-12 Function scale","[koosfuncdiffrisesitscl]+ [koosfuncdiffstandscl]+ [koosfuncdiffcarscl]+ [koosfunctwistpivotscl]",,,,,,,,,,,,@HIDDEN-SURVEY +koosfunctionscoret,knee_injury_osteoarthritis_outcome_score_koos12,,calc,"KOOS-12 Function scale transformed","([koosfuncdiffrisesitscl]+ [koosfuncdiffstandscl]+ [koosfuncdiffcarscl]+ [koosfunctwistpivotscl])/16*100",,,,,,,,,,,,@HIDDEN-SURVEY +koosqolscore,knee_injury_osteoarthritis_outcome_score_koos12,,calc,"KOOS-12 QOL scale scores","[koosqolkneeawarescl]+ [koosqollifestylemodscl]+ [koosqolconfidencescl]+ [koosqolkneedifficultyscl]",,,,,,,,,,,,@HIDDEN-SURVEY +koosqolscoret,knee_injury_osteoarthritis_outcome_score_koos12,,calc,"KOOS-12 QOL scale scores transformed","([koosqolkneeawarescl]+ [koosqollifestylemodscl]+ [koosqolconfidencescl]+ [koosqolkneedifficultyscl])/16*100",,,,,,,,,,,,@HIDDEN-SURVEY koossummaryscore,knee_injury_osteoarthritis_outcome_score_koos12,,calc,"KOOS Summary Score -","mean([koospainscoret], [koosfunctionscoret], [koosqolscoret])",,,,,,,,,,,," @HIDDEN-SURVEY" +","mean([koospainscoret], [koosfunctionscoret], [koosqolscoret])",,,,,,,,,,,,@HIDDEN-SURVEY pfadochoresscl,promis_sf_v12_physical_function_8b,,radio,"Are you able to do chores such as vacuuming or yard work?","5, Without any difficulty | 4, With a little difficulty | 3, With some difficulty | 2, With much difficulty | 1, Unable to do",,,,,,,,,,,, pfastairsscl,promis_sf_v12_physical_function_8b,,radio,"Are you able to go up and down stairs at a normal pace?","5, Without any difficulty | 4, With a little difficulty | 3, With some difficulty | 2, With much difficulty | 1, Unable to do",,,,,,,,,,,, pfawalkscl,promis_sf_v12_physical_function_8b,,radio,"Are you able to go for a walk of at least 15 minutes?","5, Without any difficulty | 4, With a little difficulty | 3, With some difficulty | 2, With much difficulty | 1, Unable to do",,,,,,,,,,,, @@ -196,7 +210,7 @@ pfaphyslaborlimitscl,promis_sf_v12_physical_function_8b,,radio,"Does your health pfamodwrklimitscl,promis_sf_v12_physical_function_8b,,radio,"Does your health now limit you in doing moderate work around the house like vacuuming, sweeping floors or carrying in groceries?","5, Not at all | 4, Very little | 3, Somewhat | 2, Quite a lot | 1, Cannot do",,,,,,,,,,,, pfagrocliftlimitscl,promis_sf_v12_physical_function_8b,,radio,"Does your health now limit you in lifting or carrying groceries?","5, Not at all | 4, Very little | 3, Somewhat | 2, Quite a lot | 1, Cannot do",,,,,,,,,,,, pfaheavyworklimitscl,promis_sf_v12_physical_function_8b,,radio,"Does your health now limit you in doing heavy work around the house like scrubbing floors, or lifting or moving heavy furniture?","5, Not at all | 4, Very little | 3, Somewhat | 2, Quite a lot | 1, Cannot do",,,,,,,,,,,, -pfatotalscore,promis_sf_v12_physical_function_8b,,calc,"Total score","sum([pfadochoresscl], [pfastairsscl], [pfawalkscl], [pfarunerrandsscl], [pfaphyslaborlimitscl], [pfamodwrklimitscl], [pfagrocliftlimitscl], [pfaheavyworklimitscl])",,,,,,,,,,,," @HIDDEN-SURVEY" +pfatotalscore,promis_sf_v12_physical_function_8b,,calc,"Total score","sum([pfadochoresscl], [pfastairsscl], [pfawalkscl], [pfarunerrandsscl], [pfaphyslaborlimitscl], [pfamodwrklimitscl], [pfagrocliftlimitscl], [pfaheavyworklimitscl])",,,,,,,,,,,,@HIDDEN-SURVEY promissleepwasrefreshscl,promis_sf_v10_sleep_disturbance_6a_sleep_i,,radio,"In the past 7 days My sleep was refreshing.","5, Not at all | 4, A little bit | 3, Somewhat | 2, Quite a bit | 1, Very much",,,,,,,,,,,, promisproblemwithslpscl,promis_sf_v10_sleep_disturbance_6a_sleep_i,,radio,"In the past 7 days @@ -213,7 +227,7 @@ sleepnight_dt_1,painsleep_duration_sleep_ii,,descriptive,"
last 2 weeks, how often have you been bothered by any of the following problems? (select one number on each line) @@ -252,8 +266,8 @@ phqabnrmldietscore,patient_health_questionnaire_depression_scale_phq,,radio,"5. phqflngfailrscore,patient_health_questionnaire_depression_scale_phq,,radio,"6. Feeling bad about yourself, or that you are a failure, or have let yourself or your family down","0, Not
at all
0 | 1, Several
days
1 | 2, More than
half
the days
2 | 3, Nearly
every day
3",,,,,,,,,,phq8_sc,, phqconcntrtnimprmntscore,patient_health_questionnaire_depression_scale_phq,,radio,"7. Trouble concentrating on things, such as reading the newspaper or watching television","0, Not
at all
0 | 1, Several
days
1 | 2, More than
half
the days
2 | 3, Nearly
every day
3",,,,,,,,,,phq8_sc,, phqmovmntspchimprmntscore,patient_health_questionnaire_depression_scale_phq,,radio,"8. Moving or speaking so slowly that other people could have noticed. Or the opposite--being so fidgety or restless that you have been moving around a lot more than usual","0, Not
at all
0 | 1, Several
days
1 | 2, More than
half
the days
2 | 3, Nearly
every day
3",,,,,,,,,,phq8_sc,, -phq8_score_inst_sc,patient_health_questionnaire_depression_scale_phq,,descriptive,"Score is the sum of the 8 items. If more than 1 item missing, set the value of the scale to missing. A score of 10 or greater is considered major depression, 20 or more is severe major depression.",,,,,,,,,,,,," @HIDDEN-SURVEY" -phqtotalscore,patient_health_questionnaire_depression_scale_phq,,calc,Score,"sum([phqlitintrstscore], [phqdeprssnscore], [phqsleepimpairscore], [phqtirdlittleenrgyscore], [phqabnrmldietscore], [phqflngfailrscore], [phqconcntrtnimprmntscore], [phqmovmntspchimprmntscore])",,,,,,,,,,,," @HIDDEN-SURVEY" +phq8_score_inst_sc,patient_health_questionnaire_depression_scale_phq,,descriptive,"Score is the sum of the 8 items. If more than 1 item missing, set the value of the scale to missing. A score of 10 or greater is considered major depression, 20 or more is severe major depression.",,,,,,,,,,,,,@HIDDEN-SURVEY +phqtotalscore,patient_health_questionnaire_depression_scale_phq,,calc,Score,"sum([phqlitintrstscore], [phqdeprssnscore], [phqsleepimpairscore], [phqtirdlittleenrgyscore], [phqabnrmldietscore], [phqflngfailrscore], [phqconcntrtnimprmntscore], [phqmovmntspchimprmntscore])",,,,,,,,,,,,@HIDDEN-SURVEY pcs_dt_1,pain_catastrophizing_questionnaire_pcs6,,descriptive,"Everyone experiences painful situations at some point in their lives. Such experiences may include headaches, tooth pain, joint or muscle pain. People are often exposed to situations that may cause pain such as illness, injury, dental procedures or surgery. We are interested in the types of thoughts and feelings that you have when you are in pain. Listed below are six statements describing different thoughts and feelings that may be associated with pain. Using the following scale, please indicate the degree to which you have these thoughts and feelings when you are experiencing pain. ",,,,,,,,,,,,, @@ -263,7 +277,7 @@ pcqafraidpainworsescl,pain_catastrophizing_questionnaire_pcs6,,radio,"3. I beco pcqhurtscl,pain_catastrophizing_questionnaire_pcs6,,radio,"4. I keep thinking about how much it hurts","0, Not at all | 1, To a slight degree | 2, To a moderate degree | 3, To a great degree | 4, All the time",,,,,,,,,,pcs_1,, pcqpainstopscl,pain_catastrophizing_questionnaire_pcs6,,radio,"5. I keep thinking about how badly I want the pain to stop","0, Not at all | 1, To a slight degree | 2, To a moderate degree | 3, To a great degree | 4, All the time",,,,,,,,,,pcs_1,, pcqseriousscl,pain_catastrophizing_questionnaire_pcs6,,radio,"6. I wonder whether something serious may happen","0, Not at all | 1, To a slight degree | 2, To a moderate degree | 3, To a great degree | 4, All the time",,,,,,,,,,pcs_1,, -pcqtotalscoreval,pain_catastrophizing_questionnaire_pcs6,,calc,"Total score value:","[pcqpainawfulovrwhlmscl]+ [pcqfeelcantwithstandscl] + [pcqafraidpainworsescl] + [pcqhurtscl] + [pcqpainstopscl] + [pcqseriousscl]",,,,,,,,,,,," @HIDDEN-SURVEY" +pcqtotalscoreval,pain_catastrophizing_questionnaire_pcs6,,calc,"Total score value:","[pcqpainawfulovrwhlmscl]+ [pcqfeelcantwithstandscl] + [pcqafraidpainworsescl] + [pcqhurtscl] + [pcqpainstopscl] + [pcqseriousscl]",,,,,,,,,,,,@HIDDEN-SURVEY fabq_dt_1,fearavoidance_beliefs_questionnaire_v03_fabq,,descriptive,"Here are some of the things which other patients have told us about their pain. For each statement please choose any number from 0 to 6 to say how much physical activities such as bending, lifting, walking or driving affect or would affect your knee pain.",,,,,,,,,,,,, fabqphysclactvtywrsscl,fearavoidance_beliefs_questionnaire_v03_fabq,,radio,"2. Physical activity makes my pain worse","0, 0 - Completely disagree | 1, 1 | 2, 2 | 3, 3 - Unsure | 4, 4 | 5, 5 | 6, 6 - Completely agree",,,,,,,,,,,, fabqphysclactvtybckhrmscl,fearavoidance_beliefs_questionnaire_v03_fabq,,radio,"3. Physical activity might harm my knee","0, 0 - Completely disagree | 1, 1 | 2, 2 | 3, 3 - Unsure | 4, 4 | 5, 5 | 6, 6 - Completely agree",,,,,,,,,,,, @@ -284,9 +298,9 @@ prsnotgetdownscl,pain_resilience_scale_prs,,radio,"11. I don't let it get me dow prsnotupsetscl,pain_resilience_scale_prs,,radio,"12. I don't let it upset me.","0, 0 - Not at all | 1, 1 - To a slight degree | 2, 2 - To a moderate degree | 3, 3 - To a great degree | 4, 4 - All the time",,,,,,,,,,prs_1,, prsavoidnegativescl,pain_resilience_scale_prs,,radio,"13. I avoid negative thoughts.","0, 0 - Not at all | 1, 1 - To a slight degree | 2, 2 - To a moderate degree | 3, 3 - To a great degree | 4, 4 - All the time",,,,,,,,,,prs_1,, prsstayrelaxscl,pain_resilience_scale_prs,,radio,"14. I try to stay relaxed.","0, 0 - Not at all | 1, 1 - To a slight degree | 2, 2 - To a moderate degree | 3, 3 - To a great degree | 4, 4 - All the time",,,,,,,,,,prs_1,, -prsscore,pain_resilience_scale_prs,,calc,"Total score - sum of all items","[prsbackoutscl]+[prsworkgoalsscl]+ [prspushthroughscl]+ [prscontworkscl]+ [prsstayactivescl]+ [prsfocuspositivescl]+ [prsposattitudescl]+ [prsnotaffecthappyscl]+ [prsfindjoyscl]+ [prshopefulscl]+ [prsnotgetdownscl]+ [prsnotupsetscl]+ [prsavoidnegativescl]+ [prsstayrelaxscl]",,,,,,,,,,,," @HIDDEN-SURVEY" -prsbehpersscore,pain_resilience_scale_prs,,calc,"Behavioral Perseverance = sum of items 1-5","[prsbackoutscl]+[prsworkgoalsscl]+ [prspushthroughscl]+ [prscontworkscl]+ [prsstayactivescl]",,,,,,,,,,,," @HIDDEN-SURVEY" -prscognitivescore,pain_resilience_scale_prs,,calc,"Cognitive/Affective = sum of items 6-14","[prsfocuspositivescl]+ [prsposattitudescl]+ [prsnotaffecthappyscl]+ [prsfindjoyscl]+ [prshopefulscl]+ [prsnotgetdownscl]+ [prsnotupsetscl]+ [prsavoidnegativescl]+ [prsstayrelaxscl]",,,,,,,,,,,," @HIDDEN-SURVEY" +prsscore,pain_resilience_scale_prs,,calc,"Total score - sum of all items","[prsbackoutscl]+[prsworkgoalsscl]+ [prspushthroughscl]+ [prscontworkscl]+ [prsstayactivescl]+ [prsfocuspositivescl]+ [prsposattitudescl]+ [prsnotaffecthappyscl]+ [prsfindjoyscl]+ [prshopefulscl]+ [prsnotgetdownscl]+ [prsnotupsetscl]+ [prsavoidnegativescl]+ [prsstayrelaxscl]",,,,,,,,,,,,@HIDDEN-SURVEY +prsbehpersscore,pain_resilience_scale_prs,,calc,"Behavioral Perseverance = sum of items 1-5","[prsbackoutscl]+[prsworkgoalsscl]+ [prspushthroughscl]+ [prscontworkscl]+ [prsstayactivescl]",,,,,,,,,,,,@HIDDEN-SURVEY +prscognitivescore,pain_resilience_scale_prs,,calc,"Cognitive/Affective = sum of items 6-14","[prsfocuspositivescl]+ [prsposattitudescl]+ [prsnotaffecthappyscl]+ [prsfindjoyscl]+ [prshopefulscl]+ [prsnotgetdownscl]+ [prsnotupsetscl]+ [prsavoidnegativescl]+ [prsstayrelaxscl]",,,,,,,,,,,,@HIDDEN-SURVEY essfsomeonelistenscl,promis_sf_v20_emotional_support_6a,,radio,"I have someone who will listen to me when I need to talk","1, Never | 2, Rarely | 3, Sometimes | 4, Usually | 5, Always",,,,,,,,,,,, essfsomeoneconfidescl,promis_sf_v20_emotional_support_6a,,radio,"I have someone to confide in or talk to about myself or my problems","1, Never | 2, Rarely | 3, Sometimes | 4, Usually | 5, Always",,,,,,,,,,,, essffeelappreciatscl,promis_sf_v20_emotional_support_6a,,radio,"I have someone who makes me feel appreciated","1, Never | 2, Rarely | 3, Sometimes | 4, Usually | 5, Always",,,,,,,,,,,, @@ -306,7 +320,7 @@ issfmealprepscl,promis_sf_v20_informational_support_6a,,radio,"Do you have someo ","1, Never | 2, Rarely | 3, Sometimes | 4, Usually | 5, Always",,,,,,,,,,,, issfresponsiblescl,promis_sf_v20_informational_support_6a,,radio,"Do you have someone to take over all of your responsibilities at home if you need it? ","1, Never | 2, Rarely | 3, Sometimes | 4, Usually | 5, Always",,,,,,,,,,,, -issftotalscore,promis_sf_v20_informational_support_6a,,calc,"Total score","sum([issfconfinedbedscl], [issfdoctorvisitscl], [issfchoreshelpscl], [issferrandshelpscl], [issfmealprepscl], [issfresponsiblescl])",,,,,,,,,,,," @HIDDEN-SURVEY" +issftotalscore,promis_sf_v20_informational_support_6a,,calc,"Total score","sum([issfconfinedbedscl], [issfdoctorvisitscl], [issfchoreshelpscl], [issferrandshelpscl], [issfmealprepscl], [issfresponsiblescl])",,,,,,,,,,,,@HIDDEN-SURVEY miscithinkclrscl,multidimensional_inventory_of_subjective_cognitive,"Please respond to each item by marking one item per row: In the past 7 days...",radio,"I have been able to think clearly without extra effort.","1, Not at all | 2, A little bit | 3, Somewhat | 4, Quite a bit | 5, Very much",,,,,,,,,,mtrx_misci_1,, @@ -322,7 +336,7 @@ miscirightwordsscl,multidimensional_inventory_of_subjective_cognitive,,radio,"I miscitotalscore,multidimensional_inventory_of_subjective_cognitive,,calc,"Total score","sum([miscithinkclrscl], [miscimindsharpscl], [miscirememberscl], [miscilearnscl], [misciconcentratescl], [misciattentionscl]) + (if([miscishiftactivscl]='1',5,if([miscishiftactivscl]='2',4,if([miscishiftactivscl]='4',2,if([miscishiftactivscl]='5',1,[miscishiftactivscl]))))) + (if([misciplanningscl]='1',5,if([misciplanningscl]='2',4,if([misciplanningscl]='4',2,if([misciplanningscl]='5',1,[misciplanningscl]))))) + (if([misciexpressscl]='1',5,if([misciexpressscl]='2',4,if([misciexpressscl]='4',2,if([misciexpressscl]='5',1,[misciexpressscl]))))) + -(if([miscirightwordsscl]='1',5,if([miscirightwordsscl]='2',4,if([miscirightwordsscl]='4',2,if([miscirightwordsscl]='5',1,[miscirightwordsscl])))))",,,,,,,,,,,," @HIDDEN-SURVEY" +(if([miscirightwordsscl]='1',5,if([miscirightwordsscl]='2',4,if([miscirightwordsscl]='4',2,if([miscirightwordsscl]='5',1,[miscirightwordsscl])))))",,,,,,,,,,,,@HIDDEN-SURVEY dt_ace_preamble,adverse_childhood_experience_questionnaire_ace,,descriptive,"

This Survey will be asking you some questions about events that happened during your childhood; specifically the first 18 years of your life.

Some of the questions may be considered sensitive, and none of your answers will be shared with your care provider.

",,,,,,,,,,,,, ace_dt_1,adverse_childhood_experience_questionnaire_ace," ",descriptive,"While you were growing up, during your first 18 years of life:",,,,,,,,,,,,, aceadinhmhfroff18yrincode,adverse_childhood_experience_questionnaire_ace,,radio,"1. Did a parent or other adult in the household often ... @@ -367,14 +381,14 @@ Ever repeatedly hit over at least a few minutes or threatened with a gun or knif acealdruslvfr18yrincode,adverse_childhood_experience_questionnaire_ace,,radio,"8. Did you live with anyone who was a problem drinker or alcoholic or who used street drugs?","1, Yes | 0, No",,,,,,,,,,,, acedpmnischsmbfr18yincode,adverse_childhood_experience_questionnaire_ace,,radio,"9. Was a household member depressed or mentally ill or did a household member attempt suicide?","1, Yes | 0, No",,,,,,,,,,,, acehsmmprfr18yrincode,adverse_childhood_experience_questionnaire_ace,,radio,"10. Did a household member go to prison?","1, Yes | 0, No",,,,,,,,,,,, -aceadvchlexpqstttlscore,adverse_childhood_experience_questionnaire_ace,,calc,"11. ACE Total Score: ","[aceadinhmhfroff18yrincode]+[aceadphyabsinfr18yrincode]+ [acesxlabsfr18yrincode]+[acefllcemspoffr18yrincode]+ [aceflngdhproffr18yrincode] + [aceprevspdvfr18yrincode] + [acemtdmvlfr18yrincode] + [acealdruslvfr18yrincode] + [acedpmnischsmbfr18yincode] + [acehsmmprfr18yrincode]",,,,,,,,,,,," @HIDDEN-SURVEY" +aceadvchlexpqstttlscore,adverse_childhood_experience_questionnaire_ace,,calc,"11. ACE Total Score: ","[aceadinhmhfroff18yrincode]+[aceadphyabsinfr18yrincode]+ [acesxlabsfr18yrincode]+[acefllcemspoffr18yrincode]+ [aceflngdhproffr18yrincode] + [aceprevspdvfr18yrincode] + [acemtdmvlfr18yrincode] + [acealdruslvfr18yrincode] + [acedpmnischsmbfr18yincode] + [acehsmmprfr18yrincode]",,,,,,,,,,,,@HIDDEN-SURVEY tapstobaccoproductscl,taps1,,radio,"1. In the PAST 12 MONTHS, how often have you used any tobacco product (for example, cigarettes, e-cigarettes, cigars, pipes, or smokeless tobacco)?","0, Daily or Almost Daily | 1, Weekly | 2, Monthly | 3, Less Than Monthly | 4, Never",,,,,,,,,,taps1_q1,, tapstobaccoproductscl_yrs,taps1,,text,"How many years have you smoked?",,,integer,0,75,,"[tapstobaccoproductscl] = '0' or [tapstobaccoproductscl] = '1' or [tapstobaccoproductscl] = '2' or [tapstobaccoproductscl] = '3'",,,,,, tapsalcoholusemalescl,taps1,,radio,"2. In the PAST 12 MONTHS, how often have you had 5 or more drinks containing alcohol in one day? One standard drink is about 1 small glass of wine (5 oz), 1 beer (12 oz), or 1 single shot of liquor.","0, Daily or Almost Daily | 1, Weekly | 2, Monthly | 3, Less Than Monthly | 4, Never",,,,,,"[genident] = '1'",,,,taps1_q2,, tapsalcoholusefemalescl,taps1,,radio,"3. In the PAST 12 MONTHS, how often have you had 4 or more drinks containing alcohol in one day? One standard drink is about 1 small glass of wine (5 oz), 1 beer (12 oz), or 1 single shot of liquor.","0, Daily or Almost Daily | 1, Weekly | 2, Monthly | 3, Less Than Monthly | 4, Never",,,,,,"[genident] = '2'",,,,taps1_q3,, tapsdrugusescl,taps1,,radio,"4. In the PAST 12 MONTHS, how often have you used any drugs including marijuana, cocaine or crack, heroin, methamphetamine (crystal meth), hallucinogens, ecstasy/MDMA?","0, Daily or Almost Daily | 1, Weekly | 2, Monthly | 3, Less Than Monthly | 4, Never",,,,,,,,,,taps1_q4,, tapsprescriptionmedusescl,taps1,,radio,"5. In the PAST 12 MONTHS, how often have you used any prescription medications just for the feeling, more than prescribed or that were not prescribed for you? Prescription medications that may be used this way include: Opiate pain relievers (for example, OxyContin, Vicodin, Percocet, Methadone). Medications for anxiety or sleeping (for example, Xanax, Ativan, Klonopin) Medications for ADHD (for example, Adderall or Ritalin)","0, Daily or Almost Daily | 1, Weekly | 2, Monthly | 3, Less Than Monthly | 4, Never",,,,,,,,,,taps1_q5,, -dt_header,taps2,,descriptive,"

Tobacco, Alcohol, Prescription medications, and other Substance
Part 2 (TAPS-2)

General Instructions: The TAPS Tool Part 2 is a brief assessment for tobacco, alcohol, and illicit substance use and prescription medication misuse in the PAST 3 MONTHS ONLY.

Each of the following questions and sub-questions has two possible answer choices- either yes or no.

Select your answer.

",,,,,,,,,,,,," @HIDDEN-SURVEY" +dt_header,taps2,,descriptive,"

Tobacco, Alcohol, Prescription medications, and other Substance
Part 2 (TAPS-2)

General Instructions: The TAPS Tool Part 2 is a brief assessment for tobacco, alcohol, and illicit substance use and prescription medication misuse in the PAST 3 MONTHS ONLY.

Each of the following questions and sub-questions has two possible answer choices- either yes or no.

Select your answer.

",,,,,,,,,,,,,@HIDDEN-SURVEY taps2tobaccoyn,taps2,,radio,"1. In the PAST 3 MONTHS, did you smoke a cigarette containing tobacco?","0, No | 1, Yes",,,,,,,,,,,, taps2_dt1,taps2,,descriptive,"If 'Yes', answer the following questions: ",,,,,,,"[taps2tobaccoyn] = '1'",,,,,, taps2tobaccogr10yn,taps2,,radio,"1.a. In the PAST 3 MONTHS, did you usually smoke more than 10 cigarettes each day?","0, No | 1, Yes",,,,,,"[taps2tobaccoyn] = '1'",,,,,, @@ -417,14 +431,14 @@ taps2adhdmedconcernyn,taps2,,radio,"8.b. In the PAST 3 MONTHS, has anyone expres taps2otherdrugsyn,taps2,,radio,"9. In the PAST 3 MONTHS, did you use any other illegal or recreational drug (for example, ecstasy/molly, GHB, poppers, LSD, mushrooms, special K, bath salts, synthetic marijuana ('spice'), whip-its, etc.)? ","0, No | 1, Yes",,,,,,,,,,,, taps2_dt9,taps2,,descriptive,"If 'Yes', answer the following questions: ",,,,,,,"[taps2otherdrugsyn] = '1'",,,,,, taps2otherdrugstxt,taps2,,text,"9.a. In the PAST 3 MONTHS, what were the other drug(s) you used?",,,,,,,"[taps2otherdrugsyn] = '1'",,,,,, -tap2tobaccoscore,taps2,,calc,"Tobacco score","sum([taps2tobaccoyn],[taps2tobaccogr10yn],[taps2tobaccowakingyn])",,,,,,,,,,,," @HIDDEN-SURVEY" -tap2alcoholscore,taps2,,calc,"Alcohol score","sum([taps2alcoholyn],[taps2alcoholfem4yn],[taps2alcoholmale5yn], [taps2alcoholfailyn],[taps2alcoholconcernyn])",,,,,,,,,,,," @HIDDEN-SURVEY" -tap2cannabisscore,taps2,,calc,"Cannabis score","sum([taps2mjuseyn], [taps2mjweeklyyn], [taps2mjconcernyn])",,,,,,,,,,,," @HIDDEN-SURVEY" -tap2stimulantscore,taps2,,calc,"Stimulant score","sum([taps2stimulantyn], [taps2stimulantweeklyyn], [taps2stimulntconcernyn])",,,,,,,,,,,," @HIDDEN-SURVEY" -tap2heroinscore,taps2,,calc,"Heroin score","sum([taps2heroinyn], [taps2heroinfailyn], [taps2heroinconcernyn])",,,,,,,,,,,," @HIDDEN-SURVEY" -tap2opioidscore,taps2,,calc,"Opioid score","sum([taps2rxopiateyn], [taps2rxopiatefailyn], [taps2rxopiateconcernyn])",,,,,,,,,,,," @HIDDEN-SURVEY" -tap2sedativescore,taps2,,calc,"Sedative score","sum([taps2anxietyslpmedyn], [taps2anxietyslpweeklyyn], [taps2anxietyslpconcyn])",,,,,,,,,,,," @HIDDEN-SURVEY" -tap2rxstimscore,taps2,,calc,"Prescription stimulant score","sum([taps2adhdmedyn], [taps2adhdmedweeklyyn], [taps2adhdmedconcernyn])",,,,,,,,,,,," @HIDDEN-SURVEY" +tap2tobaccoscore,taps2,,calc,"Tobacco score","sum([taps2tobaccoyn],[taps2tobaccogr10yn],[taps2tobaccowakingyn])",,,,,,,,,,,,@HIDDEN-SURVEY +tap2alcoholscore,taps2,,calc,"Alcohol score","sum([taps2alcoholyn],[taps2alcoholfem4yn],[taps2alcoholmale5yn], [taps2alcoholfailyn],[taps2alcoholconcernyn])",,,,,,,,,,,,@HIDDEN-SURVEY +tap2cannabisscore,taps2,,calc,"Cannabis score","sum([taps2mjuseyn], [taps2mjweeklyyn], [taps2mjconcernyn])",,,,,,,,,,,,@HIDDEN-SURVEY +tap2stimulantscore,taps2,,calc,"Stimulant score","sum([taps2stimulantyn], [taps2stimulantweeklyyn], [taps2stimulntconcernyn])",,,,,,,,,,,,@HIDDEN-SURVEY +tap2heroinscore,taps2,,calc,"Heroin score","sum([taps2heroinyn], [taps2heroinfailyn], [taps2heroinconcernyn])",,,,,,,,,,,,@HIDDEN-SURVEY +tap2opioidscore,taps2,,calc,"Opioid score","sum([taps2rxopiateyn], [taps2rxopiatefailyn], [taps2rxopiateconcernyn])",,,,,,,,,,,,@HIDDEN-SURVEY +tap2sedativescore,taps2,,calc,"Sedative score","sum([taps2anxietyslpmedyn], [taps2anxietyslpweeklyyn], [taps2anxietyslpconcyn])",,,,,,,,,,,,@HIDDEN-SURVEY +tap2rxstimscore,taps2,,calc,"Prescription stimulant score","sum([taps2adhdmedyn], [taps2adhdmedweeklyyn], [taps2adhdmedconcernyn])",,,,,,,,,,,,@HIDDEN-SURVEY opioidusebslnopds,opioid_use_baseline_v10_opioid_use_i,,radio,"1. Are you currently taking opioids daily or most days? Examples of opioid medications include hydrocodone (Norco, Vicodin), oxycodone (Percocet), tapentadol (Nucynta), morphine, tramadol, codeine.","0, No | 1, Yes",,,,,,,,RH,,,, opioidusebslnexprncopd,opioid_use_baseline_v10_opioid_use_i,,radio,"2.Have you ever taken an opioid continuously? @@ -746,10 +760,10 @@ if([rapa_mod]='1',5, if([rapa_vig]='1',4, if([rapa_lightweekly]='1',3, if([rapa_light]='1',2, -if([rapa_rarly]='1',1,0)))))))",,,,,,,,,,,," @HIDDEN-SURVEY" -rapa_1cat,rapid_assessment_of_physical_activity_v10_rapa,,calc,"Scoring: RAPA 1: Aerobic category","if(([rapa_modweekly]='1' or [rapa_vigweekly]='1'),5, if(( [rapa_mod]='1' or [rapa_vig]='1'),4, if([rapa_lightweekly]='1',3, if([rapa_light]='1',2, if([rapa_rarly]='1',1,0)))))",,,,,,,,,,,," @HIDDEN-SURVEY" +if([rapa_rarly]='1',1,0)))))))",,,,,,,,,,,,@HIDDEN-SURVEY +rapa_1cat,rapid_assessment_of_physical_activity_v10_rapa,,calc,"Scoring: RAPA 1: Aerobic category","if(([rapa_modweekly]='1' or [rapa_vigweekly]='1'),5, if(( [rapa_mod]='1' or [rapa_vig]='1'),4, if([rapa_lightweekly]='1',3, if([rapa_light]='1',2, if([rapa_rarly]='1',1,0)))))",,,,,,,,,,,,@HIDDEN-SURVEY rapa_2score,rapid_assessment_of_physical_activity_v10_rapa,,calc,"RAPA 2: Strength & Flexibility -","if([rapa_strength]='1' and [rapa_flex]='1',3,if([rapa_strength]='1' and [rapa_flex]='0',1, if([rapa_strength]='0' and [rapa_flex]='1',2, if([rapa_strength]='0' and [rapa_flex]='0',0,0))))",,,,,,,,,,,," @HIDDEN-SURVEY" +","if([rapa_strength]='1' and [rapa_flex]='1',3,if([rapa_strength]='1' and [rapa_flex]='0',1, if([rapa_strength]='0' and [rapa_flex]='1',2, if([rapa_strength]='0' and [rapa_flex]='0',0,0))))",,,,,,,,,,,,@HIDDEN-SURVEY gss8_dt_1,general_sensory_sensitivity_v02_gss8,,descriptive,"Instructions: Please read the following list of symptoms. If you have had any of these symptoms for at least three (3) months in the past year, please mark the appropriate box.",,,,,,,,,,,,, gss8photophobia,general_sensory_sensitivity_v02_gss8,,radio,"Sensitivity to bright lights","1, Yes | 0, No",,,,,,,,RH,,,, gss8phonophobia,general_sensory_sensitivity_v02_gss8,,radio,"Sensitivity to sounds","1, Yes | 0, No",,,,,,,,RH,,,, @@ -759,9 +773,9 @@ gss8touchsensitiv,general_sensory_sensitivity_v02_gss8,,radio,"Sensitivity to to gss8balance,general_sensory_sensitivity_v02_gss8,,radio,"Problems with balance","1, Yes | 0, No",,,,,,,,RH,,,, gss8nausea,general_sensory_sensitivity_v02_gss8,,radio,"Problems with nausea","1, Yes | 0, No",,,,,,,,RH,,,, gss8rapidhr,general_sensory_sensitivity_v02_gss8,,radio,"Problems with rapid heart rate","1, Yes | 0, No",,,,,,,,RH,,,, -gss8_ext_score,general_sensory_sensitivity_v02_gss8,,calc,"External sensory sensitivity - sum of items 1-5","sum([gss8photophobia], [gss8phonophobia], [gss8odorsensitiv], [gss8flavorsensitiv], [gss8touchsensitiv])",,,,,,,,LV,,,," @HIDDEN-SURVEY" -gss8_int_score,general_sensory_sensitivity_v02_gss8,,calc,"Interoception - sum of items 6-8","sum([gss8balance], [gss8nausea], [gss8rapidhr])",,,,,,,,LV,,,," @HIDDEN-SURVEY" -gss8_total_score,general_sensory_sensitivity_v02_gss8,,calc,"GSS Total Score - sum of items 1-8","sum([gss8photophobia], [gss8phonophobia], [gss8odorsensitiv], [gss8flavorsensitiv], [gss8touchsensitiv], [gss8balance], [gss8nausea], [gss8rapidhr])",,,,,,,,LV,,,," @HIDDEN-SURVEY" +gss8_ext_score,general_sensory_sensitivity_v02_gss8,,calc,"External sensory sensitivity - sum of items 1-5","sum([gss8photophobia], [gss8phonophobia], [gss8odorsensitiv], [gss8flavorsensitiv], [gss8touchsensitiv])",,,,,,,,LV,,,,@HIDDEN-SURVEY +gss8_int_score,general_sensory_sensitivity_v02_gss8,,calc,"Interoception - sum of items 6-8","sum([gss8balance], [gss8nausea], [gss8rapidhr])",,,,,,,,LV,,,,@HIDDEN-SURVEY +gss8_total_score,general_sensory_sensitivity_v02_gss8,,calc,"GSS Total Score - sum of items 1-8","sum([gss8photophobia], [gss8phonophobia], [gss8odorsensitiv], [gss8flavorsensitiv], [gss8touchsensitiv], [gss8balance], [gss8nausea], [gss8rapidhr])",,,,,,,,LV,,,,@HIDDEN-SURVEY bfi2s_dt1,the_big_five_inventory_bfi2s,,descriptive,"Instructions Here are a number of characteristics that may or may not apply to you. For example, do you agree that you are someone who likes to spend time with others? Please mark a number for each statement to indicate the extent to which you agree or disagree with that statement. ",,,,,,,,,,,,, @@ -807,10 +821,10 @@ prev_covid19_dx,patient_demographics_full_part_2_v03_demographics,,radio,"15. We who_dx_in_hh,patient_demographics_full_part_2_v03_demographics,,checkbox,"15a. If yes, indicate who (check all that apply):","1, myself | 2, a family member",,,,,,"[prev_covid19_dx] = '1'",,,,,, height_ft_part,patient_demographics_full_part_2_v03_demographics,,text,"16. How tall are you? (in ft and inches)",,feet,integer,4,7,,,,,,,, height_inches_part,patient_demographics_full_part_2_v03_demographics,,text,"
",,inches,integer,0,11,,,,,,,, -height_meters,patient_demographics_full_part_2_v03_demographics,,calc,"

Height in meters (calculated)

","(([height_ft_part]*12) + [height_inches_part])/39.37",,,,,,,,,,,," @HIDDEN-SURVEY" +height_meters,patient_demographics_full_part_2_v03_demographics,,calc,"

Height in meters (calculated)

","(([height_ft_part]*12) + [height_inches_part])/39.37",,,,,,,,,,,,@HIDDEN-SURVEY weight_lbs,patient_demographics_full_part_2_v03_demographics,,text,"17. How much do you weigh (in lbs)?",,"lbs (integer)",integer,75,350,,,,,,,, -weight_kg,patient_demographics_full_part_2_v03_demographics,,calc,"

Weight in kg

",[weight_lbs]/2.205,,,,,,,,,,,," @HIDDEN-SURVEY" -bmi_kg_m2,patient_demographics_full_part_2_v03_demographics,,calc,"

BMI (calculated)

","[weight_kg]/([height_meters] * [height_meters])",kg/(m2),,,,,,,,,,," @HIDDEN-SURVEY" +weight_kg,patient_demographics_full_part_2_v03_demographics,,calc,"

Weight in kg

",[weight_lbs]/2.205,,,,,,,,,,,,@HIDDEN-SURVEY +bmi_kg_m2,patient_demographics_full_part_2_v03_demographics,,calc,"

BMI (calculated)

","[weight_kg]/([height_meters] * [height_meters])",kg/(m2),,,,,,,,,,,@HIDDEN-SURVEY scq_dt_1,selfadministered_comorbidity_questionnaire_v4_scq,,descriptive,"Instructions: The following is a list of common health problems. Please indicate if you currently have the problem. @@ -862,12 +876,39 @@ scqother1,selfadministered_comorbidity_questionnaire_v4_scq,,radio,"19. Do you h scqother1name,selfadministered_comorbidity_questionnaire_v4_scq,,text,"

Problem:

",,,,,,,"[scqother1] = '1'",,,,,, scqother1treat,selfadministered_comorbidity_questionnaire_v4_scq,,radio,"

Do you receive treatment for it?

","0, No | 1, Yes",,,,,,"[scqother1] = '1'",,RH,,,, scqother2,selfadministered_comorbidity_questionnaire_v4_scq,,radio,"20. Do you have any other medical problems? ","0, No | 1, Yes",,,,,,"[scqother1] = '1'",,,,,, -scqother2name,selfadministered_comorbidity_questionnaire_v4_scq,,text,"

Problem:

",,,,,,,"[scqother2] = '1'",,,,,, +scqother2name,selfadministered_comorbidity_questionnaire_v4_scq,,text,"

Problem:

",,,,,,y,"[scqother2] = '1'",,,,,, scqother2treat,selfadministered_comorbidity_questionnaire_v4_scq,,radio,"

Do you receive treatment for it?

","0, No | 1, Yes",,,,,,"[scqother2] = '1'",,RH,,,, eor_funct_ability,expectation_items_v12,,radio,"1. How much functional ability do you expect to have after you recover from surgery?","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = expect no ability (maximum impairment) ----------------------------------- 10 = expect to be fully functional",,,,,,,LH,,,, eor_surg_relieve_pain,expectation_items_v12,,radio,"2. I expect that this surgery will relieve my pain.","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = expect no pain relief -------------------------------------------------------- 10 = expect full pain relief ",,,,,,,LH,,,, eor_surg_relieve_pain_2,expectation_items_v12,,radio,"3. I'm afraid of pain or other complications during and/or after surgery ","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = not at all afraid ------------------------------------------------------------- 10 = extremely afraid",,,,,,,LH,,,, -traj04wkenterdate,acute_phase_trajectory_items_v05_acute_daily,,text,"Date entered:",,,datetime_seconds_mdy,,,,,,,,,," @READONLY @HIDDEN-SURVEY @NOW-SERVER" +traj04wkenterdate,acute_phase_trajectory_items_v05_acute_daily,,text,"Date entered:",,,datetime_seconds_mdy,,,,,,,,,,"@READONLY @HIDDEN-SURVEY @NOW-SERVER" +traj04wkenterdate_dss,acute_phase_trajectory_items_v05_acute_daily,,calc,"

Acute Daily visit: days since surgery

","if(([event-name]=""day_3_postop_arm_1""), datediff([day_3_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_4_postop_arm_1""), datediff([day_4_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_5_postop_arm_1""), datediff([day_5_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_6_postop_arm_1""), datediff([day_6_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_7_postop_arm_1""), datediff([day_7_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_8_postop_arm_1""), datediff([day_8_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_9_postop_arm_1""), datediff([day_9_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_10_postop_arm_1""), datediff([day_10_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_11_postop_arm_1""), datediff([day_11_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_12_postop_arm_1""), datediff([day_12_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_13_postop_arm_1""), datediff([day_13_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_14_postop_arm_1""), datediff([day_14_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_15_postop_arm_1""), datediff([day_15_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_16_postop_arm_1""), datediff([day_16_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_17_postop_arm_1""), datediff([day_17_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_18_postop_arm_1""), datediff([day_18_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_19_postop_arm_1""), datediff([day_19_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_20_postop_arm_1""), datediff([day_20_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_21_postop_arm_1""), datediff([day_21_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_22_postop_arm_1""), datediff([day_22_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_23_postop_arm_1""), datediff([day_23_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_24_postop_arm_1""), datediff([day_24_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_25_postop_arm_1""), datediff([day_25_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_26_postop_arm_1""), datediff([day_26_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_27_postop_arm_1""), datediff([day_27_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +if(([event-name]=""day_28_postop_arm_1""), datediff([day_28_postop_arm_1][traj04wkenterdate],[informed_consent_arm_1][sp_surg_date],'d'), +''))))))))))))))))))))))))))",,,,,,,,,,,,@HIDDEN-SURVEY traj04worstpainscl,acute_phase_trajectory_items_v05_acute_daily,,radio,"

1. Please rate your knee pain by choosing the number that best describes your pain at its worst in the LAST 24 HOURS.

","0, 0 No pain | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 Pain as bad as you can imagine","0 = No pain ------------------------------------------------------------------ 10 Pain as bad as you can imagine",,,,,,,LH,,,, traj04avgpainscl,acute_phase_trajectory_items_v05_acute_daily,,radio,"

2. Please rate your knee pain by choosing the number that best describes your average pain in the LAST 24 HOURS.

","0, 0 No pain | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 Pain as bad as you can imagine","0 = No pain ------------------------------------------------------------------ 10 Pain as bad as you can imagine",,,,,,,LH,,,, traj04painintfactivscl,acute_phase_trajectory_items_v05_acute_daily,,radio,"

3. Please rate how much your knee pain has interfered with your general activities during the LAST 24 HOURS.

","0, 0 Did not interfere | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 Completely interfered","0 = Did not interfere ----------------------------------------------------------- 10 = Completely interfered",,,,,,,LH,,,, @@ -878,11 +919,12 @@ traj04angryscl,acute_phase_trajectory_items_v05_acute_daily,,radio,"7. During th traj04nervousscl,acute_phase_trajectory_items_v05_acute_daily,,radio,"8. During the past 24 hours, how nervous were you?","0, 0 Not at all | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 Extremely","0 = Not at all ------------------------------------------------------------------ 10 = Extremely",,,,,,,LH,,,, traj04medyn,acute_phase_trajectory_items_v05_acute_daily,,radio,"9. During the past 24 hours, did you take any kind of medication for your knee pain?","Y, Yes | N, No",,,,,,,,RH,,,, traj04_dt_2,acute_phase_trajectory_items_v05_acute_daily,,descriptive,"

9a. Please select which medications you took from the list below:

",,,,,,,"[traj04medyn] = 'Y'",,,,,, -traj04medlist1otc,acute_phase_trajectory_items_v05_acute_daily,,radio,"Over-the-counter pain relievers (e.g., acetaminophen Tylenol, Advil, Aleve, Motrin, Aspirin, etc.)","Y, Yes | N, No",,,,,,"[traj04medyn] = 'Y'",,RH,,,, +traj04medlisttylenol,acute_phase_trajectory_items_v05_acute_daily,,radio,"Acetaminophen (Tylenol)","Y, Yes | N, No",,,,,,"[traj04medyn] = 'Y'",,RH,,,,"20220928 Added this field AHACKMAN" +traj04medlist1otc,acute_phase_trajectory_items_v05_acute_daily,,radio,"Over-the-counter or prescription non‐steroidal pain relievers (examples Advil, Aleve, Motrin, Aspirin, Ibuprofen, Naproxen, Celecoxib, Meloxicam, etc.) ","Y, Yes | N, No",,,,,,"[traj04medyn] = 'Y'",,RH,,,, traj04medlist2opioid,acute_phase_trajectory_items_v05_acute_daily,,radio,"Opioid pain relievers (e.g., oxycodone, Percocet, Nucynta, tapendadol, hydrocodone, Vicodin, Norco, Dilaudid, morphine, tramadol, Ultram, etc.)","Y, Yes | N, No",,,,,,"[traj04medyn] = 'Y'",,RH,,,, traj04medlist3thc,acute_phase_trajectory_items_v05_acute_daily,,radio,"THC/CBD or marijuana products (edibles, gummies, CBD oil, weed, etc.)","Y, Yes | N, No",,,,,,"[traj04medyn] = 'Y'",,RH,,,, traj04medlist4gaba,acute_phase_trajectory_items_v05_acute_daily,,radio,"Gabapentin or pregabalin (Neurontin, Lyrica, etc)","Y, Yes | N, No",,,,,,"[traj04medyn] = 'Y'",,RH,,,, -traj04medlist5dulox,acute_phase_trajectory_items_v05_acute_daily,,radio,"Duloxetine (Cymbalta) or venlafaxine (Wellbutrin)","Y, Yes | N, No",,,,,,"[traj04medyn] = 'Y'",,RH,,,, +traj04medlist5dulox,acute_phase_trajectory_items_v05_acute_daily,,radio,"Duloxetine (Cymbalta) or venlafaxine (Effexor)","Y, Yes | N, No",,,,,,"[traj04medyn] = 'Y'",,RH,,,, traj04medlist6other,acute_phase_trajectory_items_v05_acute_daily,,radio,"Other, not specified above","Y, Yes | N, No",,,,,,"[traj04medyn] = 'Y'",,RH,,,, traj04medlist6othertxt,acute_phase_trajectory_items_v05_acute_daily,,text,"Please specify the other medication:",,,,,,,"[traj04medlist6other] = 'Y'",,RH,,,, traj6moworstkneepainscl,daily_items_6_mo_v03_6month_daily,,radio,"

1. Please rate your knee pain by choosing the number that best describes your pain at its worst in the LAST 24 HOURS.

","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No pain ------------------------------------------------------------------ 10 Pain as bad as you can imagine",,,,,,,LH,,,, @@ -892,11 +934,12 @@ traj6mosleepqualscl,daily_items_6_mo_v03_6month_daily,,radio,"4. Please rate the traj6mophysactscl,daily_items_6_mo_v03_6month_daily,,radio,"5. During the past 24 hours, how physically active were you?","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = Not at all ------------------------------------------------------------------ 10 = Extremely",,,,,,,LH,,,, traj6mopainmeduseyn,daily_items_6_mo_v03_6month_daily,,radio,"6. During the past 24 hours, did you take any kind of medication for your knee pain?","1, Yes | 0, No",,,,,,,,LH,,,, traj6mo_dt_1,daily_items_6_mo_v03_6month_daily,,descriptive,"

6a. If yes, please indicate which medications you took from the list below.

",,,,,,,"[traj6mopainmeduseyn] = '1'",,,,,, -traj6mootcuseyn,daily_items_6_mo_v03_6month_daily,,radio,"Over-the-counter pain relievers (e.g., acetaminophen Tylenol, Advil, Aleve, Motrin, Aspirin, etc.)","1, Yes | 0, No",,,,,,"[traj6mopainmeduseyn] = '1'",,RH,,,, +traj6motylenoluseyn,daily_items_6_mo_v03_6month_daily,,radio,"Acetaminophen (Tylenol)","1, Yes | 0, No",,,,,,"[traj6mopainmeduseyn] = '1'",,RH,,,,"20220928 Added this field AHACKMAN" +traj6mootcuseyn,daily_items_6_mo_v03_6month_daily,,radio,"Over-the-counter or prescription non‐steroidal pain relievers (examples Advil, Aleve, Motrin, Aspirin, Ibuprofen, Naproxen, Celecoxib, Meloxicam, etc.) ","1, Yes | 0, No",,,,,,"[traj6mopainmeduseyn] = '1'",,RH,,,, traj6moopiateuseyn,daily_items_6_mo_v03_6month_daily,,radio,"Opioid pain relievers (e.g., oxycodone, Percocet, Nucynta, tapendadol, hydrocodone, Vicodin, Norco, Dilaudid, morphine, tramadol, Ultram, etc.)","1, Yes | 0, No",,,,,,"[traj6mopainmeduseyn] = '1'",,RH,,,, traj6mocannabuseyn,daily_items_6_mo_v03_6month_daily,,radio,"THC/CBD or marijuana products (edibles, gummies, CBD oil, weed, etc.)","1, Yes | 0, No",,,,,,"[traj6mopainmeduseyn] = '1'",,RH,,,, traj6mogabapuseyn,daily_items_6_mo_v03_6month_daily,,radio,"Gabapentin or pregabalin (Neurontin, Lyrica, etc)","1, Yes | 0, No",,,,,,"[traj6mopainmeduseyn] = '1'",,RH,,,, -traj6moduloxuseyn,daily_items_6_mo_v03_6month_daily,,radio,"Duloxetine (Cymbalta) or venlafaxine (Wellbutrin)","1, Yes | 0, No",,,,,,"[traj6mopainmeduseyn] = '1'",,RH,,,, +traj6moduloxuseyn,daily_items_6_mo_v03_6month_daily,,radio,"Duloxetine (Cymbalta) or venlafaxine (Effexor)","1, Yes | 0, No",,,,,,"[traj6mopainmeduseyn] = '1'",,RH,,,, traj6mootheruseyn,daily_items_6_mo_v03_6month_daily,,radio,"Other, not specified above","1, Yes | 0, No",,,,,,"[traj6mopainmeduseyn] = '1'",,RH,,,, rfu12worstkneepainscl,month_remote_followup_v20_12month_followup,,radio,"

1. Please rate your knee pain by choosing the number that best describes your pain at its worst in the LAST 7 DAYS.

","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No pain ------------------------------------------------------------------ 10 Pain as bad as you can imagine",,,,,,,LH,,,, rfu12avgkneepainscl,month_remote_followup_v20_12month_followup,,radio,"

2. Please rate your knee pain by choosing the number that best describes your average pain in the LAST 7 DAYS.

","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = No pain ------------------------------------------------------------------ 10 Pain as bad as you can imagine",,,,,,,LH,,,, @@ -905,13 +948,15 @@ rfu12sleepqualscl,month_remote_followup_v20_12month_followup,,radio,"4. Please r rfu12physactscl,month_remote_followup_v20_12month_followup,,radio,"5. During the LAST 7 DAYS, how physically active were you?","0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10","0 = Not at all ------------------------------------------------------------------ 10 Extremely",,,,,,,LH,,,, rfu12medkneepainyn,month_remote_followup_v20_12month_followup,,radio,"6. During the past 24 hours, did you take any kind of medication for your knee pain?","1, Yes | 0, No",,,,,,,,LH,,,, rfu12_dt_1,month_remote_followup_v20_12month_followup,,descriptive,"

6a. If yes, please indicate which medications you took from the list below.

",,,,,,,"[rfu12medkneepainyn] = '1'",,,,,, -rfu12medkneeotc,month_remote_followup_v20_12month_followup,,radio,"Over-the-counter pain relievers (e.g., acetaminophen Tylenol, Advil, Aleve, Motrin, Aspirin, etc.)","1, Yes | 0, No",,,,,,"[rfu12medkneepainyn] = '1'",,RH,,,, +rfu12medkneetylenol,month_remote_followup_v20_12month_followup,,radio,"Acetaminophen (Tylenol)","1, Yes | 0, No",,,,,,"[rfu12medkneepainyn] = '1'",,RH,,,, +rfu12medkneeotc,month_remote_followup_v20_12month_followup,,radio,"Over-the-counter or prescription non‐steroidal pain relievers (examples Advil, Aleve, Motrin, Aspirin, Ibuprofen, Naproxen, Celecoxib, Meloxicam, etc.) ","1, Yes | 0, No",,,,,,"[rfu12medkneepainyn] = '1'",,RH,,,, rfu12medkneeopioid,month_remote_followup_v20_12month_followup,,radio,"Opioid pain relievers (e.g., oxycodone, Percocet, Nucynta, tapendadol, hydrocodone, Vicodin, Norco, Dilaudid, morphine, tramadol, Ultram, etc.)","1, Yes | 0, No",,,,,,"[rfu12medkneepainyn] = '1'",,RH,,,, rfu12medkneecannabid,month_remote_followup_v20_12month_followup,,radio,"THC/CBD or marijuana products (edibles, gummies, CBD oil, weed, etc.)","1, Yes | 0, No",,,,,,"[rfu12medkneepainyn] = '1'",,RH,,,, rfu12medkneegaba,month_remote_followup_v20_12month_followup,,radio,"Gabapentin or pregabalin (Neurontin, Lyrica, etc)","1, Yes | 0, No",,,,,,"[rfu12medkneepainyn] = '1'",,RH,,,, -rfu12medkneedulox,month_remote_followup_v20_12month_followup,,radio,"Duloxetine (Cymbalta) or venlafaxine (Wellbutrin)","1, Yes | 0, No",,,,,,"[rfu12medkneepainyn] = '1'",,RH,,,, +rfu12medkneedulox,month_remote_followup_v20_12month_followup,,radio,"Duloxetine (Cymbalta) or venlafaxine (Effexor)","1, Yes | 0, No",,,,,,"[rfu12medkneepainyn] = '1'",,RH,,,, rfu12medkneeother,month_remote_followup_v20_12month_followup,,radio,"Other, not specified above","1, Yes | 0, No",,,,,,"[rfu12medkneepainyn] = '1'",,RH,,,, rfu12medkneeothertxt,month_remote_followup_v20_12month_followup,,text,"

Specify other:

",,,,,,,"[rfu12medkneeother] = '1'",,RH,,,, +dt_reconsent_check,functional_testing,,descriptive,"
It appears that this participant still needs to be reconsented with the new June 30, 2022 consent related to the 3-Month Visit.
Please check in the Screening Project if they have been reconsented.
",,,,,,,"[informed_consent_arm_1][reconsent06302022]=""0""",,,,,,@HIDDEN-PDF ft_dt_1,functional_testing,,descriptive,"

10m Walk Test

",,,,,,,,,,,,, walk10initialpainscl,functional_testing,,dropdown,"Initial Pain Rating:","0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10","range: 0 - 10, allow 0.5 increments (x.x)",,,,,,,,,,, walk10initialpainscl1,functional_testing,,dropdown,"Initial Pain Rating: (double entry)","0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10","range: 0 - 10, allow 0.5 increments (x.x)",,,,,,,,,,, @@ -1041,11 +1086,13 @@ fmricuffcalfpressure,qst_mcc1_v03,,text,"Calf pressure, contralateral calf, Pres ",,(mmHg),number,,,,"[fmricuffcontrayn] = '0'",,,,,, fmricuffcalfpressure2,qst_mcc1_v03,,text,"Calf pressure, contralateral calf, Pressure 1: (double entry) ",,(mmHg),number,,,,"[fmricuffcontrayn] = '0'",,,,,, +dt_reconsent_check_3,current_medications_v02,,descriptive,"
It appears that this participant still needs to be reconsented with the new June 30, 2022 consent related to the 3-Month Visit.
Please check in the Screening Project if they have been reconsented.
",,,,,,,"[informed_consent_arm_1][reconsent06302022]=""0""",,,,,,@HIDDEN-PDF cmc_medsleepdepr,current_medications_v02,,radio,"1. In the last 24 hours, have you taken any medication to help you sleep, for depression or anxiety, or for a bipolar/schizoaffective disorder? Examples by category: Sleep meds - zolpidem, flurazepam, eszopiclone, temazepam, melatonin, trazadone; -Anxiety - lorazepam, alprazolam, diazepam;Depression -citalopram, escitalopram, fluoxetine, paroxetine, sertraline, fluvoxamine, duloxetine, venlafaxine, desvenlafaxine, amitriptyline, imipramine, desipramine; +Anxiety - lorazepam, alprazolam, diazepam; +Depression - citalopram, escitalopram, fluoxetine, paroxetine, sertraline, fluvoxamine, duloxetine, venlafaxine, desvenlafaxine, amitriptyline, imipramine, desipramine; Bipolar - lurasidone, lithium, divalproex, valproic acid, lithium, haloperidol, risperidone, olanzapine, aripiprazole, or ziprasidone.","1, Yes | 0, No | 3, Unknown",,,,,,,,RH,,,, cmc_medhtcd,current_medications_v02,,radio,"2. In the past 24 hours have you taken any medications for hypertension/cardiac disease? @@ -1060,7 +1107,11 @@ Neuro - levodopa, safinamide, pramipexole, ropinirole, amantadine, benztropine, ADHD - lisdexamfetamine, amphetamine, methylphenidate, dexmethylphenidate, atomoxetine.","1, Yes | 0, No | 3, Unknown",,,,,,,,RH,,,, cmc_medpainopioid,current_medications_v02,,radio,"5. In the past 24 hours have you taken any pain or opioid containing medications? -Examples: oxycodone, hydrocodone, morphine, hydromorphone, tramadol, fentanyl, pregabalin, gabapentin, NSAIDs, acetaminophen)","1, Yes | 0, No | 3, Unknown",,,,,,,,RH,,,, +Examples: oxycodone, hydrocodone, morphine, hydromorphone, tramadol, fentanyl","1, Yes | 0, No | 3, Unknown",,,,,,,,RH,,,, +cmc_medpainpregabdulo,current_medications_v02,,radio,"

6. In the past 24 hours have you taken any of the following pain medications?

  • 6a. Pregabalin, gabapentin, duloxetine
","1, Yes | 0, No | 3, Unknown",,,,,,,,RH,,,,"20220928 Added this field AHACKMAN" +cmc_medpainnsaids,current_medications_v02,,radio,"
  • 6b. NSAIDs (Ibuprofen (Advil, Motrin), naproxyn (Aleve), aspirin (>325 mg), Celecoxib, Meloxicam    
","1, Yes | 0, No | 3, Unknown",,,,,,,,RH,,,,"20220928 Added this field AHACKMAN" +cmc_medpaintylenol,current_medications_v02,,radio,"
  • 6c. Acetaminophen (Tylenol)
","1, Yes | 0, No | 3, Unknown",,,,,,,,RH,,,,"20220928 Added this field AHACKMAN" +dt_reconsent_check_2,blood_sample_collection_and_processing_crf,,descriptive,"
It appears that this participant still needs to be reconsented with the new June 30, 2022 consent related to the 3-Month Visit.
Please check in the Screening Project if they have been reconsented.
",,,,,,,"[informed_consent_arm_1][reconsent06302022]=""0""",,,,,,@HIDDEN-PDF bscp_hrs_since_water,blood_sample_collection_and_processing_crf,,text,"1. Number of hours since last drank anything except water:",,,integer,,,,,,,,,, bscp_hrs_since_food,blood_sample_collection_and_processing_crf,,text,"2. Number of hours since last food intake: ",,,integer,,,,,,,,,, bscp_caff_cups_amt,blood_sample_collection_and_processing_crf,,radio,"3. How would you describe the amount of caffeine you had in the last 24 hours: ","1, The usual amount | 2, Less than the usual amount | 3, More than the usual amount | 4, Not applicable",,,,,,,,,,,, @@ -1072,14 +1123,16 @@ bscp_phleb_by_init,blood_sample_collection_and_processing_crf,,text,"6b. Initial bscp_sample_obtained,blood_sample_collection_and_processing_crf,,checkbox,"7. Blood sample","1, Not obtained",,,,,,,,,,,, bscp_no_sample_reason,blood_sample_collection_and_processing_crf,,radio,"7.a. Reason not obtained","1, Unable to obtain blood (>2 sticks) | 2, Patient request to stop (pain, paresthesia) | 3, Patient condition (lightheaded, fainted) | 4, Hematoma after needle stick (bruising, ecchymosis) | 5, Other",,,,,,"[bscp_sample_obtained(1)] = '1'",,,,,, bscp_samplekit_brcd,blood_sample_collection_and_processing_crf,,text,"

Sample kit barcode

",,,,,,,,,,,,, -bscp_time_blood_draw,blood_sample_collection_and_processing_crf,,text,"Time completed blood draw: ",,,datetime_mdy,,,,,,,,,, +bscp_time_blood_draw,blood_sample_collection_and_processing_crf,,text,"Time completed blood draw: ",,,datetime_mdy,,,y,,,,,,, +bscp_time_blood_draw_dss,blood_sample_collection_and_processing_crf,,calc,"

Time completed blood draw: days since surgery

","datediff([bscp_time_blood_draw],[sp_surg_date],'d')",,,,,,,,,,,, bscp_dt1,blood_sample_collection_and_processing_crf,,descriptive,"

Sample Tubes

",,,,,,,,,,,,, bscp_lav1_not_obt,blood_sample_collection_and_processing_crf,,checkbox,"

Lavender #1:

","1, Not obtained",,,,,,,,,,,, bscp_lav1_brcd,blood_sample_collection_and_processing_crf,,text,"

Lavender #1 barcode

",,,,,,,,,,,,, bscp_paxg_not_obt,blood_sample_collection_and_processing_crf,,checkbox,"

PAXgene DNA tube:

","1, Not obtained",,,,,,,,,,,, bscp_paxg_brcd,blood_sample_collection_and_processing_crf,,text,"

PAXgene DNA tube barcode

",,,,,,,,,,,,, bscp_dt2,blood_sample_collection_and_processing_crf,,descriptive,"

Centrifuging

",,,,,,,,,,,,, -bscp_time_centrifuge,blood_sample_collection_and_processing_crf,,text,"Time completed centrifuging: ",,,datetime_mdy,,,,,,,,,, +bscp_time_centrifuge,blood_sample_collection_and_processing_crf,,text,"Time completed centrifuging: ",,,datetime_mdy,,,y,,,,,,, +bscp_time_centrifuge_dss,blood_sample_collection_and_processing_crf,,calc,"

Time completed centrifuging: days since surgery

","datediff([bscp_time_centrifuge],[sp_surg_date],'d')",,,,,,,,,,,, bscp_lav1_centrif_brcd,blood_sample_collection_and_processing_crf,,text,"

Lavender #1 barcode

",,,,,,,,,,,,, bscp_plugcap_centrif_brcd,blood_sample_collection_and_processing_crf,,text,"

Plug cap tube barcode

",,,,,,,,,,,,, bscp_deg_of_hemolysis,blood_sample_collection_and_processing_crf,,radio,"

Assess the degree of hemolysis of the plasma (Lavender tube) after centrifugation according to the laminated hemolysis color scale, and record the estimated hemoglobin value in g/L:

","0, 0 | .25, 0.25 | .5, 0.5 | 1, 1 | 2, 2 | 4, 4 | 8, 8",g/L,,,,,,y,LH,,,, @@ -1092,7 +1145,8 @@ bscp_aliq_cnt,blood_sample_collection_and_processing_crf,,dropdown,"

Time plasma aliquot tubes placed in freezer:days since surgery

","datediff([bscp_aliquot_freezer_time],[sp_surg_date],'d')",,,,,,,,,,,, bscp_dt_4,blood_sample_collection_and_processing_crf,,descriptive,"

Protocol Deviation

",,,,,,,,,,,,, bscp_protocol_dev,blood_sample_collection_and_processing_crf,,radio,"Did a protocol deviation occur:","1, Yes | 0, No",,,,,,,,,,,, bscp_protocol_dev_reason,blood_sample_collection_and_processing_crf,,radio,"Reason for protocol deviation:","1, Unable to obtain blood sample -technical reason | 2, Unable to obtain blood sample -patient related | 3, Sample handling/processing error",,,,,,,,,,,, @@ -1105,9 +1159,19 @@ img_hopeful,imaging_items_v11,,radio,"4. Currently, how hopeful are you?","0, No img_nervous,imaging_items_v11,,radio,"5. Currently, how nervous are you?","0, Not at all | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, Extremely",,,,,,,,,,img_mtrx_1,, img_happy,imaging_items_v11,,radio,"6. Currently, how happy are you?","0, Not at all | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, Extremely",,,,,,,,,,img_mtrx_1,, img_qual_sleep_24,imaging_items_v11,,radio,"7.Rate the overall QUALITY of your SLEEP in the past 24 hours.","0, Extremely poor | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, Extremely good",,,,,,,,,,img_mtrx_2,, -imgpainanatsiteareatxt,imaging_items_v11,,text,,,,,,,,,,,,,," @IMAGEMAP=MBODY2" +imgpainanatsiteareatxt,imaging_items_v11,,text,,,,,,,,,,,,,,@IMAGEMAP=MBODY2 fmricuff_initials,imaging_mcc1_v09,,text,"Investigator initials:",,,,,,,,,,,,, -fmripatientname,imaging_mcc1_v09,,text,"

Verify Patient Name (as entered into scanner console):

  • Patient name: first name: followed by a 5-digit REDCap patient ID followed by ; last name: A2CPS
  • Site code: ""NS"" for Northshore; ""UI"" for UIC; ""UC"" for U of Chicago; ""UM"" for U of Michigan
  • Visit code: “V1” for baseline visit; “V3” for 3-month visit
  • Example: NS10078V1 (first name) A2CPS (last name)
",,,,,,,,,RH,,,, +fmripatientname_gen,imaging_mcc1_v09,,text,"Generated image ID - Copied to fmripatientname field when that form is completed. +Added 6/6/2022",,,,,,,,,,,,,"@HIDDEN @CALCTEXT(concat( +if([record-dag-name]='rush_university_me' and [informed_consent_arm_1][sp_imaging_site] = '1',""UI"", +if([record-dag-name]='rush_university_me' and [informed_consent_arm_1][sp_imaging_site] = '2',""RU"", + if([record-dag-name]='northshore',""NS"", + if([record-dag-name]='uchicago',""UC"",""NoSite"")))),[record_id],if([event-name]= 'baseline_visit_arm_1',""V1"",if([event-name]= '3mo_postop_arm_1',""V3"",""NoEvent""))))" +fmripatientname,imaging_mcc1_v09,,text,"

Verify Patient Name (as entered into scanner console):

  • Site code:
    • ""NS"" - Northshore
    • ""RU"" - Rush
    • ""UI"" - UIC Rush
    • ""UC"" - U of Chicago
    • ""UM"" - U of Michigan
  • Patient name: 5-digit REDCap patient ID
  • Visit code:
    • ""V1"" for baseline visit
    • ""V3"" for 3-month visit

Example: NS10078V1

",,,,,,,,,RH,,,,"@CALCTEXT(concat( +if([record-dag-name]='rush_university_me' and [informed_consent_arm_1][sp_imaging_site] = '1',""UI"", +if([record-dag-name]='rush_university_me' and [informed_consent_arm_1][sp_imaging_site] = '2',""RU"", +if([record-dag-name]='northshore',""NS"",if([record-dag-name]='uchicago',""UC"",""NoSite"")))),[record_id],if([event-name]= 'baseline_visit_arm_1',""V1"",if([event-name]= '3mo_postop_arm_1',""V3"",""NoEvent""))))" +fmripatientname_scan,imaging_mcc1_v09,,text,"

Optional:

Patient Name as entered into scanner console if DIFFERENT than generated ID above:

",,,,,,,,,RH,,,, fmri_dt_0,imaging_mcc1_v09,,descriptive,"

Cuff pressure contraindicated: [fmricuffcontrayn]
(From QST MCC1 form)

",,,,,,,,,,,,, fmri_dt_1,imaging_mcc1_v09,,descriptive,"

Cuff Pressure to achieve 4/10 pain: [fmricuffcalfpressure] (mmHg)
(From QST MCC1 form)

",,,,,,,"[fmricuffcontrayn] = '0'",,,,,, fmricuffleg,imaging_mcc1_v09,,radio,"

Cuff applied to R/L leg:
(hint: MCC1: contralateral to surgical knee)

","1, Right | 2, Left",,,,,,"[fmricuffcontrayn] = '0'",,,,,, @@ -1163,15 +1227,16 @@ fmricuffrest1yn,imaging_mcc1_v09,,yesno,"

fMRI individualized pressure

",,,,,,,"[fmricuffcompletescl] = '2'",,RH,,,, fmricuffcpyn,imaging_mcc1_v09,,yesno,"

fMRI standard pressure

",,,,,,,"[fmricuffcompletescl] = '2'",,RH,,,, fmricuffrest2yn,imaging_mcc1_v09,,yesno,"

2nd Resting state

",,,,,,,"[fmricuffcompletescl] = '2'",,RH,,,, +fmri_face_mask,imaging_mcc1_v09,,radio,"Face mask worn during imaging:","1, Yes | 0, No | 2, Mixed / not full on - Please describe in Additional notes",,,,,,,,,,,,"20211105 Added this field AHACKMAN" fmricuffdicuploaded,imaging_mcc1_v09,,yesno,"Dicom files uploaded to TACC:",,,,,,,,,RH,,,, fmricuffdicupdate,imaging_mcc1_v09,,text,"Upload date/time",,,datetime_mdy,,,,"[fmricuffdicuploaded] = '1'",,RH,,,, fmricuffnotes,imaging_mcc1_v09,,notes,"Additional notes for imaging",,,,,,,,,LH,,,, svf_anyfeedback,study_visit_feedback_v03,,radio,"Do you have any feedback about today's visit, good or bad, that you wish to share with us?","0, No | 1, Yes",,,,,,,,LV,,,, dt_instr1,study_visit_feedback_v03,,descriptive,"Instructions: Check only the items mentioned, do not read each selection to the participant -Select response, other or comment ",,,,,,,"[svf_anyfeedback] = '1'",,,,,," @HIDDEN-SURVEY" +Select response, other or comment ",,,,,,,"[svf_anyfeedback] = '1'",,,,,,@HIDDEN-SURVEY dt_instr2,study_visit_feedback_v03,,descriptive,"Instructions: -Thank them and you are done",,,,,,,"[svf_anyfeedback] = '0'",,,,,," @HIDDEN-SURVEY" +Thank them and you are done",,,,,,,"[svf_anyfeedback] = '0'",,,,,,@HIDDEN-SURVEY svf_surveys,study_visit_feedback_v03,,checkbox,,"1, Surveys",,,,,,"[svf_anyfeedback] = '1'",,LV,,,, svf_surveys_fb,study_visit_feedback_v03,,radio,,"1, Too long | 3, Confusing / Not enough explanation | 4, Difficulties with electronic interface | 10, Other",,,,,,"[svf_surveys(1)] = '1'",,LV,,,, svf_surveys_other,study_visit_feedback_v03,,text,"Other, specify",,,,,,,"[svf_surveys_fb] = '10'",,LV,,,, @@ -1204,20 +1269,27 @@ svf_general,study_visit_feedback_v03,,checkbox,,"1, General / Other not included svf_general_fb,study_visit_feedback_v03,,radio,,"7, Logistics (finding where to go, parking) | 8, Visit too long overall | 9, Reimbursement concerns | 10, Other",,,,,,"[svf_general(1)] = '1'",,LV,,,, svf_general_other,study_visit_feedback_v03,,text,"Other, specify",,,,,,,"[svf_general_fb] = '10'",,LV,,,, svf_general_comments,study_visit_feedback_v03,,notes,Comments,,,,,,,"[svf_general(1)] = '1'",,LV,,,, +up_formname,form_uploads,"Use this form to upload forms/surveys that are completed on paper and have been manually entered by A2CPS staff. ",checkbox,"Select the form(s) that are included in your upload file:","3, Patient Demographics Baseline v0.3 (Demographics I) | 4, Other Pain Treatments v3 (Other Treatments) | 5, Other Medical Surgical Treatments II v0.5 | 6, Patient Global Impression of Change (PGIC) | 7, BPI-SF - The Brief Pain Inventory v2.3 - Short Form (BPI) | 8, Symptom Severity Index v1.0 (SSI) | 9, Pain Detect Questionnaire (PD-Q) | 10, Knee Injury Osteoarthritis Outcome Score (KOOS-12) | 11, PROMIS SF v1.2 - Physical Function 8b | 12, PROMIS SF v1.0 - Sleep Disturbance 6a (Sleep I) | 13, Pain-Sleep Duration (Sleep II) | 14, PROMIS SF v1.0 - Fatigue 7a | 15, Generalized Anxiety Disorder 7 Item (GAD7) Scale Score | 16, Patient Health Questionnaire Depression Scale (PHQ) Scored | 17, Pain Catastrophizing Questionnaire (PCS6) | 18, Fear-Avoidance Beliefs Questionnaire v0.3 (FABQ) | 19, Pain Resilience Scale (PRS) | 20, PROMIS SF v2.0 - Emotional Support 6a | 21, PROMIS SF v2.0 - Instrumental Support 6a | 22, Multidimensional Inventory of Subjective Cognitive Impairment v1.0 (MISCI) | 23, Adverse Childhood Experience Questionnaire (ACE) | 24, TAPS-1 | 25, TAPS-2 | 26, Opioid Use Baseline v1.0 (Opioid Use I) | 27, Opioid Use Acute Followup v1.0 (Opioid Use II) | 28, Opioid Use Longterm Followup v1.0 (Opioid Use III) | 29, Opioid Side Effects and Likeability v0.3 (Side Effects) | 30, Opioid and Pain Control Satisfaction v0.2 (Satisfaction) | 31, Current Opioid Misuse v0.2 (COMM) | 32, Rapid Assessment of Physical Activity v1.0 (RAPA) | 33, General Sensory Sensitivity v0.2 (GSS-8) | 34, The Big Five Inventory (BFI-2-S) | 35, Patient Demographics Full Part 2 v0.3 (Demographics II) | 36, Self-Administered Comorbidity Questionnaire v4 (SCQ) | 37, Expectation Items v1.2 | 38, Acute Phase Trajectory items v0.5 (Acute Daily) | 39, Daily items 6 mo v0.3 (6-Month Daily) | 40, 12-Month Remote Follow-up v2.0 (12-Month Follow-up) | 41, Functional Testing | 42, QST MCC1 v0.3 | 43, Current Medications v0.2 | 44, Blood Sample Collection and Processing v2.1 | 45, Imaging Items v1.1 | 46, Imaging MCC1 v1.2 | 47, Study Visit Feedback v0.3 | 50, Other, specify",,,,,,,,,,,, +up_formnametxt,form_uploads,,text,"Specify other form name: ",,,,,,,"[up_formname(50)]=""1""",,,,,, +up_form_file,form_uploads,,file,"Upload the file containing these forms: +[up_formname]",,,,,,,,,,,,, pe_dt_1,patient_encounters,,descriptive,"
    Staff Initials
Enter date and time of patient encounter: {pe_datetime} {pe_staff_init}
",,,,,,,,,,,,, pe_datetime,patient_encounters,,text,"Enter date and time of this patient encounter:",,,datetime_mdy,,,,,,,,,, pe_staff_init,patient_encounters,,text,"Staff member initials:",,,alpha_only,,,,,,,,,, pe_notes,patient_encounters,,notes,Notes:,,,,,,,,,LH,,,, -erep_local_dtime,reportable_eventdeviation_v03,,text,"Date of Report Entry (local time)",,,,,,,,,,,,," @NOW @READONLY" -erep_submit_user,reportable_eventdeviation_v03,,text,"Submitted by username:",,,,,,,,,,,,," @READONLY @USERNAME" -erep_ae_date,reportable_eventdeviation_v03,,text,"

Date of adverse event:

",,,date_mdy,,,,"[erep_ae_yn] = '1'",,,,,, +erep_local_dtime,reportable_eventdeviation_v03,,text,"Date of Report Entry (local time)",,,,,,,,,,,,,"@NOW @READONLY" +erep_submit_user,reportable_eventdeviation_v03,,text,"Submitted by username:",,,,,,,,,,,,,"@READONLY @USERNAME" erep_initials,reportable_eventdeviation_v03,,text,"Staff/Investigator initials:",,,,,,,,,,,,, erep_visit_inv,reportable_eventdeviation_v03,,radio,"Visit/encounter involved:","1, Informed Consent | 2, Baseline (pre-surgery) | 3, 6-weeks post-surgery | 4, 3-months post-surgery | 5, 6-months post surgery | 6, Other or N/A",,,,,,,,,,,, erep_dt_1,reportable_eventdeviation_v03,,descriptive,"

Is this event:

",,,,,,,,,,,,, -erep_unant_prob,reportable_eventdeviation_v03,,radio,"Unanticipated Problem?","1, Yes | 0, No",,,,,,,,,,,, +erep_unant_prob,reportable_eventdeviation_v03,,radio,"A Reportable Event?","1, Yes | 0, No",,,,,,,,,,,,"20220522 Changed wording from ""Unanticipated Problem"" to ""A Reportable Event"" (AHACKMAN)" erep_ae_yn,reportable_eventdeviation_v03,,radio,"

Is this an adverse event?

","1, Yes | 0, No",,,,,,"[erep_unant_prob] = '1'",,,,,, -erep_onset_date,reportable_eventdeviation_v03,,text,"Date of Adverse event onset:",,,datetime_mdy,,,,"[erep_ae_yn] = '1'",,,,,, -erep_resolution_date,reportable_eventdeviation_v03,,text,"Date of Adverse Event resolution:",,,datetime_mdy,,,,"[erep_ae_yn] = '1'",,,,,, +erep_ae_date,reportable_eventdeviation_v03,,text,"

Date of adverse event:

",,,date_mdy,,,y,"[erep_ae_yn] = '1'",,,,,, +erep_ae_dss,reportable_eventdeviation_v03,,calc,"

 

Date of adverse event: days since surgery

 

","datediff([erep_ae_date],[sp_surg_date],'d')",,,,,,,,,,,, +erep_onset_date,reportable_eventdeviation_v03,,text,"Date of Adverse event onset:",,,datetime_mdy,,,y,"[erep_ae_yn] = '1'",,,,,, +erep_onset_dss,reportable_eventdeviation_v03,,calc,"

Date of Adverse event onset: days since surgery

","datediff([erep_onset_date],[sp_surg_date],'d')",,,,,,"[erep_ae_yn] = '1'",,,,,, +erep_resolution_date,reportable_eventdeviation_v03,,text,"Date of Adverse Event resolution:",,,datetime_mdy,,,y,"[erep_ae_yn] = '1'",,,,,, +erep_resolution_dss,reportable_eventdeviation_v03,,calc,"

Date of Adverse Event resolution: days since surgery

","datediff([erep_resolution_date],[sp_surg_date],'d')",,,,,,,,,,,, erep_ae_severity,reportable_eventdeviation_v03,,radio,"Adverse Event Severity:","1, Mild (Events require minimal or no treatment and do not interfere with the participant's daily activities) | 2, Moderate (Events result in a low level of inconvenience or concern with the therapeutic measures. Moderate events may cause some interference with functioning.) | 3, Severe (Events interrupt a participant's usual daily activity and may require systemic drug therapy or other treatment. Severe events are usually potentially life-threatening or incapacitating. Of note, the term ""severe"" does not necessarily equate to ""serious"".)",,,,,,"[erep_ae_yn] = '1'",,,,,, erep_ae_relation,reportable_eventdeviation_v03,,radio,"Relationship to Adverse Event","1, Definitely related (AE is known to occur with the study procedure(s) or there is a temporal relationship between the study procedure(s) and event, that is confirmed by improvement after stopping the procedure (and cannot be explained by participants' clinical or health status). | 2, Possibly/Probably Related (AE that follows reasonable sequence from administration of study procedure(s),but could readily have been produced by other factors as well.) | 3, Not Related (There is not a reasonable possibility that the administration of the study procedure(s) caused the event, there is no temporal relationship between the study procedure(s) and event onset, or an alternate etiology has been established.)",,,,,,"[erep_unant_prob] = '1'",,,,,, erep_ae_serious,reportable_eventdeviation_v03,,radio,"

Is the event serious?:

","1, Yes | 0, No",,,,,,"[erep_ae_yn] = '1'",,,,,, @@ -1228,7 +1300,7 @@ erep_oe_desc,reportable_eventdeviation_v03,,notes,"

Type of deviation:

","1, Informed Consent | 2, Protocol Deviation-blood drawo | 3, Protocol Deviation-functional testing | 4, Protocol Deviation-QST | 5, Protocol Deviation-imaging | 6, Visit timeline (outside protocol range) | 7, Other",,,,,,"[erep_prot_dev] = '1'",,,,,, +erep_protdev_type,reportable_eventdeviation_v03,,radio,"

Type of deviation:

","1, Informed Consent | 2, Protocol Deviation-blood drawo | 3, Protocol Deviation-functional testing | 4, Protocol Deviation-QST | 5, Protocol Deviation-imaging | 6, Timeline (outside protocol range) | 7, Other",,,,,,"[erep_prot_dev] = '1'",,,,,, erep_protdev_desc,reportable_eventdeviation_v03,,notes,"

Description of deviation:

",,,,,,,"[erep_prot_dev] = '1'",,,,,, erep_protdev_caplan,reportable_eventdeviation_v03,,notes,"

Corrective Action Plan:

",,,,,,,"[erep_prot_dev] = '1'",,,,,, erep_rel_covid19,reportable_eventdeviation_v03," ",radio,"Is this event related to COVID-19?","1, Yes | 0, No",,,,,,,,,,,, @@ -1262,8 +1334,16 @@ erep_file_12,reportable_eventdeviation_v03,,file,"Document #12",,,,,,,,,,,,, erep_addinfo,reportable_eventdeviation_v03,,notes,"Additional information or comments: ",,,,,,,,,LV,,,, ewdateterm,early_withdrawal_v04,"Participant early withdrawal:",text,"1. Date of early termination:",,,date_mdy,,,,,y,,,,, ewprimaryreason,early_withdrawal_v04,,radio,"2. Primary reason for termination","1, Subject chose to discontinue the study | 2, Site PI chose to discontinue subject participation | 3, Subject is lost to follow-up, unable to locate | 4, Death",,,,,,,y,,,,, -ewdisreasons,early_withdrawal_v04,,checkbox,"3. Reason(s) participant chose to discontinue (may select more than one if needed):","1, Unwilling or unable to perform study-related activities. | 2, Study-related adverse event | 3, Inadequte compensation | 4, COVID-related | 5, Withdrew consent | 6, None given/other (add to notes)",,,,,,"[ewprimaryreason] = '1'",,,,,, +ewreqdataremoval,early_withdrawal_v04,,radio,"

2.A. Is the subject asking that their data be removed from the database (documentation required if Yes)?

","1, Yes | 0, No",,,,,,"[ewprimaryreason] = '1'",,,,,,"20220525 Added field (AHACKMAN)" +ewdocdataremovalfile,early_withdrawal_v04,,file,"

2.A.i. Upload documentation that subject asked to have their data removed

",,,,,,,"[ewreqdataremoval] = '1'",,,,,,"20220525 Added field (AHACKMAN)" +ewdocdataremovalnote,early_withdrawal_v04,,notes,"

2.A.ii. Enter any notes here to document that subject asked to have their data removed:

",,,,,,,"[ewreqdataremoval] = '1'",,,,,,"20220525 Added field (AHACKMAN)" +ewdisreasons,early_withdrawal_v04,,checkbox,"3. Reason(s) participant chose to discontinue (may select more than one if needed):","1, Unwilling or unable to perform study-related activities. | 2, Study-related adverse event | 3, Inadequte compensation | 4, COVID-related | 6, None given/other (add to notes)",,,,,,"[ewprimaryreason] = '1'",,,,,,"20220525 Removed ""5, Withdrew consent"" (AHACKMAN)" ewpireason,early_withdrawal_v04,,radio,"4. Reason PI chose to discontinue participation:","1, Subject did not have surgery. | 2, Second procedure scheduled. | 3, Subject unable to perform study-related activities | 4, Adverse event | 5, Other (add to notes)",,,,,,"[ewprimaryreason] = '2'",,,,,, ewstudypinit,early_withdrawal_v04,,text,"5. Initials of study personnel:",,,alpha_only,,,,,,,,,, ewcomments,early_withdrawal_v04,,notes,"6. Notes/Comments:",,,,,,,,,,,,, ew_dt_1,early_withdrawal_v04,,descriptive,"

Note: Completion of this form will STOP all email and text notifications from being sent to the participant.

",,,,,,,,,,,,, +dt_admin_note,visit_reset_archive,,descriptive,"

*** This Form Only for Use By REDCap Admins ***

",,,,,,,,,,,,, +reset_data_archive,visit_reset_archive,,file,"Exported data file of data prior to visit reset for this event: + +(Use the ""Baseline Data for Reset"" report to create the archive data file)",,,,,,,,,,,,, +reset_date,visit_reset_archive,,text,"Date of archive and event reset:",,,date_mdy,,,,,,,,,,@TODAY-SERVER diff --git a/src/vbr/tableclasses/__init__.py b/src/vbr/tableclasses/__init__.py index 80c1174..c436b74 100644 --- a/src/vbr/tableclasses/__init__.py +++ b/src/vbr/tableclasses/__init__.py @@ -14,6 +14,10 @@ RcapConsentedParticipantInformation, RcapPatientDemographicsBaselineV03DemographicsI, RcapPatientDemographicsFullPart2V03Demographics, + RcapImagingItemsV01, + RcapImagingItemsV11, + RcapImagingMcc1V09, + RcapImagingMcc2V01 ) except ImportError: from .redcap.autogenerated import * diff --git a/src/vbr/tableclasses/redcap/autogenerated/__init__.py b/src/vbr/tableclasses/redcap/autogenerated/__init__.py index 722cd7c..6b8d7e5 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/__init__.py +++ b/src/vbr/tableclasses/redcap/autogenerated/__init__.py @@ -2,107 +2,60 @@ """ from .consented_participant_information import RcapConsentedParticipantInformation from .postconsent_study_plan_crf_v06 import RcapPostconsentStudyPlanCrfV06 -from .patient_demographics_baseline_v03_demographics_i import ( - RcapPatientDemographicsBaselineV03DemographicsI, -) -from .other_pain_treatments_v3_other_treatments import ( - RcapOtherPainTreatmentsV3OtherTreatments, -) +from .patient_demographics_baseline_v03_demographics_i import RcapPatientDemographicsBaselineV03DemographicsI +from .other_pain_treatments_v3_other_treatments import RcapOtherPainTreatmentsV3OtherTreatments from .other_medical_surgical_treatments_ii import RcapOtherMedicalSurgicalTreatmentsIi -from .patient_global_impression_of_change_pgic import ( - RcapPatientGlobalImpressionOfChangePgic, -) -from .bpisf_the_brief_pain_inventory_v23_short_form_bpi import ( - RcapBpisfTheBriefPainInventoryV23ShortFormBpi, -) +from .patient_global_impression_of_change_pgic import RcapPatientGlobalImpressionOfChangePgic +from .bpisf_the_brief_pain_inventory_v23_short_form_bpi import RcapBpisfTheBriefPainInventoryV23ShortFormBpi from .symptom_severity_index_v10_ssi import RcapSymptomSeverityIndexV10Ssi from .pain_detect_questionnaire_pdq import RcapPainDetectQuestionnairePdq -from .knee_injury_osteoarthritis_outcome_score_koos12 import ( - RcapKneeInjuryOsteoarthritisOutcomeScoreKoos12, -) +from .danish_thoracic_surgery_questionnaire_v02 import RcapDanishThoracicSurgeryQuestionnaireV02 +from .deep_breathing_and_coughing_v02 import RcapDeepBreathingAndCoughingV02 from .promis_sf_v12_physical_function_8b import RcapPromisSfV12PhysicalFunction8B -from .promis_sf_v10_sleep_disturbance_6a_sleep_i import ( - RcapPromisSfV10SleepDisturbance6ASleepI, -) +from .promis_sf_v10_sleep_disturbance_6a_sleep_i import RcapPromisSfV10SleepDisturbance6ASleepI from .painsleep_duration_sleep_ii import RcapPainsleepDurationSleepIi from .promis_sf_v10_fatigue_7a import RcapPromisSfV10Fatigue7A -from .generalized_anxiety_disorder_7_item_gad7_scale_sco import ( - RcapGeneralizedAnxietyDisorder7ItemGad7ScaleSco, -) -from .patient_health_questionnaire_depression_scale_phq import ( - RcapPatientHealthQuestionnaireDepressionScalePhq, -) -from .pain_catastrophizing_questionnaire_pcs6 import ( - RcapPainCatastrophizingQuestionnairePcs6, -) -from .fearavoidance_beliefs_questionnaire_v03_fabq import ( - RcapFearavoidanceBeliefsQuestionnaireV03Fabq, -) +from .generalized_anxiety_disorder_7_item_gad7_scale_sco import RcapGeneralizedAnxietyDisorder7ItemGad7ScaleSco +from .patient_health_questionnaire_depression_scale_phq import RcapPatientHealthQuestionnaireDepressionScalePhq +from .pain_catastrophizing_questionnaire_pcs6 import RcapPainCatastrophizingQuestionnairePcs6 +from .fearavoidance_beliefs_questionnaire_v03_fabq import RcapFearavoidanceBeliefsQuestionnaireV03Fabq from .pain_resilience_scale_prs import RcapPainResilienceScalePrs from .promis_sf_v20_emotional_support_6a import RcapPromisSfV20EmotionalSupport6A -from .promis_sf_v20_informational_support_6a import ( - RcapPromisSfV20InformationalSupport6A, -) -from .multidimensional_inventory_of_subjective_cognitive import ( - RcapMultidimensionalInventoryOfSubjectiveCognitive, -) -from .adverse_childhood_experience_questionnaire_ace import ( - RcapAdverseChildhoodExperienceQuestionnaireAce, -) +from .promis_sf_v20_informational_support_6a import RcapPromisSfV20InformationalSupport6A +from .multidimensional_inventory_of_subjective_cognitive import RcapMultidimensionalInventoryOfSubjectiveCognitive +from .adverse_childhood_experience_questionnaire_ace import RcapAdverseChildhoodExperienceQuestionnaireAce from .taps1 import RcapTaps1 from .taps2 import RcapTaps2 from .opioid_use_baseline_v10_opioid_use_i import RcapOpioidUseBaselineV10OpioidUseI -from .opioid_use_acute_followup_v10_opioid_use_ii import ( - RcapOpioidUseAcuteFollowupV10OpioidUseIi, -) -from .opioid_use_longterm_followup_v10_opioid_use_iii import ( - RcapOpioidUseLongtermFollowupV10OpioidUseIii, -) -from .opioid_side_effects_and_likeability_v03_side_effec import ( - RcapOpioidSideEffectsAndLikeabilityV03SideEffec, -) -from .opioid_and_pain_control_satisfaction_v02_satisfact import ( - RcapOpioidAndPainControlSatisfactionV02Satisfact, -) +from .opioid_use_acute_followup_v10_opioid_use_ii import RcapOpioidUseAcuteFollowupV10OpioidUseIi +from .opioid_use_longterm_followup_v10_opioid_use_iii import RcapOpioidUseLongtermFollowupV10OpioidUseIii +from .opioid_side_effects_and_likeability_v03_side_effec import RcapOpioidSideEffectsAndLikeabilityV03SideEffec +from .opioid_and_pain_control_satisfaction_v02_satisfact import RcapOpioidAndPainControlSatisfactionV02Satisfact from .current_opioid_misuse_v02_comm import RcapCurrentOpioidMisuseV02Comm -from .rapid_assessment_of_physical_activity_v10_rapa import ( - RcapRapidAssessmentOfPhysicalActivityV10Rapa, -) +from .rapid_assessment_of_physical_activity_v10_rapa import RcapRapidAssessmentOfPhysicalActivityV10Rapa from .general_sensory_sensitivity_v02_gss8 import RcapGeneralSensorySensitivityV02Gss8 from .the_big_five_inventory_bfi2s import RcapTheBigFiveInventoryBfi2S -from .patient_demographics_full_part_2_v03_demographics import ( - RcapPatientDemographicsFullPart2V03Demographics, -) -from .selfadministered_comorbidity_questionnaire_v4_scq import ( - RcapSelfadministeredComorbidityQuestionnaireV4Scq, -) +from .patient_demographics_full_part_2_v03_demographics import RcapPatientDemographicsFullPart2V03Demographics +from .selfadministered_comorbidity_questionnaire_v4_scq import RcapSelfadministeredComorbidityQuestionnaireV4Scq from .expectation_items_v12 import RcapExpectationItemsV12 -from .acute_phase_trajectory_items_v05_acute_daily import ( - RcapAcutePhaseTrajectoryItemsV05AcuteDaily, -) -from .daily_items_6_mo_v03_6month_daily import RcapDailyItems6MoV036MonthDaily -from .month_remote_followup_v20_12month_followup import ( - RcapMonthRemoteFollowupV2012MonthFollowup, -) -from .functional_testing import RcapFunctionalTesting +from .acute_phase_trajectory_items_v05_acute_daily import RcapAcutePhaseTrajectoryItemsV05AcuteDaily +from .acute_phase_trajectory_items_v01_6month_daily import RcapAcutePhaseTrajectoryItemsV016MonthDaily +from .month_remote_followup_v20_12month_followup import RcapMonthRemoteFollowupV2012MonthFollowup +from .functional_testing_mcc2_v01 import RcapFunctionalTestingMcc2V01 from .qst_mcc1_v03 import RcapQstMcc1V03 from .current_medications_v02 import RcapCurrentMedicationsV02 -from .blood_sample_collection_and_processing_crf import ( - RcapBloodSampleCollectionAndProcessingCrf, -) -from .imaging_items_v11 import RcapImagingItemsV11 -from .imaging_mcc1_v09 import RcapImagingMcc1V09 +from .blood_sample_collection_and_processing_crf import RcapBloodSampleCollectionAndProcessingCrf +from .imaging_items_v01 import RcapImagingItemsV01 +from .imaging_mcc2_v01 import RcapImagingMcc2V01 +from .baseline_visit_reset import RcapBaselineVisitReset from .study_visit_feedback_v03 import RcapStudyVisitFeedbackV03 +from .form_uploads import RcapFormUploads from .patient_encounters import RcapPatientEncounters from .reportable_eventdeviation_v03 import RcapReportableEventdeviationV03 from .early_withdrawal_v04 import RcapEarlyWithdrawalV04 -from .danish_thoracic_surgery_questionnaire_v02 import ( - RcapDanishThoracicSurgeryQuestionnaireV02, -) -from .deep_breathing_and_coughing_v02 import RcapDeepBreathingAndCoughingV02 -from .acute_phase_trajectory_items_v01_6month_daily import ( - RcapAcutePhaseTrajectoryItemsV016MonthDaily, -) -from .functional_testing_mcc2_v01 import RcapFunctionalTestingMcc2V01 -from .imaging_items_v01 import RcapImagingItemsV01 -from .imaging_mcc2_v01 import RcapImagingMcc2V01 +from .knee_injury_osteoarthritis_outcome_score_koos12 import RcapKneeInjuryOsteoarthritisOutcomeScoreKoos12 +from .daily_items_6_mo_v03_6month_daily import RcapDailyItems6MoV036MonthDaily +from .functional_testing import RcapFunctionalTesting +from .imaging_items_v11 import RcapImagingItemsV11 +from .imaging_mcc1_v09 import RcapImagingMcc1V09 +from .visit_reset_archive import RcapVisitResetArchive \ No newline at end of file diff --git a/src/vbr/tableclasses/redcap/autogenerated/acute_phase_trajectory_items_v01_6month_daily.py b/src/vbr/tableclasses/redcap/autogenerated/acute_phase_trajectory_items_v01_6month_daily.py index 8d23bd8..8b7ec20 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/acute_phase_trajectory_items_v01_6month_daily.py +++ b/src/vbr/tableclasses/redcap/autogenerated/acute_phase_trajectory_items_v01_6month_daily.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.593350 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.909725 by redcap_classfiles.py """ from ....pgrest import * @@ -7,19 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapAcutePhaseTrajectoryItemsV016MonthDaily"] +__all__ = ['RcapAcutePhaseTrajectoryItemsV016MonthDaily'] class RcapAcutePhaseTrajectoryItemsV016MonthDaily(RcapTable): - """Acute Phase Trajectory Items V01 6Month Daily""" - - __redcap_form_name = "acute_phase_trajectory_items_v01_6month_daily" - acute_phase_trajectory_items_v01_6month_daily_id = ( - Constants.SERIAL_PRIMARY_KEY_COLUMN - ) + """Acute Phase Trajectory Items V01 6Month Daily + """ + __redcap_form_name = 'acute_phase_trajectory_items_v01_6month_daily' + acute_phase_trajectory_items_v01_6month_daily_id = Constants.SERIAL_PRIMARY_KEY_COLUMN acute_phase_trajectory_items_v01_6month_daily_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Date entered # Field Type: text # Choices: N/A @@ -48,11 +45,15 @@ class RcapAcutePhaseTrajectoryItemsV016MonthDaily(RcapTable): # Field Type: radio # Choices: Y, Yes | N, No traj24medyn = Column(Boolean, nullable=True, comments=None) - # 1. Over-the-counter pain relievers (e.g., acetaminophen Tylen... + # 1. Acetaminophen (Tylenol) + # Field Type: radio + # Choices: Y, Yes | N, No + traj24medlist1tylenol = Column(Boolean, nullable=True, comments=None) + # 2. Over-the-counter or prescription non‐steroidal pain reliev... # Field Type: radio # Choices: Y, Yes | N, No traj24medlist1otc = Column(Boolean, nullable=True, comments=None) - # 2. Opioid pain relievers (e.g., oxycodone, Percocet, Nucynta,... + # 3. Opioid pain relievers (e.g., oxycodone, Percocet, Nucynta,... # Field Type: radio # Choices: Y, Yes | N, No traj24medlist2opioid = Column(Boolean, nullable=True, comments=None) @@ -64,7 +65,7 @@ class RcapAcutePhaseTrajectoryItemsV016MonthDaily(RcapTable): # Field Type: radio # Choices: Y, Yes | N, No traj24medlist4gaba = Column(Boolean, nullable=True, comments=None) - # Duloxetine (Cymbalta) or venlafaxine (Wellbutrin) + # Duloxetine (Cymbalta) or venlafaxine (Effexor) # Field Type: radio # Choices: Y, Yes | N, No traj24medlist5dulox = Column(Boolean, nullable=True, comments=None) diff --git a/src/vbr/tableclasses/redcap/autogenerated/acute_phase_trajectory_items_v05_acute_daily.py b/src/vbr/tableclasses/redcap/autogenerated/acute_phase_trajectory_items_v05_acute_daily.py index 9ad2f63..40449be 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/acute_phase_trajectory_items_v05_acute_daily.py +++ b/src/vbr/tableclasses/redcap/autogenerated/acute_phase_trajectory_items_v05_acute_daily.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.538059 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.908211 by redcap_classfiles.py """ from ....pgrest import * @@ -7,32 +7,29 @@ from ..rcaptable import RcapTable -__all__ = ["RcapAcutePhaseTrajectoryItemsV05AcuteDaily"] +__all__ = ['RcapAcutePhaseTrajectoryItemsV05AcuteDaily'] class RcapAcutePhaseTrajectoryItemsV05AcuteDaily(RcapTable): - """Acute Phase Trajectory Items V05 Acute Daily""" - - __redcap_form_name = "acute_phase_trajectory_items_v05_acute_daily" - acute_phase_trajectory_items_v05_acute_daily_id = ( - Constants.SERIAL_PRIMARY_KEY_COLUMN - ) + """Acute Phase Trajectory Items V05 Acute Daily + """ + __redcap_form_name = 'acute_phase_trajectory_items_v05_acute_daily' + acute_phase_trajectory_items_v05_acute_daily_id = Constants.SERIAL_PRIMARY_KEY_COLUMN acute_phase_trajectory_items_v05_acute_daily_complete = Column( - Integer, ForeignKey("status.status_id") - ) - # Ignored multiline Field Name in Data Dictionary + Integer, ForeignKey('status.status_id')) + # Date entered # Field Type: text # Choices: N/A traj04wkenterdate = Column(String, nullable=True, comments=None) - # 1. Please rate your chest pain by choosing the number that be... + # 1. Please rate your knee pain by choosing the number that bes... # Field Type: radio # Choices: 0, 0 No pain | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 Pain as bad as you can imagine traj04worstpainscl = Column(Integer, nullable=True, comments=None) - # 2. Please rate your chest pain by choosing the number that be... + # 2. Please rate your knee pain by choosing the number that bes... # Field Type: radio # Choices: 0, 0 No pain | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 Pain as bad as you can imagine traj04avgpainscl = Column(Integer, nullable=True, comments=None) - # 3. Please rate how much your chest pain has interfered with y... + # 3. Please rate how much your knee pain has interfered with yo... # Field Type: radio # Choices: 0, 0 Did not interfere | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 Completely interfered traj04painintfactivscl = Column(Integer, nullable=True, comments=None) @@ -60,7 +57,11 @@ class RcapAcutePhaseTrajectoryItemsV05AcuteDaily(RcapTable): # Field Type: radio # Choices: Y, Yes | N, No traj04medyn = Column(Boolean, nullable=True, comments=None) - # Over-the-counter pain relievers (e.g., acetaminophen Tylenol,... + # Acetaminophen (Tylenol) + # Field Type: radio + # Choices: Y, Yes | N, No + traj04medlisttylenol = Column(Boolean, nullable=True, comments=None) + # Over-the-counter or prescription non‐steroidal pain relievers... # Field Type: radio # Choices: Y, Yes | N, No traj04medlist1otc = Column(Boolean, nullable=True, comments=None) @@ -76,7 +77,7 @@ class RcapAcutePhaseTrajectoryItemsV05AcuteDaily(RcapTable): # Field Type: radio # Choices: Y, Yes | N, No traj04medlist4gaba = Column(Boolean, nullable=True, comments=None) - # Duloxetine (Cymbalta) or venlafaxine (Wellbutrin) + # Duloxetine (Cymbalta) or venlafaxine (Effexor) # Field Type: radio # Choices: Y, Yes | N, No traj04medlist5dulox = Column(Boolean, nullable=True, comments=None) diff --git a/src/vbr/tableclasses/redcap/autogenerated/adverse_childhood_experience_questionnaire_ace.py b/src/vbr/tableclasses/redcap/autogenerated/adverse_childhood_experience_questionnaire_ace.py index 6aec0ba..892791c 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/adverse_childhood_experience_questionnaire_ace.py +++ b/src/vbr/tableclasses/redcap/autogenerated/adverse_childhood_experience_questionnaire_ace.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.480793 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.884436 by redcap_classfiles.py """ from ....pgrest import * @@ -7,19 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapAdverseChildhoodExperienceQuestionnaireAce"] +__all__ = ['RcapAdverseChildhoodExperienceQuestionnaireAce'] class RcapAdverseChildhoodExperienceQuestionnaireAce(RcapTable): - """Adverse Childhood Experience Questionnaire Ace""" - - __redcap_form_name = "adverse_childhood_experience_questionnaire_ace" - adverse_childhood_experience_questionnaire_ace_id = ( - Constants.SERIAL_PRIMARY_KEY_COLUMN - ) + """Adverse Childhood Experience Questionnaire Ace + """ + __redcap_form_name = 'adverse_childhood_experience_questionnaire_ace' + adverse_childhood_experience_questionnaire_ace_id = Constants.SERIAL_PRIMARY_KEY_COLUMN adverse_childhood_experience_questionnaire_ace_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Ignored multiline Field Name in Data Dictionary # Field Type: radio # Choices: 1, Yes | 0, No diff --git a/src/vbr/tableclasses/redcap/autogenerated/blood_sample_collection_and_processing_crf.py b/src/vbr/tableclasses/redcap/autogenerated/blood_sample_collection_and_processing_crf.py index fa2e4f0..c8e6136 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/blood_sample_collection_and_processing_crf.py +++ b/src/vbr/tableclasses/redcap/autogenerated/blood_sample_collection_and_processing_crf.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.565142 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.920804 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapBloodSampleCollectionAndProcessingCrf"] +__all__ = ['RcapBloodSampleCollectionAndProcessingCrf'] class RcapBloodSampleCollectionAndProcessingCrf(RcapTable): - """Blood Sample Collection And Processing Crf""" - - __redcap_form_name = "blood_sample_collection_and_processing_crf" + """Blood Sample Collection And Processing Crf + """ + __redcap_form_name = 'blood_sample_collection_and_processing_crf' blood_sample_collection_and_processing_crf_id = Constants.SERIAL_PRIMARY_KEY_COLUMN blood_sample_collection_and_processing_crf_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Number of hours since last drank anything except water # Field Type: text # Choices: N/A @@ -42,11 +41,11 @@ class RcapBloodSampleCollectionAndProcessingCrf(RcapTable): # Field Type: radio # Choices: 1, Yes | 0, No bscp_verify_pt = Column(Boolean, nullable=True, comments=None) - # 6a. Research assistant initials - # Field Type: text - # Choices: N/A - bscp_ra_initials = Column(String, nullable=True, comments=None) - # Initials of person or lab performing phlebotomy + # Site where blood sample collection performed + # Field Type: radio + # Choices: 1, U of Michigan | 2, Wayne State | 3, Spectrum Health + bscp_coll_site = Column(Integer, nullable=True, comments=None) + # 6b. Initials of person performing phlebotomy # Field Type: text # Choices: N/A bscp_phleb_by_init = Column(String, nullable=True, comments=None) @@ -54,7 +53,7 @@ class RcapBloodSampleCollectionAndProcessingCrf(RcapTable): # Field Type: checkbox # Choices: 1, Not obtained bscp_sample_obtained = Column(Boolean, nullable=True, comments=None) - # 7.a. Reason not obtained + # a. Reason not obtained # Field Type: radio # Choices: 1, Unable to obtain blood (>2 sticks) | 2, Patient request to stop (pain, paresthesia) | 3, Patient condition (lightheaded, fainted) | 4, Hematoma after needle stick (bruising, ecchymosis) | 5, Other bscp_no_sample_reason = Column(Integer, nullable=True, comments=None) @@ -130,7 +129,7 @@ class RcapBloodSampleCollectionAndProcessingCrf(RcapTable): # Field Type: text # Choices: N/A bscp_paxg_aliq_brcd = Column(String, nullable=True, comments=None) - # Time placed in freezer + # Time plasma aliquot tubes placed in freezer # Field Type: text # Choices: N/A bscp_aliquot_freezer_time = Column(String, nullable=True, comments=None) @@ -150,8 +149,7 @@ class RcapBloodSampleCollectionAndProcessingCrf(RcapTable): # Field Type: text # Choices: N/A bscp_procby_initials = Column(String, nullable=True, comments=None) - # Add this to the autogen script instead - redcap_repeat_instance = Column(Integer, nullable=True, comments=None) - redcap_repeat_instrument = Column(String, nullable=True, comments=None) - - + # 6a. Research assistant initials + # Field Type: text + # Choices: N/A + bscp_ra_initials = Column(String, nullable=True, comments=None) diff --git a/src/vbr/tableclasses/redcap/autogenerated/bpisf_the_brief_pain_inventory_v23_short_form_bpi.py b/src/vbr/tableclasses/redcap/autogenerated/bpisf_the_brief_pain_inventory_v23_short_form_bpi.py index 6b3a0c1..9a86de2 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/bpisf_the_brief_pain_inventory_v23_short_form_bpi.py +++ b/src/vbr/tableclasses/redcap/autogenerated/bpisf_the_brief_pain_inventory_v23_short_form_bpi.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.440435 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.859828 by redcap_classfiles.py """ from ....pgrest import * @@ -7,19 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapBpisfTheBriefPainInventoryV23ShortFormBpi"] +__all__ = ['RcapBpisfTheBriefPainInventoryV23ShortFormBpi'] class RcapBpisfTheBriefPainInventoryV23ShortFormBpi(RcapTable): - """Bpisf The Brief Pain Inventory V23 Short Form Bpi""" - - __redcap_form_name = "bpisf_the_brief_pain_inventory_v23_short_form_bpi" - bpisf_the_brief_pain_inventory_v23_short_form_bpi_id = ( - Constants.SERIAL_PRIMARY_KEY_COLUMN - ) + """Bpisf The Brief Pain Inventory V23 Short Form Bpi + """ + __redcap_form_name = 'bpisf_the_brief_pain_inventory_v23_short_form_bpi' + bpisf_the_brief_pain_inventory_v23_short_form_bpi_id = Constants.SERIAL_PRIMARY_KEY_COLUMN bpisf_the_brief_pain_inventory_v23_short_form_bpi_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Field Name was empty in Data Dictionary # Field Type: text # Choices: N/A @@ -96,7 +93,7 @@ class RcapBpisfTheBriefPainInventoryV23ShortFormBpi(RcapTable): # Field Type: radio # Choices: 1, less than 1 month | 2, 1 month or more, but less than 6 months | 3, 6 months or more, but less than 2 years | 4, 2 years or more bpi_mbm_z9_dur = Column(Integer, nullable=True, comments=None) - # Please rate your surgical site (chest) pain by choosing the n... + # Please rate your surgical site (knee) pain by choosing the nu... # Field Type: radio # Choices: 0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 bpiworstpainratingss = Column(Integer, nullable=True, comments=None) @@ -132,3 +129,7 @@ class RcapBpisfTheBriefPainInventoryV23ShortFormBpi(RcapTable): # Field Type: radio # Choices: 0, Does not interfere 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, Completely interferes 10 bpipainenjoymntintrfrscl = Column(Integer, nullable=True, comments=None) + # Field Name was empty in Data Dictionary + # Field Type: text + # Choices: N/A + bpipainanatsiteareatxt_sp = Column(String, nullable=True, comments=None) diff --git a/src/vbr/tableclasses/redcap/autogenerated/consented_participant_information.py b/src/vbr/tableclasses/redcap/autogenerated/consented_participant_information.py index ecaef91..c5b59de 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/consented_participant_information.py +++ b/src/vbr/tableclasses/redcap/autogenerated/consented_participant_information.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.422231 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.849861 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapConsentedParticipantInformation"] +__all__ = ['RcapConsentedParticipantInformation'] class RcapConsentedParticipantInformation(RcapTable): - """Consented Participant Information""" - - __redcap_form_name = "consented_participant_information" + """Consented Participant Information + """ + __redcap_form_name = 'consented_participant_information' consented_participant_information_id = Constants.SERIAL_PRIMARY_KEY_COLUMN consented_participant_information_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Record ID # Field Type: text # Choices: N/A @@ -26,6 +25,10 @@ class RcapConsentedParticipantInformation(RcapTable): # Field Type: text # Choices: N/A guid = Column(GUID, nullable=True, comments=None) + # NDA GUID + # Field Type: text + # Choices: N/A + nda_guid = Column(String, nullable=True, comments=None) # Screening ID # Field Type: text # Choices: N/A @@ -54,6 +57,14 @@ class RcapConsentedParticipantInformation(RcapTable): # Field Type: radio # Choices: 2, E-mail | 1, Text | 0, Mobile/Home contact_method = Column(Integer, nullable=True, comments=None) + # What language do you prefer to use for surveys?Spanish is onl... + # Field Type: radio + # Choices: en, English | es, Spanish + contact_language = Column(String, nullable=True, comments=None) + # Was this participant reconsented for the June 30, 2022 consen... + # Field Type: radio + # Choices: 1, yes - participant has been re-consented | 0, no - participant still needs re-consent + reconsent06302022 = Column(Boolean, nullable=True, comments=None) # August 2021 TACC Server Downtime Notification: Send downtime ... # Field Type: radio # Choices: 0, No | 1, Yes @@ -62,3 +73,11 @@ class RcapConsentedParticipantInformation(RcapTable): # Field Type: radio # Choices: 0, No | 1, Yes maintcomp202108 = Column(Boolean, nullable=True, comments=None) + # September 2021 TACC Server Downtime Notification: Send downti... + # Field Type: radio + # Choices: 0, No | 1, Yes + downtime202109 = Column(Boolean, nullable=True, comments=None) + # June 21 2022 TACC Server Downtime Notification: Send downtime... + # Field Type: radio + # Choices: 0, No | 1, Yes + downtime20220621 = Column(Boolean, nullable=True, comments=None) diff --git a/src/vbr/tableclasses/redcap/autogenerated/current_medications_v02.py b/src/vbr/tableclasses/redcap/autogenerated/current_medications_v02.py index 7abe6b2..78c3803 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/current_medications_v02.py +++ b/src/vbr/tableclasses/redcap/autogenerated/current_medications_v02.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.562467 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.919419 by redcap_classfiles.py """ from ....pgrest import * @@ -7,15 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapCurrentMedicationsV02"] +__all__ = ['RcapCurrentMedicationsV02'] class RcapCurrentMedicationsV02(RcapTable): - """Current Medications V02""" - - __redcap_form_name = "current_medications_v02" + """Current Medications V02 + """ + __redcap_form_name = 'current_medications_v02' current_medications_v02_id = Constants.SERIAL_PRIMARY_KEY_COLUMN - current_medications_v02_complete = Column(Integer, ForeignKey("status.status_id")) + current_medications_v02_complete = Column(Integer, + ForeignKey('status.status_id')) # Ignored multiline Field Name in Data Dictionary # Field Type: radio # Choices: 1, Yes | 0, No | 3, Unknown @@ -36,3 +37,15 @@ class RcapCurrentMedicationsV02(RcapTable): # Field Type: radio # Choices: 1, Yes | 0, No | 3, Unknown cmc_medpainopioid = Column(Integer, nullable=True, comments=None) + # 6. In the past 24 hours have you taken any of the following p... + # Field Type: radio + # Choices: 1, Yes | 0, No | 3, Unknown + cmc_medpainpregabdulo = Column(Integer, nullable=True, comments=None) + # 6b. NSAIDs (Ibuprofen (Advil, Motrin), naproxyn (Aleve), asp... + # Field Type: radio + # Choices: 1, Yes | 0, No | 3, Unknown + cmc_medpainnsaids = Column(Integer, nullable=True, comments=None) + # 6c. Acetaminophen (Tylenol) + # Field Type: radio + # Choices: 1, Yes | 0, No | 3, Unknown + cmc_medpaintylenol = Column(Integer, nullable=True, comments=None) diff --git a/src/vbr/tableclasses/redcap/autogenerated/current_opioid_misuse_v02_comm.py b/src/vbr/tableclasses/redcap/autogenerated/current_opioid_misuse_v02_comm.py index 854ab7a..77c10f7 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/current_opioid_misuse_v02_comm.py +++ b/src/vbr/tableclasses/redcap/autogenerated/current_opioid_misuse_v02_comm.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.509567 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.897908 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapCurrentOpioidMisuseV02Comm"] +__all__ = ['RcapCurrentOpioidMisuseV02Comm'] class RcapCurrentOpioidMisuseV02Comm(RcapTable): - """Current Opioid Misuse V02 Comm""" - - __redcap_form_name = "current_opioid_misuse_v02_comm" + """Current Opioid Misuse V02 Comm + """ + __redcap_form_name = 'current_opioid_misuse_v02_comm' current_opioid_misuse_v02_comm_id = Constants.SERIAL_PRIMARY_KEY_COLUMN current_opioid_misuse_v02_comm_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # 1. In the past 30 days, how often have you had to go to someo... # Field Type: radio # Choices: 0, Never | 1, Seldom | 2, Sometimes | 3, Often | 4, Very Often diff --git a/src/vbr/tableclasses/redcap/autogenerated/daily_items_6_mo_v03_6month_daily.py b/src/vbr/tableclasses/redcap/autogenerated/daily_items_6_mo_v03_6month_daily.py index 4129439..291ec41 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/daily_items_6_mo_v03_6month_daily.py +++ b/src/vbr/tableclasses/redcap/autogenerated/daily_items_6_mo_v03_6month_daily.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.541983 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.937422 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapDailyItems6MoV036MonthDaily"] +__all__ = ['RcapDailyItems6MoV036MonthDaily'] class RcapDailyItems6MoV036MonthDaily(RcapTable): - """Daily Items 6 Mo V03 6Month Daily""" - - __redcap_form_name = "daily_items_6_mo_v03_6month_daily" + """Daily Items 6 Mo V03 6Month Daily + """ + __redcap_form_name = 'daily_items_6_mo_v03_6month_daily' daily_items_6_mo_v03_6month_daily_id = Constants.SERIAL_PRIMARY_KEY_COLUMN daily_items_6_mo_v03_6month_daily_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # 1. Please rate your knee pain by choosing the number that bes... # Field Type: radio # Choices: 0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 @@ -42,7 +41,11 @@ class RcapDailyItems6MoV036MonthDaily(RcapTable): # Field Type: radio # Choices: 1, Yes | 0, No traj6mopainmeduseyn = Column(Boolean, nullable=True, comments=None) - # Over-the-counter pain relievers (e.g., acetaminophen Tylenol,... + # Acetaminophen (Tylenol) + # Field Type: radio + # Choices: 1, Yes | 0, No + traj6motylenoluseyn = Column(Boolean, nullable=True, comments=None) + # Over-the-counter or prescription non‐steroidal pain relievers... # Field Type: radio # Choices: 1, Yes | 0, No traj6mootcuseyn = Column(Boolean, nullable=True, comments=None) @@ -58,7 +61,7 @@ class RcapDailyItems6MoV036MonthDaily(RcapTable): # Field Type: radio # Choices: 1, Yes | 0, No traj6mogabapuseyn = Column(Boolean, nullable=True, comments=None) - # Duloxetine (Cymbalta) or venlafaxine (Wellbutrin) + # Duloxetine (Cymbalta) or venlafaxine (Effexor) # Field Type: radio # Choices: 1, Yes | 0, No traj6moduloxuseyn = Column(Boolean, nullable=True, comments=None) diff --git a/src/vbr/tableclasses/redcap/autogenerated/danish_thoracic_surgery_questionnaire_v02.py b/src/vbr/tableclasses/redcap/autogenerated/danish_thoracic_surgery_questionnaire_v02.py index 57846f2..49e86c7 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/danish_thoracic_surgery_questionnaire_v02.py +++ b/src/vbr/tableclasses/redcap/autogenerated/danish_thoracic_surgery_questionnaire_v02.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.587622 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.864331 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapDanishThoracicSurgeryQuestionnaireV02"] +__all__ = ['RcapDanishThoracicSurgeryQuestionnaireV02'] class RcapDanishThoracicSurgeryQuestionnaireV02(RcapTable): - """Danish Thoracic Surgery Questionnaire V02""" - - __redcap_form_name = "danish_thoracic_surgery_questionnaire_v02" + """Danish Thoracic Surgery Questionnaire V02 + """ + __redcap_form_name = 'danish_thoracic_surgery_questionnaire_v02' danish_thoracic_surgery_questionnaire_v02_id = Constants.SERIAL_PRIMARY_KEY_COLUMN danish_thoracic_surgery_questionnaire_v02_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Running # Field Type: radio # Choices: 96, I never do this activity | 4, I never do this activity due to pain | 3, Pain impairs me a lot | 2, Pain impairs me somewhat | 1, Pain impairs me a little | 0, Pain impairs me not at all diff --git a/src/vbr/tableclasses/redcap/autogenerated/deep_breathing_and_coughing_v02.py b/src/vbr/tableclasses/redcap/autogenerated/deep_breathing_and_coughing_v02.py index b7e8d6b..61646c4 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/deep_breathing_and_coughing_v02.py +++ b/src/vbr/tableclasses/redcap/autogenerated/deep_breathing_and_coughing_v02.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.590708 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.865841 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapDeepBreathingAndCoughingV02"] +__all__ = ['RcapDeepBreathingAndCoughingV02'] class RcapDeepBreathingAndCoughingV02(RcapTable): - """Deep Breathing And Coughing V02""" - - __redcap_form_name = "deep_breathing_and_coughing_v02" + """Deep Breathing And Coughing V02 + """ + __redcap_form_name = 'deep_breathing_and_coughing_v02' deep_breathing_and_coughing_v02_id = Constants.SERIAL_PRIMARY_KEY_COLUMN deep_breathing_and_coughing_v02_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Ignored multiline Field Name in Data Dictionary # Field Type: radio # Choices: 0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 diff --git a/src/vbr/tableclasses/redcap/autogenerated/early_withdrawal_v04.py b/src/vbr/tableclasses/redcap/autogenerated/early_withdrawal_v04.py index 4ef71aa..1194fde 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/early_withdrawal_v04.py +++ b/src/vbr/tableclasses/redcap/autogenerated/early_withdrawal_v04.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.584948 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.933957 by redcap_classfiles.py """ from ....pgrest import * @@ -7,15 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapEarlyWithdrawalV04"] +__all__ = ['RcapEarlyWithdrawalV04'] class RcapEarlyWithdrawalV04(RcapTable): - """Early Withdrawal V04""" - - __redcap_form_name = "early_withdrawal_v04" + """Early Withdrawal V04 + """ + __redcap_form_name = 'early_withdrawal_v04' early_withdrawal_v04_id = Constants.SERIAL_PRIMARY_KEY_COLUMN - early_withdrawal_v04_complete = Column(Integer, ForeignKey("status.status_id")) + early_withdrawal_v04_complete = Column(Integer, + ForeignKey('status.status_id')) # Date of early termination # Field Type: text # Choices: N/A @@ -24,9 +25,17 @@ class RcapEarlyWithdrawalV04(RcapTable): # Field Type: radio # Choices: 1, Subject chose to discontinue the study | 2, Site PI chose to discontinue subject participation | 3, Subject is lost to follow-up, unable to locate | 4, Death ewprimaryreason = Column(Integer, nullable=True, comments=None) + # 2.A. Is the subject asking that their data be removed from th... + # Field Type: radio + # Choices: 1, Yes | 0, No + ewreqdataremoval = Column(Boolean, nullable=True, comments=None) + # 2.A.ii. Enter any notes here to document that subject asked t... + # Field Type: notes + # Choices: N/A + ewdocdataremovalnote = Column(FreeText, nullable=True, comments=None) # Reason(s) participant chose to discontinue (may select more t... # Field Type: checkbox - # Choices: 1, Unwilling or unable to perform study-related activities. | 2, Study-related adverse event | 3, Inadequate compensation | 4, COVID-related | 5, Withdrew consent | 6, None given/other (add to notes) + # Choices: 1, Unwilling or unable to perform study-related activities. | 2, Study-related adverse event | 3, Inadequte compensation | 4, COVID-related | 6, None given/other (add to notes) ewdisreasons = Column(Integer, nullable=True, comments=None) # Reason PI chose to discontinue participation # Field Type: radio diff --git a/src/vbr/tableclasses/redcap/autogenerated/expectation_items_v12.py b/src/vbr/tableclasses/redcap/autogenerated/expectation_items_v12.py index 2484332..afec59c 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/expectation_items_v12.py +++ b/src/vbr/tableclasses/redcap/autogenerated/expectation_items_v12.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.534537 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.906873 by redcap_classfiles.py """ from ....pgrest import * @@ -7,20 +7,21 @@ from ..rcaptable import RcapTable -__all__ = ["RcapExpectationItemsV12"] +__all__ = ['RcapExpectationItemsV12'] class RcapExpectationItemsV12(RcapTable): - """Expectation Items V12""" - - __redcap_form_name = "expectation_items_v12" + """Expectation Items V12 + """ + __redcap_form_name = 'expectation_items_v12' expectation_items_v12_id = Constants.SERIAL_PRIMARY_KEY_COLUMN - expectation_items_v12_complete = Column(Integer, ForeignKey("status.status_id")) + expectation_items_v12_complete = Column(Integer, + ForeignKey('status.status_id')) # How much functional ability do you expect to have after you r... # Field Type: radio # Choices: 0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 eor_funct_ability = Column(Integer, nullable=True, comments=None) - # I expect that the pain related with this surgery will relieve... + # I expect that this surgery will relieve my pain. # Field Type: radio # Choices: 0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 eor_surg_relieve_pain = Column(Integer, nullable=True, comments=None) diff --git a/src/vbr/tableclasses/redcap/autogenerated/fearavoidance_beliefs_questionnaire_v03_fabq.py b/src/vbr/tableclasses/redcap/autogenerated/fearavoidance_beliefs_questionnaire_v03_fabq.py index ec4156b..8b693eb 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/fearavoidance_beliefs_questionnaire_v03_fabq.py +++ b/src/vbr/tableclasses/redcap/autogenerated/fearavoidance_beliefs_questionnaire_v03_fabq.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.467856 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.876871 by redcap_classfiles.py """ from ....pgrest import * @@ -7,24 +7,21 @@ from ..rcaptable import RcapTable -__all__ = ["RcapFearavoidanceBeliefsQuestionnaireV03Fabq"] +__all__ = ['RcapFearavoidanceBeliefsQuestionnaireV03Fabq'] class RcapFearavoidanceBeliefsQuestionnaireV03Fabq(RcapTable): - """Fearavoidance Beliefs Questionnaire V03 Fabq""" - - __redcap_form_name = "fearavoidance_beliefs_questionnaire_v03_fabq" - fearavoidance_beliefs_questionnaire_v03_fabq_id = ( - Constants.SERIAL_PRIMARY_KEY_COLUMN - ) + """Fearavoidance Beliefs Questionnaire V03 Fabq + """ + __redcap_form_name = 'fearavoidance_beliefs_questionnaire_v03_fabq' + fearavoidance_beliefs_questionnaire_v03_fabq_id = Constants.SERIAL_PRIMARY_KEY_COLUMN fearavoidance_beliefs_questionnaire_v03_fabq_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Physical activity makes my pain worse # Field Type: radio # Choices: 0, 0 - Completely disagree | 1, 1 | 2, 2 | 3, 3 - Unsure | 4, 4 | 5, 5 | 6, 6 - Completely agree fabqphysclactvtywrsscl = Column(Integer, nullable=True, comments=None) - # Physical activity might harm my chest + # Physical activity might harm my knee # Field Type: radio # Choices: 0, 0 - Completely disagree | 1, 1 | 2, 2 | 3, 3 - Unsure | 4, 4 | 5, 5 | 6, 6 - Completely agree fabqphysclactvtybckhrmscl = Column(Integer, nullable=True, comments=None) diff --git a/src/vbr/tableclasses/redcap/autogenerated/functional_testing.py b/src/vbr/tableclasses/redcap/autogenerated/functional_testing.py index c7062d0..c4445b4 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/functional_testing.py +++ b/src/vbr/tableclasses/redcap/autogenerated/functional_testing.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.548378 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.939114 by redcap_classfiles.py """ from ....pgrest import * @@ -7,15 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapFunctionalTesting"] +__all__ = ['RcapFunctionalTesting'] class RcapFunctionalTesting(RcapTable): - """Functional Testing""" - - __redcap_form_name = "functional_testing" + """Functional Testing + """ + __redcap_form_name = 'functional_testing' functional_testing_id = Constants.SERIAL_PRIMARY_KEY_COLUMN - functional_testing_complete = Column(Integer, ForeignKey("status.status_id")) + functional_testing_complete = Column(Integer, + ForeignKey('status.status_id')) # Initial Pain Rating # Field Type: dropdown # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 diff --git a/src/vbr/tableclasses/redcap/autogenerated/functional_testing_mcc2_v01.py b/src/vbr/tableclasses/redcap/autogenerated/functional_testing_mcc2_v01.py index 17b2f7d..46535cd 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/functional_testing_mcc2_v01.py +++ b/src/vbr/tableclasses/redcap/autogenerated/functional_testing_mcc2_v01.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.596125 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.912744 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapFunctionalTestingMcc2V01"] +__all__ = ['RcapFunctionalTestingMcc2V01'] class RcapFunctionalTestingMcc2V01(RcapTable): - """Functional Testing Mcc2 V01""" - - __redcap_form_name = "functional_testing_mcc2_v01" + """Functional Testing Mcc2 V01 + """ + __redcap_form_name = 'functional_testing_mcc2_v01' functional_testing_mcc2_v01_id = Constants.SERIAL_PRIMARY_KEY_COLUMN functional_testing_mcc2_v01_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # 1a. Initial Pain Rating # Field Type: dropdown # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 diff --git a/src/vbr/tableclasses/redcap/autogenerated/general_sensory_sensitivity_v02_gss8.py b/src/vbr/tableclasses/redcap/autogenerated/general_sensory_sensitivity_v02_gss8.py index 5a52d06..f50e15e 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/general_sensory_sensitivity_v02_gss8.py +++ b/src/vbr/tableclasses/redcap/autogenerated/general_sensory_sensitivity_v02_gss8.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.517927 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.900936 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapGeneralSensorySensitivityV02Gss8"] +__all__ = ['RcapGeneralSensorySensitivityV02Gss8'] class RcapGeneralSensorySensitivityV02Gss8(RcapTable): - """General Sensory Sensitivity V02 Gss8""" - - __redcap_form_name = "general_sensory_sensitivity_v02_gss8" + """General Sensory Sensitivity V02 Gss8 + """ + __redcap_form_name = 'general_sensory_sensitivity_v02_gss8' general_sensory_sensitivity_v02_gss8_id = Constants.SERIAL_PRIMARY_KEY_COLUMN general_sensory_sensitivity_v02_gss8_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Sensitivity to bright lights # Field Type: radio # Choices: 1, Yes | 0, No diff --git a/src/vbr/tableclasses/redcap/autogenerated/generalized_anxiety_disorder_7_item_gad7_scale_sco.py b/src/vbr/tableclasses/redcap/autogenerated/generalized_anxiety_disorder_7_item_gad7_scale_sco.py index bfbb2db..feca545 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/generalized_anxiety_disorder_7_item_gad7_scale_sco.py +++ b/src/vbr/tableclasses/redcap/autogenerated/generalized_anxiety_disorder_7_item_gad7_scale_sco.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.460497 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.872607 by redcap_classfiles.py """ from ....pgrest import * @@ -7,19 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapGeneralizedAnxietyDisorder7ItemGad7ScaleSco"] +__all__ = ['RcapGeneralizedAnxietyDisorder7ItemGad7ScaleSco'] class RcapGeneralizedAnxietyDisorder7ItemGad7ScaleSco(RcapTable): - """Generalized Anxiety Disorder 7 Item Gad7 Scale Sco""" - - __redcap_form_name = "generalized_anxiety_disorder_7_item_gad7_scale_sco" - generalized_anxiety_disorder_7_item_gad7_scale_sco_id = ( - Constants.SERIAL_PRIMARY_KEY_COLUMN - ) + """Generalized Anxiety Disorder 7 Item Gad7 Scale Sco + """ + __redcap_form_name = 'generalized_anxiety_disorder_7_item_gad7_scale_sco' + generalized_anxiety_disorder_7_item_gad7_scale_sco_id = Constants.SERIAL_PRIMARY_KEY_COLUMN generalized_anxiety_disorder_7_item_gad7_scale_sco_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Feeling nervous, anxious, or on edge # Field Type: radio # Choices: 0, Not at all | 1, Several days | 2, Over half the days | 3, Nearly every day diff --git a/src/vbr/tableclasses/redcap/autogenerated/imaging_items_v01.py b/src/vbr/tableclasses/redcap/autogenerated/imaging_items_v01.py index 39ef779..57adf07 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/imaging_items_v01.py +++ b/src/vbr/tableclasses/redcap/autogenerated/imaging_items_v01.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.599039 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.922355 by redcap_classfiles.py """ from ....pgrest import * @@ -7,15 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapImagingItemsV01"] +__all__ = ['RcapImagingItemsV01'] class RcapImagingItemsV01(RcapTable): - """Imaging Items V01""" - - __redcap_form_name = "imaging_items_v01" + """Imaging Items V01 + """ + __redcap_form_name = 'imaging_items_v01' imaging_items_v01_id = Constants.SERIAL_PRIMARY_KEY_COLUMN - imaging_items_v01_complete = Column(Integer, ForeignKey("status.status_id")) + imaging_items_v01_complete = Column(Integer, + ForeignKey('status.status_id')) # Currently, how sad are you? # Field Type: radio # Choices: 0, Not at all | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, Extremely diff --git a/src/vbr/tableclasses/redcap/autogenerated/imaging_items_v11.py b/src/vbr/tableclasses/redcap/autogenerated/imaging_items_v11.py index f7a061f..d60ef68 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/imaging_items_v11.py +++ b/src/vbr/tableclasses/redcap/autogenerated/imaging_items_v11.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.568263 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.940983 by redcap_classfiles.py """ from ....pgrest import * @@ -7,15 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapImagingItemsV11"] +__all__ = ['RcapImagingItemsV11'] class RcapImagingItemsV11(RcapTable): - """Imaging Items V11""" - - __redcap_form_name = "imaging_items_v11" + """Imaging Items V11 + """ + __redcap_form_name = 'imaging_items_v11' imaging_items_v11_id = Constants.SERIAL_PRIMARY_KEY_COLUMN - imaging_items_v11_complete = Column(Integer, ForeignKey("status.status_id")) + imaging_items_v11_complete = Column(Integer, + ForeignKey('status.status_id')) # Currently, how sad are you? # Field Type: radio # Choices: 0, Not at all | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, Extremely diff --git a/src/vbr/tableclasses/redcap/autogenerated/imaging_mcc1_v09.py b/src/vbr/tableclasses/redcap/autogenerated/imaging_mcc1_v09.py index 6db508e..c066e42 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/imaging_mcc1_v09.py +++ b/src/vbr/tableclasses/redcap/autogenerated/imaging_mcc1_v09.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.571003 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.942517 by redcap_classfiles.py """ from ....pgrest import * @@ -7,23 +7,31 @@ from ..rcaptable import RcapTable -__all__ = ["RcapImagingMcc1V09"] +__all__ = ['RcapImagingMcc1V09'] class RcapImagingMcc1V09(RcapTable): - """Imaging Mcc1 V09""" - - __redcap_form_name = "imaging_mcc1_v09" + """Imaging Mcc1 V09 + """ + __redcap_form_name = 'imaging_mcc1_v09' imaging_mcc1_v09_id = Constants.SERIAL_PRIMARY_KEY_COLUMN - imaging_mcc1_v09_complete = Column(Integer, ForeignKey("status.status_id")) + imaging_mcc1_v09_complete = Column(Integer, ForeignKey('status.status_id')) # Investigator initials # Field Type: text # Choices: N/A fmricuff_initials = Column(String, nullable=True, comments=None) - # Verify Patient Name (as entered into scanner console): Patie... + # Ignored multiline Field Name in Data Dictionary + # Field Type: text + # Choices: N/A + fmripatientname_gen = Column(String, nullable=True, comments=None) + # Verify Patient Name (as entered into scanner console): Site ... # Field Type: text # Choices: N/A fmripatientname = Column(String, nullable=True, comments=None) + # Optional: Patient Name as entered into scanner console if DI... + # Field Type: text + # Choices: N/A + fmripatientname_scan = Column(String, nullable=True, comments=None) # Cuff applied to R/L leg:(hint: MCC1: contralateral to surgica... # Field Type: radio # Choices: 1, Right | 2, Left @@ -71,27 +79,39 @@ class RcapImagingMcc1V09(RcapTable): # Surgical site pain # Field Type: dropdown # Choices: 0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0 - fmricuffcurrpainaftfirstscanss = Column(Numeric, nullable=True, comments=None) + fmricuffcurrpainaftfirstscanss = Column(Numeric, + nullable=True, + comments=None) # Surgical site pain (double entry) # Field Type: dropdown # Choices: 0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0 - fmricuffcurrpainaftfirstscanss2 = Column(Numeric, nullable=True, comments=None) + fmricuffcurrpainaftfirstscanss2 = Column(Numeric, + nullable=True, + comments=None) # Body pain # Field Type: dropdown # Choices: 0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0 - fmricuffcurrpainaftfirstscanovrall = Column(Numeric, nullable=True, comments=None) + fmricuffcurrpainaftfirstscanovrall = Column(Numeric, + nullable=True, + comments=None) # Body pain (double entry) # Field Type: dropdown # Choices: 0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0 - fmricuffcurrpainaftfirstscanovrall2 = Column(Numeric, nullable=True, comments=None) + fmricuffcurrpainaftfirstscanovrall2 = Column(Numeric, + nullable=True, + comments=None) # Cuff pain # Field Type: dropdown # Choices: 0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0 - fmricuffcurrpainaftfirstscancp = Column(Numeric, nullable=True, comments=None) + fmricuffcurrpainaftfirstscancp = Column(Numeric, + nullable=True, + comments=None) # Cuff pain (double entry) # Field Type: dropdown # Choices: 0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0 - fmricuffcurrpainaftfirstscancp2 = Column(Numeric, nullable=True, comments=None) + fmricuffcurrpainaftfirstscancp2 = Column(Numeric, + nullable=True, + comments=None) # cuff pain (beginning) # Field Type: dropdown # Choices: 0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0 @@ -208,6 +228,10 @@ class RcapImagingMcc1V09(RcapTable): # Field Type: yesno # Choices: N/A fmricuffrest2yn = Column(Boolean, nullable=True, comments=None) + # Face mask worn during imaging + # Field Type: radio + # Choices: 1, Yes | 0, No | 2, Mixed / not full on - Please describe in Additional notes + fmri_face_mask = Column(Integer, nullable=True, comments=None) # Dicom files uploaded to TACC # Field Type: yesno # Choices: N/A diff --git a/src/vbr/tableclasses/redcap/autogenerated/imaging_mcc2_v01.py b/src/vbr/tableclasses/redcap/autogenerated/imaging_mcc2_v01.py index 5706bce..3970332 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/imaging_mcc2_v01.py +++ b/src/vbr/tableclasses/redcap/autogenerated/imaging_mcc2_v01.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.601776 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.923758 by redcap_classfiles.py """ from ....pgrest import * @@ -7,23 +7,31 @@ from ..rcaptable import RcapTable -__all__ = ["RcapImagingMcc2V01"] +__all__ = ['RcapImagingMcc2V01'] class RcapImagingMcc2V01(RcapTable): - """Imaging Mcc2 V01""" - - __redcap_form_name = "imaging_mcc2_v01" + """Imaging Mcc2 V01 + """ + __redcap_form_name = 'imaging_mcc2_v01' imaging_mcc2_v01_id = Constants.SERIAL_PRIMARY_KEY_COLUMN - imaging_mcc2_v01_complete = Column(Integer, ForeignKey("status.status_id")) + imaging_mcc2_v01_complete = Column(Integer, ForeignKey('status.status_id')) # Investigator initials # Field Type: text # Choices: N/A fmricuff_initials = Column(String, nullable=True, comments=None) - # Verify Patient Name (as entered into scanner console): Patie... + # Ignored multiline Field Name in Data Dictionary + # Field Type: text + # Choices: N/A + fmripatientname_gen = Column(String, nullable=True, comments=None) + # Verify Patient Name (as entered into scanner console): Site ... # Field Type: text # Choices: N/A fmripatientname = Column(String, nullable=True, comments=None) + # Optional: Patient Name as entered into scanner console if DIF... + # Field Type: text + # Choices: N/A + fmripatientname_scan = Column(String, nullable=True, comments=None) # fMRI Magnet Name # Field Type: radio # Choices: 1, Explorer MRI (BIRB) | 2, Discovery MRI (Modular Unit) @@ -75,27 +83,39 @@ class RcapImagingMcc2V01(RcapTable): # Surgical site # Field Type: dropdown # Choices: 0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0 - fmricuffcurrpainaftfirstscanss = Column(Numeric, nullable=True, comments=None) + fmricuffcurrpainaftfirstscanss = Column(Numeric, + nullable=True, + comments=None) # Surgical site (double entry) # Field Type: dropdown # Choices: 0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0 - fmricuffcurrpainaftfirstscanss2 = Column(Numeric, nullable=True, comments=None) + fmricuffcurrpainaftfirstscanss2 = Column(Numeric, + nullable=True, + comments=None) # Body pain # Field Type: dropdown # Choices: 0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0 - fmricuffcurrpainaftfirstscanovrall = Column(Numeric, nullable=True, comments=None) + fmricuffcurrpainaftfirstscanovrall = Column(Numeric, + nullable=True, + comments=None) # Body pain (double entry) # Field Type: dropdown # Choices: 0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0 - fmricuffcurrpainaftfirstscanovrall2 = Column(Numeric, nullable=True, comments=None) + fmricuffcurrpainaftfirstscanovrall2 = Column(Numeric, + nullable=True, + comments=None) # Cuff pain # Field Type: dropdown # Choices: 0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0 - fmricuffcurrpainaftfirstscancuff = Column(Numeric, nullable=True, comments=None) + fmricuffcurrpainaftfirstscancuff = Column(Numeric, + nullable=True, + comments=None) # Cuff (double entry) # Field Type: dropdown # Choices: 0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0 - fmricuffcurrpainaftfirstscancuff2 = Column(Numeric, nullable=True, comments=None) + fmricuffcurrpainaftfirstscancuff2 = Column(Numeric, + nullable=True, + comments=None) # cuff pain beginning # Field Type: dropdown # Choices: 0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0 @@ -212,6 +232,10 @@ class RcapImagingMcc2V01(RcapTable): # Field Type: yesno # Choices: N/A fmricuffrest2yn = Column(Boolean, nullable=True, comments=None) + # Face mask worn during imaging + # Field Type: radio + # Choices: 1, Yes | 0, No | 2, Mixed / not fully on - please describe in additional notes + fmri_face_mask = Column(Integer, nullable=True, comments=None) # Dicom files uploaded to TACC # Field Type: yesno # Choices: N/A diff --git a/src/vbr/tableclasses/redcap/autogenerated/knee_injury_osteoarthritis_outcome_score_koos12.py b/src/vbr/tableclasses/redcap/autogenerated/knee_injury_osteoarthritis_outcome_score_koos12.py index 16d1061..4dca5e9 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/knee_injury_osteoarthritis_outcome_score_koos12.py +++ b/src/vbr/tableclasses/redcap/autogenerated/knee_injury_osteoarthritis_outcome_score_koos12.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.448051 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.935570 by redcap_classfiles.py """ from ....pgrest import * @@ -7,19 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapKneeInjuryOsteoarthritisOutcomeScoreKoos12"] +__all__ = ['RcapKneeInjuryOsteoarthritisOutcomeScoreKoos12'] class RcapKneeInjuryOsteoarthritisOutcomeScoreKoos12(RcapTable): - """Knee Injury Osteoarthritis Outcome Score Koos12""" - - __redcap_form_name = "knee_injury_osteoarthritis_outcome_score_koos12" - knee_injury_osteoarthritis_outcome_score_koos12_id = ( - Constants.SERIAL_PRIMARY_KEY_COLUMN - ) + """Knee Injury Osteoarthritis Outcome Score Koos12 + """ + __redcap_form_name = 'knee_injury_osteoarthritis_outcome_score_koos12' + knee_injury_osteoarthritis_outcome_score_koos12_id = Constants.SERIAL_PRIMARY_KEY_COLUMN knee_injury_osteoarthritis_outcome_score_koos12_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # How often do you experience knee pain? # Field Type: radio # Choices: 0, Never | 1, Monthly | 2, Weekly | 3, Daily | 4, Always diff --git a/src/vbr/tableclasses/redcap/autogenerated/month_remote_followup_v20_12month_followup.py b/src/vbr/tableclasses/redcap/autogenerated/month_remote_followup_v20_12month_followup.py index 6bafe68..78ebf1e 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/month_remote_followup_v20_12month_followup.py +++ b/src/vbr/tableclasses/redcap/autogenerated/month_remote_followup_v20_12month_followup.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.544895 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.911182 by redcap_classfiles.py """ from ....pgrest import * @@ -7,29 +7,28 @@ from ..rcaptable import RcapTable -__all__ = ["RcapMonthRemoteFollowupV2012MonthFollowup"] +__all__ = ['RcapMonthRemoteFollowupV2012MonthFollowup'] class RcapMonthRemoteFollowupV2012MonthFollowup(RcapTable): - """Month Remote Followup V20 12Month Followup""" - - __redcap_form_name = "month_remote_followup_v20_12month_followup" + """Month Remote Followup V20 12Month Followup + """ + __redcap_form_name = 'month_remote_followup_v20_12month_followup' month_remote_followup_v20_12month_followup_id = Constants.SERIAL_PRIMARY_KEY_COLUMN month_remote_followup_v20_12month_followup_complete = Column( - Integer, ForeignKey("status.status_id") - ) - # 1. Please rate your knee pain by choosing the number that bes... + Integer, ForeignKey('status.status_id')) + # 1. Please rate your chest pain by choosing the number that be... # Field Type: radio # Choices: 0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 - rfu12worstkneepainscl = Column(Integer, nullable=True, comments=None) - # 2. Please rate your knee pain by choosing the number that bes... + rfu12worstchestpainscl = Column(Integer, nullable=True, comments=None) + # 2. Please rate your chest pain by choosing the number that be... # Field Type: radio # Choices: 0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 - rfu12avgkneepainscl = Column(Integer, nullable=True, comments=None) - # 3. Please rate how much your knee pain has interfered with yo... + rfu12avgchestpainscl = Column(Integer, nullable=True, comments=None) + # 3. Please rate how much your chest pain has interfered with y... # Field Type: radio # Choices: 0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 - rfu12kneepaininterscl = Column(Integer, nullable=True, comments=None) + rfu12chestpaininterscl = Column(Integer, nullable=True, comments=None) # Please rate the overall QUALITY of your SLEEP in the LAST 7 D... # Field Type: radio # Choices: 0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 @@ -41,76 +40,84 @@ class RcapMonthRemoteFollowupV2012MonthFollowup(RcapTable): # During the past 24 hours, did you take any kind of medication... # Field Type: radio # Choices: 1, Yes | 0, No - rfu12medkneepainyn = Column(Boolean, nullable=True, comments=None) - # Over-the-counter pain relievers (e.g., acetaminophen Tylenol,... + rfu12medchestpainyn = Column(Boolean, nullable=True, comments=None) + # Acetaminophen (Tylenol) # Field Type: radio # Choices: 1, Yes | 0, No - rfu12medkneeotc = Column(Boolean, nullable=True, comments=None) + rfu12medchesttylenol = Column(Boolean, nullable=True, comments=None) + # Over-the-counter or prescription non‐steroidal pain relievers... + # Field Type: radio + # Choices: 1, Yes | 0, No + rfu12medchestotc = Column(Boolean, nullable=True, comments=None) # Opioid pain relievers (e.g., oxycodone, Percocet, Nucynta, ta... # Field Type: radio # Choices: 1, Yes | 0, No - rfu12medkneeopioid = Column(Boolean, nullable=True, comments=None) + rfu12medchestopioid = Column(Boolean, nullable=True, comments=None) # THC/CBD or marijuana products (edibles, gummies, CBD oil, wee... # Field Type: radio # Choices: 1, Yes | 0, No - rfu12medkneecannabid = Column(Boolean, nullable=True, comments=None) + rfu12medchestcannabid = Column(Boolean, nullable=True, comments=None) # Gabapentin or pregabalin (Neurontin, Lyrica, etc) # Field Type: radio # Choices: 1, Yes | 0, No - rfu12medkneegaba = Column(Boolean, nullable=True, comments=None) - # Duloxetine (Cymbalta) or venlafaxine (Wellbutrin) + rfu12medchestgaba = Column(Boolean, nullable=True, comments=None) + # Duloxetine (Cymbalta) or venlafaxine (Effexor) # Field Type: radio # Choices: 1, Yes | 0, No - rfu12medkneedulox = Column(Boolean, nullable=True, comments=None) + rfu12medchestdulox = Column(Boolean, nullable=True, comments=None) # Other, not specified above # Field Type: radio # Choices: 1, Yes | 0, No - rfu12medkneeother = Column(Boolean, nullable=True, comments=None) + rfu12medchestother = Column(Boolean, nullable=True, comments=None) # Specify other # Field Type: text # Choices: N/A - rfu12medkneeothertxt = Column(String, nullable=True, comments=None) - # 1. Please rate your chest pain by choosing the number that be... + rfu12medchestothertxt = Column(String, nullable=True, comments=None) + # 1. Please rate your knee pain by choosing the number that bes... # Field Type: radio # Choices: 0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 - rfu12worstchestpainscl = Column(Integer, nullable=True, comments=None) - # 2. Please rate your chest pain by choosing the number that be... + rfu12worstkneepainscl = Column(Integer, nullable=True, comments=None) + # 2. Please rate your knee pain by choosing the number that bes... # Field Type: radio # Choices: 0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 - rfu12avgchestpainscl = Column(Integer, nullable=True, comments=None) - # 3. Please rate how much your chest pain has interfered with y... + rfu12avgkneepainscl = Column(Integer, nullable=True, comments=None) + # 3. Please rate how much your knee pain has interfered with yo... # Field Type: radio # Choices: 0, 0 | 1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5 | 6, 6 | 7, 7 | 8, 8 | 9, 9 | 10, 10 - rfu12chestpaininterscl = Column(Integer, nullable=True, comments=None) + rfu12kneepaininterscl = Column(Integer, nullable=True, comments=None) # During the past 24 hours, did you take any kind of medication... # Field Type: radio # Choices: 1, Yes | 0, No - rfu12medchestpainyn = Column(Boolean, nullable=True, comments=None) - # Over-the-counter pain relievers (e.g., acetaminophen Tylenol,... + rfu12medkneepainyn = Column(Boolean, nullable=True, comments=None) + # Acetaminophen (Tylenol) # Field Type: radio # Choices: 1, Yes | 0, No - rfu12medchestotc = Column(Boolean, nullable=True, comments=None) + rfu12medkneetylenol = Column(Boolean, nullable=True, comments=None) + # Over-the-counter or prescription non‐steroidal pain relievers... + # Field Type: radio + # Choices: 1, Yes | 0, No + rfu12medkneeotc = Column(Boolean, nullable=True, comments=None) # Opioid pain relievers (e.g., oxycodone, Percocet, Nucynta, ta... # Field Type: radio # Choices: 1, Yes | 0, No - rfu12medchestopioid = Column(Boolean, nullable=True, comments=None) + rfu12medkneeopioid = Column(Boolean, nullable=True, comments=None) # THC/CBD or marijuana products (edibles, gummies, CBD oil, wee... # Field Type: radio # Choices: 1, Yes | 0, No - rfu12medchestcannabid = Column(Boolean, nullable=True, comments=None) + rfu12medkneecannabid = Column(Boolean, nullable=True, comments=None) # Gabapentin or pregabalin (Neurontin, Lyrica, etc) # Field Type: radio # Choices: 1, Yes | 0, No - rfu12medchestgaba = Column(Boolean, nullable=True, comments=None) - # Duloxetine (Cymbalta) or venlafaxine (Wellbutrin) + rfu12medkneegaba = Column(Boolean, nullable=True, comments=None) + # Duloxetine (Cymbalta) or venlafaxine (Effexor) # Field Type: radio # Choices: 1, Yes | 0, No - rfu12medchestdulox = Column(Boolean, nullable=True, comments=None) + rfu12medkneedulox = Column(Boolean, nullable=True, comments=None) # Other, not specified above # Field Type: radio # Choices: 1, Yes | 0, No - rfu12medchestother = Column(Boolean, nullable=True, comments=None) + rfu12medkneeother = Column(Boolean, nullable=True, comments=None) # Specify other # Field Type: text # Choices: N/A - rfu12medchestothertxt = Column(String, nullable=True, comments=None) + rfu12medkneeothertxt = Column(String, nullable=True, comments=None) diff --git a/src/vbr/tableclasses/redcap/autogenerated/multidimensional_inventory_of_subjective_cognitive.py b/src/vbr/tableclasses/redcap/autogenerated/multidimensional_inventory_of_subjective_cognitive.py index 678215c..8cde083 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/multidimensional_inventory_of_subjective_cognitive.py +++ b/src/vbr/tableclasses/redcap/autogenerated/multidimensional_inventory_of_subjective_cognitive.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.478362 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.883001 by redcap_classfiles.py """ from ....pgrest import * @@ -7,19 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapMultidimensionalInventoryOfSubjectiveCognitive"] +__all__ = ['RcapMultidimensionalInventoryOfSubjectiveCognitive'] class RcapMultidimensionalInventoryOfSubjectiveCognitive(RcapTable): - """Multidimensional Inventory Of Subjective Cognitive""" - - __redcap_form_name = "multidimensional_inventory_of_subjective_cognitive" - multidimensional_inventory_of_subjective_cognitive_id = ( - Constants.SERIAL_PRIMARY_KEY_COLUMN - ) + """Multidimensional Inventory Of Subjective Cognitive + """ + __redcap_form_name = 'multidimensional_inventory_of_subjective_cognitive' + multidimensional_inventory_of_subjective_cognitive_id = Constants.SERIAL_PRIMARY_KEY_COLUMN multidimensional_inventory_of_subjective_cognitive_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # I have been able to think clearly without extra effort. # Field Type: radio # Choices: 1, Not at all | 2, A little bit | 3, Somewhat | 4, Quite a bit | 5, Very much diff --git a/src/vbr/tableclasses/redcap/autogenerated/opioid_and_pain_control_satisfaction_v02_satisfact.py b/src/vbr/tableclasses/redcap/autogenerated/opioid_and_pain_control_satisfaction_v02_satisfact.py index 4147f51..700ce2e 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/opioid_and_pain_control_satisfaction_v02_satisfact.py +++ b/src/vbr/tableclasses/redcap/autogenerated/opioid_and_pain_control_satisfaction_v02_satisfact.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.506456 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.896504 by redcap_classfiles.py """ from ....pgrest import * @@ -7,19 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapOpioidAndPainControlSatisfactionV02Satisfact"] +__all__ = ['RcapOpioidAndPainControlSatisfactionV02Satisfact'] class RcapOpioidAndPainControlSatisfactionV02Satisfact(RcapTable): - """Opioid And Pain Control Satisfaction V02 Satisfact""" - - __redcap_form_name = "opioid_and_pain_control_satisfaction_v02_satisfact" - opioid_and_pain_control_satisfaction_v02_satisfact_id = ( - Constants.SERIAL_PRIMARY_KEY_COLUMN - ) + """Opioid And Pain Control Satisfaction V02 Satisfact + """ + __redcap_form_name = 'opioid_and_pain_control_satisfaction_v02_satisfact' + opioid_and_pain_control_satisfaction_v02_satisfact_id = Constants.SERIAL_PRIMARY_KEY_COLUMN opioid_and_pain_control_satisfaction_v02_satisfact_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # a. How would you rate the amount of opioid pain medication yo... # Field Type: radio # Choices: 1, much less than I needed | 2, less than I needed | 3, about right | 4, more than I needed | 5, much more than I needed | 6, not applicable, I was not prescribed opioids after hospital discharge diff --git a/src/vbr/tableclasses/redcap/autogenerated/opioid_side_effects_and_likeability_v03_side_effec.py b/src/vbr/tableclasses/redcap/autogenerated/opioid_side_effects_and_likeability_v03_side_effec.py index fc939a4..40deb28 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/opioid_side_effects_and_likeability_v03_side_effec.py +++ b/src/vbr/tableclasses/redcap/autogenerated/opioid_side_effects_and_likeability_v03_side_effec.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.501581 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.894924 by redcap_classfiles.py """ from ....pgrest import * @@ -7,19 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapOpioidSideEffectsAndLikeabilityV03SideEffec"] +__all__ = ['RcapOpioidSideEffectsAndLikeabilityV03SideEffec'] class RcapOpioidSideEffectsAndLikeabilityV03SideEffec(RcapTable): - """Opioid Side Effects And Likeability V03 Side Effec""" - - __redcap_form_name = "opioid_side_effects_and_likeability_v03_side_effec" - opioid_side_effects_and_likeability_v03_side_effec_id = ( - Constants.SERIAL_PRIMARY_KEY_COLUMN - ) + """Opioid Side Effects And Likeability V03 Side Effec + """ + __redcap_form_name = 'opioid_side_effects_and_likeability_v03_side_effec' + opioid_side_effects_and_likeability_v03_side_effec_id = Constants.SERIAL_PRIMARY_KEY_COLUMN opioid_side_effects_and_likeability_v03_side_effec_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Ignored multiline Field Name in Data Dictionary # Field Type: yesno # Choices: N/A diff --git a/src/vbr/tableclasses/redcap/autogenerated/opioid_use_acute_followup_v10_opioid_use_ii.py b/src/vbr/tableclasses/redcap/autogenerated/opioid_use_acute_followup_v10_opioid_use_ii.py index 06f9a8b..6698fee 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/opioid_use_acute_followup_v10_opioid_use_ii.py +++ b/src/vbr/tableclasses/redcap/autogenerated/opioid_use_acute_followup_v10_opioid_use_ii.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.494188 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.890886 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapOpioidUseAcuteFollowupV10OpioidUseIi"] +__all__ = ['RcapOpioidUseAcuteFollowupV10OpioidUseIi'] class RcapOpioidUseAcuteFollowupV10OpioidUseIi(RcapTable): - """Opioid Use Acute Followup V10 Opioid Use Ii""" - - __redcap_form_name = "opioid_use_acute_followup_v10_opioid_use_ii" + """Opioid Use Acute Followup V10 Opioid Use Ii + """ + __redcap_form_name = 'opioid_use_acute_followup_v10_opioid_use_ii' opioid_use_acute_followup_v10_opioid_use_ii_id = Constants.SERIAL_PRIMARY_KEY_COLUMN opioid_use_acute_followup_v10_opioid_use_ii_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Ignored multiline Field Name in Data Dictionary # Field Type: radio # Choices: 0, No | 1, Yes @@ -37,7 +36,9 @@ class RcapOpioidUseAcuteFollowupV10OpioidUseIi(RcapTable): # What is the dose of your Codeine (Tylenol 3, Tylenol 4)? # Field Type: dropdown # Choices: 1, Tablets with acetaminophen - 15mg / 300mg | 2, Tablets with acetaminophen - 30mg / 300mg | 3, Tablets with acetaminophen - 60mg / 300mg | 4, Liquid - 12mg / 120mg per 5ml | 5, Tylenol 3 | 6, Tylenol 4 - opioiduseafu_meddosecodeine1 = Column(Integer, nullable=True, comments=None) + opioiduseafu_meddosecodeine1 = Column(Integer, + nullable=True, + comments=None) # What is the dose of your Tramadol (Ultram, Ultracet)? # Field Type: dropdown # Choices: 1, 50mg | 2, 100mg | 3, 150mg | 4, 200mg | 5, 300mg @@ -101,7 +102,9 @@ class RcapOpioidUseAcuteFollowupV10OpioidUseIi(RcapTable): # 2 What is the dose of your Codeine (Tylenol 3, Tylenol 4)? # Field Type: dropdown # Choices: 1, Tablets with acetaminophen - 15mg / 300mg | 2, Tablets with acetaminophen - 30mg / 300mg | 3, Tablets with acetaminophen - 60mg / 300mg | 4, Liquid - 12mg / 120mg per 5ml | 5, Tylenol 3 | 6, Tylenol 4 - opioiduseafu_meddosecodeine2 = Column(Integer, nullable=True, comments=None) + opioiduseafu_meddosecodeine2 = Column(Integer, + nullable=True, + comments=None) # 2 What is the dose of your Tramadol (Ultram, Ultracet)? # Field Type: dropdown # Choices: 1, 50mg | 2, 100mg | 3, 150mg | 4, 200mg | 5, 300mg @@ -165,7 +168,9 @@ class RcapOpioidUseAcuteFollowupV10OpioidUseIi(RcapTable): # 3 What is the dose of your Codeine (Tylenol 3, Tylenol 4)? # Field Type: dropdown # Choices: 1, Tablets with acetaminophen - 15mg / 300mg | 2, Tablets with acetaminophen - 30mg / 300mg | 3, Tablets with acetaminophen - 60mg / 300mg | 4, Liquid - 12mg / 120mg per 5ml | 5, Tylenol 3 | 6, Tylenol 4 - opioiduseafu_meddosecodeine3 = Column(Integer, nullable=True, comments=None) + opioiduseafu_meddosecodeine3 = Column(Integer, + nullable=True, + comments=None) # 3 What is the dose of your Tramadol (Ultram, Ultracet)? # Field Type: dropdown # Choices: 1, 50mg | 2, 100mg | 3, 150mg | 4, 200mg | 5, 300mg diff --git a/src/vbr/tableclasses/redcap/autogenerated/opioid_use_baseline_v10_opioid_use_i.py b/src/vbr/tableclasses/redcap/autogenerated/opioid_use_baseline_v10_opioid_use_i.py index 303e834..d8bb4db 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/opioid_use_baseline_v10_opioid_use_i.py +++ b/src/vbr/tableclasses/redcap/autogenerated/opioid_use_baseline_v10_opioid_use_i.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.488738 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.888658 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapOpioidUseBaselineV10OpioidUseI"] +__all__ = ['RcapOpioidUseBaselineV10OpioidUseI'] class RcapOpioidUseBaselineV10OpioidUseI(RcapTable): - """Opioid Use Baseline V10 Opioid Use I""" - - __redcap_form_name = "opioid_use_baseline_v10_opioid_use_i" + """Opioid Use Baseline V10 Opioid Use I + """ + __redcap_form_name = 'opioid_use_baseline_v10_opioid_use_i' opioid_use_baseline_v10_opioid_use_i_id = Constants.SERIAL_PRIMARY_KEY_COLUMN opioid_use_baseline_v10_opioid_use_i_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Ignored multiline Field Name in Data Dictionary # Field Type: radio # Choices: 0, No | 1, Yes @@ -37,7 +36,9 @@ class RcapOpioidUseBaselineV10OpioidUseI(RcapTable): # What is the dose of your Hydrocodone (Vicodin, Norco)? # Field Type: dropdown # Choices: 1, Tablets with acetaminophen - 5mg / 325mg | 2, Tablets with acetaminophen - 7.5mg / 325mg | 3, Tablets with acetaminophen - 10mg / 325mg | 4, Liquid - 7.5mg/500mg per 15ml - opioidusebsln_meddosehydroc1 = Column(Integer, nullable=True, comments=None) + opioidusebsln_meddosehydroc1 = Column(Integer, + nullable=True, + comments=None) # What is the dose of your Oxycodone (Percocet, Oxycontin)? # Field Type: dropdown # Choices: 1, Tablets with acetaminophen | 2, - 2.5mg / 325mg | 3, - 5mg / 325mg | 4, - 7.5mg / 325mg | 5, - 10mg / 325mg | 6, ------------------------ | 7, Tablets immediate release | 8, - 5mg | 9, - 7.5mg | 10, - 10mg | 11, - 15mg | 12, - 20mg | 13, - 30mg | 14, ------------------------ | 15, Tablets extended release | 16, - 10mg | 17, - 15mg | 18, - 20mg | 19, - 30mg | 20, - 40mg | 21, - 60mg | 22, - 80mg | 23, ------------------------- | 24, Liquid - 5mg / 5ml @@ -45,7 +46,9 @@ class RcapOpioidUseBaselineV10OpioidUseI(RcapTable): # What is the dose of your Codeine (Tylenol 3, Tylenol 4)? # Field Type: dropdown # Choices: 1, Tablets with acetaminophen - 15mg / 300mg | 2, Tablets with acetaminophen - 30mg / 300mg | 3, Tablets with acetaminophen - 60mg / 300mg | 4, Liquid - 12mg / 120mg per 5ml | 5, Tylenol 3 | 6, Tylenol 4 - opioidusebsln_meddosecodeine1 = Column(Integer, nullable=True, comments=None) + opioidusebsln_meddosecodeine1 = Column(Integer, + nullable=True, + comments=None) # What is the dose of your Tramadol (Ultram, Ultracet)? # Field Type: dropdown # Choices: 1, 50mg | 2, 100mg | 3, 150mg | 4, 200mg | 5, 300mg @@ -53,7 +56,9 @@ class RcapOpioidUseBaselineV10OpioidUseI(RcapTable): # What is the dose of your Hydromorphone (Dilaudid)? # Field Type: dropdown # Choices: 1, Tablets immediate release - 2mg | 2, Tablets immediate release - 4mg | 3, Tablets immediate release - 8mg | 4, Tablets immediate release - 12mg | 5, Tablets immediate release - 16mg | 6, Tablets immediate release - 32mg | 7, Liquid - 5mg / 5ml - opioidusebsln_meddosehydrom1 = Column(Integer, nullable=True, comments=None) + opioidusebsln_meddosehydrom1 = Column(Integer, + nullable=True, + comments=None) # What is the dose of your Morphine (MS Contin, MS IR)? # Field Type: dropdown # Choices: 1, Tablets immediate release | 2, - 15mg | 3, - 30mg | 4, ------------------------------------- | 5, Tablets extended release | 6, - 15mg | 7, - 30mg | 8, - 60mg | 9, - 100mg | 10, - 200mg | 11, ------------------------------- | 12, Liquid - 10mg / 5ml @@ -101,7 +106,9 @@ class RcapOpioidUseBaselineV10OpioidUseI(RcapTable): # 2 What is the dose of your Hydrocodone (Vicodin, Norco)? # Field Type: dropdown # Choices: 1, Tablets with acetaminophen - 5mg / 325mg | 2, Tablets with acetaminophen - 7.5mg / 325mg | 3, Tablets with acetaminophen - 10mg / 325mg | 4, Liquid - 7.5mg/500mg per 15ml - opioidusebsln_meddosehydroc2 = Column(Integer, nullable=True, comments=None) + opioidusebsln_meddosehydroc2 = Column(Integer, + nullable=True, + comments=None) # 2 What is the dose of your Oxycodone (Percocet, Oxycontin)? # Field Type: dropdown # Choices: 1, Tablets with acetaminophen | 2, - 2.5mg / 325mg | 3, - 5mg / 325mg | 4, - 7.5mg / 325mg | 5, - 10mg / 325mg | 6, ------------------------ | 7, Tablets immediate release | 8, - 5mg | 9, - 7.5mg | 10, - 10mg | 11, - 15mg | 12, - 20mg | 13, - 30mg | 14, ------------------------ | 15, Tablets extended release | 16, - 10mg | 17, - 15mg | 18, - 20mg | 19, - 30mg | 20, - 40mg | 21, - 60mg | 22, - 80mg | 23, ------------------------- | 24, Liquid - 5mg / 5ml @@ -109,7 +116,9 @@ class RcapOpioidUseBaselineV10OpioidUseI(RcapTable): # 2 What is the dose of your Codeine (Tylenol 3, Tylenol 4)? # Field Type: dropdown # Choices: 1, Tablets with acetaminophen - 15mg / 300mg | 2, Tablets with acetaminophen - 30mg / 300mg | 3, Tablets with acetaminophen - 60mg / 300mg | 4, Liquid - 12mg / 120mg per 5ml | 5, Tylenol 3 | 6, Tylenol 4 - opioidusebsln_meddosecodeine2 = Column(Integer, nullable=True, comments=None) + opioidusebsln_meddosecodeine2 = Column(Integer, + nullable=True, + comments=None) # 2 What is the dose of your Tramadol (Ultram, Ultracet)? # Field Type: dropdown # Choices: 1, 50mg | 2, 100mg | 3, 150mg | 4, 200mg | 5, 300mg @@ -117,7 +126,9 @@ class RcapOpioidUseBaselineV10OpioidUseI(RcapTable): # 2 What is the dose of your Hydromorphone (Dilaudid)? # Field Type: dropdown # Choices: 1, Tablets immediate release - 2mg | 2, Tablets immediate release - 4mg | 3, Tablets immediate release - 8mg | 4, Tablets immediate release - 12mg | 5, Tablets immediate release - 16mg | 6, Tablets immediate release - 32mg | 7, Liquid - 5mg / 5ml - opioidusebsln_meddosehydrom2 = Column(Integer, nullable=True, comments=None) + opioidusebsln_meddosehydrom2 = Column(Integer, + nullable=True, + comments=None) # 2 What is the dose of your Morphine (MS Contin, MS IR)? # Field Type: dropdown # Choices: 1, Tablets immediate release | 2, - 15mg | 3, - 30mg | 4, ------------------------------------- | 5, Tablets extended release | 6, - 15mg | 7, - 30mg | 8, - 60mg | 9, - 100mg | 10, - 200mg | 11, ------------------------------- | 12, Liquid - 10mg / 5ml @@ -165,7 +176,9 @@ class RcapOpioidUseBaselineV10OpioidUseI(RcapTable): # 3 What is the dose of your Hydrocodone (Vicodin, Norco)? # Field Type: dropdown # Choices: 1, Tablets with acetaminophen - 5mg / 325mg | 2, Tablets with acetaminophen - 7.5mg / 325mg | 3, Tablets with acetaminophen - 10mg / 325mg | 4, Liquid - 7.5mg/500mg per 15ml - opioidusebsln_meddosehydroc3 = Column(Integer, nullable=True, comments=None) + opioidusebsln_meddosehydroc3 = Column(Integer, + nullable=True, + comments=None) # 3 What is the dose of your Oxycodone (Percocet, Oxycontin)? # Field Type: dropdown # Choices: 1, Tablets with acetaminophen | 2, - 2.5mg / 325mg | 3, - 5mg / 325mg | 4, - 7.5mg / 325mg | 5, - 10mg / 325mg | 6, ------------------------ | 7, Tablets immediate release | 8, - 5mg | 9, - 7.5mg | 10, - 10mg | 11, - 15mg | 12, - 20mg | 13, - 30mg | 14, ------------------------ | 15, Tablets extended release | 16, - 10mg | 17, - 15mg | 18, - 20mg | 19, - 30mg | 20, - 40mg | 21, - 60mg | 22, - 80mg | 23, ------------------------- | 24, Liquid - 5mg / 5ml @@ -173,7 +186,9 @@ class RcapOpioidUseBaselineV10OpioidUseI(RcapTable): # 3 What is the dose of your Codeine (Tylenol 3, Tylenol 4)? # Field Type: dropdown # Choices: 1, Tablets with acetaminophen - 15mg / 300mg | 2, Tablets with acetaminophen - 30mg / 300mg | 3, Tablets with acetaminophen - 60mg / 300mg | 4, Liquid - 12mg / 120mg per 5ml | 5, Tylenol 3 | 6, Tylenol 4 - opioidusebsln_meddosecodeine3 = Column(Integer, nullable=True, comments=None) + opioidusebsln_meddosecodeine3 = Column(Integer, + nullable=True, + comments=None) # 3 What is the dose of your Tramadol (Ultram, Ultracet)? # Field Type: dropdown # Choices: 1, 50mg | 2, 100mg | 3, 150mg | 4, 200mg | 5, 300mg @@ -181,7 +196,9 @@ class RcapOpioidUseBaselineV10OpioidUseI(RcapTable): # 3 What is the dose of your Hydromorphone (Dilaudid)? # Field Type: dropdown # Choices: 1, Tablets immediate release - 2mg | 2, Tablets immediate release - 4mg | 3, Tablets immediate release - 8mg | 4, Tablets immediate release - 12mg | 5, Tablets immediate release - 16mg | 6, Tablets immediate release - 32mg | 7, Liquid - 5mg / 5ml - opioidusebsln_meddosehydrom3 = Column(Integer, nullable=True, comments=None) + opioidusebsln_meddosehydrom3 = Column(Integer, + nullable=True, + comments=None) # 3 What is the dose of your Morphine (MS Contin, MS IR)? # Field Type: dropdown # Choices: 1, Tablets immediate release | 2, - 15mg | 3, - 30mg | 4, ------------------------------------- | 5, Tablets extended release | 6, - 15mg | 7, - 30mg | 8, - 60mg | 9, - 100mg | 10, - 200mg | 11, ------------------------------- | 12, Liquid - 10mg / 5ml diff --git a/src/vbr/tableclasses/redcap/autogenerated/opioid_use_longterm_followup_v10_opioid_use_iii.py b/src/vbr/tableclasses/redcap/autogenerated/opioid_use_longterm_followup_v10_opioid_use_iii.py index 75bd157..2c858aa 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/opioid_use_longterm_followup_v10_opioid_use_iii.py +++ b/src/vbr/tableclasses/redcap/autogenerated/opioid_use_longterm_followup_v10_opioid_use_iii.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.497515 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.892992 by redcap_classfiles.py """ from ....pgrest import * @@ -7,19 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapOpioidUseLongtermFollowupV10OpioidUseIii"] +__all__ = ['RcapOpioidUseLongtermFollowupV10OpioidUseIii'] class RcapOpioidUseLongtermFollowupV10OpioidUseIii(RcapTable): - """Opioid Use Longterm Followup V10 Opioid Use Iii""" - - __redcap_form_name = "opioid_use_longterm_followup_v10_opioid_use_iii" - opioid_use_longterm_followup_v10_opioid_use_iii_id = ( - Constants.SERIAL_PRIMARY_KEY_COLUMN - ) + """Opioid Use Longterm Followup V10 Opioid Use Iii + """ + __redcap_form_name = 'opioid_use_longterm_followup_v10_opioid_use_iii' + opioid_use_longterm_followup_v10_opioid_use_iii_id = Constants.SERIAL_PRIMARY_KEY_COLUMN opioid_use_longterm_followup_v10_opioid_use_iii_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Ignored multiline Field Name in Data Dictionary # Field Type: radio # Choices: 0, No | 1, Yes @@ -39,7 +36,9 @@ class RcapOpioidUseLongtermFollowupV10OpioidUseIii(RcapTable): # What is the dose of your Codeine (Tylenol 3, Tylenol 4)? # Field Type: dropdown # Choices: 1, Tablets with acetaminophen - 15mg / 300mg | 2, Tablets with acetaminophen - 30mg / 300mg | 3, Tablets with acetaminophen - 60mg / 300mg | 4, Liquid - 12mg / 120mg per 5ml | 5, Tylenol 3 | 6, Tylenol 4 - opioiduselfu_meddosecodeine1 = Column(Integer, nullable=True, comments=None) + opioiduselfu_meddosecodeine1 = Column(Integer, + nullable=True, + comments=None) # What is the dose of your Tramadol (Ultram, Ultracet)? # Field Type: dropdown # Choices: 1, 50mg | 2, 100mg | 3, 150mg | 4, 200mg | 5, 300mg @@ -103,7 +102,9 @@ class RcapOpioidUseLongtermFollowupV10OpioidUseIii(RcapTable): # 2 What is the dose of your Codeine (Tylenol 3, Tylenol 4)? # Field Type: dropdown # Choices: 1, Tablets with acetaminophen - 15mg / 300mg | 2, Tablets with acetaminophen - 30mg / 300mg | 3, Tablets with acetaminophen - 60mg / 300mg | 4, Liquid - 12mg / 120mg per 5ml | 5, Tylenol 3 | 6, Tylenol 4 - opioiduselfu_meddosecodeine2 = Column(Integer, nullable=True, comments=None) + opioiduselfu_meddosecodeine2 = Column(Integer, + nullable=True, + comments=None) # 2 What is the dose of your Tramadol (Ultram, Ultracet)? # Field Type: dropdown # Choices: 1, 50mg | 2, 100mg | 3, 150mg | 4, 200mg | 5, 300mg @@ -167,7 +168,9 @@ class RcapOpioidUseLongtermFollowupV10OpioidUseIii(RcapTable): # 3 What is the dose of your Codeine (Tylenol 3, Tylenol 4)? # Field Type: dropdown # Choices: 1, Tablets with acetaminophen - 15mg / 300mg | 2, Tablets with acetaminophen - 30mg / 300mg | 3, Tablets with acetaminophen - 60mg / 300mg | 4, Liquid - 12mg / 120mg per 5ml | 5, Tylenol 3 | 6, Tylenol 4 - opioiduselfu_meddosecodeine3 = Column(Integer, nullable=True, comments=None) + opioiduselfu_meddosecodeine3 = Column(Integer, + nullable=True, + comments=None) # 3 What is the dose of your Tramadol (Ultram, Ultracet)? # Field Type: dropdown # Choices: 1, 50mg | 2, 100mg | 3, 150mg | 4, 200mg | 5, 300mg diff --git a/src/vbr/tableclasses/redcap/autogenerated/other_medical_surgical_treatments_ii.py b/src/vbr/tableclasses/redcap/autogenerated/other_medical_surgical_treatments_ii.py index 6bf0202..629606a 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/other_medical_surgical_treatments_ii.py +++ b/src/vbr/tableclasses/redcap/autogenerated/other_medical_surgical_treatments_ii.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.434999 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.856914 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,104 @@ from ..rcaptable import RcapTable -__all__ = ["RcapOtherMedicalSurgicalTreatmentsIi"] +__all__ = ['RcapOtherMedicalSurgicalTreatmentsIi'] class RcapOtherMedicalSurgicalTreatmentsIi(RcapTable): - """Other Medical Surgical Treatments Ii""" - - __redcap_form_name = "other_medical_surgical_treatments_ii" + """Other Medical Surgical Treatments Ii + """ + __redcap_form_name = 'other_medical_surgical_treatments_ii' other_medical_surgical_treatments_ii_id = Constants.SERIAL_PRIMARY_KEY_COLUMN other_medical_surgical_treatments_ii_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) + # Ignored multiline Field Name in Data Dictionary + # Field Type: text + # Choices: N/A + oms2timeframe = Column(String, nullable=True, comments=None) + # Did you receive any Chemotherapy / Immunotherapy for cancer i... + # Field Type: radio + # Choices: 1, Yes | 0, No + oms2chemoyn = Column(Boolean, nullable=True, comments=None) + # Field Name was empty in Data Dictionary + # Field Type: checkbox + # Choices: 1, a. For the cancer associated with your thoracic surgery + oms2chemosame = Column(Boolean, nullable=True, comments=None) + # Field Name was empty in Data Dictionary + # Field Type: checkbox + # Choices: 1, b. For a different cancer + oms2chemodiff = Column(Boolean, nullable=True, comments=None) + # Did you receive any Radiation Therapy for cancer in the past ... + # Field Type: radio + # Choices: 1, Yes | 0, No + oms2radtxyn = Column(Boolean, nullable=True, comments=None) + # Field Name was empty in Data Dictionary + # Field Type: checkbox + # Choices: 1, a. For the cancer associated with your thoracic surgery + oms2radtxsame = Column(Boolean, nullable=True, comments=None) + # Field Name was empty in Data Dictionary + # Field Type: checkbox + # Choices: 1, b. For a different cancer + oms2radtxdiff = Column(Boolean, nullable=True, comments=None) + # In the past [oms2timeframe], have you had any additional sign... + # Field Type: radio + # Choices: 1, Yes | 0, No + oms2surgyn = Column(Boolean, nullable=True, comments=None) + # 3.1 Yes, related to my original chest surgery + # Field Type: radio + # Choices: 1, Yes | 0, No + oms2surgrel = Column(Boolean, nullable=True, comments=None) + # 3.2 Yes, but unrelated to my original chest surgery + # Field Type: radio + # Choices: 1, Yes | 0, No + oms2surgunr = Column(Boolean, nullable=True, comments=None) + # In the past [oms2timeframe], have you had any non-scheduled v... + # Field Type: radio + # Choices: 1, Yes | 0, No + oms2visityn = Column(Boolean, nullable=True, comments=None) + # 4.1. Yes, related to my original chest surgery + # Field Type: radio + # Choices: 1, Yes | 0, No + oms2relvisit = Column(Boolean, nullable=True, comments=None) + # Choose all that apply + # Field Type: checkbox + # Choices: 1, Emergency room / Urgent care clinic visit + oms2relvisited = Column(Boolean, nullable=True, comments=None) + # + # Field Type: checkbox + # Choices: 1, Physician office visit + oms2relvisitoffice = Column(Boolean, nullable=True, comments=None) + # + # Field Type: checkbox + # Choices: 1, Other + oms2relvisitother = Column(Boolean, nullable=True, comments=None) + # Other specify + # Field Type: text + # Choices: N/A + oms2relvisitothertxt = Column(String, nullable=True, comments=None) + # 4.2 Yes, but unrelated to my original chest surgery + # Field Type: radio + # Choices: 1, Yes | 0, No + oms2unrvisit = Column(Boolean, nullable=True, comments=None) + # Choose all that apply + # Field Type: checkbox + # Choices: 1, Emergency room / Urgent care clinic visit + oms2unrvisited = Column(Boolean, nullable=True, comments=None) + # + # Field Type: checkbox + # Choices: 1, Physician office visit + oms2unrvisitoffice = Column(Boolean, nullable=True, comments=None) + # + # Field Type: checkbox + # Choices: 1, Other + oms2unrvisitother = Column(Boolean, nullable=True, comments=None) + # Other specify + # Field Type: text + # Choices: N/A + oms2unrvisitothertxt = Column(String, nullable=True, comments=None) + # Form added on 9/24/2021 - Indicate if the form was not availa... + # Field Type: dropdown + # Choices: 1, Form was not available at this event + oms1notavailable = Column(Boolean, nullable=True, comments=None) # Ignored multiline Field Name in Data Dictionary # Field Type: text # Choices: N/A @@ -62,7 +149,7 @@ class RcapOtherMedicalSurgicalTreatmentsIi(RcapTable): # Field Type: radio # Choices: 1, Yes | 0, No oms1surgunr = Column(Boolean, nullable=True, comments=None) - # Choose all that apply + # # Field Type: checkbox # Choices: 1, Surgery on the other knee oms1unrotherknee = Column(Boolean, nullable=True, comments=None) @@ -86,7 +173,7 @@ class RcapOtherMedicalSurgicalTreatmentsIi(RcapTable): # Field Type: radio # Choices: 1, Yes | 0, No oms1relvisit = Column(Boolean, nullable=True, comments=None) - # Choose all that apply + # # Field Type: checkbox # Choices: 1, Emergency room / Urgent care clinic visit oms1relvisited = Column(Boolean, nullable=True, comments=None) @@ -106,7 +193,7 @@ class RcapOtherMedicalSurgicalTreatmentsIi(RcapTable): # Field Type: radio # Choices: 1, Yes | 0, No oms1unrvisit = Column(Boolean, nullable=True, comments=None) - # Choose all that apply + # # Field Type: checkbox # Choices: 1, Emergency room / Urgent care clinic visit oms1unrvisited = Column(Boolean, nullable=True, comments=None) @@ -122,87 +209,3 @@ class RcapOtherMedicalSurgicalTreatmentsIi(RcapTable): # Field Type: text # Choices: N/A oms1unrvisitothertxt = Column(String, nullable=True, comments=None) - # Ignored multiline Field Name in Data Dictionary - # Field Type: text - # Choices: N/A - oms2timeframe = Column(String, nullable=True, comments=None) - # Did you receive any Chemotherapy / Immunotherapy for cancer i... - # Field Type: radio - # Choices: 1, Yes | 0, No - oms2chemoyn = Column(Boolean, nullable=True, comments=None) - # Field Name was empty in Data Dictionary - # Field Type: checkbox - # Choices: 1, a. For the cancer associated with your thoracic surgery - oms2chemosame = Column(Boolean, nullable=True, comments=None) - # Field Name was empty in Data Dictionary - # Field Type: checkbox - # Choices: 1, b. For a different cancer - oms2chemodiff = Column(Boolean, nullable=True, comments=None) - # Did you receive any Radiation Therapy for cancer in the past ... - # Field Type: radio - # Choices: 1, Yes | 0, No - oms2radtxyn = Column(Boolean, nullable=True, comments=None) - # Field Name was empty in Data Dictionary - # Field Type: checkbox - # Choices: 1, a. For the cancer associated with your thoracic surgery - oms2radtxsame = Column(Boolean, nullable=True, comments=None) - # Field Name was empty in Data Dictionary - # Field Type: checkbox - # Choices: 1, b. For a different cancer - oms2radtxdiff = Column(Boolean, nullable=True, comments=None) - # In the past [oms2timeframe], have you had any additional sign... - # Field Type: radio - # Choices: 1, Yes | 0, No - oms2surgyn = Column(Boolean, nullable=True, comments=None) - # 3.1 Yes, related to my original chest surgery - # Field Type: radio - # Choices: 1, Yes | 0, No - oms2surgrel = Column(Boolean, nullable=True, comments=None) - # 3.2 Yes, but unrelated to my original chest surgery - # Field Type: radio - # Choices: 1, Yes | 0, No - oms2surgunr = Column(Boolean, nullable=True, comments=None) - # In the past [oms2timeframe], have you had any non-scheduled v... - # Field Type: radio - # Choices: 1, Yes | 0, No - oms2visityn = Column(Boolean, nullable=True, comments=None) - # 4.1. Yes, related to my original chest surgery - # Field Type: radio - # Choices: 1, Yes | 0, No - oms2relvisit = Column(Boolean, nullable=True, comments=None) - # Choose all that apply - # Field Type: checkbox - # Choices: 1, Emergency room / Urgent care clinic visit - oms2relvisited = Column(Boolean, nullable=True, comments=None) - # - # Field Type: checkbox - # Choices: 1, Physician office visit - oms2relvisitoffice = Column(Boolean, nullable=True, comments=None) - # - # Field Type: checkbox - # Choices: 1, Other - oms2relvisitother = Column(Boolean, nullable=True, comments=None) - # Other specify - # Field Type: text - # Choices: N/A - oms2relvisitothertxt = Column(String, nullable=True, comments=None) - # 4.2 Yes, but unrelated to my original chest surgery - # Field Type: radio - # Choices: 1, Yes | 0, No - oms2unrvisit = Column(Boolean, nullable=True, comments=None) - # Choose all that apply - # Field Type: checkbox - # Choices: 1, Emergency room / Urgent care clinic visit - oms2unrvisited = Column(Boolean, nullable=True, comments=None) - # - # Field Type: checkbox - # Choices: 1, Physician office visit - oms2unrvisitoffice = Column(Boolean, nullable=True, comments=None) - # - # Field Type: checkbox - # Choices: 1, Other - oms2unrvisitother = Column(Boolean, nullable=True, comments=None) - # Other specify - # Field Type: text - # Choices: N/A - oms2unrvisitothertxt = Column(String, nullable=True, comments=None) diff --git a/src/vbr/tableclasses/redcap/autogenerated/other_pain_treatments_v3_other_treatments.py b/src/vbr/tableclasses/redcap/autogenerated/other_pain_treatments_v3_other_treatments.py index b74f82b..79238a3 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/other_pain_treatments_v3_other_treatments.py +++ b/src/vbr/tableclasses/redcap/autogenerated/other_pain_treatments_v3_other_treatments.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.432468 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.855502 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapOtherPainTreatmentsV3OtherTreatments"] +__all__ = ['RcapOtherPainTreatmentsV3OtherTreatments'] class RcapOtherPainTreatmentsV3OtherTreatments(RcapTable): - """Other Pain Treatments V3 Other Treatments""" - - __redcap_form_name = "other_pain_treatments_v3_other_treatments" + """Other Pain Treatments V3 Other Treatments + """ + __redcap_form_name = 'other_pain_treatments_v3_other_treatments' other_pain_treatments_v3_other_treatments_id = Constants.SERIAL_PRIMARY_KEY_COLUMN other_pain_treatments_v3_other_treatments_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # In the PAST 4 WEEKS, how often have you participated in thera... # Field Type: radio # Choices: 1, Daily or almost daily | 2, 2-4 days/week | 3, Weekly | 4, Less than 1 day/week | 5, Never diff --git a/src/vbr/tableclasses/redcap/autogenerated/pain_catastrophizing_questionnaire_pcs6.py b/src/vbr/tableclasses/redcap/autogenerated/pain_catastrophizing_questionnaire_pcs6.py index 40ec5f4..67d5f9f 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/pain_catastrophizing_questionnaire_pcs6.py +++ b/src/vbr/tableclasses/redcap/autogenerated/pain_catastrophizing_questionnaire_pcs6.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.465555 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.875439 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapPainCatastrophizingQuestionnairePcs6"] +__all__ = ['RcapPainCatastrophizingQuestionnairePcs6'] class RcapPainCatastrophizingQuestionnairePcs6(RcapTable): - """Pain Catastrophizing Questionnaire Pcs6""" - - __redcap_form_name = "pain_catastrophizing_questionnaire_pcs6" + """Pain Catastrophizing Questionnaire Pcs6 + """ + __redcap_form_name = 'pain_catastrophizing_questionnaire_pcs6' pain_catastrophizing_questionnaire_pcs6_id = Constants.SERIAL_PRIMARY_KEY_COLUMN pain_catastrophizing_questionnaire_pcs6_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # It's awful and I feel that it overwhelms me # Field Type: radio # Choices: 0, Not at all | 1, To a slight degree | 2, To a moderate degree | 3, To a great degree | 4, All the time diff --git a/src/vbr/tableclasses/redcap/autogenerated/pain_detect_questionnaire_pdq.py b/src/vbr/tableclasses/redcap/autogenerated/pain_detect_questionnaire_pdq.py index 6d4415d..9ac4f98 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/pain_detect_questionnaire_pdq.py +++ b/src/vbr/tableclasses/redcap/autogenerated/pain_detect_questionnaire_pdq.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.445649 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.862890 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapPainDetectQuestionnairePdq"] +__all__ = ['RcapPainDetectQuestionnairePdq'] class RcapPainDetectQuestionnairePdq(RcapTable): - """Pain Detect Questionnaire Pdq""" - - __redcap_form_name = "pain_detect_questionnaire_pdq" + """Pain Detect Questionnaire Pdq + """ + __redcap_form_name = 'pain_detect_questionnaire_pdq' pain_detect_questionnaire_pdq_id = Constants.SERIAL_PRIMARY_KEY_COLUMN pain_detect_questionnaire_pdq_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Assessment Date # Field Type: text # Choices: N/A diff --git a/src/vbr/tableclasses/redcap/autogenerated/pain_resilience_scale_prs.py b/src/vbr/tableclasses/redcap/autogenerated/pain_resilience_scale_prs.py index cd0d127..84e9f46 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/pain_resilience_scale_prs.py +++ b/src/vbr/tableclasses/redcap/autogenerated/pain_resilience_scale_prs.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.470125 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.878235 by redcap_classfiles.py """ from ....pgrest import * @@ -7,15 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapPainResilienceScalePrs"] +__all__ = ['RcapPainResilienceScalePrs'] class RcapPainResilienceScalePrs(RcapTable): - """Pain Resilience Scale Prs""" - - __redcap_form_name = "pain_resilience_scale_prs" + """Pain Resilience Scale Prs + """ + __redcap_form_name = 'pain_resilience_scale_prs' pain_resilience_scale_prs_id = Constants.SERIAL_PRIMARY_KEY_COLUMN - pain_resilience_scale_prs_complete = Column(Integer, ForeignKey("status.status_id")) + pain_resilience_scale_prs_complete = Column(Integer, + ForeignKey('status.status_id')) # I will get back out there. # Field Type: radio # Choices: 0, 0 - Not at all | 1, 1 - To a slight degree | 2, 2 - To a moderate degree | 3, 3 - To a great degree | 4, 4 - All the time diff --git a/src/vbr/tableclasses/redcap/autogenerated/painsleep_duration_sleep_ii.py b/src/vbr/tableclasses/redcap/autogenerated/painsleep_duration_sleep_ii.py index 975b7ce..08a5cbd 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/painsleep_duration_sleep_ii.py +++ b/src/vbr/tableclasses/redcap/autogenerated/painsleep_duration_sleep_ii.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.455849 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.869895 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapPainsleepDurationSleepIi"] +__all__ = ['RcapPainsleepDurationSleepIi'] class RcapPainsleepDurationSleepIi(RcapTable): - """Painsleep Duration Sleep Ii""" - - __redcap_form_name = "painsleep_duration_sleep_ii" + """Painsleep Duration Sleep Ii + """ + __redcap_form_name = 'painsleep_duration_sleep_ii' painsleep_duration_sleep_ii_id = Constants.SERIAL_PRIMARY_KEY_COLUMN painsleep_duration_sleep_ii_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Ignored multiline Field Name in Data Dictionary # Field Type: text # Choices: N/A diff --git a/src/vbr/tableclasses/redcap/autogenerated/patient_demographics_baseline_v03_demographics_i.py b/src/vbr/tableclasses/redcap/autogenerated/patient_demographics_baseline_v03_demographics_i.py index 67d4ec8..ce53bc2 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/patient_demographics_baseline_v03_demographics_i.py +++ b/src/vbr/tableclasses/redcap/autogenerated/patient_demographics_baseline_v03_demographics_i.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.429816 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.854092 by redcap_classfiles.py """ from ....pgrest import * @@ -7,19 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapPatientDemographicsBaselineV03DemographicsI"] +__all__ = ['RcapPatientDemographicsBaselineV03DemographicsI'] class RcapPatientDemographicsBaselineV03DemographicsI(RcapTable): - """Patient Demographics Baseline V03 Demographics I""" - - __redcap_form_name = "patient_demographics_baseline_v03_demographics_i" - patient_demographics_baseline_v03_demographics_i_id = ( - Constants.SERIAL_PRIMARY_KEY_COLUMN - ) + """Patient Demographics Baseline V03 Demographics I + """ + __redcap_form_name = 'patient_demographics_baseline_v03_demographics_i' + patient_demographics_baseline_v03_demographics_i_id = Constants.SERIAL_PRIMARY_KEY_COLUMN patient_demographics_baseline_v03_demographics_i_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Birth date # Field Type: text # Choices: N/A diff --git a/src/vbr/tableclasses/redcap/autogenerated/patient_demographics_full_part_2_v03_demographics.py b/src/vbr/tableclasses/redcap/autogenerated/patient_demographics_full_part_2_v03_demographics.py index 28b5cd0..3a34f69 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/patient_demographics_full_part_2_v03_demographics.py +++ b/src/vbr/tableclasses/redcap/autogenerated/patient_demographics_full_part_2_v03_demographics.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.527859 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.903915 by redcap_classfiles.py """ from ....pgrest import * @@ -7,19 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapPatientDemographicsFullPart2V03Demographics"] +__all__ = ['RcapPatientDemographicsFullPart2V03Demographics'] class RcapPatientDemographicsFullPart2V03Demographics(RcapTable): - """Patient Demographics Full Part 2 V03 Demographics""" - - __redcap_form_name = "patient_demographics_full_part_2_v03_demographics" - patient_demographics_full_part_2_v03_demographics_id = ( - Constants.SERIAL_PRIMARY_KEY_COLUMN - ) + """Patient Demographics Full Part 2 V03 Demographics + """ + __redcap_form_name = 'patient_demographics_full_part_2_v03_demographics' + patient_demographics_full_part_2_v03_demographics_id = Constants.SERIAL_PRIMARY_KEY_COLUMN patient_demographics_full_part_2_v03_demographics_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # What is the highest level of education you have completed? # Field Type: radio # Choices: 1, Did not complete Secondary School or less than High School | 2, Some Secondary School or High School education | 3, High School or Secondary School degree complete | 4, Associate's or Technical Degree complete | 5, College or Baccalaureate degree complete | 6, Doctoral or Postgraduate education diff --git a/src/vbr/tableclasses/redcap/autogenerated/patient_encounters.py b/src/vbr/tableclasses/redcap/autogenerated/patient_encounters.py index 50bdfc7..ecfdf1f 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/patient_encounters.py +++ b/src/vbr/tableclasses/redcap/autogenerated/patient_encounters.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.579204 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.930991 by redcap_classfiles.py """ from ....pgrest import * @@ -7,15 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapPatientEncounters"] +__all__ = ['RcapPatientEncounters'] class RcapPatientEncounters(RcapTable): - """Patient Encounters""" - - __redcap_form_name = "patient_encounters" + """Patient Encounters + """ + __redcap_form_name = 'patient_encounters' patient_encounters_id = Constants.SERIAL_PRIMARY_KEY_COLUMN - patient_encounters_complete = Column(Integer, ForeignKey("status.status_id")) + patient_encounters_complete = Column(Integer, + ForeignKey('status.status_id')) # Enter date and time of this patient encounter # Field Type: text # Choices: N/A diff --git a/src/vbr/tableclasses/redcap/autogenerated/patient_global_impression_of_change_pgic.py b/src/vbr/tableclasses/redcap/autogenerated/patient_global_impression_of_change_pgic.py index 9bdaae2..a6073bc 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/patient_global_impression_of_change_pgic.py +++ b/src/vbr/tableclasses/redcap/autogenerated/patient_global_impression_of_change_pgic.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.437734 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.858504 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapPatientGlobalImpressionOfChangePgic"] +__all__ = ['RcapPatientGlobalImpressionOfChangePgic'] class RcapPatientGlobalImpressionOfChangePgic(RcapTable): - """Patient Global Impression Of Change Pgic""" - - __redcap_form_name = "patient_global_impression_of_change_pgic" + """Patient Global Impression Of Change Pgic + """ + __redcap_form_name = 'patient_global_impression_of_change_pgic' patient_global_impression_of_change_pgic_id = Constants.SERIAL_PRIMARY_KEY_COLUMN patient_global_impression_of_change_pgic_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Since the start of the study (treatment), my overall pain is ... # Field Type: radio # Choices: 0, Very much improved | 1, Much improved | 2, Minimally improved | 3, No change | 4, Minimally worse | 5, Much worse | 6, Very much worse diff --git a/src/vbr/tableclasses/redcap/autogenerated/patient_health_questionnaire_depression_scale_phq.py b/src/vbr/tableclasses/redcap/autogenerated/patient_health_questionnaire_depression_scale_phq.py index 8eaf016..215bd7a 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/patient_health_questionnaire_depression_scale_phq.py +++ b/src/vbr/tableclasses/redcap/autogenerated/patient_health_questionnaire_depression_scale_phq.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.462994 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.873994 by redcap_classfiles.py """ from ....pgrest import * @@ -7,19 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapPatientHealthQuestionnaireDepressionScalePhq"] +__all__ = ['RcapPatientHealthQuestionnaireDepressionScalePhq'] class RcapPatientHealthQuestionnaireDepressionScalePhq(RcapTable): - """Patient Health Questionnaire Depression Scale Phq""" - - __redcap_form_name = "patient_health_questionnaire_depression_scale_phq" - patient_health_questionnaire_depression_scale_phq_id = ( - Constants.SERIAL_PRIMARY_KEY_COLUMN - ) + """Patient Health Questionnaire Depression Scale Phq + """ + __redcap_form_name = 'patient_health_questionnaire_depression_scale_phq' + patient_health_questionnaire_depression_scale_phq_id = Constants.SERIAL_PRIMARY_KEY_COLUMN patient_health_questionnaire_depression_scale_phq_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Little interest or pleasure in doing things # Field Type: radio # Choices: 0, Not
at all
0 | 1, Several
days
1 | 2, More than
half
the days
2 | 3, Nearly
every day
3 diff --git a/src/vbr/tableclasses/redcap/autogenerated/postconsent_study_plan_crf_v06.py b/src/vbr/tableclasses/redcap/autogenerated/postconsent_study_plan_crf_v06.py index 0fb3a06..3d05427 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/postconsent_study_plan_crf_v06.py +++ b/src/vbr/tableclasses/redcap/autogenerated/postconsent_study_plan_crf_v06.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.426760 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.852496 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,20 @@ from ..rcaptable import RcapTable -__all__ = ["RcapPostconsentStudyPlanCrfV06"] +__all__ = ['RcapPostconsentStudyPlanCrfV06'] class RcapPostconsentStudyPlanCrfV06(RcapTable): - """Postconsent Study Plan Crf V06""" - - __redcap_form_name = "postconsent_study_plan_crf_v06" + """Postconsent Study Plan Crf V06 + """ + __redcap_form_name = 'postconsent_study_plan_crf_v06' postconsent_study_plan_crf_v06_id = Constants.SERIAL_PRIMARY_KEY_COLUMN postconsent_study_plan_crf_v06_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) + # Completed informed consent + # Field Type: radio + # Choices: 1, yes | 0, no + sp_inclinfconsdone = Column(Boolean, nullable=True, comments=None) # Stated willingness to comply with all base study activities f... # Field Type: radio # Choices: 1, yes | 0, no @@ -26,30 +29,30 @@ class RcapPostconsentStudyPlanCrfV06(RcapTable): # Field Type: radio # Choices: 1, yes | 0, no sp_inclage1884 = Column(Boolean, nullable=True, comments=None) - # Individuals scheduled to undergo thoracic surgery: Individual... + # Individuals diagnosed with knee osteoarthritis scheduled to u... # Field Type: radio # Choices: 1, yes | 0, no sp_inclsurg = Column(Boolean, nullable=True, comments=None) - # Patient undergoing knee replacement for an inflammatory arthr... - # Field Type: radio - # Choices: 1, yes | 0, no - sp_exclarthkneerep = Column(Boolean, nullable=True, comments=None) - # Patient undergoing revision surgery with an infectious diagno... + # Patient has undergone prior thoracic surgery within 3-months. # Field Type: radio # Choices: 1, yes | 0, no - sp_exclinfdxjoint = Column(Boolean, nullable=True, comments=None) - # Patient undergoing: bilateral knee replacements, planned sta... + sp_exclprevbilthorpro = Column(Boolean, nullable=True, comments=None) + # Patient undergoing: a bilateral thoracic procedure. another ... # Field Type: radio # Choices: 1, yes | 0, no - sp_exclbilkneerep = Column(Boolean, nullable=True, comments=None) + sp_exclothmajorsurg = Column(Boolean, nullable=True, comments=None) # Patient unable to provide informed consent; or unable to read... # Field Type: radio # Choices: 1, yes | 0, no sp_exclnoreadspkenglish = Column(Boolean, nullable=True, comments=None) - # Confirm surgical incision site + # Planned surgical incision site # Field Type: radio - # Choices: 1, Right Knee | 2, Left Knee - sp_surgsite = Column(Integer, nullable=True, comments=None) + # Choices: 1, Right chest | 2, Left chest + sp_plansurgincissite = Column(Integer, nullable=True, comments=None) + # Is the participant's thoracic surgery being performed to addr... + # Field Type: radio + # Choices: 1, yes | 0, no + sp_surgcardiac = Column(Boolean, nullable=True, comments=None) # MRI compatibility screening # Field Type: radio # Choices: 1, Pt has MR imaging contraindications, exclude from study | 2, MRI compatibility screen incomplete, need additional information from patient | 3, MRI screen complete, needs follow-up to determine compatibility by investigator | 4, Complete, cleared for imaging (no known contraindications) @@ -58,6 +61,10 @@ class RcapPostconsentStudyPlanCrfV06(RcapTable): # Field Type: notes # Choices: N/A sp_comments = Column(FreeText, nullable=True, comments=None) + # Site where data collection will be performed + # Field Type: radio + # Choices: 1, U of Michigan | 2, Wayne State | 3, Spectrum Health + sp_data_site = Column(Integer, nullable=True, comments=None) # Confirm Surgery Date # Field Type: text # Choices: N/A @@ -82,31 +89,35 @@ class RcapPostconsentStudyPlanCrfV06(RcapTable): # Field Type: text # Choices: N/A sp_v3_3mo_date = Column(String, nullable=True, comments=None) - # Please indicate how the patient would like to receive Pre-Vis... + # Please indicate how you would like to receive Pre-Visit surveys # Field Type: radio - # Choices: 1, E-mail | 2, Push notification via app | 3, In-person (provide paper version) | 4, Phone (via coordinator) + # Choices: 1, E-mail with survey link | 2, Text message with survey link (need smart phone) | 3, In-person (provide paper version) sp_previsit_survey_pref = Column(Integer, nullable=True, comments=None) - # Please indicate how the patient would like to receive Daily T... + # Please indicate how you would like to receive Daily Trajector... # Field Type: radio - # Choices: 1, E-mail | 2, Push notification via app | 3, In-person (provide paper version) | 4, Phone (via coordinator) + # Choices: 1, E-mail | 2, Text message with link, take via browser (smart phone) | 3, Text message, take survey via SMS (flip phone) | 4, Automated voice option | 5, In-person (provide paper version) sp_daily_survey_pref = Column(Integer, nullable=True, comments=None) - # Send electronic surveys to this participant? If YES, electron... - # Field Type: radio - # Choices: 1, Yes | 0, No - sp_assess_remote = Column(Boolean, nullable=True, comments=None) - # Completed informed consent + # Patient undergoing knee replacement for an inflammatory arthr... # Field Type: radio # Choices: 1, yes | 0, no - sp_inclinfconsdone = Column(Boolean, nullable=True, comments=None) - # Patient has undergone prior thoracic surgery within 3-months. + sp_exclarthkneerep = Column(Boolean, nullable=True, comments=None) + # Patient undergoing revision surgery with an infectious diagno... # Field Type: radio # Choices: 1, yes | 0, no - sp_exclprevbilthorpro = Column(Boolean, nullable=True, comments=None) - # Patient undergoing: a bilateral thoracic procedure. another ... + sp_exclinfdxjoint = Column(Boolean, nullable=True, comments=None) + # Patient undergoing: bilateral knee replacements, planned sta... # Field Type: radio # Choices: 1, yes | 0, no - sp_exclothmajorsurg = Column(Boolean, nullable=True, comments=None) - # Planned surgical incision site + sp_exclbilkneerep = Column(Boolean, nullable=True, comments=None) + # Confirm surgical incision site # Field Type: radio - # Choices: 1, Right chest | 2, Left chest - sp_plansurgincissite = Column(Integer, nullable=True, comments=None) + # Choices: 1, Right Knee | 2, Left Knee + sp_surgsite = Column(Integer, nullable=True, comments=None) + # Indicate site where imaging will be done + # Field Type: radio + # Choices: 1, University of Illinois at Chicago | 2, Rush University Medical Center + sp_imaging_site = Column(Integer, nullable=True, comments=None) + # Send electronic surveys to this participant? If YES, electron... + # Field Type: radio + # Choices: 1, Yes | 0, No + sp_assess_remote = Column(Boolean, nullable=True, comments=None) diff --git a/src/vbr/tableclasses/redcap/autogenerated/promis_sf_v10_fatigue_7a.py b/src/vbr/tableclasses/redcap/autogenerated/promis_sf_v10_fatigue_7a.py index 4b774da..fc33807 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/promis_sf_v10_fatigue_7a.py +++ b/src/vbr/tableclasses/redcap/autogenerated/promis_sf_v10_fatigue_7a.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.458076 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.871211 by redcap_classfiles.py """ from ....pgrest import * @@ -7,15 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapPromisSfV10Fatigue7A"] +__all__ = ['RcapPromisSfV10Fatigue7A'] class RcapPromisSfV10Fatigue7A(RcapTable): - """Promis Sf V10 Fatigue 7A""" - - __redcap_form_name = "promis_sf_v10_fatigue_7a" + """Promis Sf V10 Fatigue 7A + """ + __redcap_form_name = 'promis_sf_v10_fatigue_7a' promis_sf_v10_fatigue_7a_id = Constants.SERIAL_PRIMARY_KEY_COLUMN - promis_sf_v10_fatigue_7a_complete = Column(Integer, ForeignKey("status.status_id")) + promis_sf_v10_fatigue_7a_complete = Column(Integer, + ForeignKey('status.status_id')) # Ignored multiline Field Name in Data Dictionary # Field Type: radio # Choices: 1, Never | 2, Rarely | 3, Sometimes | 4, Often | 5, Always diff --git a/src/vbr/tableclasses/redcap/autogenerated/promis_sf_v10_sleep_disturbance_6a_sleep_i.py b/src/vbr/tableclasses/redcap/autogenerated/promis_sf_v10_sleep_disturbance_6a_sleep_i.py index aee216e..d340b4f 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/promis_sf_v10_sleep_disturbance_6a_sleep_i.py +++ b/src/vbr/tableclasses/redcap/autogenerated/promis_sf_v10_sleep_disturbance_6a_sleep_i.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.453538 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.868553 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapPromisSfV10SleepDisturbance6ASleepI"] +__all__ = ['RcapPromisSfV10SleepDisturbance6ASleepI'] class RcapPromisSfV10SleepDisturbance6ASleepI(RcapTable): - """Promis Sf V10 Sleep Disturbance 6A Sleep I""" - - __redcap_form_name = "promis_sf_v10_sleep_disturbance_6a_sleep_i" + """Promis Sf V10 Sleep Disturbance 6A Sleep I + """ + __redcap_form_name = 'promis_sf_v10_sleep_disturbance_6a_sleep_i' promis_sf_v10_sleep_disturbance_6a_sleep_i_id = Constants.SERIAL_PRIMARY_KEY_COLUMN promis_sf_v10_sleep_disturbance_6a_sleep_i_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Ignored multiline Field Name in Data Dictionary # Field Type: radio # Choices: 5, Not at all | 4, A little bit | 3, Somewhat | 2, Quite a bit | 1, Very much diff --git a/src/vbr/tableclasses/redcap/autogenerated/promis_sf_v12_physical_function_8b.py b/src/vbr/tableclasses/redcap/autogenerated/promis_sf_v12_physical_function_8b.py index 17f7e9e..69e449a 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/promis_sf_v12_physical_function_8b.py +++ b/src/vbr/tableclasses/redcap/autogenerated/promis_sf_v12_physical_function_8b.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.451164 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.867183 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapPromisSfV12PhysicalFunction8B"] +__all__ = ['RcapPromisSfV12PhysicalFunction8B'] class RcapPromisSfV12PhysicalFunction8B(RcapTable): - """Promis Sf V12 Physical Function 8B""" - - __redcap_form_name = "promis_sf_v12_physical_function_8b" + """Promis Sf V12 Physical Function 8B + """ + __redcap_form_name = 'promis_sf_v12_physical_function_8b' promis_sf_v12_physical_function_8b_id = Constants.SERIAL_PRIMARY_KEY_COLUMN promis_sf_v12_physical_function_8b_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Are you able to do chores such as vacuuming or yard work? # Field Type: radio # Choices: 5, Without any difficulty | 4, With a little difficulty | 3, With some difficulty | 2, With much difficulty | 1, Unable to do diff --git a/src/vbr/tableclasses/redcap/autogenerated/promis_sf_v20_emotional_support_6a.py b/src/vbr/tableclasses/redcap/autogenerated/promis_sf_v20_emotional_support_6a.py index 365da00..9e38250 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/promis_sf_v20_emotional_support_6a.py +++ b/src/vbr/tableclasses/redcap/autogenerated/promis_sf_v20_emotional_support_6a.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.472579 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.879876 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapPromisSfV20EmotionalSupport6A"] +__all__ = ['RcapPromisSfV20EmotionalSupport6A'] class RcapPromisSfV20EmotionalSupport6A(RcapTable): - """Promis Sf V20 Emotional Support 6A""" - - __redcap_form_name = "promis_sf_v20_emotional_support_6a" + """Promis Sf V20 Emotional Support 6A + """ + __redcap_form_name = 'promis_sf_v20_emotional_support_6a' promis_sf_v20_emotional_support_6a_id = Constants.SERIAL_PRIMARY_KEY_COLUMN promis_sf_v20_emotional_support_6a_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # I have someone who will listen to me when I need to talk # Field Type: radio # Choices: 1, Never | 2, Rarely | 3, Sometimes | 4, Usually | 5, Always diff --git a/src/vbr/tableclasses/redcap/autogenerated/promis_sf_v20_informational_support_6a.py b/src/vbr/tableclasses/redcap/autogenerated/promis_sf_v20_informational_support_6a.py index ccaedb7..44ab9de 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/promis_sf_v20_informational_support_6a.py +++ b/src/vbr/tableclasses/redcap/autogenerated/promis_sf_v20_informational_support_6a.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.475396 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.881587 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapPromisSfV20InformationalSupport6A"] +__all__ = ['RcapPromisSfV20InformationalSupport6A'] class RcapPromisSfV20InformationalSupport6A(RcapTable): - """Promis Sf V20 Informational Support 6A""" - - __redcap_form_name = "promis_sf_v20_informational_support_6a" + """Promis Sf V20 Informational Support 6A + """ + __redcap_form_name = 'promis_sf_v20_informational_support_6a' promis_sf_v20_informational_support_6a_id = Constants.SERIAL_PRIMARY_KEY_COLUMN promis_sf_v20_informational_support_6a_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Do you have someone to help you if you are confined to bed? # Field Type: radio # Choices: 1, Never | 2, Rarely | 3, Sometimes | 4, Usually | 5, Always diff --git a/src/vbr/tableclasses/redcap/autogenerated/qst_mcc1_v03.py b/src/vbr/tableclasses/redcap/autogenerated/qst_mcc1_v03.py index 92aeeb3..d249294 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/qst_mcc1_v03.py +++ b/src/vbr/tableclasses/redcap/autogenerated/qst_mcc1_v03.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.551949 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.914299 by redcap_classfiles.py """ from ....pgrest import * @@ -7,267 +7,15 @@ from ..rcaptable import RcapTable -__all__ = ["RcapQstMcc1V03"] +__all__ = ['RcapQstMcc1V03'] class RcapQstMcc1V03(RcapTable): - """Qst Mcc1 V03""" - - __redcap_form_name = "qst_mcc1_v03" + """Qst Mcc1 V03 + """ + __redcap_form_name = 'qst_mcc1_v03' qst_mcc1_v03_id = Constants.SERIAL_PRIMARY_KEY_COLUMN - qst_mcc1_v03_complete = Column(Integer, ForeignKey("status.status_id")) - # Location of greater knee pain(index site) - # Field Type: radio - # Choices: 1, medial | 2, lateral | 3, equal - pptpainlocation = Column(Integer, nullable=True, comments=None) - # Rep 1 - # Field Type: text - # Choices: N/A - pptremote1val = Column(String, nullable=True, comments=None) - # Rep 1: (double entry) - # Field Type: text - # Choices: N/A - pptremote1val1 = Column(String, nullable=True, comments=None) - # Rep 2 - # Field Type: text - # Choices: N/A - pptremote2val = Column(String, nullable=True, comments=None) - # Rep 2: (double entry) - # Field Type: text - # Choices: N/A - pptremote2val1 = Column(String, nullable=True, comments=None) - # Rep 3 - # Field Type: text - # Choices: N/A - pptremote3val = Column(String, nullable=True, comments=None) - # Rep 3: (double entry) - # Field Type: text - # Choices: N/A - pptremote3val1 = Column(String, nullable=True, comments=None) - # Rep 1 - # Field Type: text - # Choices: N/A - pptindex1val = Column(String, nullable=True, comments=None) - # Rep 1: (double entry) - # Field Type: text - # Choices: N/A - pptindex1val1 = Column(String, nullable=True, comments=None) - # Rep 2 - # Field Type: text - # Choices: N/A - pptindex2val = Column(String, nullable=True, comments=None) - # Rep 2: (double entry) - # Field Type: text - # Choices: N/A - pptindex2val1 = Column(String, nullable=True, comments=None) - # Rep 3 - # Field Type: text - # Choices: N/A - pptindex3val = Column(String, nullable=True, comments=None) - # Rep 3: (double entry) - # Field Type: text - # Choices: N/A - pptindex3val1 = Column(String, nullable=True, comments=None) - # Test completed? - # Field Type: radio - # Choices: 1, yes, both sites | 2, only remote (shoulder) | 3, only index (chest) | 0, no, neither site - pptcompleteyn = Column(Integer, nullable=True, comments=None) - # Additional notes for baseline PPTs - # Field Type: notes - # Choices: N/A - pptnotes = Column(FreeText, nullable=True, comments=None) - # Initial Pain Rating - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsrep1initialpainrem = Column(Numeric, nullable=True, comments=None) - # Initial Pain Rating: (double entry) - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsrep1initialpainrem_d = Column(Numeric, nullable=True, comments=None) - # Final Pain Rating - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsrep1finalpainrem = Column(Numeric, nullable=True, comments=None) - # Final Pain Rating: (double entry) - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsrep1finalpainrem_d = Column(Numeric, nullable=True, comments=None) - # Initial Pain Rating - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsrep2initialpainrem = Column(Numeric, nullable=True, comments=None) - # Initial Pain Rating: (double entry) - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsrep2initialpainrem_d = Column(Numeric, nullable=True, comments=None) - # Final Pain Rating - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsrep2finalpainrem = Column(Numeric, nullable=True, comments=None) - # Final Pain Rating: (double entry) - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsrep2finalpainrem_d = Column(Numeric, nullable=True, comments=None) - # Initial Pain Rating - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsinitialpainremsclr3 = Column(Numeric, nullable=True, comments=None) - # Initial Pain Rating: (double entry) - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsinitialpainremscl1r3 = Column(Numeric, nullable=True, comments=None) - # Final Pain Rating - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsfinalpainremsclr3 = Column(Numeric, nullable=True, comments=None) - # Final Pain Rating: (double entry) - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsfinalpainremscl1r3 = Column(Numeric, nullable=True, comments=None) - # Remote After-sensations: 15 sec - # Field Type: text - # Choices: N/A - tsfinalpainremafts15 = Column(String, nullable=True, comments=None) - # (single entry) 30 sec - # Field Type: text - # Choices: N/A - tsfinalpainremafts30 = Column(String, nullable=True, comments=None) - # Initial Pain Rating - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsrep1initialpainindex = Column(Numeric, nullable=True, comments=None) - # Initial Pain Rating: (double entry) - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsrep1initialpainindex_d = Column(Numeric, nullable=True, comments=None) - # Final Pain Rating - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsrep1finalpainindex = Column(Numeric, nullable=True, comments=None) - # Final Pain Rating: (double entry) - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsrep1finalpainindex_d = Column(Numeric, nullable=True, comments=None) - # Initial Pain Rating - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsinitialpainindexsclr2 = Column(Numeric, nullable=True, comments=None) - # Initial Pain Rating: (double entry) - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsinitialpainindexscl1r2 = Column(Numeric, nullable=True, comments=None) - # Final Pain Rating - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsfinalpainindexsclr2 = Column(Numeric, nullable=True, comments=None) - # Final Pain Rating: (double entry) - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsfinalpainindexscl1r2 = Column(Numeric, nullable=True, comments=None) - # Initial Pain Rating - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsinitialpainindexsclr3 = Column(Numeric, nullable=True, comments=None) - # Initial Pain Rating: (double entry) - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsinitialpainindexscl1r3 = Column(Numeric, nullable=True, comments=None) - # Final Pain Rating - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsfinalpainindexsclr3 = Column(Numeric, nullable=True, comments=None) - # Final Pain Rating: (double entry) - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - tsfinalpainindexscl1r3 = Column(Numeric, nullable=True, comments=None) - # Index After-sensations: 15 sec - # Field Type: text - # Choices: N/A - tsfinalpainindafts15 = Column(String, nullable=True, comments=None) - # (single entry) 30 sec - # Field Type: text - # Choices: N/A - tsfinalpainindafts30 = Column(String, nullable=True, comments=None) - # Test completed? - # Field Type: radio - # Choices: 1, yes, at least 1 repetition for both sites | 2, only remote (shoulder) | 3, only index (chest) | 0, no, neither site - tscompleted = Column(Integer, nullable=True, comments=None) - # Additional notes for Temporal Summation - # Field Type: notes - # Choices: N/A - tsnotes = Column(FreeText, nullable=True, comments=None) - # Confirm water temp 10 deg C (+/-1 deg) - # Field Type: radio - # Choices: 1, Yes | 0, No - cpmcoldwatertempc = Column(Boolean, nullable=True, comments=None) - # Cold Water Pain Rating at 30 sec - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - cpmcoldwaterpain30sscl = Column(Numeric, nullable=True, comments=None) - # Cold Water Pain Rating at 30 sec: (double entry) - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - cpmcoldwaterpain30sscl1 = Column(Numeric, nullable=True, comments=None) - # Cold Water Pain Rating at 60 sec - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - cpmcoldwaterpain60sscl = Column(Numeric, nullable=True, comments=None) - # Cold Water Pain Rating at 60 sec: (double entry) - # Field Type: dropdown - # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 - cpmcoldwaterpain60sscl1 = Column(Numeric, nullable=True, comments=None) - # Water bath duration? - # Field Type: radio - # Choices: 1, Standard range (60sec +/- 5 sec) | 2, Outside of range: < 55sec or > 65 sec - cpmbathrangeyn = Column(Integer, nullable=True, comments=None) - # If outside of range, enter time (sec) - # Field Type: text - # Choices: N/A - cpmoutrangetime = Column(String, nullable=True, comments=None) - # Rep 1 - # Field Type: text - # Choices: N/A - cpmppt1val = Column(String, nullable=True, comments=None) - # Rep 1: (double entry) - # Field Type: text - # Choices: N/A - cpmppt1val1 = Column(String, nullable=True, comments=None) - # Rep 2 - # Field Type: text - # Choices: N/A - cpmppt2val = Column(String, nullable=True, comments=None) - # Rep 2: (double entry) - # Field Type: text - # Choices: N/A - cpmppt2val1 = Column(String, nullable=True, comments=None) - # Rep 3 - # Field Type: text - # Choices: N/A - cpmppt3val = Column(String, nullable=True, comments=None) - # Rep 3: (double entry) - # Field Type: text - # Choices: N/A - cpmppt3val1 = Column(String, nullable=True, comments=None) - # Test Completed - # Field Type: yesno - # Choices: N/A - cpmcompleteyn = Column(Boolean, nullable=True, comments=None) - # Additional notes for Conditioned Pain Modulation - # Field Type: notes - # Choices: N/A - cpmnotes = Column(FreeText, nullable=True, comments=None) - # Cuff pressure contraindicated - # Field Type: radio - # Choices: 1, Yes | 0, No - fmricuffcontrayn = Column(Boolean, nullable=True, comments=None) - # Calf pressure, contralateral calf, Pressure 1 - # Field Type: text - # Choices: N/A - fmricuffcalfpressure = Column(String, nullable=True, comments=None) - # Calf pressure, contralateral calf, Pressure 1: (double entry) - # Field Type: text - # Choices: N/A - fmricuffcalfpressure2 = Column(String, nullable=True, comments=None) + qst_mcc1_v03_complete = Column(Integer, ForeignKey('status.status_id')) # New chest pain since surgery? # Field Type: radio # Choices: 1, Yes | 0, No @@ -476,22 +224,30 @@ class RcapQstMcc1V03(RcapTable): # Field Type: dropdown # Choices: 0.0, 0.0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10.0, 10.0 dmaptindxr5pain_d = Column(Numeric, nullable=True, comments=None) - # Patient-Specific site assessed? + # Ignored multiline Field Name in Data Dictionary # Field Type: radio - # Choices: 1, 1. No, no new pain site or < 4 cm from standardized site | 2, 2. Yes, tested pt-specific site - dmaptspecsite = Column(Integer, nullable=True, comments=None) + # Choices: 1, 1. No, Pain site or < 4 cm from standardized site | 2, 2. Yes, tested pt-specific site | 3, 3. Yes, tested 2 cm below most anterior scar + dmaptspecsite_3m = Column(Integer, nullable=True, comments=None) # Sensation comparison patient-specific site # Field Type: radio # Choices: 1, 1. Equal on both sides | 2, 2. Stronger on surgery side | 3, 3. Stronger on contralateral side dmaptsenscompare = Column(Integer, nullable=True, comments=None) - # DMA Test(s) completed + # 24A. DMA Test(s) completed # Field Type: radio - # Choices: 1, Yes, all 4 sites | 2, Yes, but only some sites | 0, None + # Choices: 1, Yes, all sites | 2, Yes, but only some sites | 0, None dmatestcompyn = Column(Integer, nullable=True, comments=None) - # Choose all completed sites + # 24B. DMA Test(s) completed + # Field Type: radio + # Choices: 1, Yes, all 4 sites | 2, Yes, but only some sites | 0, None + dmatestcompyn_3m = Column(Integer, nullable=True, comments=None) + # Ignored multiline Field Name in Data Dictionary # Field Type: checkbox - # Choices: 1, 1. Standardized control site (contralateral) | 2, 2. Standardized index site (surgical) | 3, 3. Patient specific control site (contralateral) | 4, 4. Patient specific index site (surgical) + # Choices: 1, 1. Standardized control site (contralateral) | 2, 2. Standardized index site (surgical) dmatestcompwhich = Column(Integer, nullable=True, comments=None) + # Ignored multiline Field Name in Data Dictionary + # Field Type: checkbox + # Choices: 1, 1. Standardized control site (contralateral) | 2, 2. Standardized index site (surgical) | 3, 3. Patient specific control site (contralateral) | 4, 4. Patient specific index site (surgical) + dmatestcompwhich_3m = Column(Integer, nullable=True, comments=None) # Additional notes for DMA # Field Type: notes # Choices: N/A @@ -520,6 +276,14 @@ class RcapQstMcc1V03(RcapTable): # Field Type: text # Choices: N/A pptindxr3val_d = Column(String, nullable=True, comments=None) + # Test completed + # Field Type: radio + # Choices: 1, yes, both sites | 2, only remote (shoulder) | 3, only index (knee) | 0, no, neither site + pptcompleteyn = Column(Integer, nullable=True, comments=None) + # Additional notes for baseline PPTs + # Field Type: notes + # Choices: N/A + pptnotes = Column(FreeText, nullable=True, comments=None) # Initial Pain Rating # Field Type: dropdown # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 @@ -632,6 +396,14 @@ class RcapQstMcc1V03(RcapTable): # Field Type: dropdown # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 tsindxafter30 = Column(Numeric, nullable=True, comments=None) + # Test completed + # Field Type: radio + # Choices: 1, yes, at least 1 repetition for both sites | 2, only remote (shoulder) | 3, only index (knee) | 0, no, neither site + tscompleted = Column(Integer, nullable=True, comments=None) + # Additional notes for Temporal Summation + # Field Type: notes + # Choices: N/A + tsnotes = Column(FreeText, nullable=True, comments=None) # Confirm water temp 10 deg C (+/-1 deg) # Field Type: radio # Choices: 1, Yes | 0, No @@ -652,6 +424,14 @@ class RcapQstMcc1V03(RcapTable): # Field Type: dropdown # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 cpmcoldwaterpain60_d = Column(Numeric, nullable=True, comments=None) + # Water bath duration? + # Field Type: radio + # Choices: 1, Standard range (60sec +/- 5 sec) | 2, Outside of range: < 55sec or > 65 sec + cpmbathrangeyn = Column(Integer, nullable=True, comments=None) + # If outside of range, enter time (sec) + # Field Type: text + # Choices: N/A + cpmoutrangetime = Column(String, nullable=True, comments=None) # Rep 1 # Field Type: text # Choices: N/A @@ -676,19 +456,255 @@ class RcapQstMcc1V03(RcapTable): # Field Type: text # Choices: N/A cpmpptremr3val_d = Column(String, nullable=True, comments=None) - # Cuff pressure contraindicated + # Test Completed + # Field Type: yesno + # Choices: N/A + cpmcompleteyn = Column(Boolean, nullable=True, comments=None) + # Additional notes for Conditioned Pain Modulation + # Field Type: notes + # Choices: N/A + cpmnotes = Column(FreeText, nullable=True, comments=None) + # Which leg is non-dominant? + # Field Type: radio + # Choices: 1, Right | 2, Left + cuffpfmrinondomleg = Column(Integer, nullable=True, comments=None) + # Cuff pressure contraindicated on non-dominant leg # Field Type: radio # Choices: 1, Yes | 0, No cuffpfmricontraindyn = Column(Boolean, nullable=True, comments=None) - # Which leg is non-dominant? + # Cuff pressure contraindicated on dominant leg + # Field Type: radio + # Choices: 1, Yes | 0, No + cuffpfmricontrainddomyn = Column(Boolean, nullable=True, comments=None) + # Ignored multiline Field Name in Data Dictionary # Field Type: radio # Choices: 1, Right | 2, Left - cuffpfmrinondomleg = Column(Integer, nullable=True, comments=None) - # Calf of non-dominant leg pressure + cuffappliedto = Column(Integer, nullable=True, comments=None) + # Calf pressure # Field Type: text # Choices: N/A cuffpfmripressure = Column(String, nullable=True, comments=None) - # Calf of non-dominant leg pressure 1: (double entry) + # Calf pressure: (double entry) # Field Type: text # Choices: N/A cuffpfmripressure_d = Column(String, nullable=True, comments=None) + # Location of greater knee pain(index site) + # Field Type: radio + # Choices: 1, medial | 2, lateral | 3, equal + pptpainlocation = Column(Integer, nullable=True, comments=None) + # Rep 1 + # Field Type: text + # Choices: N/A + pptremote1val = Column(String, nullable=True, comments=None) + # Rep 1: (double entry) + # Field Type: text + # Choices: N/A + pptremote1val1 = Column(String, nullable=True, comments=None) + # Rep 2 + # Field Type: text + # Choices: N/A + pptremote2val = Column(String, nullable=True, comments=None) + # Rep 2: (double entry) + # Field Type: text + # Choices: N/A + pptremote2val1 = Column(String, nullable=True, comments=None) + # Rep 3 + # Field Type: text + # Choices: N/A + pptremote3val = Column(String, nullable=True, comments=None) + # Rep 3: (double entry) + # Field Type: text + # Choices: N/A + pptremote3val1 = Column(String, nullable=True, comments=None) + # Rep 1 + # Field Type: text + # Choices: N/A + pptindex1val = Column(String, nullable=True, comments=None) + # Rep 1: (double entry) + # Field Type: text + # Choices: N/A + pptindex1val1 = Column(String, nullable=True, comments=None) + # Rep 2 + # Field Type: text + # Choices: N/A + pptindex2val = Column(String, nullable=True, comments=None) + # Rep 2: (double entry) + # Field Type: text + # Choices: N/A + pptindex2val1 = Column(String, nullable=True, comments=None) + # Rep 3 + # Field Type: text + # Choices: N/A + pptindex3val = Column(String, nullable=True, comments=None) + # Rep 3: (double entry) + # Field Type: text + # Choices: N/A + pptindex3val1 = Column(String, nullable=True, comments=None) + # Initial Pain Rating + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsrep1initialpainrem = Column(Numeric, nullable=True, comments=None) + # Initial Pain Rating: (double entry) + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsrep1initialpainrem_d = Column(Numeric, nullable=True, comments=None) + # Final Pain Rating + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsrep1finalpainrem = Column(Numeric, nullable=True, comments=None) + # Final Pain Rating: (double entry) + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsrep1finalpainrem_d = Column(Numeric, nullable=True, comments=None) + # Initial Pain Rating + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsrep2initialpainrem = Column(Numeric, nullable=True, comments=None) + # Initial Pain Rating: (double entry) + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsrep2initialpainrem_d = Column(Numeric, nullable=True, comments=None) + # Final Pain Rating + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsrep2finalpainrem = Column(Numeric, nullable=True, comments=None) + # Final Pain Rating: (double entry) + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsrep2finalpainrem_d = Column(Numeric, nullable=True, comments=None) + # Initial Pain Rating + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsinitialpainremsclr3 = Column(Numeric, nullable=True, comments=None) + # Initial Pain Rating: (double entry) + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsinitialpainremscl1r3 = Column(Numeric, nullable=True, comments=None) + # Final Pain Rating + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsfinalpainremsclr3 = Column(Numeric, nullable=True, comments=None) + # Final Pain Rating: (double entry) + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsfinalpainremscl1r3 = Column(Numeric, nullable=True, comments=None) + # Remote After-sensations: 15 sec + # Field Type: text + # Choices: N/A + tsfinalpainremafts15 = Column(String, nullable=True, comments=None) + # (single entry) 30 sec + # Field Type: text + # Choices: N/A + tsfinalpainremafts30 = Column(String, nullable=True, comments=None) + # Initial Pain Rating + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsrep1initialpainindex = Column(Numeric, nullable=True, comments=None) + # Initial Pain Rating: (double entry) + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsrep1initialpainindex_d = Column(Numeric, nullable=True, comments=None) + # Final Pain Rating + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsrep1finalpainindex = Column(Numeric, nullable=True, comments=None) + # Final Pain Rating: (double entry) + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsrep1finalpainindex_d = Column(Numeric, nullable=True, comments=None) + # Initial Pain Rating + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsinitialpainindexsclr2 = Column(Numeric, nullable=True, comments=None) + # Initial Pain Rating: (double entry) + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsinitialpainindexscl1r2 = Column(Numeric, nullable=True, comments=None) + # Final Pain Rating + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsfinalpainindexsclr2 = Column(Numeric, nullable=True, comments=None) + # Final Pain Rating: (double entry) + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsfinalpainindexscl1r2 = Column(Numeric, nullable=True, comments=None) + # Initial Pain Rating + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsinitialpainindexsclr3 = Column(Numeric, nullable=True, comments=None) + # Initial Pain Rating: (double entry) + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsinitialpainindexscl1r3 = Column(Numeric, nullable=True, comments=None) + # Final Pain Rating + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsfinalpainindexsclr3 = Column(Numeric, nullable=True, comments=None) + # Final Pain Rating: (double entry) + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + tsfinalpainindexscl1r3 = Column(Numeric, nullable=True, comments=None) + # Index After-sensations: 15 sec + # Field Type: text + # Choices: N/A + tsfinalpainindafts15 = Column(String, nullable=True, comments=None) + # (single entry) 30 sec + # Field Type: text + # Choices: N/A + tsfinalpainindafts30 = Column(String, nullable=True, comments=None) + # Confirm water temp 10 deg C (+/-1 deg) + # Field Type: radio + # Choices: 1, Yes | 0, No + cpmcoldwatertempc = Column(Boolean, nullable=True, comments=None) + # Cold Water Pain Rating at 30 sec + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + cpmcoldwaterpain30sscl = Column(Numeric, nullable=True, comments=None) + # Cold Water Pain Rating at 30 sec: (double entry) + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + cpmcoldwaterpain30sscl1 = Column(Numeric, nullable=True, comments=None) + # Cold Water Pain Rating at 60 sec + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + cpmcoldwaterpain60sscl = Column(Numeric, nullable=True, comments=None) + # Cold Water Pain Rating at 60 sec: (double entry) + # Field Type: dropdown + # Choices: 0, 0 | 0.5, 0.5 | 1.0, 1.0 | 1.5, 1.5 | 2.0, 2.0 | 2.5, 2.5 | 3.0, 3.0 | 3.5, 3.5 | 4.0, 4.0 | 4.5, 4.5 | 5.0, 5.0 | 5.5, 5.5 | 6.0, 6.0 | 6.5, 6.5 | 7.0, 7.0 | 7.5, 7.5 | 8.0, 8.0 | 8.5, 8.5 | 9.0, 9.0 | 9.5, 9.5 | 10, 10 + cpmcoldwaterpain60sscl1 = Column(Numeric, nullable=True, comments=None) + # Rep 1 + # Field Type: text + # Choices: N/A + cpmppt1val = Column(String, nullable=True, comments=None) + # Rep 1: (double entry) + # Field Type: text + # Choices: N/A + cpmppt1val1 = Column(String, nullable=True, comments=None) + # Rep 2 + # Field Type: text + # Choices: N/A + cpmppt2val = Column(String, nullable=True, comments=None) + # Rep 2: (double entry) + # Field Type: text + # Choices: N/A + cpmppt2val1 = Column(String, nullable=True, comments=None) + # Rep 3 + # Field Type: text + # Choices: N/A + cpmppt3val = Column(String, nullable=True, comments=None) + # Rep 3: (double entry) + # Field Type: text + # Choices: N/A + cpmppt3val1 = Column(String, nullable=True, comments=None) + # Cuff pressure contraindicated + # Field Type: radio + # Choices: 1, Yes | 0, No + fmricuffcontrayn = Column(Boolean, nullable=True, comments=None) + # Calf pressure, contralateral calf, Pressure 1 + # Field Type: text + # Choices: N/A + fmricuffcalfpressure = Column(String, nullable=True, comments=None) + # Calf pressure, contralateral calf, Pressure 1: (double entry) + # Field Type: text + # Choices: N/A + fmricuffcalfpressure2 = Column(String, nullable=True, comments=None) diff --git a/src/vbr/tableclasses/redcap/autogenerated/rapid_assessment_of_physical_activity_v10_rapa.py b/src/vbr/tableclasses/redcap/autogenerated/rapid_assessment_of_physical_activity_v10_rapa.py index fb2f163..3d92358 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/rapid_assessment_of_physical_activity_v10_rapa.py +++ b/src/vbr/tableclasses/redcap/autogenerated/rapid_assessment_of_physical_activity_v10_rapa.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.514671 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.899379 by redcap_classfiles.py """ from ....pgrest import * @@ -7,19 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapRapidAssessmentOfPhysicalActivityV10Rapa"] +__all__ = ['RcapRapidAssessmentOfPhysicalActivityV10Rapa'] class RcapRapidAssessmentOfPhysicalActivityV10Rapa(RcapTable): - """Rapid Assessment Of Physical Activity V10 Rapa""" - - __redcap_form_name = "rapid_assessment_of_physical_activity_v10_rapa" - rapid_assessment_of_physical_activity_v10_rapa_id = ( - Constants.SERIAL_PRIMARY_KEY_COLUMN - ) + """Rapid Assessment Of Physical Activity V10 Rapa + """ + __redcap_form_name = 'rapid_assessment_of_physical_activity_v10_rapa' + rapid_assessment_of_physical_activity_v10_rapa_id = Constants.SERIAL_PRIMARY_KEY_COLUMN rapid_assessment_of_physical_activity_v10_rapa_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # I rarely or never do any physical activities. Does this accur... # Field Type: radio # Choices: 1, Yes | 0, No diff --git a/src/vbr/tableclasses/redcap/autogenerated/reportable_eventdeviation_v03.py b/src/vbr/tableclasses/redcap/autogenerated/reportable_eventdeviation_v03.py index 22abc1a..e77cb4c 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/reportable_eventdeviation_v03.py +++ b/src/vbr/tableclasses/redcap/autogenerated/reportable_eventdeviation_v03.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.581971 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.932346 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapReportableEventdeviationV03"] +__all__ = ['RcapReportableEventdeviationV03'] class RcapReportableEventdeviationV03(RcapTable): - """Reportable Eventdeviation V03""" - - __redcap_form_name = "reportable_eventdeviation_v03" + """Reportable Eventdeviation V03 + """ + __redcap_form_name = 'reportable_eventdeviation_v03' reportable_eventdeviation_v03_id = Constants.SERIAL_PRIMARY_KEY_COLUMN reportable_eventdeviation_v03_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Date of Report Entry (local time) # Field Type: text # Choices: N/A @@ -26,10 +25,6 @@ class RcapReportableEventdeviationV03(RcapTable): # Field Type: text # Choices: N/A erep_submit_user = Column(String, nullable=True, comments=None) - # Date of adverse event - # Field Type: text - # Choices: N/A - erep_ae_date = Column(String, nullable=True, comments=None) # Staff/Investigator initials # Field Type: text # Choices: N/A @@ -38,7 +33,7 @@ class RcapReportableEventdeviationV03(RcapTable): # Field Type: radio # Choices: 1, Informed Consent | 2, Baseline (pre-surgery) | 3, 6-weeks post-surgery | 4, 3-months post-surgery | 5, 6-months post surgery | 6, Other or N/A erep_visit_inv = Column(Integer, nullable=True, comments=None) - # Unanticipated Problem? + # A Reportable Event? # Field Type: radio # Choices: 1, Yes | 0, No erep_unant_prob = Column(Boolean, nullable=True, comments=None) @@ -46,6 +41,10 @@ class RcapReportableEventdeviationV03(RcapTable): # Field Type: radio # Choices: 1, Yes | 0, No erep_ae_yn = Column(Boolean, nullable=True, comments=None) + # Date of adverse event + # Field Type: text + # Choices: N/A + erep_ae_date = Column(String, nullable=True, comments=None) # Date of Adverse event onset # Field Type: text # Choices: N/A @@ -96,7 +95,7 @@ class RcapReportableEventdeviationV03(RcapTable): erep_prot_dev = Column(Boolean, nullable=True, comments=None) # Type of deviation # Field Type: radio - # Choices: 1, Informed Consent | 2, Protocol Deviation-blood drawo | 3, Protocol Deviation-functional testing | 4, Protocol Deviation-QST | 5, Protocol Deviation-imaging | 6, Visit timeline (outside protocol range) | 7, Other + # Choices: 1, Informed Consent | 2, Protocol Deviation-blood drawo | 3, Protocol Deviation-functional testing | 4, Protocol Deviation-QST | 5, Protocol Deviation-imaging | 6, Timeline (outside protocol range) | 7, Other erep_protdev_type = Column(Integer, nullable=True, comments=None) # Description of deviation # Field Type: notes @@ -116,8 +115,12 @@ class RcapReportableEventdeviationV03(RcapTable): erep_add_doc_yn = Column(Boolean, nullable=True, comments=None) # If yes, where? # Field Type: checkbox - # Choices: 1, Electronic Medical Record | 2, Document uploaded to REDCap + # Choices: 1, Electronic Medical Record | 2, Document(s) uploaded to REDCap erep_whereavail = Column(Integer, nullable=True, comments=None) + # Additional information or comments + # Field Type: notes + # Choices: N/A + erep_addinfo = Column(FreeText, nullable=True, comments=None) # Upload File #1: Description # Field Type: text # Choices: N/A @@ -166,7 +169,3 @@ class RcapReportableEventdeviationV03(RcapTable): # Field Type: text # Choices: N/A erep_file_descript_12 = Column(String, nullable=True, comments=None) - # Additional information or comments - # Field Type: notes - # Choices: N/A - erep_addinfo = Column(FreeText, nullable=True, comments=None) diff --git a/src/vbr/tableclasses/redcap/autogenerated/selfadministered_comorbidity_questionnaire_v4_scq.py b/src/vbr/tableclasses/redcap/autogenerated/selfadministered_comorbidity_questionnaire_v4_scq.py index 4834d74..ab1a2a8 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/selfadministered_comorbidity_questionnaire_v4_scq.py +++ b/src/vbr/tableclasses/redcap/autogenerated/selfadministered_comorbidity_questionnaire_v4_scq.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.530869 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.905319 by redcap_classfiles.py """ from ....pgrest import * @@ -7,19 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapSelfadministeredComorbidityQuestionnaireV4Scq"] +__all__ = ['RcapSelfadministeredComorbidityQuestionnaireV4Scq'] class RcapSelfadministeredComorbidityQuestionnaireV4Scq(RcapTable): - """Selfadministered Comorbidity Questionnaire V4 Scq""" - - __redcap_form_name = "selfadministered_comorbidity_questionnaire_v4_scq" - selfadministered_comorbidity_questionnaire_v4_scq_id = ( - Constants.SERIAL_PRIMARY_KEY_COLUMN - ) + """Selfadministered Comorbidity Questionnaire V4 Scq + """ + __redcap_form_name = 'selfadministered_comorbidity_questionnaire_v4_scq' + selfadministered_comorbidity_questionnaire_v4_scq_id = Constants.SERIAL_PRIMARY_KEY_COLUMN selfadministered_comorbidity_questionnaire_v4_scq_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Do you have heart disease? # Field Type: radio # Choices: 0, No | 1, Yes diff --git a/src/vbr/tableclasses/redcap/autogenerated/study_visit_feedback_v03.py b/src/vbr/tableclasses/redcap/autogenerated/study_visit_feedback_v03.py index e9e641d..5eeb895 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/study_visit_feedback_v03.py +++ b/src/vbr/tableclasses/redcap/autogenerated/study_visit_feedback_v03.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.575877 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.928093 by redcap_classfiles.py """ from ....pgrest import * @@ -7,15 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapStudyVisitFeedbackV03"] +__all__ = ['RcapStudyVisitFeedbackV03'] class RcapStudyVisitFeedbackV03(RcapTable): - """Study Visit Feedback V03""" - - __redcap_form_name = "study_visit_feedback_v03" + """Study Visit Feedback V03 + """ + __redcap_form_name = 'study_visit_feedback_v03' study_visit_feedback_v03_id = Constants.SERIAL_PRIMARY_KEY_COLUMN - study_visit_feedback_v03_complete = Column(Integer, ForeignKey("status.status_id")) + study_visit_feedback_v03_complete = Column(Integer, + ForeignKey('status.status_id')) # Do you have any feedback about today's visit, good or bad, th... # Field Type: radio # Choices: 0, No | 1, Yes @@ -38,20 +39,36 @@ class RcapStudyVisitFeedbackV03(RcapTable): svf_surveys_comments = Column(FreeText, nullable=True, comments=None) # Field Name was empty in Data Dictionary # Field Type: checkbox - # Choices: 1, 6m walk /sit-to-stand tests - svf_walksts = Column(Boolean, nullable=True, comments=None) + # Choices: 1, Coughing and deep breathing test + svf_cgh_dbr = Column(Boolean, nullable=True, comments=None) # Field Name was empty in Data Dictionary # Field Type: radio - # Choices: 1, Too long | 2, Too painful | 3, Confusing / Not enough explanation | 10, Other - svf_walksts_fb = Column(Integer, nullable=True, comments=None) + # Choices: 1, Too long | 3, Confusing / Not enough explanation | 10, Other + svf_cgh_dbr_fb = Column(Integer, nullable=True, comments=None) # Other, specify # Field Type: text # Choices: N/A - svf_walksts_other = Column(String, nullable=True, comments=None) + svf_cgh_dbr_other = Column(String, nullable=True, comments=None) # Comments # Field Type: notes # Choices: N/A - svf_walksts_comments = Column(FreeText, nullable=True, comments=None) + svf_cgh_dbr_comments = Column(FreeText, nullable=True, comments=None) + # Field Name was empty in Data Dictionary + # Field Type: checkbox + # Choices: 1, Allodynia test + svf_allodynia = Column(Boolean, nullable=True, comments=None) + # Field Name was empty in Data Dictionary + # Field Type: radio + # Choices: 1, Too long | 3, Confusing / Not enough explanation | 10, Other + svf_allodynia_fb = Column(Integer, nullable=True, comments=None) + # Other, specify + # Field Type: text + # Choices: N/A + svf_allodynia_other = Column(String, nullable=True, comments=None) + # Comments + # Field Type: notes + # Choices: N/A + svf_allodynia_comments = Column(FreeText, nullable=True, comments=None) # Field Name was empty in Data Dictionary # Field Type: checkbox # Choices: 1, PPTs /Neuropen tests @@ -150,33 +167,17 @@ class RcapStudyVisitFeedbackV03(RcapTable): svf_general_comments = Column(FreeText, nullable=True, comments=None) # Field Name was empty in Data Dictionary # Field Type: checkbox - # Choices: 1, Coughing and deep breathing test - svf_cgh_dbr = Column(Boolean, nullable=True, comments=None) - # Field Name was empty in Data Dictionary - # Field Type: radio - # Choices: 1, Too long | 3, Confusing / Not enough explanation | 10, Other - svf_cgh_dbr_fb = Column(Integer, nullable=True, comments=None) - # Other, specify - # Field Type: text - # Choices: N/A - svf_cgh_dbr_other = Column(String, nullable=True, comments=None) - # Comments - # Field Type: notes - # Choices: N/A - svf_cgh_dbr_comments = Column(FreeText, nullable=True, comments=None) - # Field Name was empty in Data Dictionary - # Field Type: checkbox - # Choices: 1, Allodynia test - svf_allodynia = Column(Boolean, nullable=True, comments=None) + # Choices: 1, 6m walk /sit-to-stand tests + svf_walksts = Column(Boolean, nullable=True, comments=None) # Field Name was empty in Data Dictionary # Field Type: radio - # Choices: 1, Too long | 3, Confusing / Not enough explanation | 10, Other - svf_allodynia_fb = Column(Integer, nullable=True, comments=None) + # Choices: 1, Too long | 2, Too painful | 3, Confusing / Not enough explanation | 10, Other + svf_walksts_fb = Column(Integer, nullable=True, comments=None) # Other, specify # Field Type: text # Choices: N/A - svf_allodynia_other = Column(String, nullable=True, comments=None) + svf_walksts_other = Column(String, nullable=True, comments=None) # Comments # Field Type: notes # Choices: N/A - svf_allodynia_comments = Column(FreeText, nullable=True, comments=None) + svf_walksts_comments = Column(FreeText, nullable=True, comments=None) diff --git a/src/vbr/tableclasses/redcap/autogenerated/symptom_severity_index_v10_ssi.py b/src/vbr/tableclasses/redcap/autogenerated/symptom_severity_index_v10_ssi.py index d44b3c5..3502c3f 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/symptom_severity_index_v10_ssi.py +++ b/src/vbr/tableclasses/redcap/autogenerated/symptom_severity_index_v10_ssi.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.443345 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.861548 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapSymptomSeverityIndexV10Ssi"] +__all__ = ['RcapSymptomSeverityIndexV10Ssi'] class RcapSymptomSeverityIndexV10Ssi(RcapTable): - """Symptom Severity Index V10 Ssi""" - - __redcap_form_name = "symptom_severity_index_v10_ssi" + """Symptom Severity Index V10 Ssi + """ + __redcap_form_name = 'symptom_severity_index_v10_ssi' symptom_severity_index_v10_ssi_id = Constants.SERIAL_PRIMARY_KEY_COLUMN symptom_severity_index_v10_ssi_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Fatigue # Field Type: radio # Choices: 0, No problem | 1, Mild | 2, Moderate | 3, Severe @@ -31,18 +30,18 @@ class RcapSymptomSeverityIndexV10Ssi(RcapTable): # Choices: 0, No problem | 1, Mild | 2, Moderate | 3, Severe ssi_tired = Column(Integer, nullable=True, comments=None) # Have your problems with these symptoms been present for 3 mon... - # Field Type: yesno - # Choices: N/A + # Field Type: radio + # Choices: 1, Yes | 0, No ssi_chronicyn = Column(Boolean, nullable=True, comments=None) # Pain or cramps in the lower abdomen - # Field Type: yesno - # Choices: N/A + # Field Type: radio + # Choices: 1, Yes | 0, No ssi_abdpainyn = Column(Boolean, nullable=True, comments=None) # Depression - # Field Type: yesno - # Choices: N/A + # Field Type: radio + # Choices: 1, Yes | 0, No ssi_depressyn = Column(Boolean, nullable=True, comments=None) # Headache - # Field Type: yesno - # Choices: N/A + # Field Type: radio + # Choices: 1, Yes | 0, No ssi_headacheyn = Column(Boolean, nullable=True, comments=None) diff --git a/src/vbr/tableclasses/redcap/autogenerated/taps1.py b/src/vbr/tableclasses/redcap/autogenerated/taps1.py index 461a51a..3b81fad 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/taps1.py +++ b/src/vbr/tableclasses/redcap/autogenerated/taps1.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.483125 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.885818 by redcap_classfiles.py """ from ....pgrest import * @@ -7,15 +7,15 @@ from ..rcaptable import RcapTable -__all__ = ["RcapTaps1"] +__all__ = ['RcapTaps1'] class RcapTaps1(RcapTable): - """Taps1""" - - __redcap_form_name = "taps1" + """Taps1 + """ + __redcap_form_name = 'taps1' taps1_id = Constants.SERIAL_PRIMARY_KEY_COLUMN - taps1_complete = Column(Integer, ForeignKey("status.status_id")) + taps1_complete = Column(Integer, ForeignKey('status.status_id')) # In the PAST 12 MONTHS, how often have you used any tobacco pr... # Field Type: radio # Choices: 0, Daily or Almost Daily | 1, Weekly | 2, Monthly | 3, Less Than Monthly | 4, Never diff --git a/src/vbr/tableclasses/redcap/autogenerated/taps2.py b/src/vbr/tableclasses/redcap/autogenerated/taps2.py index 27443ff..d5292b9 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/taps2.py +++ b/src/vbr/tableclasses/redcap/autogenerated/taps2.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.485441 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.887186 by redcap_classfiles.py """ from ....pgrest import * @@ -7,15 +7,15 @@ from ..rcaptable import RcapTable -__all__ = ["RcapTaps2"] +__all__ = ['RcapTaps2'] class RcapTaps2(RcapTable): - """Taps2""" - - __redcap_form_name = "taps2" + """Taps2 + """ + __redcap_form_name = 'taps2' taps2_id = Constants.SERIAL_PRIMARY_KEY_COLUMN - taps2_complete = Column(Integer, ForeignKey("status.status_id")) + taps2_complete = Column(Integer, ForeignKey('status.status_id')) # In the PAST 3 MONTHS, did you smoke a cigarette containing to... # Field Type: radio # Choices: 0, No | 1, Yes diff --git a/src/vbr/tableclasses/redcap/autogenerated/the_big_five_inventory_bfi2s.py b/src/vbr/tableclasses/redcap/autogenerated/the_big_five_inventory_bfi2s.py index 6f381a3..55a63d5 100644 --- a/src/vbr/tableclasses/redcap/autogenerated/the_big_five_inventory_bfi2s.py +++ b/src/vbr/tableclasses/redcap/autogenerated/the_big_five_inventory_bfi2s.py @@ -1,4 +1,4 @@ -"""Autogenerated 2021-11-16T11:37:36.523226 by redcap_classfiles.py +"""Autogenerated 2024-09-18T10:32:28.902287 by redcap_classfiles.py """ from ....pgrest import * @@ -7,17 +7,16 @@ from ..rcaptable import RcapTable -__all__ = ["RcapTheBigFiveInventoryBfi2S"] +__all__ = ['RcapTheBigFiveInventoryBfi2S'] class RcapTheBigFiveInventoryBfi2S(RcapTable): - """The Big Five Inventory Bfi2S""" - - __redcap_form_name = "the_big_five_inventory_bfi2s" + """The Big Five Inventory Bfi2S + """ + __redcap_form_name = 'the_big_five_inventory_bfi2s' the_big_five_inventory_bfi2s_id = Constants.SERIAL_PRIMARY_KEY_COLUMN the_big_five_inventory_bfi2s_complete = Column( - Integer, ForeignKey("status.status_id") - ) + Integer, ForeignKey('status.status_id')) # Tends to be quiet # Field Type: radio # Choices: 1, Disagree strongly | 2, Disagree a little | 3, Neutral | 4, Agree a little | 5, Agree strongly From 4a324c6d0da76a3c46e821156ad7903a04f8ad93 Mon Sep 17 00:00:00 2001 From: urrutia Date: Mon, 30 Sep 2024 16:38:18 -0500 Subject: [PATCH 8/9] adding new autogenerated redcap files --- .../autogenerated/baseline_visit_reset.py | 23 ++++++++++++++++ .../redcap/autogenerated/form_uploads.py | 26 +++++++++++++++++++ .../autogenerated/visit_reset_archive.py | 23 ++++++++++++++++ 3 files changed, 72 insertions(+) create mode 100644 src/vbr/tableclasses/redcap/autogenerated/baseline_visit_reset.py create mode 100644 src/vbr/tableclasses/redcap/autogenerated/form_uploads.py create mode 100644 src/vbr/tableclasses/redcap/autogenerated/visit_reset_archive.py diff --git a/src/vbr/tableclasses/redcap/autogenerated/baseline_visit_reset.py b/src/vbr/tableclasses/redcap/autogenerated/baseline_visit_reset.py new file mode 100644 index 0000000..1e12077 --- /dev/null +++ b/src/vbr/tableclasses/redcap/autogenerated/baseline_visit_reset.py @@ -0,0 +1,23 @@ +"""Autogenerated 2024-09-18T10:32:28.926772 by redcap_classfiles.py +""" + +from ....pgrest import * +from ...constants import Constants +from ..rcconstants import REDCapConstants + +from ..rcaptable import RcapTable + +__all__ = ['RcapBaselineVisitReset'] + + +class RcapBaselineVisitReset(RcapTable): + """Baseline Visit Reset + """ + __redcap_form_name = 'baseline_visit_reset' + baseline_visit_reset_id = Constants.SERIAL_PRIMARY_KEY_COLUMN + baseline_visit_reset_complete = Column(Integer, + ForeignKey('status.status_id')) + # Collection date of Baseline Forms being reset + # Field Type: text + # Choices: N/A + bvr_visit_date = Column(String, nullable=True, comments=None) diff --git a/src/vbr/tableclasses/redcap/autogenerated/form_uploads.py b/src/vbr/tableclasses/redcap/autogenerated/form_uploads.py new file mode 100644 index 0000000..0caadc7 --- /dev/null +++ b/src/vbr/tableclasses/redcap/autogenerated/form_uploads.py @@ -0,0 +1,26 @@ +"""Autogenerated 2024-09-18T10:32:28.929623 by redcap_classfiles.py +""" + +from ....pgrest import * +from ...constants import Constants +from ..rcconstants import REDCapConstants + +from ..rcaptable import RcapTable + +__all__ = ['RcapFormUploads'] + + +class RcapFormUploads(RcapTable): + """Form Uploads + """ + __redcap_form_name = 'form_uploads' + form_uploads_id = Constants.SERIAL_PRIMARY_KEY_COLUMN + form_uploads_complete = Column(Integer, ForeignKey('status.status_id')) + # Select the form(s) that are included in your upload file + # Field Type: checkbox + # Choices: 3, Patient Demographics Baseline v0.3 (Demographics I) | 4, Other Pain Treatments v3 (Other Treatments) | 5, Other Medical Surgical Treatments II v0.5 | 6, Patient Global Impression of Change (PGIC) | 7, BPI-SF - The Brief Pain Inventory v2.3 - Short Form (BPI) | 8, Symptom Severity Index v1.0 (SSI) | 9, Pain Detect Questionnaire (PD-Q) | 10, Knee Injury Osteoarthritis Outcome Score (KOOS-12) | 11, PROMIS SF v1.2 - Physical Function 8b | 12, PROMIS SF v1.0 - Sleep Disturbance 6a (Sleep I) | 13, Pain-Sleep Duration (Sleep II) | 14, PROMIS SF v1.0 - Fatigue 7a | 15, Generalized Anxiety Disorder 7 Item (GAD7) Scale Score | 16, Patient Health Questionnaire Depression Scale (PHQ) Scored | 17, Pain Catastrophizing Questionnaire (PCS6) | 18, Fear-Avoidance Beliefs Questionnaire v0.3 (FABQ) | 19, Pain Resilience Scale (PRS) | 20, PROMIS SF v2.0 - Emotional Support 6a | 21, PROMIS SF v2.0 - Instrumental Support 6a | 22, Multidimensional Inventory of Subjective Cognitive Impairment v1.0 (MISCI) | 23, Adverse Childhood Experience Questionnaire (ACE) | 24, TAPS-1 | 25, TAPS-2 | 26, Opioid Use Baseline v1.0 (Opioid Use I) | 27, Opioid Use Acute Followup v1.0 (Opioid Use II) | 28, Opioid Use Longterm Followup v1.0 (Opioid Use III) | 29, Opioid Side Effects and Likeability v0.3 (Side Effects) | 30, Opioid and Pain Control Satisfaction v0.2 (Satisfaction) | 31, Current Opioid Misuse v0.2 (COMM) | 32, Rapid Assessment of Physical Activity v1.0 (RAPA) | 33, General Sensory Sensitivity v0.2 (GSS-8) | 34, The Big Five Inventory (BFI-2-S) | 35, Patient Demographics Full Part 2 v0.3 (Demographics II) | 36, Self-Administered Comorbidity Questionnaire v4 (SCQ) | 37, Expectation Items v1.2 | 38, Acute Phase Trajectory items v0.5 (Acute Daily) | 39, Daily items 6 mo v0.3 (6-Month Daily) | 40, 12-Month Remote Follow-up v2.0 (12-Month Follow-up) | 41, Functional Testing | 42, QST MCC1 v0.3 | 43, Current Medications v0.2 | 44, Blood Sample Collection and Processing v2.1 | 45, Imaging Items v1.1 | 46, Imaging MCC1 v1.2 | 47, Study Visit Feedback v0.3 | 50, Other, specify + up_formname = Column(Integer, nullable=True, comments=None) + # Specify other form name + # Field Type: text + # Choices: N/A + up_formnametxt = Column(String, nullable=True, comments=None) diff --git a/src/vbr/tableclasses/redcap/autogenerated/visit_reset_archive.py b/src/vbr/tableclasses/redcap/autogenerated/visit_reset_archive.py new file mode 100644 index 0000000..9636c39 --- /dev/null +++ b/src/vbr/tableclasses/redcap/autogenerated/visit_reset_archive.py @@ -0,0 +1,23 @@ +"""Autogenerated 2024-09-18T10:32:28.945301 by redcap_classfiles.py +""" + +from ....pgrest import * +from ...constants import Constants +from ..rcconstants import REDCapConstants + +from ..rcaptable import RcapTable + +__all__ = ['RcapVisitResetArchive'] + + +class RcapVisitResetArchive(RcapTable): + """Visit Reset Archive + """ + __redcap_form_name = 'visit_reset_archive' + visit_reset_archive_id = Constants.SERIAL_PRIMARY_KEY_COLUMN + visit_reset_archive_complete = Column(Integer, + ForeignKey('status.status_id')) + # Date of archive and event reset + # Field Type: text + # Choices: N/A + reset_date = Column(String, nullable=True, comments=None) From 2f46d73ee939c42b1e2762e840428146c1fcb5c7 Mon Sep 17 00:00:00 2001 From: urrutia Date: Fri, 11 Oct 2024 16:22:03 -0500 Subject: [PATCH 9/9] deploying two new redcap tables --- src/vbr/tableclasses/__init__.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/vbr/tableclasses/__init__.py b/src/vbr/tableclasses/__init__.py index c436b74..db05b08 100644 --- a/src/vbr/tableclasses/__init__.py +++ b/src/vbr/tableclasses/__init__.py @@ -17,7 +17,9 @@ RcapImagingItemsV01, RcapImagingItemsV11, RcapImagingMcc1V09, - RcapImagingMcc2V01 + RcapImagingMcc2V01, + RcapQstMcc1V03, + RcapPostconsentStudyPlanCrfV06 ) except ImportError: from .redcap.autogenerated import *