documentation:next_cdm:time
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| documentation:next_cdm:time [2016/10/01 14:48] – created hripcsa | documentation:next_cdm:time [2017/07/06 15:05] (current) – clairblacketer | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | GOAL: Allow temporal operations finer than day without requiring recoding the OHDSI software, | + | ===== Add Time Field to various Occurrence |
| + | === Proposals are now being stored as github issues === | ||
| + | [[https:// | ||
| - | PROPOSAL1: | + | While v5 visit_occurrence table supports both date and time of event, other occurrence tables and exposure tables such as drug, condition, and procedure support only the date level. |
| - | 1. Throughout | + | Here is the current use of date and time fields in CDM v5.01: |
| - | 2. For each *_DATE field, add a *_TIME field of type DATETIME = TIMESTAMP, and make those fields optional. | + | PERSON |
| + | | ||
| + | | ||
| + | * day_of_birth as integer, not required | ||
| + | * time_of_birth as time, not required | ||
| + | |||
| + | SPECIMEN | ||
| + | * specimen_date as date, required | ||
| + | * specimen_time as time, not required | ||
| + | DEATH | ||
| + | * death_date as date, required | ||
| - | MODIFIED PROPOSAL1a: | + | VISIT_OCCURRENCE |
| + | * visit_start_date as date, required | ||
| + | * visit_start_time as time, not required | ||
| + | * visit_end_date as date, required | ||
| + | * visit_end_time as time, not required | ||
| - | As above 1-2 and | + | PROCEDURE_OCCURRENCE |
| + | * procedure_date as date, required | ||
| - | 3. Add a *_TIME_GRAN granularity field for each new DATETIME field, which would indicate year, month, day, hour, minute, or second | + | DRUG_EXPOSURE |
| + | | ||
| + | * drug_exposure _end_date | ||
| + | DEVICE_EXPOSURE | ||
| + | * device_exposure_start_date as date, required | ||
| + | * device _exposure _end_date as date, not required | ||
| - | MODIFIED PROPOSAL1b: | + | CONDITION_OCCURRENCE |
| + | * condition_start_date as date, required | ||
| + | * condition _end_date as date, not required | ||
| - | As above 1-2, optionally 3, and | + | MEASUREMENT |
| + | * measurement_date as date, required | ||
| + | * measurement _time as time, not required | ||
| - | 4. Add a PERSON_TIME timestamp column to the PERSON table to speed age calculations. | + | NOTE |
| + | * note_date as date, required | ||
| + | * note_time as time, not required | ||
| + | OBSERVATION | ||
| + | * observation_date as date, required | ||
| + | * observation _time as time, not required | ||
| - | PROPOSAL2: | + | And the ERA tables, COHORT tables, and PAYER_PLAN_PERIOD table. |
| - | 5. Independent of 1-4, it was suggested that all tables have *_START_DATE and *_END_DATE fields for all domains. This means PROCEDURE_OCCURRENCE, | ||
| + | === DECISION 1 === | ||
| + | We have a choice between adding fields of type time, which require significant processing to determine durations (join the date and time, and then operate on that) versus defining a datetime field as timestamp, which allows fast operations but produces redundancy. | ||
| + | |||
| + | [Suggest datetime = timestamp.] | ||
| + | |||
| + | === DECISION 2 === | ||
| + | |||
| + | We propose adding a datetime field or fields to the following tables | ||
| + | * Condition_Occurrence | ||
| + | * Procedure_Occurrence | ||
| + | * Drug_exposure | ||
| + | * Device_exposure | ||
| + | * Death | ||
| + | |||
| + | We propose replacing the current time fields with datetime fields in the following tables | ||
| + | * Specimen | ||
| + | * Visit_Occurrence | ||
| + | * Measurement | ||
| + | * Note | ||
| + | * Observation | ||
| + | |||
| + | A datetime field (also known as timestamp field) would be added to each date field. Date fields would not be changed. | ||
| + | |||
| + | This would support handling data from ICU, Emergency Department, infusions, post-procedure care, etc. where multiple events occur on the same day and sequence matters. This granularity would also support the incorporation of data generated from tracking devices. | ||
| + | |||
| + | In addition, current *_TIME fields would be removed. At this point, all current software will continue working with the *_DATE fields, and over time we will develop extensions to the software to accommodate DATETIME in different database management systems. | ||
| + | |||
| + | [Suggest moving forward with fields called *_DATETIME, removing the *_TIME fields. The *_DATE fields will remain required.] | ||
| + | |||
| + | === DECISION 3 === | ||
| + | |||
| + | Are the datetime fields required. Making them required allows developers to begin to use them with a potential migration from date+time or date+timestamp to timesteamp in the future, but it forces CDM builders to enter unknown times or timestamps. If required, the default time will be the first instant in the allowable period. E.g., 1990-12-01-00: | ||
| + | |||
| + | [Suggest optional for now.] | ||
| + | |||
| + | === DECISION 4 === | ||
| + | |||
| + | Should a date time (timestamp) field be added to BIRTH (or alternatively should PERSON.time_of_birth be changed to timestamp). This will allow more rapid calculation of age but will be redundant with the current information. | ||
| + | |||
| + | [Suggest add BIRTH_DATETIME. Remove TIME_OF_BIRTH.] | ||
| + | |||
| + | === DECISION 5 === | ||
| + | |||
| + | Should we add a *_TIME_GRAN granularity field for each new timestamp field, which would indicate year, month, day, hour, minute, or second as the timestamp' | ||
| + | |||
| + | [Suggest defer decision.] | ||
documentation/next_cdm/time.1475333334.txt.gz · Last modified: by hripcsa
