--- title: "smokeless_tobacco_summary" description: "Summary or persistent information about smokeless tobacco use by an individual." --- Summary or persistent information about smokeless tobacco use by an individual. **Purpose.** To record summary or persistent information about smokeless tobacco use by an individual. ## Source | Model | Leg | Role | |---|---|---| | `openEHR-EHR-EVALUATION.smokeless_tobacco_summary.v1` | openEHR | defines this table | ## Columns | Column | Type | Null | Description | Source | |---|---|---|---|---| | `id` | `uuid primary key` | no | Primary key. | — | | `form_id` | `uuid` → [`form`](/docs/tables/form) | no | The form this entry was recorded on. | — | | `form_block_id` | `uuid` | yes | The block within the form, when the entry is bound to one. | — | | `overall_status`
`overall_status_code`
`overall_status_system`
`overall_status_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Overall status | `/data[at0001]/items[at0089]` | | `overall_description` | `text` | yes | Overall description | `/data[at0001]/items[at0043]` | | `regular_use_commenced` | `date` | yes | Regular use commenced | `/data[at0001]/items[at0015]` | | `daily_use_commenced` | `date` | yes | Daily use commenced | `/data[at0001]/items[at0080]` | | `overall_quit_date` | `date` | yes | Overall quit date | `/data[at0001]/items[at0016]` | | `overall_pack_years` | `integer` | yes | Overall pack years | `/data[at0001]/items[at0074]` | | `overall_years_of_use_magnitude`
`overall_years_of_use_units` | quantity
`numeric`, `text` | yes | Overall years of use | `/data[at0001]/items[at0099]` | | `overall_comment` | `text` | yes | Overall comment | `/data[at0001]/items[at0019]` | | `quit_date_definition` | `text` | yes | Quit date definition | `/protocol[at0021]/items[at0071]` | | `quit_attempt_definition` | `text` | yes | Quit attempt definition | `/protocol[at0021]/items[at0085]` | | `current_user_definition` | `text` | yes | Current user definition | `/protocol[at0021]/items[at0075]` | | `former_user_definition` | `text` | yes | Former user definition | `/protocol[at0021]/items[at0076]` | | `never_used_definition` | `text` | yes | Never used definition | `/protocol[at0021]/items[at0079]` | | `pack_definition_magnitude`
`pack_definition_units` | quantity
`numeric`, `text` | yes | Pack definition | `/protocol[at0021]/items[at0072]` | | `last_updated` | `timestamptz` | yes | Last updated | `/protocol[at0021]/items[at0022]` | ## Constraints ```sql check ((overall_status_code is null and overall_status_system is null and overall_status_valueset_id is null and overall_status is null) or (overall_status is not null and overall_status_code is not null and overall_status_system is not null and overall_status_valueset_id is not null)) check (overall_pack_years is null or overall_pack_years >= 0) check ((overall_years_of_use_magnitude is null and overall_years_of_use_units is null) or (overall_years_of_use_magnitude is not null and overall_years_of_use_units is not null)) check (overall_years_of_use_magnitude is null or (overall_years_of_use_units = 'a' and overall_years_of_use_magnitude >= 0)) check ((pack_definition_magnitude is null and pack_definition_units is null) or (pack_definition_magnitude is not null and pack_definition_units is not null)) ``` ## Unique - `form_block_id` ## References | Columns | Target | On delete | |---|---|---| | `form_id` | [`form`](/docs/tables/form) | cascade | | `form_id, form_block_id` | [`form_block`](/docs/tables/form_block) | cascade | | `overall_status_valueset_id, overall_status_code, overall_status_system, overall_status` | [`valueset_code`](/docs/tables/valueset_code) | restrict | ## Referenced by - [`smokeless_tobacco_summary_per_type`](/docs/tables/smokeless_tobacco_summary_per_type) via `smokeless_tobacco_summary_id` ## Indexes - `smokeless_tobacco_summary_form_id_idx` on `form_id` ## Child tables 2 tables hang off `smokeless_tobacco_summary`, one row per repetition. ### `smokeless_tobacco_summary_per_type` Child table — one row per repetition, deleted with its parent. | Column | Type | Null | Description | Source | |---|---|---|---|---| | `id` | `uuid primary key` | no | Primary key. | — | | `smokeless_tobacco_summary_id` | `uuid` → [`smokeless_tobacco_summary`](/docs/tables/smokeless_tobacco_summary) | no | — | — | | `position` | `integer` | no | Order of this row within its parent, from zero. | — | | `type`
`type_code`
`type_system`
`type_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Type | `/data[at0001]/items[at0029]/items[at0098]` | | `status`
`status_code`
`status_system`
`status_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Status | `/data[at0001]/items[at0029]/items[at0052]` | | `description` | `text` | yes | Description | `/data[at0001]/items[at0029]/items[at0053]` | | `quit_date` | `date` | yes | Quit date | `/data[at0001]/items[at0029]/items[at0014]` | | `pack_years` | `integer` | yes | Pack years | `/data[at0001]/items[at0029]/items[at0017]` | | `comment` | `text` | yes | Comment | `/data[at0001]/items[at0029]/items[at0069]` | #### Constraints ```sql check ((type_code is null and type_system is null and type_valueset_id is null) or (type is not null and type_code is not null and type_system is not null and type_valueset_id is not null)) check ((status_code is null and status_system is null and status_valueset_id is null and status is null) or (status is not null and status_code is not null and status_system is not null and status_valueset_id is not null)) check (pack_years is null or pack_years >= 0) ``` #### Unique - `smokeless_tobacco_summary_id, position` #### References | Columns | Target | On delete | |---|---|---| | `smokeless_tobacco_summary_id` | [`smokeless_tobacco_summary`](/docs/tables/smokeless_tobacco_summary) | cascade | | `type_valueset_id, type_code, type_system, type` | [`valueset_code`](/docs/tables/valueset_code) | restrict | | `status_valueset_id, status_code, status_system, status` | [`valueset_code`](/docs/tables/valueset_code) | restrict | ### Referenced by - [`smokeless_tobacco_summary_per_type_per_episode`](/docs/tables/smokeless_tobacco_summary_per_type_per_episode) via `smokeless_tobacco_summary_per_type_id` ### `smokeless_tobacco_summary_per_type_per_episode` Child table — one row per repetition, deleted with its parent. | Column | Type | Null | Description | Source | |---|---|---|---|---| | `id` | `uuid primary key` | no | Primary key. | — | | `smokeless_tobacco_summary_per_type_id` | `uuid` → [`smokeless_tobacco_summary_per_type`](/docs/tables/smokeless_tobacco_summary_per_type) | no | — | — | | `position` | `integer` | no | Order of this row within its parent, from zero. | — | | `episode_label` | `text` | yes | Episode label | `/data[at0001]/items[at0029]/items[at0064]/items[at0081]` | | `episode_start_date` | `date` | yes | Episode start date | `/data[at0001]/items[at0029]/items[at0064]/items[at0013]` | | `episode_end_date` | `date` | yes | Episode end date | `/data[at0001]/items[at0029]/items[at0064]/items[at0082]` | | `status`
`status_code`
`status_system`
`status_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Status | `/data[at0001]/items[at0029]/items[at0064]/items[at0100]` | | `pattern`
`pattern_code`
`pattern_system`
`pattern_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Pattern | `/data[at0001]/items[at0029]/items[at0064]/items[at0030]` | | `typical_use_magnitude`
`typical_use_units` | quantity
`numeric`, `text` | yes | Typical use | `/data[at0001]/items[at0029]/items[at0064]/items[at0065]` | | `typical_frequency_magnitude`
`typical_frequency_units` | quantity
`numeric`, `text` | yes | Typical frequency | `/data[at0001]/items[at0029]/items[at0064]/items[at0023]` | | `number_of_quit_attempts` | `integer` | yes | Number of quit attempts | `/data[at0001]/items[at0029]/items[at0064]/items[at0025]` | | `episode_comment` | `text` | yes | Episode comment | `/data[at0001]/items[at0029]/items[at0064]/items[at0087]` | #### Constraints ```sql check ((status_code is null and status_system is null and status_valueset_id is null and status is null) or (status is not null and status_code is not null and status_system is not null and status_valueset_id is not null)) check ((pattern_code is null and pattern_system is null and pattern_valueset_id is null) or (pattern is not null and pattern_code is not null and pattern_system is not null and pattern_valueset_id is not null)) check ((typical_use_magnitude is null and typical_use_units is null) or (typical_use_magnitude is not null and typical_use_units is not null)) check (typical_use_magnitude is null or (typical_use_units = 'g/d' and typical_use_magnitude >= 0) or (typical_use_units = 'g/wk' and typical_use_magnitude >= 0) or (typical_use_units = '[oz_av]/d') or (typical_use_units = '[oz_av]/wk')) check ((typical_frequency_magnitude is null and typical_frequency_units is null) or (typical_frequency_magnitude is not null and typical_frequency_units is not null)) check (typical_frequency_magnitude is null or (typical_frequency_units = '1/d' and typical_frequency_magnitude >= 0) or (typical_frequency_units = '1/wk' and typical_frequency_magnitude >= 0)) check (number_of_quit_attempts is null or number_of_quit_attempts >= 0) ``` #### Unique - `smokeless_tobacco_summary_per_type_id, position` #### References | Columns | Target | On delete | |---|---|---| | `smokeless_tobacco_summary_per_type_id` | [`smokeless_tobacco_summary_per_type`](/docs/tables/smokeless_tobacco_summary_per_type) | cascade | | `status_valueset_id, status_code, status_system, status` | [`valueset_code`](/docs/tables/valueset_code) | restrict | | `pattern_valueset_id, pattern_code, pattern_system, pattern` | [`valueset_code`](/docs/tables/valueset_code) | restrict | ## Value sets | Value set | Codes | |---|---| | `org.openehr::openEHR-EHR-EVALUATION.smokeless_tobacco_summary.v1/overall_status` | 3 | | `org.openehr::openEHR-EHR-EVALUATION.smokeless_tobacco_summary.v1/pattern` | 2 | | `org.openehr::openEHR-EHR-EVALUATION.smokeless_tobacco_summary.v1/status` | 3 | | `org.openehr::openEHR-EHR-EVALUATION.smokeless_tobacco_summary.v1/status_at0100` | 2 |