---
title: "light_projection_test"
description: "The assessment of an individual's ability to discriminate the directions of a light stimulus presented from different positions relative to a single eye."
---
The assessment of an individual's ability to discriminate the directions of a light stimulus presented from different positions relative to a single eye.
**Purpose.** To record the results of a light projection test for a single eye.
## Source
| Model | Leg | Role |
|---|---|---|
| `openEHR-EHR-OBSERVATION.light_projection_test.v0` | 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. | — |
| `eye_examined`
`eye_examined_code`
`eye_examined_system`
`eye_examined_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Eye examined | `/data[at0001]/events[at0002]/data[at0003]/items[at0005]` |
| `overall_result`
`overall_result_code`
`overall_result_system`
`overall_result_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Overall result | `/data[at0001]/events[at0002]/data[at0003]/items[at0035]` |
| `clinical_interpretation` | `text` | yes | Clinical interpretation | `/data[at0001]/events[at0002]/data[at0003]/items[at0038]` |
| `comment` | `text` | yes | Comment | `/data[at0001]/events[at0002]/data[at0003]/items[at0039]` |
| `confounding_factors` | `text` | yes | Confounding factors | `/data[at0001]/events[at0002]/state[at0040]/items[at0041]` |
## Constraints
```sql
check ((eye_examined_code is null and eye_examined_system is null and eye_examined_valueset_id is null and eye_examined is null) or (eye_examined is not null and eye_examined_code is not null and eye_examined_system is not null and eye_examined_valueset_id is not null))
check ((overall_result_code is null and overall_result_system is null and overall_result_valueset_id is null and overall_result is null) or (overall_result is not null and overall_result_code is not null and overall_result_system is not null and overall_result_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 |
| `eye_examined_valueset_id, eye_examined_code, eye_examined_system, eye_examined` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `overall_result_valueset_id, overall_result_code, overall_result_system, overall_result` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
## Referenced by
- [`light_projection_test_per_light_position`](/docs/tables/light_projection_test_per_light_position) via `light_projection_test_id`
## Indexes
- `light_projection_test_form_id_idx` on `form_id`
## Child tables
1 table hang off `light_projection_test`, one row per repetition.
### `light_projection_test_per_light_position`
Child table — one row per repetition, deleted with its parent.
| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `light_projection_test_id` | `uuid` → [`light_projection_test`](/docs/tables/light_projection_test) | no | — | — |
| `position` | `integer` | no | Order of this row within its parent, from zero. | — |
| `light_position`
`light_position_code`
`light_position_system`
`light_position_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Light position | `/data[at0001]/events[at0002]/data[at0003]/items[at0009]/items[at0010]` |
| `response`
`response_code`
`response_system`
`response_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Response | `/data[at0001]/events[at0002]/data[at0003]/items[at0009]/items[at0022]` |
| `correctness`
`correctness_code`
`correctness_system`
`correctness_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Correctness | `/data[at0001]/events[at0002]/data[at0003]/items[at0009]/items[at0019]` |
#### Constraints
```sql
check ((light_position_code is null and light_position_system is null and light_position_valueset_id is null) or (light_position is not null and light_position_code is not null and light_position_system is not null and light_position_valueset_id is not null))
check ((response_code is null and response_system is null and response_valueset_id is null) or (response is not null and response_code is not null and response_system is not null and response_valueset_id is not null))
check ((correctness_code is null and correctness_system is null and correctness_valueset_id is null and correctness is null) or (correctness is not null and correctness_code is not null and correctness_system is not null and correctness_valueset_id is not null))
```
#### Unique
- `light_projection_test_id, position`
#### References
| Columns | Target | On delete |
|---|---|---|
| `light_projection_test_id` | [`light_projection_test`](/docs/tables/light_projection_test) | cascade |
| `light_position_valueset_id, light_position_code, light_position_system, light_position` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `response_valueset_id, response_code, response_system, response` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `correctness_valueset_id, correctness_code, correctness_system, correctness` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
## Value sets
| Value set | Codes |
|---|---|
| `org.openehr::openEHR-EHR-OBSERVATION.light_projection_test.v0/correctness` | 2 |
| `org.openehr::openEHR-EHR-OBSERVATION.light_projection_test.v0/eye_examined` | 2 |
| `org.openehr::openEHR-EHR-OBSERVATION.light_projection_test.v0/light_position` | 8 |
| `org.openehr::openEHR-EHR-OBSERVATION.light_projection_test.v0/overall_result` | 2 |
| `org.openehr::openEHR-EHR-OBSERVATION.light_projection_test.v0/response` | 11 |