-
Notifications
You must be signed in to change notification settings - Fork 0
CohortStudy
This module outputs patient level data containing information about comorbidities, measurements, prescriptions etc before or during cohort time. The search windows around cohort start can be defined on item level. If multipleValueMeasurements is set, for each value of the measurements in the multiValueMeasurements list the module outputs patient level data containing information about comorbidities, measurements, prescriptions etc before or during cohort time. The search windows around cohort start can be defined on item level. Additionally, this data can be extracted around the date of death as defined by deathLabels in the event file (not complete yet)
This module needs the patients file to work. When events, ATC codes, and/or measurements are used in the parameters the events file, prescriptions file, and/or measurements file are needed.
Parameter | Values | Description |
---|---|---|
multipleValueMeasurements | String | List of measurements for which multiple values in population time have to be written to the output file. Format: MeasurementType;Label The Label is optional. If it is not specified the MeasurementType is used as label. For each measurement specified it adds the columns Value and TimeTo<label>. Can occur multiple times in the script. |
comorbidities | String | List of comorbidities that are checked for their presence in a time window around cohort start. Format: EventType; Label; Description[; [ TimeWindowStart ][; [ TimeWindowEnd ]]] where EventType = The variable name used in the event file. Label = The label used in the output file. Description = The text used in the result tables. TimeWindowStart = Optional parameter that overrules the timeWindowComorbidity setting. Start of time window before index date. Start day is included. -1 = All history TimeWindowEnd = Optional parameter that overrules the index date at TimeWindowEnd. The end of time window relative to index date. End day is not included. cohortEnd = end of cohort For example: "MI;Myocardial Infarction" Look for MI in the window indexDate-timeWindowComorbidities<= X <indexDate "MI;Myocardial Infarction;-365" Look for MI in the window indexDate-365<= X <indexDate "MI;Myocardial Infarction;-365;10" Look for MI in the window indexDate-365<= X <indexDate + 10 "MI;Myocardial Infarction;-365;cohortEnd" Look for MI in the window indexDate-365<= X <cohortEnd Can occur multiple times in the script. |
comorbiditiesDeath | String | List of comorbidities that are checked for their presence in a time window around cohort start. Format: EventType; Label; Description[; [ TimeWindowStart ][; [ TimeWindowEnd ]]] where EventType = The variable name used in the event file. If EventType = "COMORBIDITIES" all comorbidity definitions in <comorbidities> are added. Label = The label used in the output file. Description = The text used in the result tables. TimeWindowStart = Optional parameter that overrules the timeWindowComorbidity setting. Start of time window before index date. Start day is included. -1 = All history TimeWindowEnd = Optional parameter that overrules the index date at TimeWindowEnd. The end of time window relative to index date. End day is not included. cohortEnd = end of cohort For example: "MI;Myocardial Infarction" Look for MI in the window deathDate-timeWindowComorbidities<= X <deathDate "MI;Myocardial Infarction;-365" Look for MI in the window deathDate-365<= X <deathDate "MI;Myocardial Infarction;-365;10" Look for MI in the window deathDate-365<= X <deathDate + 10 "MI;Myocardial Infarction;-365;cohortEnd" Look for MI in the window deathDate-365<= X <cohortEnd Can occur multiple times in the script. |
measurements | String | List of measurements of interest to be searched a time window (inclusive) around cohort start. The closest measurement is selected. Format: MeaurementType;Values;Description [; [ TimeWindowStart ][; [ TimeWindowEnd [; [ MissingValue ]]]]] where MeasurementType = The variable name used in the measurement file. Values = A commma-separated list of values or "continues" to define a continuous valued variable. Label = The label used in the result tables. TimewindowStart = Optional parameter that overrule the timeWindowMeasurement setting. Start of time window before index date. Start day is included. -1 = All history TimewindowEnd = Optional parameter that overrules the index date at TimeWindowEnd. End of time window relative to index date. End day is not included. cohortEnd = end of cohort MissingValue = Optional parameter the overrules the UNKNOWN label used for missing values. For example: "SMOKER;RECENT,NEVER,PAST;Smoking" Smoking Status in the window indexDate-timeWindowMeasurements<= X <indexDate "SMOKER;RECENT,NEVER,PAST;Smoking;-365" Smoking Status in the window indexDate-365<= X <indexDate "SMOKER;RECENT,NEVER,PAST;Smoking;-365; 10" Smoking Status in the window indexDate-365<= X <indexDate + 10 "SMOKER;RECENT,NEVER,PAST;Smoking;-365; cohortEnd" Smoking Status in the window indexDate-365<= X <cohortEnd "SMOKER;RECENT,NEVER,PAST;Smoking;-365; cohortEnd;NONE" Smoking Status in the window indexDate-365<= X <cohortEnd use NONE as missing value "BMI;continuous" BMI in the window indexDate-timeWindowMeasurements <= X < indexDate Can occur multiple times in the script. |
measurementsDeath | String | List of measurements are search before and at death date. Format: MeaurementType;Values;Description where MeasurementType = The variable name used in the measurement file. If MeasurementType = "MEASUREMENTS" all measurement definitions as defined in <measurements> are added. Values = A comma-separated list of values, or "continues" to define a continuous valued variable. MissingValue = One value used if no measurement is available. Description = The text used in the result tables Example: "Smoker;1,2;Smoking status" "BMI;continues;Body Mass Index" Can occur multiple times in the script. |
measurementCount | String | List of measurements of interest checked to count the number of occurrences in a time window (inclusive) around the index date. Format: Measurement types;Label;Description;MinAge; MaxAge;TimeWindoStart;TimeWindowEnd where Measurement types = A comma separated list of measurement types. Label = The label used in the result tables. Description = The description. MinAge = The minimum age value (inclusive), -1 means no minimum. MaxAge = The maximum age value (exclusive), -1 means no maximum. TimeWindowStart = Start of time window before index date. Start day is included. birth = All history. TimeWindowEnd = Optional parameter that overrules the index date as TimeWindowEnd. End of time window relative to index date. End day is not included. cohortEnd = end of cohort. For example: "BMI;BMI_15-40;Body Mass Index;15;40;-365" The number of BMI measurements at an age in the range 15 to 40 in the window indexDate-365<= X <indexDate "BMI;BMI_15-40;Body Mass Index;15;40;-365,10" The number of BMI measurements at an age in the range 15 to 40 in the window indexDate-365<= X <indexDate + 10 "BMI;BMI_15-40;Body Mass Index;15;40;-365, cohortEnd" The number of BMI measurements at an age in the range 15 to 40 in the window indexDate-365<= X <cohortEnd Can occur multiple times in the script. |
prescriptions | String | List of prescriptions of interest checked for their presence in a time window (inclusive) around cohort start. Format: ATC;Label;[;[TimeWindowStart][;[TimeWindowEnd]]] where ATC = A list of atc codes, higher level allowed. Label = The label used in the result tables. TimeWindowStart = Optional parameter that overrules the timeWindowPrescription setting. Start of time window before index date. Start day is included. -1 = All history. TimeWindowEnd = Optional parameter that overrules the index date at TimeWindowEnd. End of time window relative to index date. End day is not included. cohortEnd = end of cohort. For example: "R03BB06,R03BB07;LAMA" Use of drugs in the window indexDate-timeWindowMeasurements<= X <indexDate "R03BB06,R03BB07;LAMA;-365" Use of drugs in the window indexDate-365<= X <indexDate "R03BB06,R03BB07;LAMA;-365;10" Use of drugs in the window indexDate-365<= X <indexDate + 10 "R03BB06,R03BB07;LAMA;-365;cohortEnd" Use of drugs in the window indexDate-365<= X <cohortEnd Can occur multiple times in the script. |
daysToNextPrescription | String | List of prescriptions for which the time till the next event will be measured. If their is no next prescription the value is missing. Format: ATC;Label;Description;InCohort; IncludeIndexDate; WindowEnd where ATC = Label of the event in inputfile Label = Label used in the output. Description = Text used if useLabel = false. Can be empty. InCohort (optional) = If true only search during cohort time (default = false). IncludeIndexDate = (Optional) If true indexDate is included (default = false). WindowEnd = CohortEnd or number of days relative to index date. Examples: "R03BB06,R03BB07;DaysToNextLAMA; ;true;true; cohortend" _"R03BB06,R03BB07; DaysToNextLAMAWithinYear; ;true;true;365" Can occur multiple times in the script. |
daysSincePreviousPrescription | String | List of prescriptions for which the time till the previous prescription will be measured. If their is no previous prescription the value is missing. Format: ATC;Label;Description;InCohort; IncludeIndexDate;WindowStart where ATC = Label of the event in inputfile. Label = Label used in the output. Description = Text used if useLabel = false. Can be empty. InCohort = (Optional) If true only search during cohort time (default = false). IncludeIndexDate = (Optional) If true indexDate is included (default = false). WindowStart = Birth or number of days relative to index date. Examples: "R03BB06,R03BB07; DaysSincePreviousLAMA;; true;true;cohortend" "R03BB06,R03BB07; DaysSincePreviousLAMAWithinYear;; true;true;-365" Can occur multiple times in the script. |
prescriptionsDeath | String | List of prescriptions of interest to be searched for around death label. Format: ATC;Label;[; [ TimeWindowStart ][; [ TimeWindowEnd ]]] where ATC = A list of atc codes, higher level allowed. Label = The label used in the result tables. TimewindowStart = Optional parameter that overrules the timeWindowPrescription setting. Start of time window before deathDate. Start day is included. -1 = All history. TimewindowEnd = Optional parameter that overrules the deathDate at TimeWindowEnd. End of time window relative to deathDate. End day is not included. cohortEnd = end of cohort For example: "R03BB06,R03BB07;LAMA" Use of drugs in the window deathDate-timeWindowMeasurements<= X <deathDate "R03BB06,R03BB07;LAMA;;-365" Use of drugs in the window deathDate-365<= X <deathDate "R03BB06,R03BB07;LAMA;;-365;10" Use of drugs in the window deathDate-365<= X <deathDate + 10 "R03BB06,R03BB07;LAMA;;-365;cohortEnd" Use of drugs in the window deathDate-365<= X <cohortEnd Can occur multiple times in the script. |
deathLabels | String | Labels in the event file that define death. Can occur multiple times in the script. |
ageGroups | String | List of age group definitions. Format: Min;Max;Label where Min = The minimum age in years (inclusive) Max = The maximum age in years (exclusive) Label = The label used in output Example: "0;5;0-5" Can occur multiple times in the script. Can occur multiple times in the script. |
firstEventYearMonth | String | Defines for which events the year and month of the first diagnosis needs to be determined in full patient history. This will add a column for the month (Month<EventType>) and for the year (Year<EventType>) in the output, e.g. YearHTN Format: Eventtype where EventType = Label of the event in inputfile. Example: HTN Can occur multiple times in the script. |
daysToNextEvent | String | List of Events for which the time till the next event will be measured. If their is no next event the values is missing. Format: EventType;Label;Description;InCohort; IncludeIndexDate where EventType = Label of the event in inputfile. Label = Label used in the output. Description = Text used if useLabel = false. Can be empty. InCohort = (Optional) If true only search during cohort time (default = true) IncludeIndexDate = (Optional) If true indexDate is included (default = false) Example: "HOSP;DaysToNextHosp;;true" Can occur multiple times in the script. |
daysToPreviousEvent | String | List of Events for which the time till the previous event will be measured. If their is no next event the values is missing. Format: EventType;Label;Description;InCohort; IncludeIndexDate where EventType = Label of the event in inputfile. Label = Label used in the output. Description = Text used if useLabel = false. Can be empty. InCohort = (Optional) If true only search during cohort time (default = true) IncludeIndexDate = (Optional) If true indexDate is included (default = false) Example: "HOSP;HOSP;DaysToPrevioustHosp" Can occur multiple times in the script. |
eventCount | String | List of events of interest checked to count the number of occurrences in a time window around the index date. Format: Event types;Label;Description;MinAge; MaxAge;TimeWindoStart;TimeWindowEnd Event types = A comma separated list of event types. Label = The label used in the result tables. Description = The description. MinAge = The minimum age value (inclusive), -1 means no minimum. MaxAge = The maximum age value (exclusive), -1 means no maximum. TimeWindowStart = Start of time window before index date. Start day is included. birth = All history. TimeWindowEnd = Optional parameter that overrules the index date as TimeWindowEnd. End of time window relative to index date. End day is not included. cohortEnd = end of cohort. For example: "MI;MI_15-40;Miocardial Infarction;15;40;-365" The number of MI events at an age in the range 15 to 40 in the window indexDate-365<= X <indexDate "MI;MI_15-40;Miocardial Infarction;15;40;-365 ,10" The number of MI events at an age in the range 15 to 40 in the window indexDate-365<= X <indexDate + 10 "MI;MI_15-40;Miocardial Infarction;15;40;-365 ,cohortEnd" The number of MI events at an age in the range 15 to 40 in the window indexDate-365<= X <cohortEnd Can occur multiple times in the script. |
daysToNextMeasurement | String | List of measurements for which the time till the next event will be measured. If their is no next event the values is missing. Format: MeasurementType;Label;Description;Value; InCohort;IncludeIndexDate MeasurementType = Label of the measurement in inputfile. Label = Label used in the output. Description = Text used if useLabel = false. Can be empty. Value = Value to search for. if all values match InCohort = (Optional) If true only search during cohort time (default = true) IncludeIndexDate = (Optional) If true indexDate is included (default = false) Example: "SMOKING; DaysToNextSmokeCurrent; ;CURRENT;true;true" Can occur multiple times in the script. |
daysToPreviousMeasurement | String | List of measurements for which the time till the previous event will be measured. If their is no next event the values is missing. Format: MeasurementType;Label;Description;Value; InCohort;IncludeIndexDate MeasurementType = Label of the measurement in inputfile. Label = Label used in the output. Description = Text used if useLabel = false. Can be empty. Value = Value to search for. if all values match InCohort = (Optional) If true only search during cohort time (default = true) IncludeIndexDate = (Optional) If true indexDate is included (default = false) Example: "SMOKING;SMOKING; DaysPreviousSmokeCurrent; CURRENT;true;true" Can occur multiple times in the script. |
defaultWindowStartMeasurement | Integer | Default number of days relevant to cohort start to search for measurements. For example -365 means 365 days before cohort start. Can be overruled by measurement specific definitions. Can occur multiple times in the script. |
defaultWindowStartPrescription | Integer | Default number of days relevant to cohort start to search for prescriptions. For example -365 means 365 days before cohort start. Can be overruled by measurement specific definitions. |
defaultWindowStartComorbidity | Integer | Default number of days before cohort start to search for comorbidities. For example -365 means 365 days before cohort start. Can be overruled by comorbidity specific definitions. |
defaultWindowStartEvent | Integer | Default number of days relative to prescription start to search for events. For example 365 means 365 days before prescription start. Can be overruled by event specific definitions. |
outputPrevalentIncident | true, false | Output Prevalent/Incident status at cohort start. This value is set by the EventCohortDefinition Filter otherwise the value UNKNOWN will be used. |
ageAtStartAsFraction | true, false | When true the ageAtStart is computed as a fraction of years otherwise it is the normal age. |
anonymizePatientID | true, false | If true an anonymizedPatientID is used instead of the original patient ID. |
This module creates one intermediate file with the following columns:
Parameter | Description |
---|---|
Database | The name of the database. |
EventType | The type of the event tat marks the start of the cohort. This variable is only available when the EventCohortDefinition modifier is used. |
PatientID | The real ID of the patient. |
Gender | The gender of the patient. |
BirthDate | The birth date of the patient. |
PopulationStart | The population start date of the patient. |
PopulationEnd | The population end date of the patient. |
CohortStart | The cohort start date of the patient. |
CohortEnd | The cohort end date of the patient. |
The textual output of this module contains the following columns:
Parameter | Description |
---|---|
Database | The name of the database. |
EventType | The type of the event tat marks the start of the cohort. This variable is only available when the EventCohortDefinition modifier is used. |
PatientID | The ID of the patient. |
Gender | The gender of the patient. |
AgeStart | The age of the patient at the start of the cohort. |
Year | Year of cohortStart. |
FollowUpPre | cohortStart - populationStart in years. |
FollowUpPost | populationEnd - cohortStart in years. |
AgeStartCat | Only available when ageGroups are defined. The ageGroup of the patient. If no matching ageGroup can be found UNKOWN. |
PrevInc | Only available when outputPrevalentIncident = true. PREVALENT or INCIDENT. |
Year<eventType> | Only available for the eventTypes in firstEventYearMonth. The year of the first occurrence of the event. |
Month<eventType> | Only available for the eventTypes in firstEventYearMonth. The month of the first occurrence of the event. |
Age<eventType> | Only available for the eventTypes in firstEventYearMonth. The age of the patient in years (floating point) at the first occurrence of the event. |
<comorbidities 1> : <comorbidities N> |
1 if the comorbidity is present, otherwise 0. |
<daysToNextEvent 1> : <daysToNextEvent N> |
Number of days to the next event according to the daysToNextEvent definition. If no next event, then empty. |
<daysToPreviousEvent 1> : <daysToPreviousEvent N> |
Number of days to the previous event according to the daysToPreviousEvent definition. If no previous event, then empty. |
<eventCount 1> : <eventCount N> |
The number of events according to the eventCount definition. |
<prescriptions 1> : <prescriptions N> |
1 if the prescription is present, otherwise 0. |
<daysToNextPrescription 1> : <daysToNextPrescription N> |
Number of days to the next prescription according to the daysToNextPrescription definition. If no next prescription, then empty. |
<daysSincePreviousPrescription 1> : <daysSincePreviousPrescription N> |
Number of days to the previous prescription according to the daysToPreviousPrescription definition. If no previous prescription, then empty. |
<measurements 1> : <measurements N> |
The value of the measurement, otherwise empty. |
<measurementCount 1> : <measurementCount N> |
The number of measurements according to the measurementCount definition. |
<daysToNextMeasurement 1> : <daysToNextMeasurement N> |
The number of days to the next measurement according to the daysToNextMeasurement definition. |
<daysToPreviousMeasurement 1> : <daysToPreviousMeasurement N> |
The number of days to the previous measurement according to the daysToPreviousMeasurement definition. |
CauseDeath | Only available when <deathLabels> are specified. The name of first occurrence of one of the events specified in the deathLabels parameter. Otherwise empty. |
DaysYrDth | Only available when <deathLabels> are specified. Max(dateOfDeath - 365 days, cohortStart) - dateOfDeath |
AgeDeath | Only available when <deathLabels> are specified. The age of the patient at the dateOfDeath in years (floating point). |
AgeDeathCat | Only available when <deathLabels> and <ageGroups> <are specified. The ageGroup of the patient at the dateOfDeath. |
<comorbiditiesDeath 1> : <comorbiditiesDeath N> |
Only available when <deathLabels> are specified. 1 if the comorbidity is present at the dateOfDeath, otherwise 0. |
<prescriptionsDeath 1> : <prescriptionsDeath N> |
Only available when <deathLabels> are specified. 1 if the prescription is present at the dateOfDeath, otherwise 0. |
<measurementsDeath 1> : <measurementsDeath N> |
Only available when <deathLabels> are specified. The value of the measurement at the dateOfDeath, otherwise empty. |
CohortTime | cohortEnd - cohortStart in days. |
<multipleValueMeasurements 1>Value : <multipleValueMeasurements N>Value |
The value of the measurement in the multipleValueMeasurements. |
<multipleValueMeasurements 1>TimeTo : <multipleValueMeasurements N>TimeTo |
measrementDate - cohortStart for the value of the measurement in the multipleValueMeasurements. |
No graphs are produced in this module.
Module Cohort Study (CohortStudy)
comorbidities = AMI;HXAMI;History of AMI;-366;0
comorbidities = ANX;HXANX;History of anxiety;-366;0
comorbidities = BIPOL;HXBIPOL;History of bipolar disorder;-366;0
comorbidities = STROKE;HXSTROKE;History of stroke;-1;1
comorbidities = AD;HXAD;History of Alzheimer�s disease;-1;1
comorbidities = BRAINCAN;HXBRAINCAN;History of brain cancer;-1;1
comorbiditiesDeath =
measurements =
//TODO: measurements before death also in flexible time windows etc.
measurementsDeath =
prescriptions = N06DA02;USEDONEPEZIL;Use Donepezil;-366;365
prescriptions = N06DA03;USERIVASTIGMINE;Use Rivastigmine;-366;365
prescriptions = N06DA04;USEGALANTAMINE;Use Galantamine;-366;365
prescriptions = N06DX01;USEMEMANTINE;Use Memantine;-366;365
daysToNextPrescription = N06DA02;N_DONEPEZIL;Next Donepezil;false;true;365
daysToNextPrescription = N06DA03;N_RIVASTIGMINE;Next Rivastigmine;false;true;365
daysToNextPrescription = N06DA04;N_GALANTAMINE;Next Galantamine;false;true;365
daysToNextPrescription = N06DX01;N_MEMANTINE;Next Memantine;false;true;365
daysSincePreviousPrescription = N06DA02;P_DONEP;Prev Donepezil;false;false;-365
daysSincePreviousPrescription = N06DA03;P_RIVAST;Prev Rivastigmine;false;false;-365
daysSincePreviousPrescription = N06DA04;P_GALANT;Prev Galantamine;false;false;-365
daysSincePreviousPrescription = N06DX01;P_MEMANT;Prev Memantine;false;false;-365
prescriptionsDeath =
deathLabels =
ageGroups =
firstEventYearMonth =
daysToNextEvent =
daysToPreviousEvent =
eventCount = GPVISIT;NGPVISIT;Number of GP visits prior to index date;;;-365;1
daysToNextMeasurement =
daysToPreviousMeasurement =
defaultWindowStartMeasurement = 0
defaultWindowStartPrescription = 0
defaultWindowStartComorbidity = 0
defaultWindowStartEvent = 0
outputPrevalentIncident = false
anonymizePatientID = true
createGraphs = true
outputInFLOC = false
intermediateFiles = true
intermediateStats = true
/Module
Date | tag | Change |
---|---|---|
1-1-2018 | c07878 | First Open-Source Release |
Copyright Department of Medical Informatics Erasmus MC, Rotterdam, The Netherlands
- AlgorithmComparison
- CaseControl
- CodeCounting
- CohortStudy
- DataProfiler
- DrugUtilPopulationLevel
- DrugUtilPrescriptionLevel
- Dummy
- IncidenceRate
- IndexDateRelated
- Prevalence
- QualityCheck
- BMICalculation
- EventMapping
- ExposureDefinition
- MeasCategories
- MeasCleaner
- MeasFirstAndLast
- PopulationDefinition
- PrescriptionCombinations