--- title: "categorical_loudness_scaling" description: "A psychophysical method used to assess an individual's perception of loudness to acoustic stimuli of varying levels." --- A psychophysical method used to assess an individual's perception of loudness to acoustic stimuli of varying levels. **Purpose.** To record the responses from a categorical loudness scaling assessment and the derived loudness perception curve. ## Source | Model | Leg | Role | |---|---|---| | `openEHR-EHR-OBSERVATION.categorical_loudness_scaling.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. | — | | `frequency_of_test_stimulus_magnitude`
`frequency_of_test_stimulus_units` | quantity
`numeric`, `text` | yes | Frequency of test stimulus | `/data[at0001]/events[at0002]/data[at0003]/items[at0036]` | | `tested_side`
`tested_side_code`
`tested_side_system`
`tested_side_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Tested side | `/data[at0001]/events[at0002]/data[at0003]/items[at0027]` | | `overall_comment` | `text` | yes | Overall comment | `/data[at0001]/events[at0002]/data[at0003]/items[at0133]` | | `confounding_factors` | `text` | yes | Confounding factors | `/data[at0001]/events[at0002]/state[at0119]/items[at0151]` | | `scaling_method`
`scaling_method_code`
`scaling_method_system`
`scaling_method_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Scaling method | `/protocol[at0060]/items[at0095]` | | `presentation_method`
`presentation_method_code`
`presentation_method_system`
`presentation_method_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Presentation method | `/protocol[at0060]/items[at0128]` | | `presentation_method_details` | `uuid` | yes | Presentation method details | `/protocol[at0060]/items[at0082]` | | `type_of_test_stimulus`
`type_of_test_stimulus_code`
`type_of_test_stimulus_system`
`type_of_test_stimulus_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Type of test stimulus | `/protocol[at0060]/items[at0075]` | | `name_of_test_stimulus` | `text` | yes | Name of test stimulus | `/protocol[at0060]/items[at0134]` | | `test_environment`
`test_environment_code`
`test_environment_system`
`test_environment_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Test environment | `/protocol[at0060]/items[at0069]` | ## Constraints ```sql check ((frequency_of_test_stimulus_magnitude is null and frequency_of_test_stimulus_units is null) or (frequency_of_test_stimulus_magnitude is not null and frequency_of_test_stimulus_units is not null)) check (frequency_of_test_stimulus_magnitude is null or (frequency_of_test_stimulus_units = 'Hz' and frequency_of_test_stimulus_magnitude between 20 and 20000) or (frequency_of_test_stimulus_units = 'kHz' and frequency_of_test_stimulus_magnitude between 0.125 and 16)) check ((tested_side_code is null and tested_side_system is null and tested_side_valueset_id is null and tested_side is null) or (tested_side is not null and tested_side_code is not null and tested_side_system is not null and tested_side_valueset_id is not null)) check ((scaling_method_code is null and scaling_method_system is null and scaling_method_valueset_id is null) or (scaling_method is not null and scaling_method_code is not null and scaling_method_system is not null and scaling_method_valueset_id is not null)) check ((presentation_method_code is null and presentation_method_system is null and presentation_method_valueset_id is null) or (presentation_method is not null and presentation_method_code is not null and presentation_method_system is not null and presentation_method_valueset_id is not null)) check ((type_of_test_stimulus_code is null and type_of_test_stimulus_system is null and type_of_test_stimulus_valueset_id is null) or (type_of_test_stimulus is not null and type_of_test_stimulus_code is not null and type_of_test_stimulus_system is not null and type_of_test_stimulus_valueset_id is not null)) check ((test_environment_code is null and test_environment_system is null and test_environment_valueset_id is null) or (test_environment is not null and test_environment_code is not null and test_environment_system is not null and test_environment_valueset_id 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 | | `tested_side_valueset_id, tested_side_code, tested_side_system, tested_side` | [`valueset_code`](/docs/tables/valueset_code) | restrict | | `scaling_method_valueset_id, scaling_method_code, scaling_method_system, scaling_method` | [`valueset_code`](/docs/tables/valueset_code) | restrict | | `presentation_method_valueset_id, presentation_method_code, presentation_method_system, presentation_method` | [`valueset_code`](/docs/tables/valueset_code) | restrict | | `type_of_test_stimulus_valueset_id, type_of_test_stimulus_code, type_of_test_stimulus_system, type_of_test_stimulus` | [`valueset_code`](/docs/tables/valueset_code) | restrict | | `test_environment_valueset_id, test_environment_code, test_environment_system, test_environment` | [`valueset_code`](/docs/tables/valueset_code) | restrict | | `presentation_method_details` | [`device`](/docs/tables/device) | no action | ## Referenced by - [`categorical_loudness_scaling_measurement`](/docs/tables/categorical_loudness_scaling_measurement) via `categorical_loudness_scaling_id` - [`categorical_loudness_scaling_loudness_perception_curve`](/docs/tables/categorical_loudness_scaling_loudness_perception_curve) via `categorical_loudness_scaling_id` - [`categorical_loudness_scaling_no_test_result`](/docs/tables/categorical_loudness_scaling_no_test_result) via `categorical_loudness_scaling_id` - [`categorical_loudness_scaling_hearing_device_during_test`](/docs/tables/categorical_loudness_scaling_hearing_device_during_test) via `categorical_loudness_scaling_id` - [`categorical_loudness_scaling_test_environment_details`](/docs/tables/categorical_loudness_scaling_test_environment_details) via `categorical_loudness_scaling_id` ## Indexes - `categorical_loudness_scaling_form_id_idx` on `form_id` - `categorical_loudness_scaling_presentation_method_details_idx` on `presentation_method_details` ## Child tables 6 tables hang off `categorical_loudness_scaling`, one row per repetition. ### `categorical_loudness_scaling_measurement` Child table — one row per repetition, deleted with its parent. | Column | Type | Null | Description | Source | |---|---|---|---|---| | `id` | `uuid primary key` | no | Primary key. | — | | `categorical_loudness_scaling_id` | `uuid` → [`categorical_loudness_scaling`](/docs/tables/categorical_loudness_scaling) | no | — | — | | `position` | `integer` | no | Order of this row within its parent, from zero. | — | | `stimulus_level_magnitude`
`stimulus_level_units` | quantity
`numeric`, `text` | yes | Stimulus level | `/data[at0001]/events[at0002]/data[at0003]/items[at0035]/items[at0110]` | | `response_category_magnitude`
`response_category_units` | quantity
`numeric`, `text` | yes | Response category | `/data[at0001]/events[at0002]/data[at0003]/items[at0035]/items[at0111]` | #### Constraints ```sql check ((stimulus_level_magnitude is null and stimulus_level_units is null) or (stimulus_level_magnitude is not null and stimulus_level_units is not null)) check (stimulus_level_magnitude is null or (stimulus_level_units = 'dB[SPL]{HL}' and stimulus_level_magnitude between -50 and 200)) check ((response_category_magnitude is null and response_category_units is null) or (response_category_magnitude is not null and response_category_units is not null)) check (response_category_magnitude is null or (response_category_units = '[arb''U]{CU}' and response_category_magnitude between 0 and 1000)) ``` #### Unique - `categorical_loudness_scaling_id, position` #### References | Columns | Target | On delete | |---|---|---| | `categorical_loudness_scaling_id` | [`categorical_loudness_scaling`](/docs/tables/categorical_loudness_scaling) | cascade | ### `categorical_loudness_scaling_loudness_perception_curve` Child table — one row per repetition, deleted with its parent. | Column | Type | Null | Description | Source | |---|---|---|---|---| | `id` | `uuid primary key` | no | Primary key. | — | | `categorical_loudness_scaling_id` | `uuid` → [`categorical_loudness_scaling`](/docs/tables/categorical_loudness_scaling) | no | — | — | | `position` | `integer` | no | Order of this row within its parent, from zero. | — | | `fit_procedure_name` | `text` | yes | Fit procedure name | `/data[at0001]/events[at0002]/data[at0003]/items[at0101]/items[at0139]` | | `curve_equation` | `text` | yes | Curve equation | `/data[at0001]/events[at0002]/data[at0003]/items[at0101]/items[at0140]` | | `lower_slope_value_magnitude`
`lower_slope_value_units` | quantity
`numeric`, `text` | yes | Lower slope value | `/data[at0001]/events[at0002]/data[at0003]/items[at0101]/items[at0103]` | | `upper_slope_value_magnitude`
`upper_slope_value_units` | quantity
`numeric`, `text` | yes | Upper slope value | `/data[at0001]/events[at0002]/data[at0003]/items[at0101]/items[at0149]` | | `curve_comment` | `text` | yes | Curve comment | `/data[at0001]/events[at0002]/data[at0003]/items[at0101]/items[at0150]` | #### Constraints ```sql check ((lower_slope_value_magnitude is null and lower_slope_value_units is null) or (lower_slope_value_magnitude is not null and lower_slope_value_units is not null)) check (lower_slope_value_magnitude is null or (lower_slope_value_units = '[arb''U]{CU}/dB[SPL]{HL}' and lower_slope_value_magnitude between 0 and 100)) check ((upper_slope_value_magnitude is null and upper_slope_value_units is null) or (upper_slope_value_magnitude is not null and upper_slope_value_units is not null)) check (upper_slope_value_magnitude is null or (upper_slope_value_units = '[arb''U]{CU}/dB[SPL]{HL}' and upper_slope_value_magnitude between 0 and 100)) ``` #### Unique - `categorical_loudness_scaling_id, position` #### References | Columns | Target | On delete | |---|---|---| | `categorical_loudness_scaling_id` | [`categorical_loudness_scaling`](/docs/tables/categorical_loudness_scaling) | cascade | ### Referenced by - [`categorical_loudness_scaling_loudness_perception_curve_c_e5225e`](/docs/tables/categorical_loudness_scaling_loudness_perception_curve_c_e5225e) via `categorical_loudness_scaling_loudness_perception_curve_id` ### `categorical_loudness_scaling_loudness_perception_curve_c_e5225e` Child table — one row per repetition, deleted with its parent. | Column | Type | Null | Description | Source | |---|---|---|---|---| | `id` | `uuid primary key` | no | Primary key. | — | | `categorical_loudness_scaling_loudness_perception_curve_id` | `uuid` → [`categorical_loudness_scaling_loudness_perception_curve`](/docs/tables/categorical_loudness_scaling_loudness_perception_curve) | no | — | — | | `position` | `integer` | no | Order of this row within its parent, from zero. | — | | `response_category_magnitude`
`response_category_units` | quantity
`numeric`, `text` | yes | Response category | `/data[at0001]/events[at0002]/data[at0003]/items[at0101]/items[at0136]/items[at0138]` | | `stimulus_level_magnitude`
`stimulus_level_units` | quantity
`numeric`, `text` | yes | Stimulus level | `/data[at0001]/events[at0002]/data[at0003]/items[at0101]/items[at0136]/items[at0137]` | #### Constraints ```sql check ((response_category_magnitude is null and response_category_units is null) or (response_category_magnitude is not null and response_category_units is not null)) check (response_category_magnitude is null or (response_category_units = '[arb''U]{CU}' and response_category_magnitude between 0 and 1000)) check ((stimulus_level_magnitude is null and stimulus_level_units is null) or (stimulus_level_magnitude is not null and stimulus_level_units is not null)) check (stimulus_level_magnitude is null or (stimulus_level_units = 'dB[SPL]{HL}' and stimulus_level_magnitude between -50 and 200)) ``` #### Unique - `categorical_loudness_scaling_loudness_perception_curve_id, position` #### References | Columns | Target | On delete | |---|---|---| | `categorical_loudness_scaling_loudness_perception_curve_id` | [`categorical_loudness_scaling_loudness_perception_curve`](/docs/tables/categorical_loudness_scaling_loudness_perception_curve) | cascade | ### `categorical_loudness_scaling_no_test_result` Child table — one row per repetition, deleted with its parent. | Column | Type | Null | Description | Source | |---|---|---|---|---| | `id` | `uuid primary key` | no | Primary key. | — | | `categorical_loudness_scaling_id` | `uuid` → [`categorical_loudness_scaling`](/docs/tables/categorical_loudness_scaling) | no | — | — | | `position` | `integer` | no | Order of this row within its parent, from zero. | — | | `exclusion_exam_id` | `uuid` | no | No test result | `/data[at0001]/events[at0002]/data[at0003]/items[at0157]` | #### Unique - `categorical_loudness_scaling_id, position` - `categorical_loudness_scaling_id, exclusion_exam_id` #### References | Columns | Target | On delete | |---|---|---| | `categorical_loudness_scaling_id` | [`categorical_loudness_scaling`](/docs/tables/categorical_loudness_scaling) | cascade | | `exclusion_exam_id` | [`exclusion_exam`](/docs/tables/exclusion_exam) | no action | #### Indexes - `categorical_loudness_scaling_no_test_result_exclusion_ex_4c55fd` on `exclusion_exam_id` ### `categorical_loudness_scaling_hearing_device_during_test` Child table — one row per repetition, deleted with its parent. | Column | Type | Null | Description | Source | |---|---|---|---|---| | `id` | `uuid primary key` | no | Primary key. | — | | `categorical_loudness_scaling_id` | `uuid` → [`categorical_loudness_scaling`](/docs/tables/categorical_loudness_scaling) | no | — | — | | `position` | `integer` | no | Order of this row within its parent, from zero. | — | | `hearing_device` | `uuid` | yes | Hearing device | `/data[at0001]/events[at0002]/state[at0119]/items[at0142]/items[at0083]` | | `side_of_hearing_device`
`side_of_hearing_device_code`
`side_of_hearing_device_system`
`side_of_hearing_device_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Side of hearing device | `/data[at0001]/events[at0002]/state[at0119]/items[at0142]/items[at0143]` | | `comment` | `text` | yes | Comment | `/data[at0001]/events[at0002]/state[at0119]/items[at0142]/items[at0144]` | #### Constraints ```sql check ((side_of_hearing_device_code is null and side_of_hearing_device_system is null and side_of_hearing_device_valueset_id is null and side_of_hearing_device is null) or (side_of_hearing_device is not null and side_of_hearing_device_code is not null and side_of_hearing_device_system is not null and side_of_hearing_device_valueset_id is not null)) ``` #### Unique - `categorical_loudness_scaling_id, position` #### References | Columns | Target | On delete | |---|---|---| | `categorical_loudness_scaling_id` | [`categorical_loudness_scaling`](/docs/tables/categorical_loudness_scaling) | cascade | | `side_of_hearing_device_valueset_id, side_of_hearing_device_code, side_of_hearing_device_system, side_of_hearing_device` | [`valueset_code`](/docs/tables/valueset_code) | restrict | | `hearing_device` | [`device`](/docs/tables/device) | no action | #### Indexes - `categorical_loudness_scaling_hearing_device_during_test__f37fff` on `hearing_device` ### `categorical_loudness_scaling_test_environment_details` Child table — one row per repetition, deleted with its parent. | Column | Type | Null | Description | Source | |---|---|---|---|---| | `id` | `uuid primary key` | no | Primary key. | — | | `categorical_loudness_scaling_id` | `uuid` → [`categorical_loudness_scaling`](/docs/tables/categorical_loudness_scaling) | no | — | — | | `position` | `integer` | no | Order of this row within its parent, from zero. | — | | `device_id` | `uuid` | no | Test environment details | `/protocol[at0060]/items[at0147]` | #### Unique - `categorical_loudness_scaling_id, position` - `categorical_loudness_scaling_id, device_id` #### References | Columns | Target | On delete | |---|---|---| | `categorical_loudness_scaling_id` | [`categorical_loudness_scaling`](/docs/tables/categorical_loudness_scaling) | cascade | | `device_id` | [`device`](/docs/tables/device) | no action | #### Indexes - `categorical_loudness_scaling_test_environment_details_de_673607` on `device_id` ## Value sets | Value set | Codes | |---|---| | `org.openehr::openEHR-EHR-OBSERVATION.categorical_loudness_scaling.v1/presentation_method` | 4 | | `org.openehr::openEHR-EHR-OBSERVATION.categorical_loudness_scaling.v1/scaling_method` | 3 | | `org.openehr::openEHR-EHR-OBSERVATION.categorical_loudness_scaling.v1/side_of_hearing_device` | 2 | | `org.openehr::openEHR-EHR-OBSERVATION.categorical_loudness_scaling.v1/test_environment` | 3 | | `org.openehr::openEHR-EHR-OBSERVATION.categorical_loudness_scaling.v1/tested_side` | 3 | | `org.openehr::openEHR-EHR-OBSERVATION.categorical_loudness_scaling.v1/type_of_test_stimulus` | 9 |